diff --git a/pom.xml b/pom.xml index 5cd5f048..6a12a5fe 100644 --- a/pom.xml +++ b/pom.xml @@ -77,10 +77,6 @@ mybatis-spring-boot-starter 2.1.4 - - org.springframework.boot - spring-boot-starter-security - redis.clients diff --git a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java index 56038bd5..7fe62ecc 100644 --- a/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java +++ b/src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java @@ -1,7 +1,5 @@ package com.genersoft.iot.vmp; -import java.util.logging.LogManager; - import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -9,9 +7,8 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.scheduling.annotation.EnableScheduling; import springfox.documentation.oas.annotations.EnableOpenApi; -/** - * - */ +import java.util.logging.LogManager; + @ServletComponentScan("com.genersoft.iot.vmp.conf") @SpringBootApplication @EnableScheduling diff --git a/src/main/java/com/genersoft/iot/vmp/common/MyPageInfo.java b/src/main/java/com/genersoft/iot/vmp/common/MyPageInfo.java new file mode 100644 index 00000000..54fb71b5 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/MyPageInfo.java @@ -0,0 +1,95 @@ +package com.genersoft.iot.vmp.common; + +import java.util.ArrayList; +import java.util.List; + +public class MyPageInfo { + //当前页 + private int pageNo; + //每页的数量 + private int pageSize; + //当前页的数量 + private int size; + //总页数 + private int pages; + //总数 + private int total; + + private List resultData; + + private List list; + + public MyPageInfo(List resultData) { + this.resultData = resultData; + } + + public void startPage(int page, int count) { + if (page <= 0) page = 1; + this.pageNo = page; + this.pageSize = count; + this.total = resultData.size(); + + this.pages = total%count == 0 ? total/count : total/count + 1; + int fromIndx = (page - 1) * count; + if ( fromIndx > this.total - 1) { + this.list = new ArrayList<>(); + this.size = 0; + return; + } + + int toIndx = page * count; + if (toIndx > this.total) { + toIndx = this.total; + } + this.list = this.resultData.subList(fromIndx, toIndx); + this.size = this.list.size(); + } + + public int getPageNo() { + return pageNo; + } + + public void setPageNo(int pageNo) { + this.pageNo = pageNo; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getSize() { + return size; + } + + public void setSize(int size) { + this.size = size; + } + + public int getPages() { + return pages; + } + + public void setPages(int pages) { + this.pages = pages; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/common/Page.java b/src/main/java/com/genersoft/iot/vmp/common/Page.java new file mode 100644 index 00000000..c43bfcee --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/Page.java @@ -0,0 +1,95 @@ +package com.genersoft.iot.vmp.common; + +import com.github.pagehelper.PageInfo; + +import java.util.List; + +public class Page { + + private Integer pageSize; + + private Integer pageNo; + + private Integer totalPage; + + private Long totalCount; + + private List data; + + public Page() { + } + + public Page(Integer pageSize, Integer pageNo, Integer totalPage, Long totalCount, List data) { + this.pageSize = pageSize; + this.pageNo = pageNo; + this.totalPage = totalPage; + this.totalCount = totalCount; + this.data = data; + } + + public Page(PageInfo pageInfo) { + Integer pageNo = pageInfo.getPageNum(); + Integer pageSize = pageInfo.getPageSize(); + Integer totalPage = pageInfo.getPages(); + Long totalCount = pageInfo.getTotal(); + List data = pageInfo.getList(); + setPageNo(pageNo); + setPageSize(pageSize); + setTotalPage(totalPage); + setTotalCount(totalCount); + setData(data); + } + + public Page(MyPageInfo myPageInfo){ + Integer pageNo = myPageInfo.getPageNo(); + Integer pageSize = myPageInfo.getPageSize(); + Integer totalPage = myPageInfo.getPages(); + int totalCount = myPageInfo.getTotal(); + List data = myPageInfo.getList(); + setPageNo(pageNo); + setPageSize(pageSize); + setTotalPage(totalPage); + setTotalCount((long) totalCount); + setData(data); + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public Integer getPageNo() { + return pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Integer getTotalPage() { + return totalPage; + } + + public void setTotalPage(Integer totalPage) { + this.totalPage = totalPage; + } + + public Long getTotalCount() { + return totalCount; + } + + public void setTotalCount(Long totalCount) { + this.totalCount = totalCount; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/common/VersionPo.java b/src/main/java/com/genersoft/iot/vmp/common/VersionPo.java deleted file mode 100644 index a7d8ce67..00000000 --- a/src/main/java/com/genersoft/iot/vmp/common/VersionPo.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.genersoft.iot.vmp.common; - -import com.alibaba.fastjson.annotation.JSONField; - -public class VersionPo { - /** - * git的全版本号 - */ - @JSONField(name="GIT-Revision") - private String GIT_Revision; - /** - * maven版本 - */ - @JSONField(name = "Create-By") - private String Create_By; - /** - * git的分支 - */ - @JSONField(name = "GIT-BRANCH") - private String GIT_BRANCH; - /** - * git的url - */ - @JSONField(name = "GIT-URL") - private String GIT_URL; - /** - * 构建日期 - */ - @JSONField(name = "BUILD-DATE") - private String BUILD_DATE; - /** - * 项目名称 配合pom使用 - */ - @JSONField(name = "artifactId") - private String artifactId; - /** - * git局部版本号 - */ - @JSONField(name = "GIT-Revision-SHORT") - private String GIT_Revision_SHORT; - /** - * 项目的版本如2.0.1.0 配合pom使用 - */ - @JSONField(name = "version") - private String version; - /** - * 子系统名称 - */ - @JSONField(name = "project") - private String project; - /** - * jdk版本 - */ - @JSONField(name="Build_Jdk") - private String Build_Jdk; - - public void setGIT_Revision(String GIT_Revision) { - this.GIT_Revision = GIT_Revision; - } - - public void setCreate_By(String create_By) { - Create_By = create_By; - } - - public void setGIT_BRANCH(String GIT_BRANCH) { - this.GIT_BRANCH = GIT_BRANCH; - } - - public void setGIT_URL(String GIT_URL) { - this.GIT_URL = GIT_URL; - } - - public void setBUILD_DATE(String BUILD_DATE) { - this.BUILD_DATE = BUILD_DATE; - } - - public void setArtifactId(String artifactId) { - this.artifactId = artifactId; - } - - public void setGIT_Revision_SHORT(String GIT_Revision_SHORT) { - this.GIT_Revision_SHORT = GIT_Revision_SHORT; - } - - public void setVersion(String version) { - this.version = version; - } - - public void setProject(String project) { - this.project = project; - } - - public void setBuild_Jdk(String build_Jdk) { - Build_Jdk = build_Jdk; - } - - public String getGIT_Revision() { - return GIT_Revision; - } - - public String getCreate_By() { - return Create_By; - } - - public String getGIT_BRANCH() { - return GIT_BRANCH; - } - - public String getGIT_URL() { - return GIT_URL; - } - - public String getBUILD_DATE() { - return BUILD_DATE; - } - - public String getArtifactId() { - return artifactId; - } - - public String getGIT_Revision_SHORT() { - return GIT_Revision_SHORT; - } - - public String getVersion() { - return version; - } - - public String getProject() { - return project; - } - - public String getBuild_Jdk() { - return Build_Jdk; - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java b/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java index 5fd9c772..89d87125 100644 --- a/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java +++ b/src/main/java/com/genersoft/iot/vmp/common/VideoManagerConstants.java @@ -1,10 +1,7 @@ package com.genersoft.iot.vmp.common; /** - * @description: 定义常量 - * @author: swwheihei - * @date: 2019年5月30日 下午3:04:04 - * + * 定义常量 */ public class VideoManagerConstants { diff --git a/src/main/java/com/genersoft/iot/vmp/common/reponse/ErrorResponseData.java b/src/main/java/com/genersoft/iot/vmp/common/reponse/ErrorResponseData.java new file mode 100644 index 00000000..c99f91e9 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/reponse/ErrorResponseData.java @@ -0,0 +1,28 @@ +package com.genersoft.iot.vmp.common.reponse; + +public class ErrorResponseData extends ResponseData{ + /** + * 异常的具体类名称 + */ + private String exceptionClazz; + + public String getExceptionClazz() { + return exceptionClazz; + } + + public void setExceptionClazz(String exceptionClazz) { + this.exceptionClazz = exceptionClazz; + } + + ErrorResponseData(String message) { + super(false, DEFAULT_ERROR_CODE, message, null); + } + + public ErrorResponseData(Integer code, String message) { + super(false, code, message, null); + } + + ErrorResponseData(Integer code, String message, Object object) { + super(false, code, message, object); + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/common/reponse/ResponseData.java b/src/main/java/com/genersoft/iot/vmp/common/reponse/ResponseData.java new file mode 100644 index 00000000..fe3d6034 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/reponse/ResponseData.java @@ -0,0 +1,98 @@ +package com.genersoft.iot.vmp.common.reponse; + +public class ResponseData { + + public static final String DEFAULT_SUCCESS_MESSAGE = "请求成功"; + + public static final String DEFAULT_ERROR_MESSAGE = "网络异常"; + + public static final Integer DEFAULT_SUCCESS_CODE = 200; + + public static final Integer DEFAULT_ERROR_CODE = 500; + + /** + * 请求是否成功 + */ + private Boolean success; + + /** + * 响应状态码 + */ + private Integer code; + + /** + * 响应信息 + */ + private String message; + + /** + * 响应对象 + */ + private Object data; + + public ResponseData() { + } + + public ResponseData(Boolean success, Integer code, String message, Object data) { + this.success = success; + this.code = code; + this.message = message; + this.data = data; + } + + public static SuccessResponseData success() { + return new SuccessResponseData(); + } + + public static SuccessResponseData success(Object object) { + return new SuccessResponseData(object); + } + + public static SuccessResponseData success(Integer code, String message, Object object) { + return new SuccessResponseData(code, message, object); + } + + public static ErrorResponseData error(String message) { + return new ErrorResponseData(message); + } + + public static ErrorResponseData error(Integer code, String message) { + return new ErrorResponseData(code, message); + } + + public static ErrorResponseData error(Integer code, String message, Object object) { + return new ErrorResponseData(code, message, object); + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/common/reponse/SuccessResponseData.java b/src/main/java/com/genersoft/iot/vmp/common/reponse/SuccessResponseData.java new file mode 100644 index 00000000..c8fa1755 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/common/reponse/SuccessResponseData.java @@ -0,0 +1,15 @@ +package com.genersoft.iot.vmp.common.reponse; + +public class SuccessResponseData extends ResponseData { + public SuccessResponseData() { + super(true, DEFAULT_SUCCESS_CODE, DEFAULT_SUCCESS_MESSAGE, null); + } + + public SuccessResponseData(Object object) { + super(true, DEFAULT_SUCCESS_CODE, DEFAULT_SUCCESS_MESSAGE, object); + } + + public SuccessResponseData(Integer code, String message, Object object) { + super(true, code, message, object); + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java b/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java index 08d030a8..4e3ee4d9 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java @@ -1,7 +1,6 @@ package com.genersoft.iot.vmp.conf; import com.genersoft.iot.vmp.common.ApiSaveConstant; -import com.genersoft.iot.vmp.conf.security.SecurityUtils; import com.genersoft.iot.vmp.service.ILogService; import com.genersoft.iot.vmp.storager.dao.dto.LogDto; import org.apache.commons.lang3.StringUtils; @@ -18,14 +17,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.SimpleDateFormat; -/** - * @author lin - */ -@WebFilter(filterName = "ApiAccessFilter", urlPatterns = "/api/*", asyncSupported=true) +@WebFilter(filterName = "ApiAccessFilter", urlPatterns = "/api/*", asyncSupported = true) public class ApiAccessFilter extends OncePerRequestFilter { - private final static Logger logger = LoggerFactory.getLogger(ApiAccessFilter.class); - private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Autowired @@ -34,25 +28,14 @@ public class ApiAccessFilter extends OncePerRequestFilter { @Autowired private ILogService logService; - @Override protected void doFilterInternal(HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException { - String username = null; - if (SecurityUtils.getUserInfo() == null) { - username = servletRequest.getParameter("username"); - }else { - username = SecurityUtils.getUserInfo().getUsername(); - } long start = System.currentTimeMillis(); // 请求进入时间 String uriName = ApiSaveConstant.getVal(servletRequest.getRequestURI()); - filterChain.doFilter(servletRequest, servletResponse); - if (uriName != null && userSetup.getLogInDatebase()) { - LogDto logDto = new LogDto(); logDto.setName(uriName); - logDto.setUsername(username); logDto.setAddress(servletRequest.getRemoteAddr()); logDto.setResult(HttpStatus.valueOf(servletResponse.getStatus()).toString()); logDto.setTiming(System.currentTimeMillis() - start); @@ -60,10 +43,6 @@ public class ApiAccessFilter extends OncePerRequestFilter { logDto.setUri(servletRequest.getRequestURI()); logDto.setCreateTime(format.format(System.currentTimeMillis())); logService.add(logDto); -// logger.warn("[Api Access] [{}] [{}] [{}] [{}] [{}] {}ms", -// uriName, servletRequest.getMethod(), servletRequest.getRequestURI(), servletRequest.getRemoteAddr(), HttpStatus.valueOf(servletResponse.getStatus()), -// System.currentTimeMillis() - start); - } } diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java index 5d8acce9..5cf69db1 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java @@ -21,9 +21,6 @@ import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.net.ConnectException; -/** - * @author lin - */ @SuppressWarnings(value = {"rawtypes", "unchecked"}) @Configuration public class ProxyServletConfig { diff --git a/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java index dcb0e811..a01c1838 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/RedisConfig.java @@ -16,73 +16,66 @@ import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** - * @description:Redis中间件配置类,使用spring-data-redis集成,自动从application.yml中加载redis配置 - * @author: swwheihei - * @date: 2019年5月30日 上午10:58:25 - * + * 中间件配置类,使用spring-data-redis集成,自动从application.yml中加载redis配置 */ @Configuration public class RedisConfig extends CachingConfigurerSupport { - @Value("${spring.redis.host}") - private String host; - @Value("${spring.redis.port}") - private int port; - @Value("${spring.redis.database}") - private int database; - @Value("${spring.redis.password}") - private String password; - @Value("${spring.redis.timeout}") - private int timeout; - @Value("${spring.redis.poolMaxTotal:1000}") - private int poolMaxTotal; - @Value("${spring.redis.poolMaxIdle:500}") - private int poolMaxIdle; - @Value("${spring.redis.poolMaxWait:5}") - private int poolMaxWait; + @Value("${spring.redis.host}") + private String host; + @Value("${spring.redis.port}") + private int port; + @Value("${spring.redis.database}") + private int database; + @Value("${spring.redis.password}") + private String password; + @Value("${spring.redis.timeout}") + private int timeout; + @Value("${spring.redis.poolMaxTotal:1000}") + private int poolMaxTotal; + @Value("${spring.redis.poolMaxIdle:500}") + private int poolMaxIdle; + @Value("${spring.redis.poolMaxWait:5}") + private int poolMaxWait; - @Bean - public JedisPool jedisPool() { - if (StringUtils.isBlank(password)) { - password = null; - } - JedisPoolConfig poolConfig = new JedisPoolConfig(); - poolConfig.setMaxIdle(poolMaxIdle); - poolConfig.setMaxTotal(poolMaxTotal); - // 秒转毫秒 - poolConfig.setMaxWaitMillis(poolMaxWait * 1000L); - JedisPool jp = new JedisPool(poolConfig, host, port, timeout * 1000, password, database); - return jp; - } - - @Bean("redisTemplate") - public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { - RedisTemplate template = new RedisTemplate<>(); - template.setConnectionFactory(redisConnectionFactory); - // 使用fastjson进行序列化处理,提高解析效率 - FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class); - // value值的序列化采用fastJsonRedisSerializer - template.setValueSerializer(serializer); - template.setHashValueSerializer(serializer); - // key的序列化采用StringRedisSerializer - template.setKeySerializer(new StringRedisSerializer()); - template.setHashKeySerializer(new StringRedisSerializer()); - template.setConnectionFactory(redisConnectionFactory); - // 使用fastjson时需设置此项,否则会报异常not support type - ParserConfig.getGlobalInstance().setAutoTypeSupport(true); - return template; - } + @Bean + public JedisPool jedisPool() { + if (StringUtils.isBlank(password)) { + password = null; + } + JedisPoolConfig poolConfig = new JedisPoolConfig(); + poolConfig.setMaxIdle(poolMaxIdle); + poolConfig.setMaxTotal(poolMaxTotal); + // 秒转毫秒 + poolConfig.setMaxWaitMillis(poolMaxWait * 1000L); + JedisPool jp = new JedisPool(poolConfig, host, port, timeout * 1000, password, database); + return jp; + } - /** - * redis消息监听器容器 可以添加多个监听不同话题的redis监听器,只需要把消息监听器和相应的消息订阅处理器绑定,该消息监听器 - * 通过反射技术调用消息订阅处理器的相关方法进行一些业务处理 - * - * @param connectionFactory - * @return - */ - @Bean - RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { + @Bean("redisTemplate") + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(redisConnectionFactory); + // 使用fastjson进行序列化处理,提高解析效率 + FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class); + // value值的序列化采用fastJsonRedisSerializer + template.setValueSerializer(serializer); + template.setHashValueSerializer(serializer); + // key的序列化采用StringRedisSerializer + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setConnectionFactory(redisConnectionFactory); + // 使用fastjson时需设置此项,否则会报异常not support type + ParserConfig.getGlobalInstance().setAutoTypeSupport(true); + return template; + } + /** + * redis消息监听器容器 可以添加多个监听不同话题的redis监听器,只需要把消息监听器和相应的消息订阅处理器绑定,该消息监听器 + * 通过反射技术调用消息订阅处理器的相关方法进行一些业务处理 + */ + @Bean + RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); return container; diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java index da1664bd..1517c54b 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipDeviceRunner.java @@ -9,7 +9,6 @@ import org.springframework.stereotype.Component; import java.util.List; - /** * 系统启动时控制设备离线 */ diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index 41b68cc0..afd2800f 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -29,10 +29,6 @@ public class SipPlatformRunner implements CommandLineRunner { @Autowired private EventPublisher publisher; - @Autowired - private ZLMRTPServerFactory zlmrtpServerFactory; - - @Override public void run(String... args) throws Exception { // 设置所有平台离线 @@ -42,7 +38,7 @@ public class SipPlatformRunner implements CommandLineRunner { redisCatchStorage.cleanPlatformRegisterInfos(); // 停止所有推流 -// zlmrtpServerFactory.closeAllSendRtpStream(); + // zlmrtpServerFactory.closeAllSendRtpStream(); List parentPlatforms = storager.queryEnableParentPlatformList(true); diff --git a/src/main/java/com/genersoft/iot/vmp/conf/UserSetup.java b/src/main/java/com/genersoft/iot/vmp/conf/UserSetup.java index 8b1b5b0f..e02e02b6 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/UserSetup.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/UserSetup.java @@ -6,7 +6,6 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; - @Component @ConfigurationProperties(prefix = "user-settings", ignoreInvalidFields = true) public class UserSetup { diff --git a/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java deleted file mode 100644 index 85c158c0..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.genersoft.iot.vmp.conf; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; - -/** - * @description: 获取数据库配置 - * @author: swwheihei - * @date: 2020年5月6日 下午2:46:00 - */ -@Configuration("vmConfig") -public class VManagerConfig { - - @Value("${spring.application.database:redis}") - private String database; - - - public String getDatabase() { - return database; - } - - public void setDatabase(String database) { - this.database = database; - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/VersionConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/VersionConfig.java deleted file mode 100644 index a24ade41..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/VersionConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.genersoft.iot.vmp.conf; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Component -@ConfigurationProperties(prefix = "version") -public class VersionConfig { - - private String version; - private String artifactId; - private String description; - - public void setVersion(String version) { - this.version = version; - } - - public void setArtifactId(String artifactId) { - this.artifactId = artifactId; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getVersion() { - return version; - } - - public String getArtifactId() { - return artifactId; - } - - public String getDescription() { - return description; - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/VersionInfo.java b/src/main/java/com/genersoft/iot/vmp/conf/VersionInfo.java deleted file mode 100644 index 4ff5eba6..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/VersionInfo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.genersoft.iot.vmp.conf; - -import com.genersoft.iot.vmp.common.VersionPo; -import com.genersoft.iot.vmp.utils.GitUtil; -import com.genersoft.iot.vmp.utils.JarFileUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Map; - -@Component -public class VersionInfo { - - @Autowired - VersionConfig config; - @Autowired - GitUtil gitUtil; - @Autowired - JarFileUtils jarFileUtils; - - public VersionPo getVersion() { - VersionPo versionPo = new VersionPo(); - Map map=jarFileUtils.readJarFile(); - versionPo.setGIT_Revision(gitUtil.getGitCommitId()); - versionPo.setCreate_By(map.get("Created-By")); - versionPo.setGIT_BRANCH(gitUtil.getBranch()); - versionPo.setGIT_URL(gitUtil.getGitUrl()); - versionPo.setBUILD_DATE(gitUtil.getBuildDate()); - versionPo.setArtifactId(config.getArtifactId()); - versionPo.setGIT_Revision_SHORT(gitUtil.getCommitIdShort()); - versionPo.setVersion(config.getVersion()); - versionPo.setProject(config.getDescription()); - versionPo.setBuild_Jdk(map.get("Build-Jdk")); - - return versionPo; - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/WebConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/WebConfig.java new file mode 100644 index 00000000..d3e53af8 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/conf/WebConfig.java @@ -0,0 +1,28 @@ +package com.genersoft.iot.vmp.conf; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + // 设置允许跨域请求 + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") // 允许所有域 + .allowedMethods("*") // 允许任何方法(post、get等) + .allowedHeaders("*") // 允许任何请求头 + .allowCredentials(true) // 允许证书、cookie + .exposedHeaders(HttpHeaders.SET_COOKIE) + .maxAge(3600L); // maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果 + } + }; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java b/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java deleted file mode 100644 index ebfac955..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import com.alibaba.fastjson.JSONObject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.web.AuthenticationEntryPoint; -import org.springframework.stereotype.Component; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * 处理匿名用户访问逻辑 - */ -@Component -public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { - - private final static Logger logger = LoggerFactory.getLogger(DefaultUserDetailsServiceImpl.class); - - @Override - public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) { - logger.debug("用户需要登录,访问[{}]失败,AuthenticationException=[{}]", request.getRequestURI(), e.getMessage()); - // 允许跨域 - response.setHeader("Access-Control-Allow-Origin", "*"); - // 允许自定义请求头token(允许head跨域) - response.setHeader("Access-Control-Allow-Headers", "token, Accept, Origin, X-Requested-With, Content-Type, Last-Modified"); - response.setHeader("Content-type", "application/json;charset=UTF-8"); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("code", "-1"); - jsonObject.put("msg", "请登录后重新请求"); - if (request.getRequestURI().contains("api/user/login")){ - jsonObject.put("msg", e.getMessage()); - } - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - try { - response.getWriter().print(jsonObject.toJSONString()); - } catch (IOException ioException) { - ioException.printStackTrace(); - } - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java deleted file mode 100644 index 63569ef1..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import com.genersoft.iot.vmp.conf.security.dto.LoginUser; -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import com.github.xiaoymin.knife4j.core.util.StrUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Component; - -import java.time.LocalDateTime; - -/** - * 用户登录认证逻辑 - */ -@Component -public class DefaultUserDetailsServiceImpl implements UserDetailsService { - - private final static Logger logger = LoggerFactory.getLogger(DefaultUserDetailsServiceImpl.class); - - @Autowired - private IUserService userService; - - @Override - public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - if (StrUtil.isBlank(username)) { - logger.info("登录用户:{} 不存在", username); - throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); - } - - // 查出密码 - User user = userService.getUserByUsername(username); - if (user == null) { - logger.info("登录用户:{} 不存在", username); - throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); - } - String password = SecurityUtils.encryptPassword(user.getPassword()); - user.setPassword(password); - return new LoginUser(user, LocalDateTime.now()); - } - - -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/InvalidSessionHandler.java b/src/main/java/com/genersoft/iot/vmp/conf/security/InvalidSessionHandler.java deleted file mode 100644 index f3fd0685..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/InvalidSessionHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.web.session.InvalidSessionStrategy; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * 登录超时的处理 - */ -public class InvalidSessionHandler implements InvalidSessionStrategy { - - private final static Logger logger = LoggerFactory.getLogger(InvalidSessionHandler.class); - - @Override - public void onInvalidSessionDetected(HttpServletRequest request, HttpServletResponse httpServletResponse) throws IOException, ServletException { - String username = request.getParameter("username"); - logger.info("[登录超时] - [{}]", username); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/LoginFailureHandler.java b/src/main/java/com/genersoft/iot/vmp/conf/security/LoginFailureHandler.java deleted file mode 100644 index 9bbf2e7d..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/LoginFailureHandler.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import com.fasterxml.jackson.databind.ObjectMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.authentication.*; -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.web.authentication.AuthenticationFailureHandler; -import org.springframework.stereotype.Component; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -@Component -public class LoginFailureHandler implements AuthenticationFailureHandler { - - private final static Logger logger = LoggerFactory.getLogger(LoginFailureHandler.class); - - @Autowired - private ObjectMapper objectMapper; - - @Override - public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) throws IOException, ServletException { - - String username = request.getParameter("username"); - if (e instanceof AccountExpiredException) { - // 账号过期 - logger.info("[登录失败] - 用户[{}]账号过期", username); - - } else if (e instanceof BadCredentialsException) { - // 密码错误 - logger.info("[登录失败] - 用户[{}]密码/SIP服务器ID 错误", username); - - } else if (e instanceof CredentialsExpiredException) { - // 密码过期 - logger.info("[登录失败] - 用户[{}]密码过期", username); - - } else if (e instanceof DisabledException) { - // 用户被禁用 - logger.info("[登录失败] - 用户[{}]被禁用", username); - - } else if (e instanceof LockedException) { - // 用户被锁定 - logger.info("[登录失败] - 用户[{}]被锁定", username); - - } else if (e instanceof InternalAuthenticationServiceException) { - // 内部错误 - logger.error(String.format("[登录失败] - [%s]内部错误", username), e); - - } else { - // 其他错误 - logger.error(String.format("[登录失败] - [%s]其他错误", username), e); - } - Map map = new HashMap<>(); - map.put("code","0"); - map.put("msg","登录失败"); - response.setContentType("application/json;charset=UTF-8"); - response.getWriter().write(objectMapper.writeValueAsString(map)); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/LoginSuccessHandler.java b/src/main/java/com/genersoft/iot/vmp/conf/security/LoginSuccessHandler.java deleted file mode 100644 index 9690c6d1..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/LoginSuccessHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.core.Authentication; -import org.springframework.security.web.authentication.AuthenticationSuccessHandler; -import org.springframework.stereotype.Component; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@Component -public class LoginSuccessHandler implements AuthenticationSuccessHandler { - - private final static Logger logger = LoggerFactory.getLogger(LoginSuccessHandler.class); - - @Override - public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException { - String username = request.getParameter("username"); - logger.info("[登录成功] - [{}]", username); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java b/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java deleted file mode 100644 index 790eab84..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/LogoutHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.security.core.Authentication; -import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; -import org.springframework.stereotype.Component; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * 退出登录成功 - */ -@Component -public class LogoutHandler implements LogoutSuccessHandler { - - private final static Logger logger = LoggerFactory.getLogger(LogoutHandler.class); - - @Override - public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException { - String username = request.getParameter("username"); - logger.info("[退出登录成功] - [{}]", username); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java b/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java deleted file mode 100644 index fd29d112..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/SecurityUtils.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import com.genersoft.iot.vmp.conf.security.dto.LoginUser; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContext; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; - -import javax.security.sasl.AuthenticationException; - -public class SecurityUtils { - - /** - * 描述根据账号密码进行调用security进行认证授权 主动调 - * 用AuthenticationManager的authenticate方法实现 - * 授权成功后将用户信息存入SecurityContext当中 - * @param username 用户名 - * @param password 密码 - * @param authenticationManager 认证授权管理器, - * @see AuthenticationManager - * @return UserInfo 用户信息 - */ - public static LoginUser login(String username, String password, AuthenticationManager authenticationManager) throws AuthenticationException { - //使用security框架自带的验证token生成器 也可以自定义。 - UsernamePasswordAuthenticationToken token =new UsernamePasswordAuthenticationToken(username,password); - Authentication authenticate = authenticationManager.authenticate(token); - SecurityContextHolder.getContext().setAuthentication(authenticate); - LoginUser user = (LoginUser) authenticate.getPrincipal(); - return user; - } - - /** - * 获取当前登录的所有认证信息 - * @return - */ - public static Authentication getAuthentication(){ - SecurityContext context = SecurityContextHolder.getContext(); - return context.getAuthentication(); - } - - /** - * 获取当前登录用户信息 - * @return - */ - public static LoginUser getUserInfo(){ - Authentication authentication = getAuthentication(); - if(authentication!=null){ - Object principal = authentication.getPrincipal(); - if(principal!=null && !"anonymousUser".equals(principal)){ - LoginUser user = (LoginUser) authentication.getPrincipal(); - return user; - } - } - return null; - } - - /** - * 获取当前登录用户ID - * @return - */ - public static int getUserId(){ - LoginUser user = getUserInfo(); - return user.getId(); - } - - /** - * 生成BCryptPasswordEncoder密码 - * - * @param password 密码 - * @return 加密字符串 - */ - public static String encryptPassword(String password) { - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - return passwordEncoder.encode(password); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java deleted file mode 100644 index f0eca856..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.genersoft.iot.vmp.conf.security; - -import com.genersoft.iot.vmp.conf.UserSetup; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.builders.WebSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; - -import java.util.List; - -/** - * 配置Spring Security - */ -@Configuration -@EnableWebSecurity -@EnableGlobalMethodSecurity(prePostEnabled = true) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { - - private final static Logger logger = LoggerFactory.getLogger(WebSecurityConfig.class); - - @Autowired - private UserSetup userSetup; - - @Autowired - private DefaultUserDetailsServiceImpl userDetailsService; - /** - * 登出成功的处理 - */ - @Autowired - private LoginFailureHandler loginFailureHandler; - /** - * 登录成功的处理 - */ - @Autowired - private LoginSuccessHandler loginSuccessHandler; - /** - * 登出成功的处理 - */ - @Autowired - private LogoutHandler logoutHandler; - /** - * 未登录的处理 - */ - @Autowired - private AnonymousAuthenticationEntryPoint anonymousAuthenticationEntryPoint; -// /** -// * 超时处理 -// */ -// @Autowired -// private InvalidSessionHandler invalidSessionHandler; - -// /** -// * 顶号处理 -// */ -// @Autowired -// private SessionInformationExpiredHandler sessionInformationExpiredHandler; -// /** -// * 登录用户没有权限访问资源 -// */ -// @Autowired -// private LoginUserAccessDeniedHandler accessDeniedHandler; - - - /** - * 描述: 静态资源放行,这里的放行,是不走 Spring Security 过滤器链 - **/ - @Override - public void configure(WebSecurity web) { - - if (!userSetup.isInterfaceAuthentication()) { - web.ignoring().antMatchers("**"); - }else { - // 可以直接访问的静态数据 - web.ignoring() - .antMatchers("/") - .antMatchers("/#/**") - .antMatchers("/static/**") - .antMatchers("/index.html") - .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**" - .antMatchers("/webjars/**") - .antMatchers("/swagger-resources/**") - .antMatchers("/v3/api-docs/**") - .antMatchers("/js/**"); - List interfaceAuthenticationExcludes = userSetup.getInterfaceAuthenticationExcludes(); - for (String interfaceAuthenticationExclude : interfaceAuthenticationExcludes) { - if (interfaceAuthenticationExclude.split("/").length < 4 ) { - logger.warn("{}不满足两级目录,已忽略", interfaceAuthenticationExclude); - }else { - web.ignoring().antMatchers(interfaceAuthenticationExclude); - } - - } - } - } - - /** - * 配置认证方式 - * @param auth - * @throws Exception - */ - @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { - DaoAuthenticationProvider provider = new DaoAuthenticationProvider(); - // 设置不隐藏 未找到用户异常 - provider.setHideUserNotFoundExceptions(true); - // 用户认证service - 查询数据库的逻辑 - provider.setUserDetailsService(userDetailsService); - // 设置密码加密算法 - provider.setPasswordEncoder(passwordEncoder()); - auth.authenticationProvider(provider); - } - - @Override - protected void configure(HttpSecurity http) throws Exception { - http.cors().and().csrf().disable(); - // 设置允许添加静态文件 - http.headers().contentTypeOptions().disable(); - http.authorizeRequests() - // 放行接口 - .antMatchers("/api/user/login","/index/hook/**").permitAll() - // 除上面外的所有请求全部需要鉴权认证 - .anyRequest().authenticated() - // 异常处理(权限拒绝、登录失效等) - .and().exceptionHandling() - .authenticationEntryPoint(anonymousAuthenticationEntryPoint)//匿名用户访问无权限资源时的异常处理 -// .accessDeniedHandler(accessDeniedHandler)//登录用户没有权限访问资源 - // 登入 - .and().formLogin().permitAll()//允许所有用户 - .successHandler(loginSuccessHandler)//登录成功处理逻辑 - .failureHandler(loginFailureHandler)//登录失败处理逻辑 - // 登出 - .and().logout().logoutUrl("/api/user/logout").permitAll()//允许所有用户 - .logoutSuccessHandler(logoutHandler)//登出成功处理逻辑 - .deleteCookies("JSESSIONID") - // 会话管理 -// .and().sessionManagement().invalidSessionStrategy(invalidSessionHandler) // 超时处理 -// .maximumSessions(1)//同一账号同时登录最大用户数 -// .expiredSessionStrategy(sessionInformationExpiredHandler) // 顶号处理 - ; - - } - - /** - * 描述: 密码加密算法 BCrypt 推荐使用 - **/ - @Bean - public BCryptPasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); - } - - /** - * 描述: 注入AuthenticationManager管理器 - **/ - @Override - @Bean - public AuthenticationManager authenticationManager() throws Exception { - return super.authenticationManager(); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java b/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java deleted file mode 100644 index 45e03bc7..00000000 --- a/src/main/java/com/genersoft/iot/vmp/conf/security/dto/LoginUser.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.genersoft.iot.vmp.conf.security.dto; - -import com.genersoft.iot.vmp.storager.dao.dto.Role; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import org.springframework.security.core.CredentialsContainer; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.SpringSecurityCoreVersion; -import org.springframework.security.core.userdetails.UserDetails; - -import java.time.LocalDateTime; -import java.util.Collection; - -public class LoginUser implements UserDetails, CredentialsContainer { - - private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID; - - /** - * 用户 - */ - private User user; - - - /** - * 登录时间 - */ - private LocalDateTime loginTime; - - public LoginUser(User user, LocalDateTime loginTime) { - this.user = user; - this.loginTime = loginTime; - } - - - @Override - public Collection getAuthorities() { - return null; - } - - @Override - public String getPassword() { - return user.getPassword(); - } - - @Override - public String getUsername() { - return user.getUsername(); - } - - /** - * 账户是否未过期,过期无法验证 - */ - @Override - public boolean isAccountNonExpired() { - return true; - } - - /** - * 指定用户是否解锁,锁定的用户无法进行身份验证 - *

- * 密码锁定 - *

- */ - @Override - public boolean isAccountNonLocked() { - return true; - } - - /** - * 指示是否已过期的用户的凭据(密码),过期的凭据防止认证 - */ - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - /** - * 用户是否被启用或禁用。禁用的用户无法进行身份验证。 - */ - @Override - public boolean isEnabled() { - return true; - } - - /** - * 认证完成后,擦除密码 - */ - @Override - public void eraseCredentials() { - user.setPassword(null); - } - - - public int getId() { - return user.getId(); - } - - public Role getRole() { - return user.getRole(); - } - - -} diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java index 761437fc..c064d56a 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java @@ -60,7 +60,7 @@ public class Device { /** * 在线 */ - private int online; + private Integer online; /** @@ -196,11 +196,11 @@ public class Device { this.hostAddress = hostAddress; } - public int getOnline() { + public Integer getOnline() { return online; } - public void setOnline(int online) { + public void setOnline(Integer online) { this.online = online; } diff --git a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java index 49ba7b7f..3c1ba469 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java @@ -16,7 +16,7 @@ public interface IGbStreamService { * @param count * @return */ - PageInfo getAll(Integer page, Integer count); + PageInfo getAll(Integer page, Integer count, String query); /** diff --git a/src/main/java/com/genersoft/iot/vmp/service/IRecordInfoServer.java b/src/main/java/com/genersoft/iot/vmp/service/IRecordInfoServer.java index d979b58b..411b5a24 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IRecordInfoServer.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IRecordInfoServer.java @@ -1,8 +1,16 @@ package com.genersoft.iot.vmp.service; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; +import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.github.pagehelper.PageInfo; +import java.util.List; +import java.util.Map; + public interface IRecordInfoServer { + PageInfo getRecordList(int page, int count); + + ResponseData resetRecords(Map params); } diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java index 12e48983..87b6c474 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java @@ -1,6 +1,7 @@ package com.genersoft.iot.vmp.service; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.Page; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.github.pagehelper.PageInfo; @@ -33,7 +34,7 @@ public interface IStreamProxyService { * @param count * @return */ - PageInfo getAll(Integer page, Integer count); + Page getAll(Integer page, Integer count, String query, Boolean enable); /** * 删除视频代理 diff --git a/src/main/java/com/genersoft/iot/vmp/service/IUserService.java b/src/main/java/com/genersoft/iot/vmp/service/IUserService.java deleted file mode 100644 index c170c021..00000000 --- a/src/main/java/com/genersoft/iot/vmp/service/IUserService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.genersoft.iot.vmp.service; - -import com.genersoft.iot.vmp.storager.dao.dto.User; - -import java.util.List; - -public interface IUserService { - - User getUser(String username, String password); - - boolean changePassword(int id, String password); - - User getUserByUsername(String username); - - int addUser(User user); - - int deleteUser(int id); - - List getAllUsers(); - - int updateUsers(User user); -} diff --git a/src/main/java/com/genersoft/iot/vmp/service/IVideoSquareService.java b/src/main/java/com/genersoft/iot/vmp/service/IVideoSquareService.java new file mode 100644 index 00000000..cd58a463 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/service/IVideoSquareService.java @@ -0,0 +1,10 @@ +package com.genersoft.iot.vmp.service; + +import com.alibaba.fastjson.JSONArray; + +public interface IVideoSquareService { + + //获取视屏树tree + JSONArray selectVideoTree(); + +} diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java index 5002d29d..922df7f0 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java @@ -34,9 +34,9 @@ public class GbStreamServiceImpl implements IGbStreamService { private PlatformGbStreamMapper platformGbStreamMapper; @Override - public PageInfo getAll(Integer page, Integer count) { + public PageInfo getAll(Integer page, Integer count, String query) { PageHelper.startPage(page, count); - List all = gbStreamMapper.selectAll(); + List all = gbStreamMapper.selectAll(query); return new PageInfo<>(all); } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java index 49083639..177c451f 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RecordInfoServerImpl.java @@ -1,14 +1,22 @@ package com.genersoft.iot.vmp.service.impl; +import com.genersoft.iot.vmp.common.MyPageInfo; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ErrorResponseData; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.service.IRecordInfoServer; import com.genersoft.iot.vmp.storager.dao.RecordInfoDao; import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; +import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.Map; @Service public class RecordInfoServerImpl implements IRecordInfoServer { @@ -22,4 +30,77 @@ public class RecordInfoServerImpl implements IRecordInfoServer { List all = recordInfoDao.selectAll(); return new PageInfo<>(all); } + + @Override + public ResponseData resetRecords(Map params) { + Object listObj = params.get("list"); + List> list; + if (ObjectUtils.anyNotNull(listObj)) { + list = (List>) listObj; + } else { + return ErrorResponseData.error("未查询到记录"); + } + + int pageNo = Integer.parseInt(params.get("pageNo").toString()); + int pageSize = Integer.parseInt(params.get("pageSize").toString()); + + ChannelReduce channelReduce = new ChannelReduce(); + if (params.get("deviceId") != null) channelReduce.setDeviceId(params.get("deviceId").toString()); + if (params.get("manufacturer") != null) channelReduce.setManufacturer(params.get("manufacturer").toString()); + if (params.get("name") != null) channelReduce.setName(params.get("name").toString()); + + List> resultList = new ArrayList<>(); + List channelReduces = recordInfoDao.selectAllChannel(channelReduce); + + String isNVRRecord = params.get("NVR").toString(); + + if ("NVR".equals(isNVRRecord)) { + boolean stream = ObjectUtils.anyNotNull(params.get("stream")); + boolean time = ObjectUtils.anyNotNull(params.get("time")); + list.stream().filter(item -> { + String streamId = item.get("stream").toString(); + String originalTime = item.get("time").toString(); + boolean isOK = !streamId.contains("_"); + if (isOK){ + if (stream && time){ + String paramStream = params.get("stream").toString(); + String paramTime = params.get("time").toString(); + return streamId.contains(paramStream) && originalTime.contains(paramTime); + }else if (stream){ + return streamId.contains(params.get("stream").toString()); + }else if (time){ + return originalTime.contains(params.get("time").toString()); + } + return true; + } + return false; + }).forEach(resultList::add); + } else { + list.stream() + .filter(item -> { + String streamId = item.get("stream").toString(); + return streamId.contains("_"); + }) + .forEach(item -> { //修改list内容 + String streamId = item.get("stream").toString(); + String[] streamIds = streamId.split("_"); + String paramDeviceId = streamIds[0]; + String paramChannelId = streamIds[1]; + channelReduces.forEach(tempChannelReduce -> { + boolean isEq = tempChannelReduce.getDeviceId().equals(paramDeviceId) && tempChannelReduce.getChannelId().equals(paramChannelId); + if (isEq) { + item.put("manufacturer", tempChannelReduce.getManufacturer()); + item.put("name", tempChannelReduce.getName()); + item.put("channelId", tempChannelReduce.getChannelId()); + item.put("deviceId", tempChannelReduce.getDeviceId()); + item.put("hostAddress", tempChannelReduce.getHostAddress()); + resultList.add(item); + } + }); + }); + } + MyPageInfo> myPageInfo = new MyPageInfo<>(resultList); + myPageInfo.startPage(pageNo, pageSize); + return ResponseData.success(new Page<>(myPageInfo)); + } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java index bbcad1c3..79dd2d1a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java @@ -1,6 +1,7 @@ package com.genersoft.iot.vmp.service.impl; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.Page; import com.genersoft.iot.vmp.gb28181.bean.GbStream; import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; @@ -146,8 +147,8 @@ public class StreamProxyServiceImpl implements IStreamProxyService { } @Override - public PageInfo getAll(Integer page, Integer count) { - return videoManagerStorager.queryStreamProxyList(page, count); + public Page getAll(Integer page, Integer count, String query, Boolean enable) { + return videoManagerStorager.queryStreamProxyList(page, count, query, enable); } @Override diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java deleted file mode 100644 index 32b6ad68..00000000 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.genersoft.iot.vmp.service.impl; - -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.UserMapper; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class UserServiceImpl implements IUserService { - - @Autowired - private UserMapper userMapper; - - @Override - public User getUser(String username, String password) { - return userMapper.select(username, password); - } - - @Override - public boolean changePassword(int id, String password) { - User user = userMapper.selectById(id); - user.setPassword(password); - return userMapper.update(user) > 0; - } - - @Override - public User getUserByUsername(String username) { - return userMapper.getUserByUsername(username); - } - - @Override - public int addUser(User user) { - User userByUsername = userMapper.getUserByUsername(user.getUsername()); - if (userByUsername != null) return 0; - return userMapper.add(user); - } - @Override - public int deleteUser(int id) { - return userMapper.delete(id); - } - - @Override - public List getAllUsers() { - return userMapper.selectAll(); - } - - @Override - public int updateUsers(User user) { - return userMapper.update(user); - } - - -} diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/VideoSquareServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/VideoSquareServiceImpl.java new file mode 100644 index 00000000..ab2aa239 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/VideoSquareServiceImpl.java @@ -0,0 +1,52 @@ +package com.genersoft.iot.vmp.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.gb28181.bean.Device; +import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; +import com.genersoft.iot.vmp.service.IVideoSquareService; +import com.genersoft.iot.vmp.storager.dao.VideoSquareMapper; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +@Service +public class VideoSquareServiceImpl implements IVideoSquareService { + + @Autowired + private VideoSquareMapper videoSquareMapper; + + @Override + public JSONArray selectVideoTree() { + JSONArray jsonArray = new JSONArray(); + List devices = videoSquareMapper.selectDevices(); + if (ObjectUtils.anyNotNull(devices)) { + List deviceChannels = videoSquareMapper.selectDeviceChannels(); + devices.forEach(device -> { + String deviceId1 = device.getDeviceId(); + JSONObject parent = new JSONObject(); + parent.put("title", deviceId1); + parent.put("key", deviceId1); + jsonArray.add(parent); + JSONArray children = new JSONArray(); + parent.put("children", children); + deviceChannels.forEach(deviceChannel -> { + String deviceId2 = deviceChannel.getDeviceId(); + if (deviceId1.equals(deviceId2)) { + JSONObject childrenObj = new JSONObject(); + childrenObj.put("title", deviceChannel.getName()); + childrenObj.put("key", deviceId1 + "_" + deviceChannel.getChannelId()); + childrenObj.put("slots", JSON.parse("{icon: 'cameraVideo'}")); + children.add(childrenObj); + } + }); + }); + } + return jsonArray; + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java index dc6a9c09..47e0f048 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.storager; +import com.genersoft.iot.vmp.common.Page; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; @@ -8,233 +9,245 @@ import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.github.pagehelper.PageInfo; import java.util.List; - -/** + /** * @description:视频设备数据存储接口 * @author: swwheihei - * @date: 2020年5月6日 下午2:14:31 + * @date: 2020年5月6日 下午2:14:31 */ @SuppressWarnings("rawtypes") public interface IVideoManagerStorager { - /** - * 根据设备ID判断设备是否存在 - * - * @param deviceId 设备ID - * @return true:存在 false:不存在 - */ - public boolean exists(String deviceId); - - /** - * 视频设备创建 - * - * @param device 设备对象 - * @return true:创建成功 false:创建失败 - */ - public boolean create(Device device); - - /** - * 视频设备更新 - * - * @param device 设备对象 - * @return true:创建成功 false:创建失败 - */ - public boolean updateDevice(Device device); - - /** - * 添加设备通道 - * - * @param deviceId 设备id - * @param channel 通道 - */ - public void updateChannel(String deviceId, DeviceChannel channel); - - /** - * 开始播放 - * @param deviceId 设备id - * @param channelId 通道ID - * @param streamId 流地址 - */ - public void startPlay(String deviceId, String channelId, String streamId); - - /** - * 停止播放 - * @param deviceId 设备id - * @param channelId 通道ID - */ - public void stopPlay(String deviceId, String channelId); - - /** - * 获取设备 - * - * @param deviceId 设备ID - * @return DShadow 设备对象 - */ - public Device queryVideoDevice(String deviceId); - - /** - * 获取某个设备的通道列表 - * - * @param deviceId 设备ID - * @param page 分页 当前页 - * @param count 每页数量 - * @return - */ - public PageInfo queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int page, int count); - - /** - * 获取某个设备的通道列表 - * - * @param deviceId 设备ID - * @return - */ - public List queryChannelsByDeviceId(String deviceId); - - /** - * 获取某个设备的通道 - * @param deviceId 设备ID - * @param channelId 通道ID - */ - public DeviceChannel queryChannel(String deviceId, String channelId); - - /** - * 获取多个设备 - * @param page 当前页数 - * @param count 每页数量 - * @return List 设备对象数组 - */ - public PageInfo queryVideoDeviceList(int page, int count); - - /** - * 获取多个设备 - * - * @return List 设备对象数组 - */ - public List queryVideoDeviceList(); - - /** - * 删除设备 - * - * @param deviceId 设备ID - * @return true:删除成功 false:删除失败 - */ - public boolean delete(String deviceId); - - /** - * 更新设备在线 - * - * @param deviceId 设备ID - * @return true:更新成功 false:更新失败 - */ - public boolean online(String deviceId); - - /** - * 更新设备离线 - * - * @param deviceId 设备ID - * @return true:更新成功 false:更新失败 - */ - public boolean outline(String deviceId); - - /** - * 更新所有设备离线 - * - * @return true:更新成功 false:更新失败 - */ - public boolean outlineForAll(); - - - /** - * 查询子设备 - * - * @param deviceId - * @param channelId - * @param page - * @param count - * @return - */ - PageInfo querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count); - - - /** - * 清空通道 - * @param deviceId - */ - void cleanChannelsForDevice(String deviceId); - - - /** - * 更新上级平台 - * @param parentPlatform - */ - boolean updateParentPlatform(ParentPlatform parentPlatform); - - - /** - * 添加上级平台 - * @param parentPlatform - */ - boolean addParentPlatform(ParentPlatform parentPlatform); - - /** - * 删除上级平台 - * @param parentPlatform - */ - boolean deleteParentPlatform(ParentPlatform parentPlatform); - - - /** - * 分页获取上级平台 - * @param page - * @param count - * @return - */ - PageInfo queryParentPlatformList(int page, int count); - - /** - * 获取所有已启用的平台 - * @return - */ - List queryEnableParentPlatformList(boolean enable); - - /** - * 获取上级平台 - * @param platformGbId - * @return - */ - ParentPlatform queryParentPlatByServerGBId(String platformGbId); - - /** - * 所有平台离线 - */ - void outlineForAllParentPlatform(); - - /** - * 查询通道信息,不区分设备(已关联平台或全部) - */ - PageInfo queryAllChannelList(int page, int count, String query, Boolean online, Boolean channelType, String platformId, Boolean inPlatform); - - /** - * 查询设备的通道信息 - */ - List queryChannelListInParentPlatform(String platformId); - - - /** - * 更新上级平台的通道信息 - * @param platformId - * @param channelReduces - * @return - */ - int updateChannelForGB(String platformId, List channelReduces); - - /** - * 移除上级平台的通道信息 - * @param platformId - * @param channelReduces - * @return - */ - int delChannelForGB(String platformId, List channelReduces); + /** + * 根据设备ID判断设备是否存在 + * + * @param deviceId 设备ID + * @return true:存在 false:不存在 + */ + boolean exists(String deviceId); + + /** + * 视频设备创建 + * + * @param device 设备对象 + * @return true:创建成功 false:创建失败 + */ + boolean create(Device device); + + /** + * 视频设备更新 + * + * @param device 设备对象 + * @return true:创建成功 false:创建失败 + */ + boolean updateDevice(Device device); + + /** + * 添加设备通道 + * + * @param deviceId 设备id + * @param channel 通道 + */ + void updateChannel(String deviceId, DeviceChannel channel); + + /** + * 开始播放 + * + * @param deviceId 设备id + * @param channelId 通道ID + * @param streamId 流地址 + */ + void startPlay(String deviceId, String channelId, String streamId); + + /** + * 停止播放 + * + * @param deviceId 设备id + * @param channelId 通道ID + */ + void stopPlay(String deviceId, String channelId); + + /** + * 获取设备 + * + * @param deviceId 设备ID + * @return DShadow 设备对象 + */ + Device queryVideoDevice(String deviceId); + + /** + * 获取某个设备的通道列表 + * + * @param deviceId 设备ID + * @param pageNo 分页 当前页 + * @param pageSize 每页数量 + * @return + */ + Page queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int pageNo, int pageSize); + + /** + * 获取某个设备的通道列表 + * + * @param deviceId 设备ID + * @return + */ + List queryChannelsByDeviceId(String deviceId); + + /** + * 获取某个设备的通道 + * + * @param deviceId 设备ID + * @param channelId 通道ID + */ + DeviceChannel queryChannel(String deviceId, String channelId); + + /** + * 获取多个设备 + * + * @param page 当前页数 + * @param count 每页数量 + * @return List 设备对象数组 + */ + Page queryVideoDeviceList(int page, int count, Device device); + + /** + * 获取多个设备 + * + * @return List 设备对象数组 + */ + List queryVideoDeviceList(); + + /** + * 删除设备 + * + * @param deviceId 设备ID + * @return true:删除成功 false:删除失败 + */ + boolean delete(String deviceId); + + /** + * 更新设备在线 + * + * @param deviceId 设备ID + * @return true:更新成功 false:更新失败 + */ + boolean online(String deviceId); + + /** + * 更新设备离线 + * + * @param deviceId 设备ID + * @return true:更新成功 false:更新失败 + */ + boolean outline(String deviceId); + + /** + * 更新所有设备离线 + * + * @return true:更新成功 false:更新失败 + */ + boolean outlineForAll(); + + + /** + * 查询子设备 + * + * @param deviceId + * @param channelId + * @param page + * @param count + * @return + */ + PageInfo querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count); + + + /** + * 清空通道 + * + * @param deviceId + */ + void cleanChannelsForDevice(String deviceId); + + + /** + * 更新上级平台 + * + * @param parentPlatform + */ + boolean updateParentPlatform(ParentPlatform parentPlatform); + + + /** + * 添加上级平台 + * + * @param parentPlatform + */ + boolean addParentPlatform(ParentPlatform parentPlatform); + + /** + * 删除上级平台 + * + * @param parentPlatform + */ + boolean deleteParentPlatform(ParentPlatform parentPlatform); + + + /** + * 分页获取上级平台 + * + * @param page + * @param count + * @return + */ + Page queryParentPlatformList(int page, int count); + + /** + * 获取所有已启用的平台 + * + * @return + */ + List queryEnableParentPlatformList(boolean enable); + + /** + * 获取上级平台 + * + * @param platformGbId + * @return + */ + ParentPlatform queryParentPlatByServerGBId(String platformGbId); + + /** + * 所有平台离线 + */ + void outlineForAllParentPlatform(); + + /** + * 查询通道信息,不区分设备(已关联平台或全部) + */ + PageInfo queryAllChannelList(int page, int count, String query, Boolean online, Boolean channelType, String platformId, Boolean inPlatform); + + /** + * 查询设备的通道信息 + */ + List queryChannelListInParentPlatform(String platformId); + + + /** + * 更新上级平台的通道信息 + * + * @param platformId + * @param channelReduces + * @return + */ + int updateChannelForGB(String platformId, List channelReduces); + + /** + * 移除上级平台的通道信息 + * + * @param platformId + * @param channelReduces + * @return + */ + int delChannelForGB(String platformId, List channelReduces); DeviceChannel queryChannelInParentPlatform(String platformId, String channelId); @@ -242,136 +255,154 @@ public interface IVideoManagerStorager { Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId); - /** - * 添加Mobile Position设备移动位置 - * @param mobilePosition - * @return - */ - public boolean insertMobilePosition(MobilePosition mobilePosition); - - /** - * 查询移动位置轨迹 - * @param deviceId - * @param startTime - * @param endTime - */ - public List queryMobilePositions(String deviceId, String startTime, String endTime); - - /** - * 查询最新移动位置 - * @param deviceId - */ - public MobilePosition queryLatestPosition(String deviceId); - - /** - * 删除指定设备的所有移动位置 - * @param deviceId - */ - public int clearMobilePositionsByDeviceId(String deviceId); - - /** - * 新增代理流 - * @param streamProxyDto - * @return - */ - public boolean addStreamProxy(StreamProxyItem streamProxyDto); - - /** - * 更新代理流 - * @param streamProxyDto - * @return - */ - public boolean updateStreamProxy(StreamProxyItem streamProxyDto); - - /** - * 移除代理流 - * @param app - * @param stream - * @return - */ - public int deleteStreamProxy(String app, String stream); - - /** - * 按照是否启用获取代理流 - * @param enable - * @return - */ - public List getStreamProxyListForEnable(boolean enable); - - /** - * 按照是app和stream获取代理流 - * @param app - * @param stream - * @return - */ - public StreamProxyItem queryStreamProxy(String app, String stream); - - /** - * 获取代理流 - * @param page - * @param count - * @return - */ - PageInfo queryStreamProxyList(Integer page, Integer count); - - /** - * 根据国标ID获取平台关联的直播流 - * @param platformId - * @param channelId - * @return - */ - GbStream queryStreamInParentPlatform(String platformId, String channelId); - - /** - * 获取平台关联的直播流 - * @param platformId - * @return - */ - List queryGbStreamListInPlatform(String platformId); - - /** - * 批量更新推流列表 - * @param streamPushItems - */ - void updateMediaList(List streamPushItems); - - /** - * 更新单个推流 - * @param streamPushItem - */ - void updateMedia(StreamPushItem streamPushItem); - - /** - * 移除单个推流 - * @param app - * @param stream - */ - void removeMedia(String app, String stream); - - - /** - * 清空推流列表 - */ - void clearMediaList(); - - /** - * 设置流离线 - * @param app - * @param streamId - */ - void mediaOutline(String app, String streamId); - - /** - * 设置平台在线/离线 - * @param online - */ - void updateParentPlatformStatus(String platformGbID, boolean online); - - /** - * 更新媒体节点 - * @param mediaServerItem - */ - void updateMediaServer(MediaServerItem mediaServerItem); + /** + * 添加Mobile Position设备移动位置 + * + * @param mobilePosition + * @return + */ + boolean insertMobilePosition(MobilePosition mobilePosition); + + /** + * 查询移动位置轨迹 + * + * @param deviceId + * @param startTime + * @param endTime + */ + List queryMobilePositions(String deviceId, String startTime, String endTime); + + /** + * 查询最新移动位置 + * + * @param deviceId + */ + MobilePosition queryLatestPosition(String deviceId); + + /** + * 删除指定设备的所有移动位置 + * + * @param deviceId + */ + int clearMobilePositionsByDeviceId(String deviceId); + + /** + * 新增代理流 + * + * @param streamProxyDto + * @return + */ + boolean addStreamProxy(StreamProxyItem streamProxyDto); + + /** + * 更新代理流 + * + * @param streamProxyDto + * @return + */ + boolean updateStreamProxy(StreamProxyItem streamProxyDto); + + /** + * 移除代理流 + * + * @param app + * @param stream + * @return + */ + int deleteStreamProxy(String app, String stream); + + /** + * 按照是否启用获取代理流 + * + * @param enable + * @return + */ + List getStreamProxyListForEnable(boolean enable); + + /** + * 按照是app和stream获取代理流 + * + * @param app + * @param stream + * @return + */ + StreamProxyItem queryStreamProxy(String app, String stream); + + /** + * 获取代理流 + * + * @param page + * @param count + * @return + */ + Page queryStreamProxyList(Integer page, Integer count, String query, Boolean enable); + + /** + * 根据国标ID获取平台关联的直播流 + * + * @param platformId + * @param channelId + * @return + */ + GbStream queryStreamInParentPlatform(String platformId, String channelId); + + /** + * 获取平台关联的直播流 + * + * @param platformId + * @return + */ + List queryGbStreamListInPlatform(String platformId); + + /** + * 批量更新推流列表 + * + * @param streamPushItems + */ + void updateMediaList(List streamPushItems); + + /** + * 更新单个推流 + * + * @param streamPushItem + */ + void updateMedia(StreamPushItem streamPushItem); + + /** + * 移除单个推流 + * + * @param app + * @param stream + */ + void removeMedia(String app, String stream); + + + /** + * 清空推流列表 + */ + void clearMediaList(); + + /** + * 设置流离线 + * + * @param app + * @param streamId + */ + void mediaOutline(String app, String streamId); + + /** + * 设置平台在线/离线 + * + * @param online + */ + void updateParentPlatformStatus(String platformGbID, boolean online); + + /** + * 更新媒体节点 + * + * @param mediaServerItem + */ + void updateMediaServer(MediaServerItem mediaServerItem); /** * 根据媒体ID获取启用/不启用的代理列表 diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java index f7b89a98..90968194 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java @@ -57,7 +57,7 @@ public interface DeviceChannelMapper { "SELECT * FROM ( "+ " SELECT * , (SELECT count(0) FROM device_channel WHERE parentId=dc.channelId) as subCount FROM device_channel dc " + " WHERE dc.deviceId=#{deviceId} " + - " AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%' OR dc.name LIKE '%${query}%') " + + " AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%') " + " AND dc.parentId=#{parentChannelId} " + " AND dc.status=1" + " AND dc.status=0) dcr" + diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java index 68ad28df..e7e449ce 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java @@ -76,8 +76,15 @@ public interface DeviceMapper { " "}) int update(Device device); - @Select("SELECT *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de") - List getDevices(); + @Select(value = {""}) + + List getDevices(Device device); @Delete("DELETE FROM device WHERE deviceId=#{deviceId}") int del(String deviceId); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java index 230afbc9..3fa98918 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java @@ -34,8 +34,16 @@ public interface GbStreamMapper { @Delete("DELETE FROM gb_stream WHERE app=#{app} AND stream=#{stream}") int del(String app, String stream); - @Select("SELECT gs.*, pgs.platformId FROM gb_stream gs LEFT JOIN platform_gb_stream pgs ON gs.app = pgs.app AND gs.stream = pgs.stream") - List selectAll(); + @Select("") + List selectAll(String query); @Select("SELECT * FROM gb_stream WHERE app=#{app} AND stream=#{stream}") StreamProxyItem selectOne(String app, String stream); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java index 2d73982c..8a779c98 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/RecordInfoDao.java @@ -1,6 +1,8 @@ package com.genersoft.iot.vmp.storager.dao; +import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; +import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; @@ -22,4 +24,12 @@ public interface RecordInfoDao { @Select("select * FROM recordInfo") List selectAll(); + + @Select(value = {""}) + List selectAllChannel(ChannelReduce channelReduce); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java index 7346da5c..1cf2f40d 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java @@ -36,8 +36,21 @@ public interface StreamProxyMapper { @Delete("DELETE FROM stream_proxy WHERE app=#{app} AND stream=#{stream}") int del(String app, String stream); - @Select("SELECT st.*, pgs.gbId, pgs.name, pgs.longitude, pgs.latitude FROM stream_proxy st LEFT JOIN gb_stream pgs on st.app = pgs.app AND st.stream = pgs.stream order by st.createTime desc") - List selectAll(); + @Select("") + List selectAll(String query, Boolean enable); @Select("SELECT st.*, pgs.gbId, pgs.name, pgs.longitude, pgs.latitude FROM stream_proxy st LEFT JOIN gb_stream pgs on st.app = pgs.app AND st.stream = pgs.stream WHERE st.enable=${enable} order by st.createTime desc") List selectForEnable(boolean enable); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/VideoSquareMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/VideoSquareMapper.java new file mode 100644 index 00000000..e02a66b0 --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/VideoSquareMapper.java @@ -0,0 +1,20 @@ +package com.genersoft.iot.vmp.storager.dao; + +import com.genersoft.iot.vmp.gb28181.bean.Device; +import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Mapper +@Repository +public interface VideoSquareMapper { + + @Select("select * FROM device") + List selectDevices(); + + @Select("select * from device_channel") + List selectDeviceChannels(); +} diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java index 990f4e5a..98a30cd6 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java @@ -1,14 +1,13 @@ package com.genersoft.iot.vmp.storager.impl; -import java.text.SimpleDateFormat; -import java.util.*; - +import com.genersoft.iot.vmp.common.Page; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; +import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.storager.dao.*; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.github.pagehelper.PageHelper; @@ -18,619 +17,635 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; - -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; -/** +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** * @description:视频设备数据存储-jdbc实现 * @author: swwheihei - * @date: 2020年5月6日 下午2:31:42 + * @date: 2020年5月6日 下午2:31:42 */ @SuppressWarnings("rawtypes") @Component public class VideoManagerStoragerImpl implements IVideoManagerStorager { - private Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class); + private Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class); - @Autowired - DataSourceTransactionManager dataSourceTransactionManager; + @Autowired + DataSourceTransactionManager dataSourceTransactionManager; - @Autowired - TransactionDefinition transactionDefinition; + @Autowired + TransactionDefinition transactionDefinition; - @Autowired + @Autowired private DeviceMapper deviceMapper; - @Autowired - private DeviceChannelMapper deviceChannelMapper; + @Autowired + private DeviceChannelMapper deviceChannelMapper; - @Autowired - private DeviceMobilePositionMapper deviceMobilePositionMapper; + @Autowired + private DeviceMobilePositionMapper deviceMobilePositionMapper; - @Autowired + @Autowired private ParentPlatformMapper platformMapper; - @Autowired + @Autowired private IRedisCatchStorage redisCatchStorage; - @Autowired + @Autowired private PlatformChannelMapper platformChannelMapper; - @Autowired + @Autowired private StreamProxyMapper streamProxyMapper; - @Autowired + @Autowired private StreamPushMapper streamPushMapper; - @Autowired + @Autowired private GbStreamMapper gbStreamMapper; - @Autowired + @Autowired private VideoStreamSessionManager streamSession; - @Autowired + @Autowired private MediaServerMapper mediaServerMapper; - private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - - /** - * 根据设备ID判断设备是否存在 - * - * @param deviceId 设备ID - * @return true:存在 false:不存在 - */ - @Override - public boolean exists(String deviceId) { - return deviceMapper.getDeviceByDeviceId(deviceId) != null; - } - - /** - * 视频设备创建 - * - * @param device 设备对象 - * @return true:创建成功 false:创建失败 - */ - @Override - public synchronized boolean create(Device device) { - return deviceMapper.add(device) > 0; - } - - - - /** - * 视频设备更新 - * - * @param device 设备对象 - * @return true:更新成功 false:更新失败 - */ - @Override - public synchronized boolean updateDevice(Device device) { - String now = this.format.format(System.currentTimeMillis()); - device.setUpdateTime(now); - Device deviceByDeviceId = deviceMapper.getDeviceByDeviceId(device.getDeviceId()); - if (deviceByDeviceId == null) { - device.setCreateTime(now); - return deviceMapper.add(device) > 0; - }else { - return deviceMapper.update(device) > 0; - } - - } - - @Override - public synchronized void updateChannel(String deviceId, DeviceChannel channel) { - String channelId = channel.getChannelId(); - channel.setDeviceId(deviceId); - channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId())); - String now = this.format.format(System.currentTimeMillis()); - channel.setUpdateTime(now); - DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(deviceId, channelId); - if (deviceChannel == null) { - channel.setCreateTime(now); - deviceChannelMapper.add(channel); - }else { - deviceChannelMapper.update(channel); - } - } - - @Override - public void startPlay(String deviceId, String channelId, String streamId) { - deviceChannelMapper.startPlay(deviceId, channelId, streamId); - } - - @Override - public void stopPlay(String deviceId, String channelId) { - deviceChannelMapper.stopPlay(deviceId, channelId); - } - - /** - * 获取设备 - * - * @param deviceId 设备ID - * @return Device 设备对象 - */ - @Override - public Device queryVideoDevice(String deviceId) { - return deviceMapper.getDeviceByDeviceId(deviceId); - } - - @Override - public PageInfo queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int page, int count) { - // 获取到所有正在播放的流 - PageHelper.startPage(page, count); - List all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, null, query, hasSubChannel, online); - return new PageInfo<>(all); - } - - @Override - public List queryChannelsByDeviceId(String deviceId) { - return deviceChannelMapper.queryChannelsByDeviceId(deviceId, null,null, null, null); - } - - @Override - public PageInfo querySubChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, String online, int page, int count) { - PageHelper.startPage(page, count); - List all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, parentChannelId, null, null, null); - return new PageInfo<>(all); - } - - @Override - public DeviceChannel queryChannel(String deviceId, String channelId) { - return deviceChannelMapper.queryChannel(deviceId, channelId); - } - - - /** - * 获取多个设备 - * - * @param page 当前页数 - * @param count 每页数量 - * @return PageInfo 分页设备对象数组 - */ - @Override - public PageInfo queryVideoDeviceList(int page, int count) { - PageHelper.startPage(page, count); - List all = deviceMapper.getDevices(); - return new PageInfo<>(all); - } - - /** - * 获取多个设备 - * - * @return List 设备对象数组 - */ - @Override - public List queryVideoDeviceList() { - - List deviceList = deviceMapper.getDevices(); - return deviceList; - } - - /** - * 删除设备 - * - * @param deviceId 设备ID - * @return true:删除成功 false:删除失败 - */ - @Override - public boolean delete(String deviceId) { - TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); - boolean result = false; - try { - if (platformChannelMapper.delChannelForDeviceId(deviceId) <0 // 删除与国标平台的关联 - || deviceChannelMapper.cleanChannelsByDeviceId(deviceId) < 0 // 删除他的通道 - || deviceMapper.del(deviceId) < 0 // 移除设备信息 - ) { - //事务回滚 - dataSourceTransactionManager.rollback(transactionStatus); - } - result = true; - dataSourceTransactionManager.commit(transactionStatus); //手动提交 - }catch (Exception e) { - dataSourceTransactionManager.rollback(transactionStatus); - } - return result; - } - - /** - * 更新设备在线 - * - * @param deviceId 设备ID - * @return true:更新成功 false:更新失败 - */ - @Override - public synchronized boolean online(String deviceId) { - Device device = deviceMapper.getDeviceByDeviceId(deviceId); - if (device == null) { - return false; - } - device.setOnline(1); - logger.info("更新设备在线: " + deviceId); - return deviceMapper.update(device) > 0; - } - - /** - * 更新设备离线 - * - * @param deviceId 设备ID - * @return true:更新成功 false:更新失败 - */ - @Override - public synchronized boolean outline(String deviceId) { - logger.info("更新设备离线: " + deviceId); - Device device = deviceMapper.getDeviceByDeviceId(deviceId); - if (device == null) return false; - device.setOnline(0); - return deviceMapper.update(device) > 0; - } - - /** - * 更新所有设备离线 - * - * @return true:更新成功 false:更新失败 - */ - @Override - public synchronized boolean outlineForAll() { - logger.info("更新所有设备离线"); - int result = deviceMapper.outlineForAll(); - return result > 0; - } - - /** - * 清空通道 - * @param deviceId - */ - @Override - public void cleanChannelsForDevice(String deviceId) { - deviceChannelMapper.cleanChannelsByDeviceId(deviceId); - } - - /** - * 添加Mobile Position设备移动位置 - * @param mobilePosition - */ - @Override - public synchronized boolean insertMobilePosition(MobilePosition mobilePosition) { - return deviceMobilePositionMapper.insertNewPosition(mobilePosition) > 0; - } - - /** - * 查询移动位置轨迹 - * @param deviceId - * @param startTime - * @param endTime - */ - @Override - public synchronized List queryMobilePositions(String deviceId, String startTime, String endTime) { - return deviceMobilePositionMapper.queryPositionByDeviceIdAndTime(deviceId, startTime, endTime); - } - - @Override - public boolean addParentPlatform(ParentPlatform parentPlatform) { - int result = platformMapper.addParentPlatform(parentPlatform); - return result > 0; - } - - @Override - public boolean updateParentPlatform(ParentPlatform parentPlatform) { - int result = 0; - ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId()); // .getDeviceGBId()); - if (parentPlatform.getId() == null ) { - result = platformMapper.addParentPlatform(parentPlatform); - if (parentPlatformCatch == null) { - parentPlatformCatch = new ParentPlatformCatch(); - parentPlatformCatch.setParentPlatform(parentPlatform); - parentPlatformCatch.setId(parentPlatform.getServerGBId()); - } - }else { - if (parentPlatformCatch == null) { // serverGBId 已变化 - ParentPlatform parentPlatById = platformMapper.getParentPlatById(parentPlatform.getId()); - // 使用旧的查出缓存ID - parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatById.getServerGBId()); - parentPlatformCatch.setId(parentPlatform.getServerGBId()); - redisCatchStorage.delPlatformCatchInfo(parentPlatById.getServerGBId()); - } - result = platformMapper.updateParentPlatform(parentPlatform); - } - // 更新缓存 - parentPlatformCatch.setParentPlatform(parentPlatform); - redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); - return result > 0; - } - - @Transactional - @Override - public boolean deleteParentPlatform(ParentPlatform parentPlatform) { - int result = platformMapper.delParentPlatform(parentPlatform); - // 删除关联的通道 - platformChannelMapper.cleanChannelForGB(parentPlatform.getServerGBId()); - return result > 0; - } - - @Override - public PageInfo queryParentPlatformList(int page, int count) { - PageHelper.startPage(page, count); - List all = platformMapper.getParentPlatformList(); - return new PageInfo<>(all); - } - - @Override - public ParentPlatform queryParentPlatByServerGBId(String platformGbId) { - return platformMapper.getParentPlatByServerGBId(platformGbId); - } - - @Override - public List queryEnableParentPlatformList(boolean enable) { - return platformMapper.getEnableParentPlatformList(enable); - } - - @Override - public void outlineForAllParentPlatform() { - platformMapper.outlineForAllParentPlatform(); - } - - - @Override - public PageInfo queryAllChannelList(int page, int count, String query, Boolean online, - Boolean channelType, String platformId, Boolean inPlatform) { - PageHelper.startPage(page, count); - List all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, platformId, inPlatform); - return new PageInfo<>(all); - } - - @Override - public List queryChannelListInParentPlatform(String platformId) { - - return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, true); - } - - @Override - public int updateChannelForGB(String platformId, List channelReduces) { - - Map deviceAndChannels = new HashMap<>(); - for (ChannelReduce channelReduce : channelReduces) { - deviceAndChannels.put(channelReduce.getDeviceId() + "_" + channelReduce.getChannelId(), channelReduce); - } - List deviceAndChannelList = new ArrayList<>(deviceAndChannels.keySet()); - // 查询当前已经存在的 - List relatedPlatformchannels = platformChannelMapper.findChannelRelatedPlatform(platformId, deviceAndChannelList); - if (relatedPlatformchannels != null) { - deviceAndChannelList.removeAll(relatedPlatformchannels); - } - for (String relatedPlatformchannel : relatedPlatformchannels) { - deviceAndChannels.remove(relatedPlatformchannel); - } - List channelReducesToAdd = new ArrayList<>(deviceAndChannels.values()); - // 对剩下的数据进行存储 - int result = 0; - if (channelReducesToAdd.size() > 0) { - result = platformChannelMapper.addChannels(platformId, channelReducesToAdd); - } - - return result; - } - - - @Override - public int delChannelForGB(String platformId, List channelReduces) { - - int result = platformChannelMapper.delChannelForGB(platformId, channelReduces); - - return result; - } - - @Override - public DeviceChannel queryChannelInParentPlatform(String platformId, String channelId) { - DeviceChannel channel = platformChannelMapper.queryChannelInParentPlatform(platformId, channelId); - return channel; - } - - @Override - public Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId) { - Device device = platformChannelMapper.queryVideoDeviceByPlatformIdAndChannelId(platformId, channelId); - return device; - } - - /** - * 查询最新移动位置 - * @param deviceId - */ - @Override - public MobilePosition queryLatestPosition(String deviceId) { - return deviceMobilePositionMapper.queryLatestPositionByDevice(deviceId); - } - - /** - * 删除指定设备的所有移动位置 - * @param deviceId - */ - public int clearMobilePositionsByDeviceId(String deviceId) { - return deviceMobilePositionMapper.clearMobilePositionsByDeviceId(deviceId); - } - - /** - * 新增代理流 - * @param streamProxyItem - * @return - */ - @Override - public boolean addStreamProxy(StreamProxyItem streamProxyItem) { - TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); - boolean result = false; - streamProxyItem.setStreamType("proxy"); - streamProxyItem.setStatus(true); - String now = this.format.format(System.currentTimeMillis()); - streamProxyItem.setCreateTime(now); - try { - if (gbStreamMapper.add(streamProxyItem)<0 || streamProxyMapper.add(streamProxyItem) < 0) { - //事务回滚 - dataSourceTransactionManager.rollback(transactionStatus); - } - result = true; - dataSourceTransactionManager.commit(transactionStatus); //手动提交 - }catch (Exception e) { - logger.error("向数据库添加流代理失败:", e); - dataSourceTransactionManager.rollback(transactionStatus); - } - return result; - } - - /** - * 更新代理流 - * @param streamProxyItem - * @return - */ - @Override - public boolean updateStreamProxy(StreamProxyItem streamProxyItem) { - TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); - boolean result = false; - streamProxyItem.setStreamType("proxy"); - try { - if (gbStreamMapper.update(streamProxyItem)<0 || streamProxyMapper.update(streamProxyItem) < 0) { - //事务回滚 - dataSourceTransactionManager.rollback(transactionStatus); - } - dataSourceTransactionManager.commit(transactionStatus); //手动提交 - result = true; - }catch (Exception e) { - e.printStackTrace(); - dataSourceTransactionManager.rollback(transactionStatus); - } - return result; - } - - /** - * 移除代理流 - * @param app - * @param stream - * @return - */ - @Override - public int deleteStreamProxy(String app, String stream) { - return streamProxyMapper.del(app, stream); - } - - /** - * 根据是否启用获取代理流列表 - * @param enable - * @return - */ - @Override - public List getStreamProxyListForEnable(boolean enable) { - return streamProxyMapper.selectForEnable(enable); - } - - /** - * 分页查询代理流列表 - * @param page - * @param count - * @return - */ - @Override - public PageInfo queryStreamProxyList(Integer page, Integer count) { - PageHelper.startPage(page, count); - List all = streamProxyMapper.selectAll(); - return new PageInfo<>(all); - } - - /** - * 根据国标ID获取平台关联的直播流 - * @param platformId - * @param gbId - * @return - */ - @Override - public GbStream queryStreamInParentPlatform(String platformId, String gbId) { - return gbStreamMapper.queryStreamInPlatform(platformId, gbId); - } - - /** - * 获取平台关联的直播流 - * @param platformId - * @return - */ - @Override - public List queryGbStreamListInPlatform(String platformId) { - return gbStreamMapper.queryGbStreamListInPlatform(platformId); - } - - /** - * 按照是app和stream获取代理流 - * @param app - * @param stream - * @return - */ - @Override - public StreamProxyItem queryStreamProxy(String app, String stream){ - return streamProxyMapper.selectOne(app, stream); - } - - @Override - public void updateMediaList(List streamPushItems) { - if (streamPushItems == null || streamPushItems.size() == 0) return; - logger.info("updateMediaList: " + streamPushItems.size()); - streamPushMapper.addAll(streamPushItems); - // TODO 待优化 - for (int i = 0; i < streamPushItems.size(); i++) { - gbStreamMapper.setStatus(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream(), true); - } - } - - @Override - public void updateMedia(StreamPushItem streamPushItem) { - streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream()); - streamPushMapper.add(streamPushItem); - gbStreamMapper.setStatus(streamPushItem.getApp(), streamPushItem.getStream(), true); - } - - @Override - public void removeMedia(String app, String stream) { - streamPushMapper.del(app, stream); - } - - @Override - public void clearMediaList() { - streamPushMapper.clear(); - } - - @Override - public void mediaOutline(String app, String streamId) { - gbStreamMapper.setStatus(app, streamId, false); - } - - @Override - public void updateParentPlatformStatus(String platformGbID, boolean online) { - platformMapper.updateParentPlatformStatus(platformGbID, online); - } - - @Override - public void updateMediaServer(MediaServerItem mediaServerItem) { - String now = this.format.format(System.currentTimeMillis()); - mediaServerItem.setUpdateTime(now); - if (mediaServerMapper.queryOne(mediaServerItem.getId()) != null) { - mediaServerMapper.update(mediaServerItem); - }else { - mediaServerItem.setCreateTime(now); - mediaServerMapper.add(mediaServerItem); - } - } - - @Override - public List getStreamProxyListForEnableInMediaServer(String id, boolean enable) { - return streamProxyMapper.selectForEnableInMediaServer(id, enable); - } - - @Override - public Device queryVideoDeviceByChannelId(String channelId) { - Device result = null; - List channelList = deviceChannelMapper.queryChannelByChannelId(channelId); - if (channelList.size() == 1) { - result = deviceMapper.getDeviceByDeviceId(channelList.get(0).getDeviceId()); - } - return result; - } + private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + + /** + * 根据设备ID判断设备是否存在 + * + * @param deviceId 设备ID + * @return true:存在 false:不存在 + */ + @Override + public boolean exists(String deviceId) { + return deviceMapper.getDeviceByDeviceId(deviceId) != null; + } + + /** + * 视频设备创建 + * + * @param device 设备对象 + * @return true:创建成功 false:创建失败 + */ + @Override + public synchronized boolean create(Device device) { + return deviceMapper.add(device) > 0; + } + + + /** + * 视频设备更新 + * + * @param device 设备对象 + * @return true:更新成功 false:更新失败 + */ + @Override + public synchronized boolean updateDevice(Device device) { + String now = this.format.format(System.currentTimeMillis()); + device.setUpdateTime(now); + Device deviceByDeviceId = deviceMapper.getDeviceByDeviceId(device.getDeviceId()); + if (deviceByDeviceId == null) { + device.setCreateTime(now); + return deviceMapper.add(device) > 0; + } else { + return deviceMapper.update(device) > 0; + } + + } + + @Override + public synchronized void updateChannel(String deviceId, DeviceChannel channel) { + String channelId = channel.getChannelId(); + channel.setDeviceId(deviceId); + channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId())); + String now = this.format.format(System.currentTimeMillis()); + channel.setUpdateTime(now); + DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(deviceId, channelId); + if (deviceChannel == null) { + channel.setCreateTime(now); + deviceChannelMapper.add(channel); + } else { + deviceChannelMapper.update(channel); + } + } + + @Override + public void startPlay(String deviceId, String channelId, String streamId) { + deviceChannelMapper.startPlay(deviceId, channelId, streamId); + } + + @Override + public void stopPlay(String deviceId, String channelId) { + deviceChannelMapper.stopPlay(deviceId, channelId); + } + + /** + * 获取设备 + * + * @param deviceId 设备ID + * @return Device 设备对象 + */ + @Override + public Device queryVideoDevice(String deviceId) { + return deviceMapper.getDeviceByDeviceId(deviceId); + } + + @Override + public Page queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int pageNo, int pageSize) { + PageHelper.startPage(pageNo, pageSize); + List all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, null, query, hasSubChannel, online); + return new Page<>(new PageInfo<>(all)); + } + + @Override + public List queryChannelsByDeviceId(String deviceId) { + return deviceChannelMapper.queryChannelsByDeviceId(deviceId, null, null, null, null); + } + + @Override + public PageInfo querySubChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, String online, int page, int count) { + PageHelper.startPage(page, count); + List all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, parentChannelId, null, null, null); + return new PageInfo<>(all); + } + + @Override + public DeviceChannel queryChannel(String deviceId, String channelId) { + return deviceChannelMapper.queryChannel(deviceId, channelId); + } + + + /** + * 获取多个设备 + * + * @param page 当前页数 + * @param count 每页数量 + * @return PageInfo 分页设备对象数组 + */ + @Override + public Page queryVideoDeviceList(int page, int count, Device device) { + PageHelper.startPage(page, count); + List all = deviceMapper.getDevices(device); + PageInfo pageInfo = new PageInfo<>(all); + return new Page<>(pageInfo); + } + + /** + * 获取多个设备 + * + * @return List 设备对象数组 + */ + @Override + public List queryVideoDeviceList() { + List deviceList = deviceMapper.getDevices(null); + return deviceList; + } + + /** + * 删除设备 + * + * @param deviceId 设备ID + * @return true:删除成功 false:删除失败 + */ + @Override + public boolean delete(String deviceId) { + TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); + boolean result = false; + try { + if (platformChannelMapper.delChannelForDeviceId(deviceId) < 0 // 删除与国标平台的关联 + || deviceChannelMapper.cleanChannelsByDeviceId(deviceId) < 0 // 删除他的通道 + || deviceMapper.del(deviceId) < 0 // 移除设备信息 + ) { + //事务回滚 + dataSourceTransactionManager.rollback(transactionStatus); + } + result = true; + dataSourceTransactionManager.commit(transactionStatus); //手动提交 + } catch (Exception e) { + dataSourceTransactionManager.rollback(transactionStatus); + } + return result; + } + + /** + * 更新设备在线 + * + * @param deviceId 设备ID + * @return true:更新成功 false:更新失败 + */ + @Override + public synchronized boolean online(String deviceId) { + Device device = deviceMapper.getDeviceByDeviceId(deviceId); + if (device == null) { + return false; + } + device.setOnline(1); + logger.info("更新设备在线: " + deviceId); + return deviceMapper.update(device) > 0; + } + + /** + * 更新设备离线 + * + * @param deviceId 设备ID + * @return true:更新成功 false:更新失败 + */ + @Override + public synchronized boolean outline(String deviceId) { + logger.info("更新设备离线: " + deviceId); + Device device = deviceMapper.getDeviceByDeviceId(deviceId); + if (device == null) return false; + device.setOnline(0); + return deviceMapper.update(device) > 0; + } + + /** + * 更新所有设备离线 + * + * @return true:更新成功 false:更新失败 + */ + @Override + public synchronized boolean outlineForAll() { + logger.info("更新所有设备离线"); + int result = deviceMapper.outlineForAll(); + return result > 0; + } + + /** + * 清空通道 + * + * @param deviceId + */ + @Override + public void cleanChannelsForDevice(String deviceId) { + deviceChannelMapper.cleanChannelsByDeviceId(deviceId); + } + + /** + * 添加Mobile Position设备移动位置 + * + * @param mobilePosition + */ + @Override + public synchronized boolean insertMobilePosition(MobilePosition mobilePosition) { + return deviceMobilePositionMapper.insertNewPosition(mobilePosition) > 0; + } + + /** + * 查询移动位置轨迹 + * + * @param deviceId + * @param startTime + * @param endTime + */ + @Override + public synchronized List queryMobilePositions(String deviceId, String startTime, String endTime) { + return deviceMobilePositionMapper.queryPositionByDeviceIdAndTime(deviceId, startTime, endTime); + } + + @Override + public boolean addParentPlatform(ParentPlatform parentPlatform) { + int result = platformMapper.addParentPlatform(parentPlatform); + return result > 0; + } + + @Override + public boolean updateParentPlatform(ParentPlatform parentPlatform) { + int result = 0; + ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId()); // .getDeviceGBId()); + if (parentPlatform.getId() == null) { + result = platformMapper.addParentPlatform(parentPlatform); + if (parentPlatformCatch == null) { + parentPlatformCatch = new ParentPlatformCatch(); + parentPlatformCatch.setParentPlatform(parentPlatform); + parentPlatformCatch.setId(parentPlatform.getServerGBId()); + } + } else { + if (parentPlatformCatch == null) { // serverGBId 已变化 + ParentPlatform parentPlatById = platformMapper.getParentPlatById(parentPlatform.getId()); + // 使用旧的查出缓存ID + parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatById.getServerGBId()); + parentPlatformCatch.setId(parentPlatform.getServerGBId()); + redisCatchStorage.delPlatformCatchInfo(parentPlatById.getServerGBId()); + } + result = platformMapper.updateParentPlatform(parentPlatform); + } + // 更新缓存 + parentPlatformCatch.setParentPlatform(parentPlatform); + redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); + return result > 0; + } + + @Transactional + @Override + public boolean deleteParentPlatform(ParentPlatform parentPlatform) { + int result = platformMapper.delParentPlatform(parentPlatform); + // 删除关联的通道 + platformChannelMapper.cleanChannelForGB(parentPlatform.getServerGBId()); + return result > 0; + } + + @Override + public Page queryParentPlatformList(int page, int count) { + PageHelper.startPage(page, count); + List all = platformMapper.getParentPlatformList(); + Page newPage = new Page<>(new PageInfo<>(all)); + return newPage; + } + + @Override + public ParentPlatform queryParentPlatByServerGBId(String platformGbId) { + return platformMapper.getParentPlatByServerGBId(platformGbId); + } + + @Override + public List queryEnableParentPlatformList(boolean enable) { + return platformMapper.getEnableParentPlatformList(enable); + } + + @Override + public void outlineForAllParentPlatform() { + platformMapper.outlineForAllParentPlatform(); + } + + + @Override + public PageInfo queryAllChannelList(int page, int count, String query, Boolean online, + Boolean channelType, String platformId, Boolean inPlatform) { + PageHelper.startPage(page, count); + List all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, platformId, inPlatform); + return new PageInfo<>(all); + } + + @Override + public List queryChannelListInParentPlatform(String platformId) { + + return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, true); + } + + @Override + public int updateChannelForGB(String platformId, List channelReduces) { + + Map deviceAndChannels = new HashMap<>(); + for (ChannelReduce channelReduce : channelReduces) { + deviceAndChannels.put(channelReduce.getDeviceId() + "_" + channelReduce.getChannelId(), channelReduce); + } + List deviceAndChannelList = new ArrayList<>(deviceAndChannels.keySet()); + // 查询当前已经存在的 + List relatedPlatformchannels = platformChannelMapper.findChannelRelatedPlatform(platformId, deviceAndChannelList); + if (relatedPlatformchannels != null) { + deviceAndChannelList.removeAll(relatedPlatformchannels); + } + for (String relatedPlatformchannel : relatedPlatformchannels) { + deviceAndChannels.remove(relatedPlatformchannel); + } + List channelReducesToAdd = new ArrayList<>(deviceAndChannels.values()); + // 对剩下的数据进行存储 + int result = 0; + if (channelReducesToAdd.size() > 0) { + result = platformChannelMapper.addChannels(platformId, channelReducesToAdd); + } + + return result; + } + + + @Override + public int delChannelForGB(String platformId, List channelReduces) { + + int result = platformChannelMapper.delChannelForGB(platformId, channelReduces); + + return result; + } + + @Override + public DeviceChannel queryChannelInParentPlatform(String platformId, String channelId) { + DeviceChannel channel = platformChannelMapper.queryChannelInParentPlatform(platformId, channelId); + return channel; + } + + @Override + public Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId) { + Device device = platformChannelMapper.queryVideoDeviceByPlatformIdAndChannelId(platformId, channelId); + return device; + } + + /** + * 查询最新移动位置 + * @param deviceId + */ + @Override + public MobilePosition queryLatestPosition(String deviceId) { + return deviceMobilePositionMapper.queryLatestPositionByDevice(deviceId); + } + + /** + * 删除指定设备的所有移动位置 + * + * @param deviceId + */ + public int clearMobilePositionsByDeviceId(String deviceId) { + return deviceMobilePositionMapper.clearMobilePositionsByDeviceId(deviceId); + } + + /** + * 新增代理流 + * + * @param streamProxyItem + * @return + */ + @Override + public boolean addStreamProxy(StreamProxyItem streamProxyItem) { + TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); + boolean result = false; + streamProxyItem.setStreamType("proxy"); + streamProxyItem.setStatus(true); + String now = this.format.format(System.currentTimeMillis()); + streamProxyItem.setCreateTime(now); + try { + if (gbStreamMapper.add(streamProxyItem) < 0 || streamProxyMapper.add(streamProxyItem) < 0) { + //事务回滚 + dataSourceTransactionManager.rollback(transactionStatus); + } + result = true; + dataSourceTransactionManager.commit(transactionStatus); //手动提交 + } catch (Exception e) { + logger.error("向数据库添加流代理失败:", e); + dataSourceTransactionManager.rollback(transactionStatus); + } + return result; + } + + /** + * 更新代理流 + * + * @param streamProxyItem + * @return + */ + @Override + public boolean updateStreamProxy(StreamProxyItem streamProxyItem) { + TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); + boolean result = false; + streamProxyItem.setStreamType("proxy"); + try { + if (gbStreamMapper.update(streamProxyItem) < 0 || streamProxyMapper.update(streamProxyItem) < 0) { + //事务回滚 + dataSourceTransactionManager.rollback(transactionStatus); + } + dataSourceTransactionManager.commit(transactionStatus); //手动提交 + result = true; + } catch (Exception e) { + e.printStackTrace(); + dataSourceTransactionManager.rollback(transactionStatus); + } + return result; + } + + /** + * 移除代理流 + * + * @param app + * @param stream + * @return + */ + @Override + public int deleteStreamProxy(String app, String stream) { + return streamProxyMapper.del(app, stream); + } + + /** + * 根据是否启用获取代理流列表 + * + * @param enable + * @return + */ + @Override + public List getStreamProxyListForEnable(boolean enable) { + return streamProxyMapper.selectForEnable(enable); + } + + /** + * 分页查询代理流列表 + * + * @param page + * @param count + * @return + */ + @Override + public Page queryStreamProxyList(Integer page, Integer count, String query, Boolean enable) { + PageHelper.startPage(page, count); + List all = streamProxyMapper.selectAll(query, enable); + Page newPage = new Page<>(new PageInfo<>(all)); + return newPage; + } + + /** + * 根据国标ID获取平台关联的直播流 + * + * @param platformId + * @param gbId + * @return + */ + @Override + public GbStream queryStreamInParentPlatform(String platformId, String gbId) { + return gbStreamMapper.queryStreamInPlatform(platformId, gbId); + } + + /** + * 获取平台关联的直播流 + * + * @param platformId + * @return + */ + @Override + public List queryGbStreamListInPlatform(String platformId) { + return gbStreamMapper.queryGbStreamListInPlatform(platformId); + } + + /** + * 按照是app和stream获取代理流 + * + * @param app + * @param stream + * @return + */ + @Override + public StreamProxyItem queryStreamProxy(String app, String stream) { + return streamProxyMapper.selectOne(app, stream); + } + + @Override + public void updateMediaList(List streamPushItems) { + if (streamPushItems == null || streamPushItems.size() == 0) return; + logger.info("updateMediaList: " + streamPushItems.size()); + streamPushMapper.addAll(streamPushItems); + // TODO 待优化 + for (int i = 0; i < streamPushItems.size(); i++) { + gbStreamMapper.setStatus(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream(), true); + } + } + + @Override + public void updateMedia(StreamPushItem streamPushItem) { + streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream()); + streamPushMapper.add(streamPushItem); + gbStreamMapper.setStatus(streamPushItem.getApp(), streamPushItem.getStream(), true); + } + + @Override + public void removeMedia(String app, String stream) { + streamPushMapper.del(app, stream); + } + + @Override + public void clearMediaList() { + streamPushMapper.clear(); + } + + @Override + public void mediaOutline(String app, String streamId) { + gbStreamMapper.setStatus(app, streamId, false); + } + + @Override + public void updateParentPlatformStatus(String platformGbID, boolean online) { + platformMapper.updateParentPlatformStatus(platformGbID, online); + } + + @Override + public void updateMediaServer(MediaServerItem mediaServerItem) { + String now = this.format.format(System.currentTimeMillis()); + mediaServerItem.setUpdateTime(now); + if (mediaServerMapper.queryOne(mediaServerItem.getId()) != null) { + mediaServerMapper.update(mediaServerItem); + } else { + mediaServerItem.setCreateTime(now); + mediaServerMapper.add(mediaServerItem); + } + } + + @Override + public List getStreamProxyListForEnableInMediaServer(String id, boolean enable) { + return streamProxyMapper.selectForEnableInMediaServer(id, enable); + } + + @Override + public Device queryVideoDeviceByChannelId(String channelId) { + Device result = null; + List channelList = deviceChannelMapper.queryChannelByChannelId(channelId); + if (channelList.size() == 1) { + result = deviceMapper.getDeviceByDeviceId(channelList.get(0).getDeviceId()); + } + return result; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java deleted file mode 100644 index 60ee987c..00000000 --- a/src/main/java/com/genersoft/iot/vmp/utils/GitUtil.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.genersoft.iot.vmp.utils; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.PropertySource; -import org.springframework.stereotype.Component; - -/** - * 一个优秀的颓废程序猿(CSDN) - */ -@Component -@PropertySource(value = {"classpath:git.properties" }, ignoreResourceNotFound = true) -public class GitUtil { - - @Value("${git.branch:null}") - private String branch; - @Value("${git.commit.id:null}") - private String gitCommitId; - @Value("${git.remote.origin.url:null}") - private String gitUrl; - @Value("${git.build.time:null}") - private String buildDate; - @Value("${git.commit.id.abbrev:null}") - private String commitIdShort; - - public String getGitCommitId() { - return gitCommitId; - } - - public String getBranch() { - return branch; - } - - public String getGitUrl() { - return gitUrl; - } - - public String getBuildDate() { - return buildDate; - } - - public String getCommitIdShort() { - return commitIdShort; - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/utils/JarFileUtils.java b/src/main/java/com/genersoft/iot/vmp/utils/JarFileUtils.java deleted file mode 100644 index 686b562d..00000000 --- a/src/main/java/com/genersoft/iot/vmp/utils/JarFileUtils.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.genersoft.iot.vmp.utils; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; -import org.springframework.util.ClassUtils; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.HashMap; -import java.util.Map; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; - -/** - * 一个优秀的颓废程序猿 - */ -@Component -public class JarFileUtils { - private static Logger log = LoggerFactory.getLogger(JarFileUtils.class); - private static Map map = new HashMap<>(); - - public Map readJarFile() { - JarFile jarFile = null; - BufferedReader br = null; - try { - // 获取jar的运行路径,因linux下jar的路径为”file:/app/.../test.jar!/BOOT-INF/class!/“这种格式,所以需要去掉”file:“和”!/BOOT-INF/class!/“ - String jarFilePath = ClassUtils.getDefaultClassLoader().getResource("").getPath().replace("!/BOOT-INF/classes!/", ""); - if (jarFilePath.startsWith("file")) { - jarFilePath = jarFilePath.substring(5); - } - log.debug("jarFilePath:" + jarFilePath); - // 通过JarFile的getJarEntry方法读取META-INF/MANIFEST.MF - jarFile = new JarFile(jarFilePath); - JarEntry entry = jarFile.getJarEntry("META-INF/MANIFEST.MF"); - log.info("读取的内容:" + entry.toString()); - // 如果读取到MANIFEST.MF文件内容,则转换为string - if (entry != null) { - InputStream in = jarFile.getInputStream(entry); - - StringBuilder sb = new StringBuilder(); - br = new BufferedReader(new InputStreamReader(in)); - String line = ""; - while ((line = br.readLine()) != null) { - if (line != null && line.contains(":")) { - int index = line.indexOf(":"); - map.put(line.substring(0, index).trim(), line.substring(index + 1, line.length()).trim()); - } - } - return map; - } - } catch (IOException e) { - log.debug("读取MANIFEST.MF文件异常:" + e.getMessage()); - } finally { - try { - if (null != br) { - br.close(); - } - if (null != jarFile) { - jarFile.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - return map; - - } - -} diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java index 860f6a38..2bcb4372 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java @@ -5,6 +5,7 @@ import java.util.UUID; import javax.sip.message.Response; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.MobilePosition; import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; @@ -64,12 +65,12 @@ public class MobilePositionController { @ApiImplicitParam(name = "end", value = "结束时间", required = true, dataTypeClass = String.class), }) @GetMapping("/history/{deviceId}") - public ResponseEntity> positions(@PathVariable String deviceId, - @RequestParam(required = false) String start, - @RequestParam(required = false) String end) { -// if (logger.isDebugEnabled()) { -// logger.debug("查询设备" + deviceId + "的历史轨迹"); -// } + public ResponseData positions(@PathVariable String deviceId, + @RequestParam(required = false) String start, + @RequestParam(required = false) String end) { + if (logger.isDebugEnabled()) { + logger.debug("查询设备" + deviceId + "的历史轨迹"); + } if (StringUtil.isEmpty(start)) { start = null; @@ -79,7 +80,7 @@ public class MobilePositionController { } List result = storager.queryMobilePositions(deviceId, start, end); - return new ResponseEntity<>(result, HttpStatus.OK); + return ResponseData.success(result); } /** @@ -92,12 +93,12 @@ public class MobilePositionController { @ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class), }) @GetMapping("/latest/{deviceId}") - public ResponseEntity latestPosition(@PathVariable String deviceId) { -// if (logger.isDebugEnabled()) { -// logger.debug("查询设备" + deviceId + "的最新位置"); -// } + public ResponseData latestPosition(@PathVariable String deviceId) { + if (logger.isDebugEnabled()) { + logger.debug("查询设备" + deviceId + "的最新位置"); + } MobilePosition result = storager.queryLatestPosition(deviceId); - return new ResponseEntity<>(result, HttpStatus.OK); + return ResponseData.success(result); } /** @@ -149,7 +150,7 @@ public class MobilePositionController { @ApiImplicitParam(name = "interval", value = "上报时间间隔", dataTypeClass = String.class), }) @GetMapping("/subscribe/{deviceId}") - public ResponseEntity positionSubscribe(@PathVariable String deviceId, + public ResponseData positionSubscribe(@PathVariable String deviceId, @RequestParam String expires, @RequestParam String interval) { String msg = ((expires.equals("0")) ? "取消" : "") + "订阅设备" + deviceId + "的移动位置"; @@ -165,10 +166,10 @@ public class MobilePositionController { String result = msg; if (cmder.mobilePositionSubscribe(device, Integer.parseInt(expires), Integer.parseInt(interval))) { result += ",成功"; + return ResponseData.success(result); } else { result += ",失败"; + return ResponseData.error(result); } - - return new ResponseEntity<>(result, HttpStatus.OK); } } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java index 434bbd49..e02aee6e 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java @@ -1,15 +1,15 @@ package com.genersoft.iot.vmp.vmanager.gb28181.alarm; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; import com.genersoft.iot.vmp.service.IDeviceAlarmService; -import com.genersoft.iot.vmp.service.IGbStreamService; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; -import java.util.Date; import java.util.List; @Api(tags = "报警信息管理") @@ -34,80 +33,76 @@ public class AlarmController { private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /** - * 分页查询报警 + * 分页查询报警 * - * @param deviceId 设备id - * @param page 当前页 - * @param count 每页查询数量 - * @param alarmPriority 报警级别 - * @param alarmMethod 报警方式 - * @param alarmType 报警类型 - * @param startTime 开始时间 - * @param endTime 结束时间 + * @param pageNo 当前页 + * @param pageSize 每页查询数量 + * @param deviceId 设备id + * @param alarmPriority 报警级别 + * @param alarmMethod 报警方式 + * @param alarmType 报警类型 + * @param startTime 开始时间 + * @param endTime 结束时间 * @return */ @ApiOperation("分页查询报警") @GetMapping("/all") @ApiImplicitParams({ - @ApiImplicitParam(name="deviceId", value = "设备id", dataTypeClass = String.class), - @ApiImplicitParam(name="page", value = "当前页", required = true ,dataTypeClass = Integer.class), - @ApiImplicitParam(name="count", value = "每页查询数量", required = true ,dataTypeClass = Integer.class), - @ApiImplicitParam(name="alarmPriority", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="alarmMethod", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="alarmMethod", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="alarmType", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="startTime", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="endTime", value = "查询内容" ,dataTypeClass = String.class), + @ApiImplicitParam(name = "deviceId", value = "设备id", dataTypeClass = String.class), + @ApiImplicitParam(name = "pageNo", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页查询数量", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "alarmPriority", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "alarmMethod", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "alarmMethod", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "alarmType", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "startTime", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "endTime", value = "查询内容", dataTypeClass = String.class), }) - public ResponseEntity> getAll( - @RequestParam int page, - @RequestParam int count, - @RequestParam(required = false) String deviceId, - @RequestParam(required = false) String alarmPriority, - @RequestParam(required = false) String alarmMethod, - @RequestParam(required = false) String alarmType, - @RequestParam(required = false) String startTime, - @RequestParam(required = false) String endTime - ) { + public ResponseData getAll(@RequestParam int pageNo, + @RequestParam int pageSize, + @RequestParam(required = false) String deviceId, + @RequestParam(required = false) String alarmPriority, + @RequestParam(required = false) String alarmMethod, + @RequestParam(required = false) String alarmType, + @RequestParam(required = false) String startTime, + @RequestParam(required = false) String endTime) { if (StringUtils.isEmpty(alarmPriority)) alarmPriority = null; if (StringUtils.isEmpty(alarmMethod)) alarmMethod = null; if (StringUtils.isEmpty(alarmType)) alarmType = null; if (StringUtils.isEmpty(startTime)) startTime = null; if (StringUtils.isEmpty(endTime)) endTime = null; - - try { - if (startTime != null) format.parse(startTime); - if (endTime != null) format.parse(endTime); + if (startTime != null) format.parse(startTime); + if (endTime != null) format.parse(endTime); } catch (ParseException e) { - return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST); + return ResponseData.error("时间转换错误"); } - - PageInfo allAlarm = deviceAlarmService.getAllAlarm(page, count, deviceId, alarmPriority, alarmMethod, - alarmType, startTime, endTime); - return new ResponseEntity<>(allAlarm, HttpStatus.OK); + PageInfo allAlarm = deviceAlarmService.getAllAlarm(pageNo, pageSize, + deviceId, alarmPriority, alarmMethod, alarmType, startTime, endTime); + Page page = new Page<>(allAlarm); + return ResponseData.success(page); } /** - * 删除报警 + * 删除报警 * - * @param id 报警id + * @param id 报警id * @param deviceIds 多个设备id,逗号分隔 - * @param time 结束时间(这个时间之前的报警会被删除) + * @param time 结束时间(这个时间之前的报警会被删除) * @return */ @ApiOperation("删除报警") @DeleteMapping("/delete") @ApiImplicitParams({ - @ApiImplicitParam(name="id", value = "ID", required = false ,dataTypeClass = Integer.class), - @ApiImplicitParam(name="deviceIds", value = "多个设备id,逗号分隔", required = false ,dataTypeClass = String.class), - @ApiImplicitParam(name="time", value = "结束时间", required = false ,dataTypeClass = String.class), + @ApiImplicitParam(name = "id", value = "ID", required = false, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "deviceIds", value = "多个设备id,逗号分隔", required = false, dataTypeClass = String.class), + @ApiImplicitParam(name = "time", value = "结束时间", required = false, dataTypeClass = String.class), }) public ResponseEntity> delete( - @RequestParam(required = false) Integer id, - @RequestParam(required = false) String deviceIds, - @RequestParam(required = false) String time + @RequestParam(required = false) Integer id, + @RequestParam(required = false) String deviceIds, + @RequestParam(required = false) String time ) { if (StringUtils.isEmpty(id)) id = null; if (StringUtils.isEmpty(deviceIds)) deviceIds = null; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java index 729eca28..c3e4f285 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java @@ -1,6 +1,8 @@ package com.genersoft.iot.vmp.vmanager.gb28181.device; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector; @@ -10,7 +12,6 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; import com.genersoft.iot.vmp.service.IDeviceService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; -import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -33,104 +34,115 @@ import java.util.UUID; @RestController @RequestMapping("/api/device/query") public class DeviceQuery { - - private final static Logger logger = LoggerFactory.getLogger(DeviceQuery.class); - - @Autowired - private IVideoManagerStorager storager; - @Autowired - private IRedisCatchStorage redisCatchStorage; - - @Autowired - private SIPCommander cmder; - - @Autowired - private DeferredResultHolder resultHolder; - - @Autowired - private DeviceOffLineDetector offLineDetector; + private final static Logger logger = LoggerFactory.getLogger(DeviceQuery.class); - @Autowired - private IDeviceService deviceService; + @Autowired + private IVideoManagerStorager storager; - /** - * 使用ID查询国标设备 - * @param deviceId 国标ID - * @return 国标设备 - */ - @ApiOperation("使用ID查询国标设备") - @ApiImplicitParams({ + @Autowired + private IRedisCatchStorage redisCatchStorage; + + @Autowired + private SIPCommander cmder; + + @Autowired + private DeferredResultHolder resultHolder; + + @Autowired + private DeviceOffLineDetector offLineDetector; + + @Autowired + private IDeviceService deviceService; + + /** + * 使用ID查询国标设备 + * @param deviceId 国标ID + * @return 国标设备 + */ + @ApiOperation("使用ID查询国标设备") + @ApiImplicitParams({ @ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class), - }) - @GetMapping("/devices/{deviceId}") - public ResponseEntity devices(@PathVariable String deviceId){ - -// if (logger.isDebugEnabled()) { -// logger.debug("查询视频设备API调用,deviceId:" + deviceId); -// } - - Device device = storager.queryVideoDevice(deviceId); - return new ResponseEntity<>(device,HttpStatus.OK); - } + }) + @GetMapping("/devices/{deviceId}") + public ResponseEntity devices(@PathVariable String deviceId) { - /** - * 分页查询国标设备 - * @param page 当前页 - * @param count 每页查询数量 - * @return 分页国标列表 - */ - @ApiOperation("分页查询国标设备") - @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "当前页", required = true, dataTypeClass = Integer.class), - @ApiImplicitParam(name = "count", value = "每页查询数量", required = true, dataTypeClass = Integer.class), - }) - @GetMapping("/devices") - public PageInfo devices(int page, int count){ - -// if (logger.isDebugEnabled()) { -// logger.debug("查询所有视频设备API调用"); -// } - - return storager.queryVideoDeviceList(page, count); - } + if (logger.isDebugEnabled()) { + logger.debug("查询视频设备API调用,deviceId:" + deviceId); + } - /** - * 分页查询通道数 - * - * @param deviceId 设备id - * @param page 当前页 - * @param count 每页条数 - * @param query 查询内容 - * @param online 是否在线 在线 true / 离线 false - * @param channelType 设备 false/子目录 true - * @return 通道列表 - */ - @ApiOperation("分页查询通道") - @GetMapping("/devices/{deviceId}/channels") - @ApiImplicitParams({ - @ApiImplicitParam(name="deviceId", value = "设备id", required = true ,dataTypeClass = String.class), - @ApiImplicitParam(name="page", value = "当前页", required = true ,dataTypeClass = Integer.class), - @ApiImplicitParam(name="count", value = "每页查询数量", required = true ,dataTypeClass = Integer.class), - @ApiImplicitParam(name="query", value = "查询内容" ,dataTypeClass = String.class), - @ApiImplicitParam(name="online", value = "是否在线" ,dataTypeClass = Boolean.class), - @ApiImplicitParam(name="channelType", value = "设备/子目录-> false/true" ,dataTypeClass = Boolean.class), - }) - public ResponseEntity channels(@PathVariable String deviceId, - int page, int count, - @RequestParam(required = false) String query, - @RequestParam(required = false) Boolean online, - @RequestParam(required = false) Boolean channelType) { -// if (logger.isDebugEnabled()) { -// logger.debug("查询视频设备通道API调用"); -// } - if (StringUtils.isEmpty(query)) { - query = null; - } + Device device = storager.queryVideoDevice(deviceId); + return new ResponseEntity<>(device, HttpStatus.OK); + } - PageInfo pageResult = storager.queryChannelsByDeviceId(deviceId, query, channelType, online, page, count); - return new ResponseEntity<>(pageResult,HttpStatus.OK); - } + /** + * 分页查询国标设备 + * + * @param pageNo 当前页 + * @param pageSize 每页查询数量 + * @return 分页国标列表 + */ + @ApiOperation("分页查询国标设备") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页查询数量", required = true, dataTypeClass = Integer.class), + }) + @GetMapping("/devices") + public ResponseData devices(@RequestParam int pageNo, + @RequestParam int pageSize, + String name, + String online, + String manufacturer, + String model) { + if (logger.isDebugEnabled()) { + logger.debug("分页查询国标设备"); + } + Device device = new Device(); + if (!StringUtils.isEmpty(name)) device.setName(name); + if (!StringUtils.isEmpty(online)) device.setOnline(Integer.parseInt(online)); + if (!StringUtils.isEmpty(manufacturer)) device.setManufacturer(manufacturer); + if (!StringUtils.isEmpty(model)) device.setModel(model); + Page page = storager.queryVideoDeviceList(pageNo, pageSize, device); + return ResponseData.success(page); + } + + /** + * 分页查询通道数 + * + * @param deviceId 设备id + * @param pageNo 当前页 + * @param pageSize 每页条数 + * @param query 查询内容 + * @param online 是否在线 在线 true / 离线 false + * @param channelType 设备 false/子目录 true + * @return 通道列表 + */ + @ApiOperation("分页查询通道") + @GetMapping("/devices/channels") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "pageNo", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页查询数量", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "query", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "online", value = "是否在线", dataTypeClass = Boolean.class), + @ApiImplicitParam(name = "channelType", value = "设备/子目录-> false/true", dataTypeClass = Boolean.class), + }) + public ResponseData channels( + @RequestParam String deviceId, + @RequestParam int pageNo, + @RequestParam int pageSize, + @RequestParam(required = false) String query, + @RequestParam(required = false) Boolean online, + @RequestParam(required = false) Boolean channelType) { + if (logger.isDebugEnabled()) { + logger.debug("分页查询通道"); + } + if (StringUtils.isEmpty(query)) { + query = null; + } + Page page = storager.queryChannelsByDeviceId(deviceId, query, channelType, online, pageNo, pageSize); + return ResponseData.success(page); + } /** * 同步设备通道 @@ -174,139 +186,142 @@ public class DeviceQuery { resultHolder.put(key, uuid, result); return result; - } + } - /** - * 移除设备 - * @param deviceId 设备id - * @return - */ - @ApiOperation("移除设备") - @ApiImplicitParams({ - @ApiImplicitParam(name="deviceId", value = "设备id", required = true, dataTypeClass = String.class), - }) - @DeleteMapping("/devices/{deviceId}/delete") - public ResponseEntity delete(@PathVariable String deviceId){ - - if (logger.isDebugEnabled()) { - logger.debug("设备信息删除API调用,deviceId:" + deviceId); - } - - if (offLineDetector.isOnline(deviceId)) { - return new ResponseEntity("不允许删除在线设备!", HttpStatus.NOT_ACCEPTABLE); - } - // 清除redis记录 - boolean isSuccess = storager.delete(deviceId); - if (isSuccess) { - redisCatchStorage.clearCatchByDeviceId(deviceId); - JSONObject json = new JSONObject(); - json.put("deviceId", deviceId); - return new ResponseEntity<>(json.toString(),HttpStatus.OK); - } else { - logger.warn("设备信息删除API调用失败!"); - return new ResponseEntity("设备信息删除API调用失败!", HttpStatus.INTERNAL_SERVER_ERROR); - } - } + /** + * 移除设备 + * + * @param deviceId 设备id + * @return + */ + @ApiOperation("移除设备") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), + }) + @DeleteMapping("/devices/{deviceId}/delete") + public ResponseEntity delete(@PathVariable String deviceId) { - /** - * 分页查询子目录通道 - * @param deviceId 通道id - * @param channelId 通道id - * @param page 当前页 - * @param count 每页条数 - * @param query 查询内容 - * @param online 是否在线 - * @param channelType 通道类型 - * @return 子通道列表 - */ - @ApiOperation("分页查询子目录通道") - @ApiImplicitParams({ - @ApiImplicitParam(name="deviceId", value = "设备id", required = true, dataTypeClass = String.class), - @ApiImplicitParam(name="channelId", value = "通道id", required = true, dataTypeClass = String.class), - @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class), - @ApiImplicitParam(name="count", value = "每页条数", required = true, dataTypeClass = Integer.class), - @ApiImplicitParam(name="query", value = "查询内容", dataTypeClass = String.class), - @ApiImplicitParam(name="online", value = "是否在线", dataTypeClass = String.class), - @ApiImplicitParam(name="channelType", value = "通道类型, 子目录", dataTypeClass = Boolean.class), - }) - @GetMapping("/sub_channels/{deviceId}/{channelId}/channels") - public ResponseEntity subChannels(@PathVariable String deviceId, - @PathVariable String channelId, - int page, - int count, - @RequestParam(required = false) String query, - @RequestParam(required = false) String online, - @RequestParam(required = false) Boolean channelType){ + if (logger.isDebugEnabled()) { + logger.debug("设备信息删除API调用,deviceId:" + deviceId); + } -// if (logger.isDebugEnabled()) { -// logger.debug("查询所有视频通道API调用"); -// } - DeviceChannel deviceChannel = storager.queryChannel(deviceId,channelId); - if (deviceChannel == null) { - PageInfo deviceChannelPageResult = new PageInfo<>(); - return new ResponseEntity<>(deviceChannelPageResult,HttpStatus.OK); - } + if (offLineDetector.isOnline(deviceId)) { + return new ResponseEntity("不允许删除在线设备!", HttpStatus.NOT_ACCEPTABLE); + } + // 清除redis记录 + boolean isSuccess = storager.delete(deviceId); + if (isSuccess) { + redisCatchStorage.clearCatchByDeviceId(deviceId); + JSONObject json = new JSONObject(); + json.put("deviceId", deviceId); + return new ResponseEntity<>(json.toString(), HttpStatus.OK); + } else { + logger.warn("设备信息删除API调用失败!"); + return new ResponseEntity("设备信息删除API调用失败!", HttpStatus.INTERNAL_SERVER_ERROR); + } + } - PageInfo pageResult = storager.querySubChannels(deviceId, channelId, query, channelType, online, page, count); - return new ResponseEntity<>(pageResult,HttpStatus.OK); - } + /** + * 分页查询子目录通道 + * + * @param deviceId 通道id + * @param channelId 通道id + * @param page 当前页 + * @param count 每页条数 + * @param query 查询内容 + * @param online 是否在线 + * @param channelType 通道类型 + * @return 子通道列表 + */ + @ApiOperation("分页查询子目录通道") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "channelId", value = "通道id", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "page", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "count", value = "每页条数", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "query", value = "查询内容", dataTypeClass = String.class), + @ApiImplicitParam(name = "online", value = "是否在线", dataTypeClass = String.class), + @ApiImplicitParam(name = "channelType", value = "通道类型, 子目录", dataTypeClass = Boolean.class), + }) + @GetMapping("/sub_channels/{deviceId}/{channelId}/channels") + public ResponseEntity subChannels(@PathVariable String deviceId, + @PathVariable String channelId, + int page, + int count, + @RequestParam(required = false) String query, + @RequestParam(required = false) String online, + @RequestParam(required = false) Boolean channelType) { - /** - * 更新通道信息 - * @param deviceId 设备id - * @param channel 通道 - * @return - */ - @ApiOperation("更新通道信息") - @ApiImplicitParams({ - @ApiImplicitParam(name="deviceId", value = "设备id", required = true, dataTypeClass = String.class), - @ApiImplicitParam(name="channel", value = "通道", required = true, dataTypeClass = String.class), - }) - @PostMapping("/channel/update/{deviceId}") - public ResponseEntity updateChannel(@PathVariable String deviceId,DeviceChannel channel){ - storager.updateChannel(deviceId, channel); - return new ResponseEntity<>(null,HttpStatus.OK); - } + if (logger.isDebugEnabled()) { + logger.debug("查询所有视频通道API调用"); + } + DeviceChannel deviceChannel = storager.queryChannel(deviceId, channelId); + if (deviceChannel == null) { + PageInfo deviceChannelPageResult = new PageInfo<>(); + return new ResponseEntity<>(deviceChannelPageResult, HttpStatus.OK); + } - /** - * 修改数据流传输模式 - * @param deviceId 设备id - * @param streamMode 数据流传输模式 - * @return - */ - @ApiOperation("修改数据流传输模式") - @ApiImplicitParams({ - @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), - @ApiImplicitParam(name = "streamMode", value = "数据流传输模式, 取值:" + - "UDP(udp传输),TCP-ACTIVE(tcp主动模式,暂不支持),TCP-PASSIVE(tcp被动模式)", dataTypeClass = String.class), - }) - @PostMapping("/transport/{deviceId}/{streamMode}") - public ResponseEntity updateTransport(@PathVariable String deviceId, @PathVariable String streamMode){ - Device device = storager.queryVideoDevice(deviceId); - device.setStreamMode(streamMode); - storager.updateDevice(device); - return new ResponseEntity<>(null,HttpStatus.OK); - } + PageInfo pageResult = storager.querySubChannels(deviceId, channelId, query, channelType, online, page, count); + return new ResponseEntity<>(pageResult, HttpStatus.OK); + } - /** - * 更新设备信息 - * @param device 设备信息 - * @return - */ - @ApiOperation("更新设备信息") - @ApiImplicitParams({ - @ApiImplicitParam(name = "device", value = "设备信息", required = true, dataTypeClass = Device.class) - }) - @PostMapping("/device/update/") - public ResponseEntity> updateDevice(Device device){ + /** + * 更新通道信息 + * + * @param deviceId 设备id + * @param channel 通道 + * @return + */ + @ApiOperation("更新通道信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "channel", value = "通道", required = true, dataTypeClass = String.class), + }) + @PostMapping("/channel/update/{deviceId}") + public ResponseData updateChannel(@PathVariable String deviceId, @RequestBody DeviceChannel channel) { + storager.updateChannel(deviceId, channel); + return ResponseData.success(); + } - if (device != null && device.getDeviceId() != null) { - Device deviceInStore = storager.queryVideoDevice(device.getDeviceId()); - if (!StringUtils.isEmpty(device.getName())) deviceInStore.setName(device.getName()); - if (!StringUtils.isEmpty(device.getCharset())) deviceInStore.setCharset(device.getCharset()); - if (!StringUtils.isEmpty(device.getMediaServerId())) deviceInStore.setMediaServerId(device.getMediaServerId()); + /** + * 修改数据流传输模式 + * + * @param deviceId 设备id + * @param streamMode 数据流传输模式 + * @return + */ + @ApiOperation("修改数据流传输模式") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "streamMode", value = "数据流传输模式, 取值:" + + "UDP(udp传输),TCP-ACTIVE(tcp主动模式,暂不支持),TCP-PASSIVE(tcp被动模式)", dataTypeClass = String.class), + }) + @PostMapping("/transport/{deviceId}/{streamMode}") + public ResponseEntity updateTransport(@PathVariable String deviceId, @PathVariable String streamMode) { + Device device = storager.queryVideoDevice(deviceId); + device.setStreamMode(streamMode); + storager.updateDevice(device); + return new ResponseEntity<>(null, HttpStatus.OK); + } - if (deviceInStore.getSubscribeCycleForCatalog() <=0 && device.getSubscribeCycleForCatalog() > 0) { + /** + * 更新设备信息 + * + * @param device 设备信息 + * @return + */ + @ApiOperation("更新设备信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "device", value = "设备信息", required = true, dataTypeClass = Device.class) + }) + @PostMapping("/device/update/") + public ResponseData updateDevice(@RequestBody Device device) { + if (device != null && device.getDeviceId() != null) { + Device deviceInStore = storager.queryVideoDevice(device.getDeviceId()); + if (!StringUtils.isEmpty(device.getName())) deviceInStore.setName(device.getName()); + if (!StringUtils.isEmpty(device.getCharset())) deviceInStore.setCharset(device.getCharset()); + if (!StringUtils.isEmpty(device.getMediaServerId())) deviceInStore.setMediaServerId(device.getMediaServerId()); + if (deviceInStore.getSubscribeCycleForCatalog() <=0 && device.getSubscribeCycleForCatalog() > 0) { deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); // 开启订阅 deviceService.addCatalogSubscribe(deviceInStore); @@ -316,15 +331,11 @@ public class DeviceQuery { // 取消订阅 deviceService.removeCatalogSubscribe(deviceInStore); } - storager.updateDevice(deviceInStore); - cmder.deviceInfoQuery(deviceInStore); - } - WVPResult result = new WVPResult<>(); - result.setCode(0); - result.setMsg("success"); - return new ResponseEntity<>(result,HttpStatus.OK); - } + cmder.deviceInfoQuery(deviceInStore); + } + return ResponseData.success(); + } /** * 设备状态查询请求API接口 @@ -387,8 +398,8 @@ public class DeviceQuery { }) @GetMapping("/alarm/{deviceId}") public DeferredResult> alarmApi(@PathVariable String deviceId, - @RequestParam(required = false) String startPriority, - @RequestParam(required = false) String endPriority, + @RequestParam(required = false) String startPriority, + @RequestParam(required = false) String endPriority, @RequestParam(required = false) String alarmMethod, @RequestParam(required = false) String alarmType, @RequestParam(required = false) String startTime, diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java index fcfc8471..e15abe3a 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java @@ -1,5 +1,7 @@ package com.genersoft.iot.vmp.vmanager.gb28181.gbStream; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.GbStream; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; import com.genersoft.iot.vmp.vmanager.gb28181.gbStream.bean.GbStreamParam; @@ -31,26 +33,31 @@ public class GbStreamController { /** * 查询国标通道 - * @param page 当前页 - * @param count 每页条数 + * + * @param pageNo 当前页 + * @param pageSize 每页条数 * @return */ @ApiOperation("查询国标通道") @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "当前页", required = true , dataTypeClass = Integer.class), - @ApiImplicitParam(name = "count", value = "每页条数", required = true , dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageNo", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, dataTypeClass = Integer.class), }) @GetMapping(value = "/list") @ResponseBody - public PageInfo list(@RequestParam(required = false)Integer page, - @RequestParam(required = false)Integer count){ + public ResponseData list(@RequestParam(required = false) Integer pageNo, + @RequestParam(required = false) Integer pageSize, + @RequestParam(required = false) String query) { - return gbStreamService.getAll(page, count); + PageInfo pageInfo = gbStreamService.getAll(pageNo, pageSize, query); + Page newPage = new Page<>(pageInfo); + return ResponseData.success(newPage); } /** * 移除国标关联 + * * @param gbStreamParam * @return */ @@ -61,10 +68,10 @@ public class GbStreamController { }) @DeleteMapping(value = "/del") @ResponseBody - public Object del(@RequestBody GbStreamParam gbStreamParam){ + public Object del(@RequestBody GbStreamParam gbStreamParam) { if (gbStreamService.delPlatformInfo(gbStreamParam.getGbStreams())) { return "success"; - }else { + } else { return "fail"; } @@ -72,6 +79,7 @@ public class GbStreamController { /** * 保存国标关联 + * * @param gbStreamParam * @return */ @@ -81,10 +89,10 @@ public class GbStreamController { }) @PostMapping(value = "/add") @ResponseBody - public Object add(@RequestBody GbStreamParam gbStreamParam){ + public Object add(@RequestBody GbStreamParam gbStreamParam) { if (gbStreamService.addPlatformInfo(gbStreamParam.getGbStreams(), gbStreamParam.getPlatformId())) { return "success"; - }else { + } else { return "fail"; } } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java index 5af08375..e58d7fab 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java @@ -1,6 +1,8 @@ package com.genersoft.iot.vmp.vmanager.gb28181.platform; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; @@ -61,22 +63,23 @@ public class PlatformController { /** * 分页查询级联平台 - * @param page 当前页 - * @param count 每页条数 + * @param pageNo 当前页 + * @param pageSize 每页条数 * @return */ @ApiOperation("分页查询级联平台") - @GetMapping("/query/{count}/{page}") + @GetMapping("/query/{pageSize}/{pageNo}") @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "当前页", dataTypeClass = Integer.class), - @ApiImplicitParam(name = "count", value = "每页条数", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageNo", value = "当前页", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataTypeClass = Integer.class), }) - public PageInfo platforms(@PathVariable int page, @PathVariable int count){ + public ResponseData platforms(@PathVariable int pageNo, @PathVariable int pageSize){ -// if (logger.isDebugEnabled()) { -// logger.debug("查询所有上级设备API调用"); -// } - return storager.queryParentPlatformList(page, count); + if (logger.isDebugEnabled()) { + logger.debug("查询所有上级设备API调用"); + } + Page parentPlatformPage = storager.queryParentPlatformList(pageNo, pageSize); + return ResponseData.success(parentPlatformPage); } /** @@ -187,9 +190,9 @@ public class PlatformController { @ResponseBody public ResponseEntity exitPlatform(@PathVariable String serverGBId){ -// if (logger.isDebugEnabled()) { -// logger.debug("查询上级平台是否存在API调用:" + serverGBId); -// } + if (logger.isDebugEnabled()) { + logger.debug("查询上级平台是否存在API调用:" + serverGBId); + } ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(serverGBId); return new ResponseEntity<>(String.valueOf(parentPlatform != null), HttpStatus.OK); } @@ -207,8 +210,8 @@ public class PlatformController { */ @ApiOperation("分页查询级联平台的所有所有通道") @ApiImplicitParams({ - @ApiImplicitParam(name = "page", value = "当前页", dataTypeClass = Integer.class), - @ApiImplicitParam(name = "count", value = "每页条数", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageNo", value = "当前页", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataTypeClass = Integer.class), @ApiImplicitParam(name = "platformId", value = "上级平台ID", dataTypeClass = String.class), @ApiImplicitParam(name = "query", value = "查询内容", dataTypeClass = String.class), @ApiImplicitParam(name = "online", value = "是否在线", dataTypeClass = Boolean.class), @@ -217,24 +220,24 @@ public class PlatformController { }) @GetMapping("/channel_list") @ResponseBody - public PageInfo channelList(int page, int count, + public ResponseData channelList(int pageNo, int pageSize, @RequestParam(required = false) String platformId, @RequestParam(required = false) String query, @RequestParam(required = false) Boolean online, @RequestParam(required = false) Boolean choosed, @RequestParam(required = false) Boolean channelType){ -// if (logger.isDebugEnabled()) { -// logger.debug("查询所有所有通道API调用"); -// } + if (logger.isDebugEnabled()) { + logger.debug("查询所有所有通道API调用"); + } PageInfo channelReduces = null; if (platformId != null ) { - channelReduces = storager.queryAllChannelList(page, count, query, online, channelType, platformId, choosed); + channelReduces = storager.queryAllChannelList(pageNo, pageSize, query, online, channelType, platformId, choosed); }else { - channelReduces = storager.queryAllChannelList(page, count, query, online, channelType, null, false); + channelReduces = storager.queryAllChannelList(pageNo, pageSize, query, online, channelType, null, false); } - - return channelReduces; + Page newPage = new Page<>(channelReduces); + return ResponseData.success(newPage); } /** diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platformGbStream/PlatformGbStreamController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platformGbStream/PlatformGbStreamController.java index 0eeea8b8..28e686d0 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platformGbStream/PlatformGbStreamController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platformGbStream/PlatformGbStreamController.java @@ -34,10 +34,11 @@ public class PlatformGbStreamController { }) @GetMapping(value = "/list") @ResponseBody - public PageInfo list(@RequestParam(required = false)Integer page, - @RequestParam(required = false)Integer count){ + public PageInfo list(@RequestParam(required = false) Integer page, + @RequestParam(required = false) Integer count, + @RequestParam(required = false) String query) { - return gbStreamService.getAll(page, count); + return gbStreamService.getAll(page, count, query); } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java index c22a5584..35a70a71 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java @@ -24,12 +24,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; @@ -81,15 +76,13 @@ public class PlayController { @ApiImplicitParam(name = "deviceId", value = "设备ID", dataTypeClass = String.class), @ApiImplicitParam(name = "channelId", value = "通道ID", dataTypeClass = String.class), }) - @GetMapping("/start/{deviceId}/{channelId}") - public DeferredResult> play(@PathVariable String deviceId, - @PathVariable String channelId) { - - // 获取可用的zlm - Device device = storager.queryVideoDevice(deviceId); + @GetMapping("/start") + public DeferredResult> play( + @RequestParam String deviceId, + @RequestParam String channelId) { + Device device = storager.queryVideoDevice(deviceId);// 获取可用的zlm MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null); - return playResult.getResult(); } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java index 68acde33..c45a490c 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.vmanager.gb28181.ptz; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -60,7 +61,7 @@ public class PtzController { @ApiImplicitParam(name = "zoomSpeed", value = "缩放速度", dataTypeClass = Integer.class), }) @PostMapping("/control/{deviceId}/{channelId}") - public ResponseEntity ptz(@PathVariable String deviceId,@PathVariable String channelId, String command, int horizonSpeed, int verticalSpeed, int zoomSpeed){ + public ResponseData ptz(@PathVariable String deviceId,@PathVariable String channelId, String command, int horizonSpeed, int verticalSpeed, int zoomSpeed){ if (logger.isDebugEnabled()) { logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,command:%s ,horizonSpeed:%d ,verticalSpeed:%d ,zoomSpeed:%d",deviceId, channelId, command, horizonSpeed, verticalSpeed, zoomSpeed)); @@ -105,7 +106,7 @@ public class PtzController { break; } cmder.frontEndCmd(device, channelId, cmdCode, horizonSpeed, verticalSpeed, zoomSpeed); - return new ResponseEntity("success",HttpStatus.OK); + return ResponseData.success("success"); } @ApiOperation("通用前端控制命令") @@ -118,7 +119,7 @@ public class PtzController { @ApiImplicitParam(name = "combindCode2", value = "组合码二", dataTypeClass = Integer.class), }) @PostMapping("/front_end_command/{deviceId}/{channelId}") - public ResponseEntity frontEndCommand(@PathVariable String deviceId,@PathVariable String channelId,int cmdCode, int parameter1, int parameter2, int combindCode2){ + public ResponseData frontEndCommand(@PathVariable String deviceId, @PathVariable String channelId, int cmdCode, int parameter1, int parameter2, int combindCode2){ if (logger.isDebugEnabled()) { logger.debug(String.format("设备云台控制 API调用,deviceId:%s ,channelId:%s ,cmdCode:%d parameter1:%d parameter2:%d",deviceId, channelId, cmdCode, parameter1, parameter2)); @@ -126,7 +127,7 @@ public class PtzController { Device device = storager.queryVideoDevice(deviceId); cmder.frontEndCmd(device, channelId, cmdCode, parameter1, parameter2, combindCode2); - return new ResponseEntity("success",HttpStatus.OK); + return ResponseData.success(); } @ApiOperation("预置位查询") diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java index 844c9b70..4ffbfd13 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java @@ -1,51 +1,23 @@ -//package com.genersoft.iot.vmp.vmanager.record; -// -//import com.alibaba.fastjson.JSONObject; -//import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; -//import com.genersoft.iot.vmp.service.IRecordInfoServer; -//import com.genersoft.iot.vmp.storager.dao.dto.RecordInfo; -//import com.genersoft.iot.vmp.vmanager.bean.WVPResult; -//import com.github.pagehelper.PageInfo; -//import io.swagger.annotations.Api; -//import io.swagger.annotations.ApiImplicitParam; -//import io.swagger.annotations.ApiImplicitParams; -//import io.swagger.annotations.ApiOperation; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.web.bind.annotation.*; -// -//@Api(tags = "云端录像") -//@CrossOrigin -//@RestController -//@RequestMapping("/api/record") -//public class RecordController { -// -// @Autowired -// private IRecordInfoServer recordInfoServer; -// -// @ApiOperation("录像列表查询") -// @ApiImplicitParams({ -// @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class), -// @ApiImplicitParam(name="count", value = "每页查询数量", required = true, dataTypeClass = Integer.class), -// @ApiImplicitParam(name="query", value = "查询内容", dataTypeClass = String.class), -// }) -// @GetMapping(value = "/app/list") -// @ResponseBody -// public Object list(@RequestParam(required = false)Integer page, -// @RequestParam(required = false)Integer count ){ -// -// PageInfo recordList = recordInfoServer.getRecordList(page - 1, page - 1 + count); -// return recordList; -// } -// -// @ApiOperation("获取录像详情") -// @ApiImplicitParams({ -// @ApiImplicitParam(name="recordInfo", value = "录像记录", required = true, dataTypeClass = RecordInfo.class) -// }) -// @GetMapping(value = "/detail") -// @ResponseBody -// public JSONObject list(RecordInfo recordInfo, String time ){ -// -// -// return null; -// } -//} +package com.genersoft.iot.vmp.vmanager.record; + +import com.genersoft.iot.vmp.common.reponse.ResponseData; +import com.genersoft.iot.vmp.service.IRecordInfoServer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequestMapping("/api/record") +public class RecordController { + + @Autowired + private IRecordInfoServer recordInfoServer; + + @PostMapping(value = "/resetRecords") + @ResponseBody + public ResponseData resetRecords(@RequestBody Map params) { + return recordInfoServer.resetRecords(params); + } + +} diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java index 4e223e98..27cbcfae 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java @@ -3,10 +3,10 @@ package com.genersoft.iot.vmp.vmanager.server; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.VManageBootstrap; -import com.genersoft.iot.vmp.common.VersionPo; +import com.genersoft.iot.vmp.common.reponse.ResponseData; +import com.genersoft.iot.vmp.common.reponse.SuccessResponseData; import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.conf.UserSetup; -import com.genersoft.iot.vmp.conf.VersionInfo; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.utils.SpringBeanFactory; @@ -18,32 +18,26 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ConfigurableApplicationContext; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.sip.ListeningPoint; import javax.sip.ObjectInUseException; import javax.sip.SipProvider; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; @SuppressWarnings("rawtypes") @Api(tags = "服务控制") -@CrossOrigin @RestController @RequestMapping("/api/server") public class ServerController { - @Autowired - private ConfigurableApplicationContext context; - @Autowired private IMediaServerService mediaServerService; - @Autowired - VersionInfo versionInfo; - @Autowired SipConfig sipConfig; @@ -57,7 +51,7 @@ public class ServerController { @ApiOperation("流媒体服务列表") @GetMapping(value = "/media_server/list") @ResponseBody - public WVPResult> getMediaServerList(boolean detail){ + public WVPResult> getMediaServerList(boolean detail) { List all = mediaServerService.getAll(); WVPResult> result = new WVPResult<>(); @@ -68,20 +62,17 @@ public class ServerController { } @ApiOperation("在线流媒体服务列表") - @GetMapping(value = "/media_server/online/list") + @GetMapping(value = "/mediaServer/online/list") @ResponseBody - public WVPResult> getOnlineMediaServerList(){ - WVPResult> result = new WVPResult<>(); - result.setCode(0); - result.setMsg("success"); - result.setData(mediaServerService.getAllOnline()); - return result; + public ResponseData getOnlineMediaServerList() { + + return new SuccessResponseData(mediaServerService.getAllOnline()); } @ApiOperation("获取流媒体服务") @GetMapping(value = "/media_server/one/{id}") @ResponseBody - public WVPResult getMediaServer(@PathVariable String id){ + public WVPResult getMediaServer(@PathVariable String id) { WVPResult result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); @@ -91,32 +82,32 @@ public class ServerController { @ApiOperation("测试流媒体服务") @ApiImplicitParams({ - @ApiImplicitParam(name="ip", value = "流媒体服务IP", dataTypeClass = String.class), - @ApiImplicitParam(name="port", value = "流媒体服务HTT端口", dataTypeClass = Integer.class), - @ApiImplicitParam(name="secret", value = "流媒体服务secret", dataTypeClass = String.class), + @ApiImplicitParam(name = "ip", value = "流媒体服务IP", dataTypeClass = String.class), + @ApiImplicitParam(name = "port", value = "流媒体服务HTT端口", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "secret", value = "流媒体服务secret", dataTypeClass = String.class), }) @GetMapping(value = "/media_server/check") @ResponseBody - public WVPResult checkMediaServer(@RequestParam String ip, @RequestParam int port, @RequestParam String secret){ + public WVPResult checkMediaServer(@RequestParam String ip, @RequestParam int port, @RequestParam String secret) { return mediaServerService.checkMediaServer(ip, port, secret); } @ApiOperation("测试流媒体录像管理服务") @ApiImplicitParams({ - @ApiImplicitParam(name="ip", value = "流媒体服务IP", dataTypeClass = String.class), - @ApiImplicitParam(name="port", value = "流媒体服务HTT端口", dataTypeClass = Integer.class), - @ApiImplicitParam(name="secret", value = "流媒体服务secret", dataTypeClass = String.class), + @ApiImplicitParam(name = "ip", value = "流媒体服务IP", dataTypeClass = String.class), + @ApiImplicitParam(name = "port", value = "流媒体服务HTT端口", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "secret", value = "流媒体服务secret", dataTypeClass = String.class), }) @GetMapping(value = "/media_server/record/check") @ResponseBody - public WVPResult checkMediaRecordServer(@RequestParam String ip, @RequestParam int port){ + public WVPResult checkMediaRecordServer(@RequestParam String ip, @RequestParam int port) { boolean checkResult = mediaServerService.checkMediaRecordServer(ip, port); WVPResult result = new WVPResult<>(); if (checkResult) { result.setCode(0); result.setMsg("success"); - }else { + } else { result.setCode(-1); result.setMsg("连接失败"); } @@ -125,7 +116,7 @@ public class ServerController { @ApiOperation("保存流媒体服务") @ApiImplicitParams({ - @ApiImplicitParam(name="mediaServerItem", value = "流媒体信息", dataTypeClass = MediaServerItem.class) + @ApiImplicitParam(name = "mediaServerItem", value = "流媒体信息", dataTypeClass = MediaServerItem.class) }) @PostMapping(value = "/media_server/save") @ResponseBody @@ -144,7 +135,6 @@ public class ServerController { } return mediaServerService.add(mediaServerItem); } - WVPResult result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); @@ -153,14 +143,14 @@ public class ServerController { @ApiOperation("移除流媒体服务") @ApiImplicitParams({ - @ApiImplicitParam(name="id", value = "流媒体ID", dataTypeClass = String.class) + @ApiImplicitParam(name = "id", value = "流媒体ID", dataTypeClass = String.class) }) @DeleteMapping(value = "/media_server/delete") @ResponseBody - public WVPResult deleteMediaServer(@RequestParam String id){ + public WVPResult deleteMediaServer(@RequestParam String id) { if (mediaServerService.getOne(id) != null) { mediaServerService.delete(id); - }else { + } else { WVPResult result = new WVPResult<>(); result.setCode(-1); result.setMsg("未找到此节点"); @@ -173,18 +163,17 @@ public class ServerController { } - @ApiOperation("重启服务") @GetMapping(value = "/restart") @ResponseBody - public Object restart(){ + public Object restart() { Thread restartThread = new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(3000); SipProvider up = (SipProvider) SpringBeanFactory.getBean("udpSipProvider"); - SipStackImpl stack = (SipStackImpl)up.getSipStack(); + SipStackImpl stack = (SipStackImpl) up.getSipStack(); stack.stop(); Iterator listener = stack.getListeningPoints(); while (listener.hasNext()) { @@ -210,21 +199,21 @@ public class ServerController { @ApiOperation("版本信息") @GetMapping(value = "/version") @ResponseBody - public WVPResult getVersion(){ - WVPResult result = new WVPResult<>(); - result.setCode(0); - result.setMsg("success"); - result.setData(versionInfo.getVersion()); - return result; + public Map getVersion() { + Map map = new HashMap<>(); + map.put("code", 0); + map.put("msg", "success"); + map.put("data", null); + return map; } @ApiOperation("配置信息") @GetMapping(value = "/config") @ApiImplicitParams({ - @ApiImplicitParam(name="type", value = "配置类型(sip, base)", dataTypeClass = String.class), + @ApiImplicitParam(name = "type", value = "配置类型(sip, base)", dataTypeClass = String.class), }) @ResponseBody - public WVPResult getVersion(String type){ + public WVPResult getVersion(String type) { WVPResult result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); @@ -234,8 +223,8 @@ public class ServerController { if (StringUtils.isEmpty(type)) { jsonObject.put("sip", JSON.toJSON(sipConfig)); jsonObject.put("base", JSON.toJSON(userSetup)); - }else { - switch (type){ + } else { + switch (type) { case "sip": jsonObject.put("sip", sipConfig); break; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java index f8c01dd7..ebd35943 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java @@ -1,6 +1,7 @@ package com.genersoft.iot.vmp.vmanager.streamProxy; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem; import com.genersoft.iot.vmp.service.IMediaServerService; @@ -44,19 +45,19 @@ public class StreamProxyController { @ApiOperation("分页查询流代理") @ApiImplicitParams({ - @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class), - @ApiImplicitParam(name="count", value = "每页查询数量", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="pageNo", value = "当前页", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="pageSize", value = "每页查询数量", required = true, dataTypeClass = Integer.class), @ApiImplicitParam(name="query", value = "查询内容", dataTypeClass = String.class), - @ApiImplicitParam(name="online", value = "是否在线", dataTypeClass = Boolean.class), + @ApiImplicitParam(name="enable", value = "是否启用", dataTypeClass = Boolean.class), }) @GetMapping(value = "/list") @ResponseBody - public PageInfo list(@RequestParam(required = false)Integer page, - @RequestParam(required = false)Integer count, - @RequestParam(required = false)String query, - @RequestParam(required = false)Boolean online ){ + public ResponseData list(@RequestParam(required = false)Integer pageNo, + @RequestParam(required = false)Integer pageSize, + @RequestParam(required = false)String query, + @RequestParam(required = false)Boolean enable ){ - return streamProxyService.getAll(page, count); + return ResponseData.success(streamProxyService.getAll(pageNo, pageSize, query, enable)); } @ApiOperation("保存代理") diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java deleted file mode 100644 index 6a75e1dd..00000000 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.genersoft.iot.vmp.vmanager.user; - -import com.genersoft.iot.vmp.conf.security.SecurityUtils; -import com.genersoft.iot.vmp.service.IRoleService; -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.Role; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import com.genersoft.iot.vmp.vmanager.bean.WVPResult; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.util.DigestUtils; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.*; - -import java.text.SimpleDateFormat; -import java.util.List; - -@Api(tags = "角色管理") -@CrossOrigin -@RestController -@RequestMapping("/api/role") -public class RoleController { - - @Autowired - private IRoleService roleService; - - private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @ApiOperation("添加角色") - @ApiImplicitParams({ - @ApiImplicitParam(name = "name", required = true, value = "角色名", dataTypeClass = String.class), - @ApiImplicitParam(name = "authority", required = true, value = "权限(自行定义内容,目前未使用)", dataTypeClass = String.class), - }) - @PostMapping("/add") - public ResponseEntity> add(@RequestParam String name, - @RequestParam(required = false) String authority){ - WVPResult result = new WVPResult<>(); - // 获取当前登录用户id - int currenRoleId = SecurityUtils.getUserInfo().getRole().getId(); - if (currenRoleId != 1) { - // 只用角色id为1才可以删除和添加用户 - result.setCode(-1); - result.setMsg("用户无权限"); - return new ResponseEntity<>(result, HttpStatus.FORBIDDEN); - } - - Role role = new Role(); - role.setName(name); - role.setAuthority(authority); - role.setCreateTime(format.format(System.currentTimeMillis())); - role.setUpdateTime(format.format(System.currentTimeMillis())); - - int addResult = roleService.add(role); - - result.setCode(addResult > 0 ? 0 : -1); - result.setMsg(addResult > 0 ? "success" : "fail"); - result.setData(addResult); - return new ResponseEntity<>(result, HttpStatus.OK); - } - - @ApiOperation("删除角色") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", required = true, value = "用户Id", dataTypeClass = Integer.class), - }) - @DeleteMapping("/delete") - public ResponseEntity> delete(@RequestParam Integer id){ - // 获取当前登录用户id - int currenRoleId = SecurityUtils.getUserInfo().getRole().getId(); - WVPResult result = new WVPResult<>(); - if (currenRoleId != 1) { - // 只用角色id为0才可以删除和添加用户 - result.setCode(-1); - result.setMsg("用户无权限"); - return new ResponseEntity<>(result, HttpStatus.FORBIDDEN); - } - int deleteResult = roleService.delete(id); - - result.setCode(deleteResult>0? 0 : -1); - result.setMsg(deleteResult>0? "success" : "fail"); - return new ResponseEntity<>(result, HttpStatus.OK); - } - - @ApiOperation("查询角色") - @ApiImplicitParams({}) - @GetMapping("/all") - public ResponseEntity>> all(){ - // 获取当前登录用户id - List allRoles = roleService.getAll(); - WVPResult> result = new WVPResult<>(); - result.setCode(0); - result.setMsg("success"); - result.setData(allRoles); - return new ResponseEntity<>(result, HttpStatus.OK); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java deleted file mode 100644 index 17fe2fb6..00000000 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.genersoft.iot.vmp.vmanager.user; - -import com.genersoft.iot.vmp.conf.security.SecurityUtils; -import com.genersoft.iot.vmp.conf.security.dto.LoginUser; -import com.genersoft.iot.vmp.service.IRoleService; -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.Role; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import com.genersoft.iot.vmp.vmanager.bean.WVPResult; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.util.DigestUtils; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.*; - -import javax.security.sasl.AuthenticationException; -import java.text.SimpleDateFormat; -import java.util.List; - -@Api(tags = "用户管理") -@CrossOrigin -@RestController -@RequestMapping("/api/user") -public class UserController { - - @Autowired - private AuthenticationManager authenticationManager; - - @Autowired - private IUserService userService; - - @Autowired - private IRoleService roleService; - - private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @ApiOperation("登录") - @ApiImplicitParams({ - @ApiImplicitParam(name = "username", required = true, value = "用户名", dataTypeClass = String.class), - @ApiImplicitParam(name = "password", required = true, value = "密码(32位md5加密)", dataTypeClass = String.class), - }) - @GetMapping("/login") - public WVPResult login(@RequestParam String username, @RequestParam String password){ - LoginUser user = null; - WVPResult result = new WVPResult<>(); - try { - user = SecurityUtils.login(username, password, authenticationManager); - } catch (AuthenticationException e) { - e.printStackTrace(); - result.setCode(-1); - result.setMsg("fail"); - } - if (user != null) { - result.setCode(0); - result.setMsg("success"); - result.setData(user); - }else { - result.setCode(-1); - result.setMsg("fail"); - } - return result; - } - - @ApiOperation("修改密码") - @ApiImplicitParams({ - @ApiImplicitParam(name = "username", required = true, value = "用户名", dataTypeClass = String.class), - @ApiImplicitParam(name = "oldpassword", required = true, value = "旧密码(已md5加密的密码)", dataTypeClass = String.class), - @ApiImplicitParam(name = "password", required = true, value = "新密码(未md5加密的密码)", dataTypeClass = String.class), - }) - @PostMapping("/changePassword") - public String changePassword(@RequestParam String oldPassword, @RequestParam String password){ - // 获取当前登录用户id - LoginUser userInfo = SecurityUtils.getUserInfo(); - if (userInfo== null) { - return "fail"; - } - String username = userInfo.getUsername(); - LoginUser user = null; - try { - user = SecurityUtils.login(username, oldPassword, authenticationManager); - if (user != null) { - int userId = SecurityUtils.getUserId(); - boolean result = userService.changePassword(userId, DigestUtils.md5DigestAsHex(password.getBytes())); - if (result) { - return "success"; - } - } - } catch (AuthenticationException e) { - e.printStackTrace(); - } - return "fail"; - } - - - @ApiOperation("添加用户") - @ApiImplicitParams({ - @ApiImplicitParam(name = "username", required = true, value = "用户名", dataTypeClass = String.class), - @ApiImplicitParam(name = "password", required = true, value = "密码(未md5加密的密码)", dataTypeClass = String.class), - @ApiImplicitParam(name = "roleId", required = true, value = "角色ID", dataTypeClass = String.class), - }) - @PostMapping("/add") - public ResponseEntity> add(@RequestParam String username, - @RequestParam String password, - @RequestParam Integer roleId){ - WVPResult result = new WVPResult<>(); - if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password) || roleId == null) { - result.setCode(-1); - result.setMsg("参数不可为空"); - return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST); - } - // 获取当前登录用户id - int currenRoleId = SecurityUtils.getUserInfo().getRole().getId(); - if (currenRoleId != 1) { - // 只用角色id为1才可以删除和添加用户 - result.setCode(-1); - result.setMsg("用户无权限"); - return new ResponseEntity<>(result, HttpStatus.FORBIDDEN); - } - User user = new User(); - user.setUsername(username); - user.setPassword(DigestUtils.md5DigestAsHex(password.getBytes())); - - Role role = roleService.getRoleById(roleId); - - if (role == null) { - result.setCode(-1); - result.setMsg("roleId is not found"); - // 角色不存在 - return new ResponseEntity<>(result, HttpStatus.OK); - } - user.setRole(role); - user.setCreateTime(format.format(System.currentTimeMillis())); - user.setUpdateTime(format.format(System.currentTimeMillis())); - int addResult = userService.addUser(user); - - result.setCode(addResult > 0 ? 0 : -1); - result.setMsg(addResult > 0 ? "success" : "fail"); - result.setData(addResult); - return new ResponseEntity<>(result, HttpStatus.OK); - } - - @ApiOperation("删除用户") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", required = true, value = "用户Id", dataTypeClass = Integer.class), - }) - @DeleteMapping("/delete") - public ResponseEntity> delete(@RequestParam Integer id){ - // 获取当前登录用户id - int currenRoleId = SecurityUtils.getUserInfo().getRole().getId(); - WVPResult result = new WVPResult<>(); - if (currenRoleId != 1) { - // 只用角色id为0才可以删除和添加用户 - result.setCode(-1); - result.setMsg("用户无权限"); - return new ResponseEntity<>(result, HttpStatus.FORBIDDEN); - } - int deleteResult = userService.deleteUser(id); - - result.setCode(deleteResult>0? 0 : -1); - result.setMsg(deleteResult>0? "success" : "fail"); - return new ResponseEntity<>(result, HttpStatus.OK); - } - - @ApiOperation("查询用户") - @ApiImplicitParams({}) - @GetMapping("/all") - public ResponseEntity>> all(){ - // 获取当前登录用户id - List allUsers = userService.getAllUsers(); - WVPResult> result = new WVPResult<>(); - result.setCode(0); - result.setMsg("success"); - result.setData(allUsers); - return new ResponseEntity<>(result, HttpStatus.OK); - } -} diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/videoSquare/VideoSquareController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/videoSquare/VideoSquareController.java new file mode 100644 index 00000000..072d2e7b --- /dev/null +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/videoSquare/VideoSquareController.java @@ -0,0 +1,20 @@ +package com.genersoft.iot.vmp.vmanager.videoSquare; + +import com.genersoft.iot.vmp.common.reponse.ResponseData; +import com.genersoft.iot.vmp.service.IVideoSquareService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/api/square") +public class VideoSquareController { + + @Autowired + private IVideoSquareService videoSquareService; + + @GetMapping(value = "/video/tree") + @ResponseBody + public ResponseData queryVideoTree() { + return ResponseData.success(videoSquareService.selectVideoTree()); + } +} diff --git a/src/main/java/com/genersoft/iot/vmp/web/ApiDeviceController.java b/src/main/java/com/genersoft/iot/vmp/web/ApiDeviceController.java index ef839763..ea434e3c 100644 --- a/src/main/java/com/genersoft/iot/vmp/web/ApiDeviceController.java +++ b/src/main/java/com/genersoft/iot/vmp/web/ApiDeviceController.java @@ -2,6 +2,8 @@ package com.genersoft.iot.vmp.web; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.Page; +import com.genersoft.iot.vmp.common.reponse.ResponseData; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; @@ -9,6 +11,7 @@ import com.github.pagehelper.PageInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -38,6 +41,7 @@ public class ApiDeviceController { /** * 分页获取设备列表 TODO 现在直接返回,尚未实现分页 + * * @param start * @param limit * @param q @@ -45,23 +49,23 @@ public class ApiDeviceController { * @return */ @RequestMapping(value = "/list") - public JSONObject list( @RequestParam(required = false)Integer start, - @RequestParam(required = false)Integer limit, - @RequestParam(required = false)String q, - @RequestParam(required = false)Boolean online ){ + public JSONObject list(@RequestParam(required = false) Integer start, + @RequestParam(required = false) Integer limit, + @RequestParam(required = false) String q, + @RequestParam(required = false) Boolean online) { // if (logger.isDebugEnabled()) { // logger.debug("查询所有视频设备API调用"); // } JSONObject result = new JSONObject(); List devices; - if (start == null || limit ==null) { + if (start == null || limit == null) { devices = storager.queryVideoDeviceList(); result.put("DeviceCount", devices.size()); - }else { - PageInfo deviceList = storager.queryVideoDeviceList(start/limit, limit); - result.put("DeviceCount", deviceList.getTotal()); - devices = deviceList.getList(); + } else { + Page devicePage = storager.queryVideoDeviceList(start / limit, limit, null); + result.put("DeviceCount", devicePage.getTotalCount()); + devices = devicePage.getData(); } JSONArray deviceJSONList = new JSONArray(); @@ -85,18 +89,18 @@ public class ApiDeviceController { deviceJsonObject.put("CreatedAt", ""); deviceJSONList.add(deviceJsonObject); } - result.put("DeviceList",deviceJSONList); + result.put("DeviceList", deviceJSONList); return result; } @RequestMapping(value = "/channellist") - public JSONObject channellist( String serial, - @RequestParam(required = false)String channel_type, - @RequestParam(required = false)String dir_serial , - @RequestParam(required = false)Integer start, - @RequestParam(required = false)Integer limit, - @RequestParam(required = false)String q, - @RequestParam(required = false)Boolean online ){ + public JSONObject channellist(String serial, + @RequestParam(required = false) String channel_type, + @RequestParam(required = false) String dir_serial, + @RequestParam(required = false) Integer start, + @RequestParam(required = false) Integer limit, + @RequestParam(required = false) String q, + @RequestParam(required = false) Boolean online) { // if (logger.isDebugEnabled()) { // logger.debug("查询所有视频设备API调用"); @@ -110,13 +114,13 @@ public class ApiDeviceController { return result; } List deviceChannels; - if (start == null || limit ==null) { + if (start == null || limit == null) { deviceChannels = storager.queryChannelsByDeviceId(serial); result.put("ChannelCount", deviceChannels.size()); - }else { - PageInfo pageResult = storager.queryChannelsByDeviceId(serial, null, null, null,start/limit, limit); - result.put("ChannelCount", pageResult.getTotal()); - deviceChannels = pageResult.getList(); + } else { + Page page = storager.queryChannelsByDeviceId(serial, null, null, null, start / limit, limit); + result.put("ChannelCount", page.getTotalCount()); + deviceChannels = page.getData(); } JSONArray channleJSONList = new JSONArray(); @@ -141,14 +145,14 @@ public class ApiDeviceController { deviceJOSNChannel.put("ParentID", deviceChannel.getParentId()); // 直接上级编号 deviceJOSNChannel.put("Secrecy", deviceChannel.getSecrecy()); deviceJOSNChannel.put("RegisterWay", 1); // 注册方式, 缺省为1, 允许值: 1, 2, 3 - // 1-IETF RFC3261, - // 2-基于口令的双向认证, - // 3-基于数字证书的双向认证 + // 1-IETF RFC3261, + // 2-基于口令的双向认证, + // 3-基于数字证书的双向认证 deviceJOSNChannel.put("Status", deviceChannel.getStatus()); deviceJOSNChannel.put("Longitude", deviceChannel.getLongitude()); deviceJOSNChannel.put("Latitude", deviceChannel.getLatitude()); deviceJOSNChannel.put("PTZType ", deviceChannel.getPTZType()); // 云台类型, 0 - 未知, 1 - 球机, 2 - 半球, - // 3 - 固定枪机, 4 - 遥控枪机 + // 3 - 固定枪机, 4 - 遥控枪机 deviceJOSNChannel.put("CustomPTZType", ""); deviceJOSNChannel.put("StreamID", deviceChannel.getStreamId()); // StreamID 直播流ID, 有值表示正在直播 deviceJOSNChannel.put("NumOutputs ", -1); // 直播在线人数 diff --git a/src/main/java/com/genersoft/iot/vmp/web/AuthController.java b/src/main/java/com/genersoft/iot/vmp/web/AuthController.java deleted file mode 100644 index f4a2af86..00000000 --- a/src/main/java/com/genersoft/iot/vmp/web/AuthController.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.genersoft.iot.vmp.web; - -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -@CrossOrigin -@RestController -@RequestMapping(value = "/auth") -public class AuthController { - - @Autowired - private IUserService userService; - - @RequestMapping("/login") - public String devices(String name, String passwd){ - User user = userService.getUser(name, passwd); - if (user != null) { - return "success"; - }else { - return "fail"; - } - } -} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 98866b83..d394baed 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -2,30 +2,30 @@ spring: # REDIS数据库配置 redis: # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1 - host: ${REDIS_HOST:127.0.0.1} + host: 127.0.0.1 # [必须修改] 端口号 - port: ${REDIS_PORT:6379} + port: 6379 # [可选] 数据库 DB - database: ${REDIS_DB:6} + database: 6 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 - password: ${REDIS_PWD} + password: # [可选] 超时时间 timeout: 10000 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 datasource: # 使用mysql 打开23-28行注释, 删除29-36行 - # name: wvp - # url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true + name: wvp + url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&&serverTimezone=Asia/Shanghai + username: root + password: root123 + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + # name: eiot + # url: jdbc:sqlite::resource:wvp.sqlite # username: # password: # type: com.alibaba.druid.pool.DruidDataSource - # driver-class-name: com.mysql.cj.jdbc.Driver - name: eiot - url: jdbc:sqlite::resource:wvp.sqlite - username: - password: - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: org.sqlite.JDBC + # driver-class-name: org.sqlite.JDBC max-active: 1 min-idle: 1 @@ -36,23 +36,25 @@ server: # 作为28181服务器的配置 sip: # [必须修改] 本机的IP - ip: ${WVP_HOST} + ip: 192.168.10.96 # [可选] 28181服务监听的端口 port: 5060 # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) # 后两位为行业编码,定义参照附录D.3 # 3701020049标识山东济南历下区 信息行业接入 # [可选] - domain: ${WVP_DOMAIN:4401020049} + domain: 4401020049 # [可选] - id: ${WVP_ID:44010200492000000001} + id: 44010200492000000001 # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验 - password: ${WVP_PWD:admin123} + password: admin123 #zlm 默认服务器配置 media: + # [可选] zlm服务器唯一id,用于触发hook时区别是哪台服务器,general.mediaServerId + id: vm-windows # [必须修改] zlm服务器的内网IP - ip: 127.0.0.1 + ip: 192.168.10.96 # [必须修改] zlm服务器的http.port http-port: 80 # [可选] zlm服务器的hook.admin_params=secret @@ -67,8 +69,6 @@ media: send-port-range: 30000,30500 # 端口范围 # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用 record-assist-port: 18081 - sdp-ip: ${WVP_HOST} - stream-ip: ${WVP_HOST} # [可选] 日志配置, 一般不需要改 logging: file: @@ -84,7 +84,7 @@ logging: # [根据业务需求配置] user-settings: # 推流直播是否录制 - record-push-live: true + record-push-live: false auto-apply-play: false # 在线文档: swagger-ui(生产环境建议关闭) @@ -95,4 +95,4 @@ swagger-ui: version: version: "@project.version@" description: "@project.description@" - artifact-id: "@project.artifactId@" + artifact-id: "@project.artifactId@" \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 3d7808a0..caf4dfcd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dev + active: dev \ No newline at end of file diff --git a/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java b/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java deleted file mode 100644 index 20209f25..00000000 --- a/src/test/java/com/genersoft/iot/vmp/service/impl/RoleServiceImplTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.genersoft.iot.vmp.service.impl; - -import com.genersoft.iot.vmp.service.IRoleService; -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.Role; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.List; - - -@SpringBootTest -@RunWith(SpringRunner.class) -class RoleServiceImplTest { - - @Resource - private IRoleService roleService; - - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - @org.junit.jupiter.api.Test - void getAllUser() { - List all = roleService.getAll(); - Role roleById = roleService.getRoleById(1); - System.out.println(); - - } - - - @org.junit.jupiter.api.Test - void add() { - for (int i = 0; i < 10; i++) { - Role role = new Role(); - role.setName("test+" + i); - role.setAuthority("adadadda"); - role.setCreateTime(format.format(System.currentTimeMillis())); - role.setUpdateTime(format.format(System.currentTimeMillis())); - roleService.add(role); - } - } - - @org.junit.jupiter.api.Test - void delete() { - roleService.delete(20); - } - - @org.junit.jupiter.api.Test - void update() { - Role role = new Role(); - role.setId(21); - role.setName("TTTTTT"); - role.setAuthority("adadadda"); - roleService.update(role); - } -} \ No newline at end of file diff --git a/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java b/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java deleted file mode 100644 index 9e3c6724..00000000 --- a/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.genersoft.iot.vmp.service.impl; - -import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; -import com.genersoft.iot.vmp.service.IDeviceAlarmService; -import com.genersoft.iot.vmp.service.IUserService; -import com.genersoft.iot.vmp.storager.dao.dto.Role; -import com.genersoft.iot.vmp.storager.dao.dto.User; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; - - -@SpringBootTest -@RunWith(SpringRunner.class) -class UserServiceImplTest { - - @Resource - private IUserService userService; - - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @org.junit.jupiter.api.Test - void getAllUser() { - List allUsers = userService.getAllUsers(); - System.out.println(userService.getAllUsers().size()); - User admin = userService.getUser("admin", "21232f297a57a5a743894a0e4a801fc3"); - User admin1 = userService.getUserByUsername("admin"); - System.out.println(12); - } - - - @org.junit.jupiter.api.Test - void add() { - for (int i = 0; i < 10; i++) { - User user = new User(); - user.setUsername("admin_" + i); - user.setPassword("admin_password_" + i); - - Role role = new Role(); - role.setId(1); - user.setRole(role); - user.setCreateTime(format.format(System.currentTimeMillis())); - user.setUpdateTime(format.format(System.currentTimeMillis())); - userService.addUser(user); - } - } - - @org.junit.jupiter.api.Test - void delete() { - userService.deleteUser(1002); - } - - @org.junit.jupiter.api.Test - void update() { - User user = new User(); - user.setId(11); - user.setUsername("update" ); - user.setPassword("update"); - Role role = new Role(); - role.setId(2); - user.setRole(role); - user.setUpdateTime(format.format(System.currentTimeMillis())); - userService.updateUsers(user); - } - - -} \ No newline at end of file diff --git a/web_src/.babelrc b/web_src/.babelrc deleted file mode 100644 index 3a280ba3..00000000 --- a/web_src/.babelrc +++ /dev/null @@ -1,12 +0,0 @@ -{ - "presets": [ - ["env", { - "modules": false, - "targets": { - "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] - } - }], - "stage-2" - ], - "plugins": ["transform-vue-jsx", "transform-runtime"] -} diff --git a/web_src/.browserslistrc b/web_src/.browserslistrc new file mode 100644 index 00000000..8f960439 --- /dev/null +++ b/web_src/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 10 diff --git a/web_src/.editorconfig b/web_src/.editorconfig index 9d08a1a8..6f77dff8 100644 --- a/web_src/.editorconfig +++ b/web_src/.editorconfig @@ -1,9 +1,39 @@ -root = true - [*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true +charset=utf-8 +end_of_line=lf +insert_final_newline=false +indent_style=space +indent_size=2 + +[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}] +indent_style=space +indent_size=2 + +[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] +indent_style=space +indent_size=2 + +[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] +indent_style=space +indent_size=2 + +[*.svg] +indent_style=space +indent_size=2 + +[*.js.map] +indent_style=space +indent_size=2 + +[*.less] +indent_style=space +indent_size=2 + +[*.vue] +indent_style=space +indent_size=2 + +[{.analysis_options,*.yml,*.yaml}] +indent_style=space +indent_size=2 + diff --git a/web_src/.env b/web_src/.env new file mode 100644 index 00000000..4615f713 --- /dev/null +++ b/web_src/.env @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_PREVIEW=false +VUE_APP_API_BASE_URL=/ \ No newline at end of file diff --git a/web_src/.env.development b/web_src/.env.development new file mode 100644 index 00000000..b7a49621 --- /dev/null +++ b/web_src/.env.development @@ -0,0 +1,3 @@ +NODE_ENV=development +VUE_APP_PREVIEW=true +VUE_APP_API_BASE_URL=/debug \ No newline at end of file diff --git a/web_src/.env.preview b/web_src/.env.preview new file mode 100644 index 00000000..939f07aa --- /dev/null +++ b/web_src/.env.preview @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_PREVIEW=true +VUE_APP_API_BASE_URL=/debug \ No newline at end of file diff --git a/web_src/.gitattributes b/web_src/.gitattributes new file mode 100644 index 00000000..e5073192 --- /dev/null +++ b/web_src/.gitattributes @@ -0,0 +1 @@ +public/* linguist-vendored \ No newline at end of file diff --git a/web_src/.gitignore b/web_src/.gitignore index 541a820f..1f8602ba 100644 --- a/web_src/.gitignore +++ b/web_src/.gitignore @@ -1,6 +1,12 @@ .DS_Store -node_modules/ -/dist/ +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files npm-debug.log* yarn-debug.log* yarn-error.log* @@ -12,3 +18,5 @@ yarn-error.log* *.ntvs* *.njsproj *.sln +*.sw* +package-lock.json diff --git a/web_src/.postcssrc.js b/web_src/.postcssrc.js deleted file mode 100644 index f8737a12..00000000 --- a/web_src/.postcssrc.js +++ /dev/null @@ -1,14 +0,0 @@ -// https://github.com/michael-ciniawsky/postcss-load-config - -module.exports = { - "plugins": { - "postcss-import": {}, - "postcss-url": {}, - // to edit target browsers: use "browserslist" field in package.json - "autoprefixer": {}, - 'postcss-pxtorem': { - rootValue: 16, - propList: ['font-size'] // 只转化font-size - } - } -} diff --git a/web_src/.prettierrc b/web_src/.prettierrc new file mode 100644 index 00000000..b0e80f7b --- /dev/null +++ b/web_src/.prettierrc @@ -0,0 +1,6 @@ +{ + "printWidth": 120, + "semi": false, + "singleQuote": true, + "prettier.spaceBeforeFunctionParen": true +} diff --git a/web_src/.travis.yml b/web_src/.travis.yml new file mode 100644 index 00000000..a08bfcb2 --- /dev/null +++ b/web_src/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - 10.15.0 +cache: yarn +script: + - yarn + - yarn run lint --no-fix && yarn run build diff --git a/web_src/Dockerfile b/web_src/Dockerfile new file mode 100644 index 00000000..3ebc1f56 --- /dev/null +++ b/web_src/Dockerfile @@ -0,0 +1,6 @@ +FROM nginx + +RUN rm /etc/nginx/conf.d/default.conf + +ADD deploy/nginx.conf /etc/nginx/conf.d/default.conf +COPY dist/ /usr/share/nginx/html/ diff --git a/web_src/LICENSE b/web_src/LICENSE new file mode 100644 index 00000000..66eef0be --- /dev/null +++ b/web_src/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Anan Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/web_src/README.md b/web_src/README.md index 4141ef7e..33541f09 100644 --- a/web_src/README.md +++ b/web_src/README.md @@ -1,21 +1 @@ -# gb_web - -> A Vue.js project - -## Build Setup - -``` bash -# install dependencies -npm install - -# serve with hot reload at localhost:8080 -npm run dev - -# build for production with minification -npm run build - -# build for production and view the bundle analyzer report -npm run build --report -``` - -For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). +WVP视频平台ant-design风格前端 \ No newline at end of file diff --git a/web_src/babel.config.js b/web_src/babel.config.js new file mode 100644 index 00000000..4fe62293 --- /dev/null +++ b/web_src/babel.config.js @@ -0,0 +1,30 @@ +const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV) +const IS_PREVIEW = process.env.VUE_APP_PREVIEW === 'true' + +const plugins = [] +if (IS_PROD && !IS_PREVIEW) { + // 去除日志的插件, + plugins.push('transform-remove-console') +} + +// lazy load ant-design-vue +// if your use import on Demand, Use this code +plugins.push(['import', { + 'libraryName': 'ant-design-vue', + 'libraryDirectory': 'es', + 'style': true // `style: true` 会加载 less 文件 +}]) + +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset', + [ + '@babel/preset-env', + { + 'useBuiltIns': 'entry', + 'corejs': 3 + } + ] + ], + plugins +} diff --git a/web_src/build/build.js b/web_src/build/build.js deleted file mode 100644 index 8f2ad8ad..00000000 --- a/web_src/build/build.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict' -require('./check-versions')() - -process.env.NODE_ENV = 'production' - -const ora = require('ora') -const rm = require('rimraf') -const path = require('path') -const chalk = require('chalk') -const webpack = require('webpack') -const config = require('../config') -const webpackConfig = require('./webpack.prod.conf') - -const spinner = ora('building for production...') -spinner.start() - -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - if (err) throw err - webpack(webpackConfig, (err, stats) => { - spinner.stop() - if (err) throw err - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. - chunks: false, - chunkModules: false - }) + '\n\n') - - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - - console.log(chalk.cyan(' Build complete.\n')) - console.log(chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - ' Opening index.html over file:// won\'t work.\n' - )) - }) -}) diff --git a/web_src/build/check-versions.js b/web_src/build/check-versions.js deleted file mode 100644 index 3ef972a0..00000000 --- a/web_src/build/check-versions.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec (cmd) { - return require('child_process').execSync(cmd).toString().trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function () { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push(mod.name + ': ' + - chalk.red(mod.currentVersion) + ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log(chalk.yellow('To use this template, you must update following to modules:')) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/web_src/build/logo.png b/web_src/build/logo.png deleted file mode 100644 index f3d2503f..00000000 Binary files a/web_src/build/logo.png and /dev/null differ diff --git a/web_src/build/utils.js b/web_src/build/utils.js deleted file mode 100644 index e534fb0f..00000000 --- a/web_src/build/utils.js +++ /dev/null @@ -1,101 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function (_path) { - const assetsSubDirectory = process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function (options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders (loader, loaderOptions) { - const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader] - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - return ExtractTextPlugin.extract({ - use: loaders, - fallback: 'vue-style-loader' - }) - } else { - return ['vue-style-loader'].concat(loaders) - } - } - - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { indentedSyntax: true }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function (options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/web_src/build/vue-loader.conf.js b/web_src/build/vue-loader.conf.js deleted file mode 100644 index 33ed58bc..00000000 --- a/web_src/build/vue-loader.conf.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' -const utils = require('./utils') -const config = require('../config') -const isProduction = process.env.NODE_ENV === 'production' -const sourceMapEnabled = isProduction - ? config.build.productionSourceMap - : config.dev.cssSourceMap - -module.exports = { - loaders: utils.cssLoaders({ - sourceMap: sourceMapEnabled, - extract: isProduction - }), - cssSourceMap: sourceMapEnabled, - cacheBusting: config.dev.cacheBusting, - transformToRequire: { - video: ['src', 'poster'], - source: 'src', - img: 'src', - image: 'xlink:href' - } -} diff --git a/web_src/build/webpack.base.conf.js b/web_src/build/webpack.base.conf.js deleted file mode 100644 index 72539e37..00000000 --- a/web_src/build/webpack.base.conf.js +++ /dev/null @@ -1,83 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const config = require('../config') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve (dir) { - return path.join(__dirname, '..', dir) -} - - - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: './src/main.js' - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - 'vue$': 'vue/dist/vue.esm.js', - '@': resolve('src'), - '@static': resolve('static'), - } - }, - module: { - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/web_src/build/webpack.dev.conf.js b/web_src/build/webpack.dev.conf.js deleted file mode 100755 index 070ae221..00000000 --- a/web_src/build/webpack.dev.conf.js +++ /dev/null @@ -1,95 +0,0 @@ -'use strict' -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const path = require('path') -const baseWebpackConfig = require('./webpack.base.conf') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: { - rewrites: [ - { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, - ], - }, - hot: true, - contentBase: false, // since we use CopyWebpackPlugin. - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll, - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.env') - }), - new webpack.HotModuleReplacementPlugin(), - new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. - new webpack.NoEmitOnErrorsPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true - }), - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.dev.assetsSubDirectory, - ignore: ['.*'] - } - ]) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - })) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/web_src/build/webpack.prod.conf.js b/web_src/build/webpack.prod.conf.js deleted file mode 100644 index 8ad9ec3d..00000000 --- a/web_src/build/webpack.prod.conf.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') -const UglifyJsPlugin = require('uglifyjs-webpack-plugin') - -const env = require('../config/prod.env') - -const webpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ - sourceMap: config.build.productionSourceMap, - extract: true, - usePostCSS: true - }) - }, - devtool: config.build.productionSourceMap ? config.build.devtool : false, - output: { - path: config.build.assetsRoot, - filename: utils.assetsPath('js/[name].[chunkhash].js'), - chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') - }, - plugins: [ - // http://vuejs.github.io/vue-loader/en/workflow/production.html - new webpack.DefinePlugin({ - 'process.env': env - }), - new UglifyJsPlugin({ - uglifyOptions: { - compress: { - warnings: false - } - }, - sourceMap: config.build.productionSourceMap, - parallel: true - }), - // extract css into its own file - new ExtractTextPlugin({ - filename: utils.assetsPath('css/[name].[contenthash].css'), - // Setting the following option to `false` will not extract CSS from codesplit chunks. - // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. - // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, - // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 - allChunks: true, - }), - // Compress extracted CSS. We are using this plugin so that possible - // duplicated CSS from different components can be deduped. - new OptimizeCSSPlugin({ - cssProcessorOptions: config.build.productionSourceMap - ? { safe: true, map: { inline: false } } - : { safe: true } - }), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: config.build.index, - template: 'index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency' - }), - // keep module.id stable when vendor modules does not change - new webpack.HashedModuleIdsPlugin(), - // enable scope hoisting - new webpack.optimize.ModuleConcatenationPlugin(), - // split vendor js into its own file - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - minChunks (module) { - // any required modules inside node_modules are extracted to vendor - return ( - module.resource && - /\.js$/.test(module.resource) && - module.resource.indexOf( - path.join(__dirname, '../node_modules') - ) === 0 - ) - } - }), - // extract webpack runtime and module manifest to its own file in order to - // prevent vendor hash from being updated whenever app bundle is updated - new webpack.optimize.CommonsChunkPlugin({ - name: 'manifest', - minChunks: Infinity - }), - // This instance extracts shared chunks from code splitted chunks and bundles them - // in a separate chunk, similar to the vendor chunk - // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk - new webpack.optimize.CommonsChunkPlugin({ - name: 'app', - async: 'vendor-async', - children: true, - minChunks: 3 - }), - - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.build.assetsSubDirectory, - ignore: ['.*'] - } - ]) - ] -}) - -if (config.build.productionGzip) { - const CompressionWebpackPlugin = require('compression-webpack-plugin') - - webpackConfig.plugins.push( - new CompressionWebpackPlugin({ - asset: '[path].gz[query]', - algorithm: 'gzip', - test: new RegExp( - '\\.(' + - config.build.productionGzipExtensions.join('|') + - ')$' - ), - threshold: 10240, - minRatio: 0.8 - }) - ) -} - -if (config.build.bundleAnalyzerReport) { - const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin - webpackConfig.plugins.push(new BundleAnalyzerPlugin()) -} - -module.exports = webpackConfig diff --git a/web_src/config/dev.env.js b/web_src/config/dev.env.js deleted file mode 100644 index 930fce49..00000000 --- a/web_src/config/dev.env.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' -const merge = require('webpack-merge') -const prodEnv = require('./prod.env') - -module.exports = merge(prodEnv, { - NODE_ENV: '"development"', - BASE_API: '"/debug"' -}) diff --git a/web_src/config/index.js b/web_src/config/index.js deleted file mode 100644 index cec91b87..00000000 --- a/web_src/config/index.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict' -// Template version: 1.3.1 -// see http://vuejs-templates.github.io/webpack for documentation. - -const path = require('path') - -module.exports = { - dev: { - - // Paths - assetsSubDirectory: 'static', - assetsPublicPath: '/', - proxyTable: { - '/debug': { - target: 'http://localhost:18080', - changeOrigin: true, - pathRewrite: { - '^/debug': '/' - } - }, - '/static/snap': { - target: 'http://localhost:18080', - changeOrigin: true, - // pathRewrite: { - // '^/static/snap': '/static/snap' - // } - }, - - }, - - // Various Dev Server settings - host: 'localhost', // can be overwritten by process.env.HOST - port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined - autoOpenBrowser: false, - errorOverlay: true, - notifyOnErrors: true, - poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- - - - /** - * Source Maps - */ - - // https://webpack.js.org/configuration/devtool/#development - devtool: 'cheap-module-eval-source-map', - - // If you have problems debugging vue-files in devtools, - // set this to false - it *may* help - // https://vue-loader.vuejs.org/en/options.html#cachebusting - cacheBusting: true, - - cssSourceMap: true - }, - - build: { - // Template for index.html - index: path.resolve(__dirname, '../../src/main/resources/static/index.html'), - - // Paths - assetsRoot: path.resolve(__dirname, '../../src/main/resources/static/'), - assetsSubDirectory: './static', - assetsPublicPath: '/', - - /** - * Source Maps - */ - - productionSourceMap: true, - // https://webpack.js.org/configuration/devtool/#production - devtool: '#source-map', - - // Gzip off by default as many popular static hosts such as - // Surge or Netlify already gzip all static assets for you. - // Before setting to `true`, make sure to: - // npm install --save-dev compression-webpack-plugin - productionGzip: false, - productionGzipExtensions: ['js', 'css'], - - // Run the build command with an extra argument to - // View the bundle analyzer report after build finishes: - // `npm run build --report` - // Set to `true` or `false` to always turn it on or off - bundleAnalyzerReport: process.env.npm_config_report - } -} diff --git a/web_src/config/plugin.config.js b/web_src/config/plugin.config.js new file mode 100644 index 00000000..bb51b98c --- /dev/null +++ b/web_src/config/plugin.config.js @@ -0,0 +1,49 @@ +const ThemeColorReplacer = require('webpack-theme-color-replacer') +const generate = require('@ant-design/colors/lib/generate').default + +const getAntdSerials = (color) => { + // 淡化(即less的tint) + const lightens = new Array(9).fill().map((t, i) => { + return ThemeColorReplacer.varyColor.lighten(color, i / 10) + }) + const colorPalettes = generate(color) + const rgb = ThemeColorReplacer.varyColor.toNum3(color.replace('#', '')).join(',') + return lightens.concat(colorPalettes).concat(rgb) +} + +const themePluginOption = { + fileName: 'css/theme-colors-[contenthash:8].css', + matchColors: getAntdSerials('#1890ff'), // 主色系列 + // 改变样式选择器,解决样式覆盖问题 + changeSelector (selector) { + switch (selector) { + case '.ant-calendar-today .ant-calendar-date': + return ':not(.ant-calendar-selected-date):not(.ant-calendar-selected-day)' + selector + case '.ant-btn:focus,.ant-btn:hover': + return '.ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger)' + case '.ant-btn.active,.ant-btn:active': + return '.ant-btn.active:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:active:not(.ant-btn-primary):not(.ant-btn-danger)' + case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon': + case '.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon': + return ':not(.ant-steps-item-process)' + selector + // fixed https://github.com/vueComponent/ant-design-vue-pro/issues/876 + case '.ant-steps-item-process .ant-steps-item-icon': + return ':not(.ant-steps-item-custom)' + selector + case '.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover': + case '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal > .ant-menu-submenu-selected,.ant-menu-horizontal > .ant-menu-submenu:hover': + return '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover' + case '.ant-menu-horizontal > .ant-menu-item-selected > a': + case '.ant-menu-horizontal>.ant-menu-item-selected>a': + return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item-selected > a' + case '.ant-menu-horizontal > .ant-menu-item > a:hover': + case '.ant-menu-horizontal>.ant-menu-item>a:hover': + return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item > a:hover' + default : + return selector + } + } +} + +const createThemeColorReplacerPlugin = () => new ThemeColorReplacer(themePluginOption) + +module.exports = createThemeColorReplacerPlugin diff --git a/web_src/config/prod.env.js b/web_src/config/prod.env.js deleted file mode 100644 index a6f99761..00000000 --- a/web_src/config/prod.env.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict' -module.exports = { - NODE_ENV: '"production"' -} diff --git a/web_src/config/themePluginConfig.js b/web_src/config/themePluginConfig.js new file mode 100644 index 00000000..d35ef8bb --- /dev/null +++ b/web_src/config/themePluginConfig.js @@ -0,0 +1,115 @@ +export default { + theme: [ + { + key: 'dark', + fileName: 'dark.css', + theme: 'dark' + }, + { + key: '#F5222D', + fileName: '#F5222D.css', + modifyVars: { + '@primary-color': '#F5222D' + } + }, + { + key: '#FA541C', + fileName: '#FA541C.css', + modifyVars: { + '@primary-color': '#FA541C' + } + }, + { + key: '#FAAD14', + fileName: '#FAAD14.css', + modifyVars: { + '@primary-color': '#FAAD14' + } + }, + { + key: '#13C2C2', + fileName: '#13C2C2.css', + modifyVars: { + '@primary-color': '#13C2C2' + } + }, + { + key: '#52C41A', + fileName: '#52C41A.css', + modifyVars: { + '@primary-color': '#52C41A' + } + }, + { + key: '#2F54EB', + fileName: '#2F54EB.css', + modifyVars: { + '@primary-color': '#2F54EB' + } + }, + { + key: '#722ED1', + fileName: '#722ED1.css', + modifyVars: { + '@primary-color': '#722ED1' + } + }, + + { + key: '#F5222D', + theme: 'dark', + fileName: 'dark-#F5222D.css', + modifyVars: { + '@primary-color': '#F5222D' + } + }, + { + key: '#FA541C', + theme: 'dark', + fileName: 'dark-#FA541C.css', + modifyVars: { + '@primary-color': '#FA541C' + } + }, + { + key: '#FAAD14', + theme: 'dark', + fileName: 'dark-#FAAD14.css', + modifyVars: { + '@primary-color': '#FAAD14' + } + }, + { + key: '#13C2C2', + theme: 'dark', + fileName: 'dark-#13C2C2.css', + modifyVars: { + '@primary-color': '#13C2C2' + } + }, + { + key: '#52C41A', + theme: 'dark', + fileName: 'dark-#52C41A.css', + modifyVars: { + '@primary-color': '#52C41A' + } + }, + { + key: '#2F54EB', + theme: 'dark', + fileName: 'dark-#2F54EB.css', + modifyVars: { + '@primary-color': '#2F54EB' + } + }, + { + key: '#722ED1', + theme: 'dark', + fileName: 'dark-#722ED1.css', + modifyVars: { + '@primary-color': '#722ED1' + } + } + ] +} diff --git a/web_src/deploy/caddy.conf b/web_src/deploy/caddy.conf new file mode 100644 index 00000000..acd5c0e5 --- /dev/null +++ b/web_src/deploy/caddy.conf @@ -0,0 +1,9 @@ +0.0.0.0:80 { + gzip + root /usr/share/nginx/html + + rewrite { + r .* + to {path} / + } +} \ No newline at end of file diff --git a/web_src/deploy/nginx.conf b/web_src/deploy/nginx.conf new file mode 100644 index 00000000..5ddb66d6 --- /dev/null +++ b/web_src/deploy/nginx.conf @@ -0,0 +1,24 @@ +server { + listen 80; + server_name _; + # gzip config + gzip on; + gzip_min_length 1k; + gzip_comp_level 6; + gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; + gzip_vary on; + gzip_disable "MSIE [1-6]\."; + + root /usr/share/nginx/html; + include /etc/nginx/mime.types; + + location / { + try_files $uri $uri/ /index.html; + } + +# location /api { +# proxy_pass https://preview.pro.antdv.com/api; +# proxy_set_header X-Forwarded-Proto $scheme; +# proxy_set_header X-Real-IP $remote_addr; +# } +} diff --git a/web_src/index.html b/web_src/index.html deleted file mode 100644 index 697e987f..00000000 --- a/web_src/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - 国标28181 - - - - - - - - -
- - - diff --git a/web_src/jest.config.js b/web_src/jest.config.js new file mode 100644 index 00000000..29fee32b --- /dev/null +++ b/web_src/jest.config.js @@ -0,0 +1,23 @@ +module.exports = { + moduleFileExtensions: [ + 'js', + 'jsx', + 'json', + 'vue' + ], + transform: { + '^.+\\.vue$': 'vue-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest' + }, + moduleNameMapper: { + '^@/(.*)$': '/src/$1' + }, + snapshotSerializers: [ + 'jest-serializer-vue' + ], + testMatch: [ + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' + ], + testURL: 'http://localhost/' +} diff --git a/web_src/jsconfig.json b/web_src/jsconfig.json new file mode 100644 index 00000000..1bd0da4c --- /dev/null +++ b/web_src/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es6", + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist"], + "include": ["src/**/*"] +} diff --git a/web_src/package-lock.json b/web_src/package-lock.json deleted file mode 100644 index 2e015944..00000000 --- a/web_src/package-lock.json +++ /dev/null @@ -1,11955 +0,0 @@ -{ - "name": "gb_web", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz", - "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz", - "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", - "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", - "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", - "dev": true - }, - "async-validator": { - "version": "1.8.5", - "resolved": "https://registry.nlark.com/async-validator/download/async-validator-1.8.5.tgz", - "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", - "requires": { - "babel-runtime": "6.x" - } - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true - }, - "autoprefixer": { - "version": "7.2.6", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-7.2.6.tgz?cache=0&sync_timestamp=1601167517316&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-7.2.6.tgz", - "integrity": "sha1-JWZy+G98c12oScTwfQCKuwVgZ9w=", - "dev": true, - "requires": { - "browserslist": "^2.11.3", - "caniuse-lite": "^1.0.30000805", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^6.0.17", - "postcss-value-parser": "^3.2.3" - } - }, - "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "requires": { - "follow-redirects": "1.5.10" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "requires": { - "ms": "2.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&sync_timestamp=1597057997789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz", - "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", - "requires": { - "debug": "=3.1.0" - } - } - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz", - "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz", - "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "dev": true, - "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-vue-jsx-merge-props": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz", - "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=" - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-7.1.5.tgz", - "integrity": "sha1-4+4M1zlKpVfgE7AtPkkr/QeqbWg=", - "dev": true, - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, - "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz?cache=0&sync_timestamp=1589682670915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-transform-es2015-shorthand-properties%2Fdownload%2Fbabel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-vue-jsx": { - "version": "3.7.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.7.0.tgz", - "integrity": "sha1-1ASS5mkqNrWU9+mhko9D6Wl0CWA=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz?cache=0&sync_timestamp=1591204557603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-env%2Fdownload%2Fbabel-preset-env-1.7.0.tgz", - "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - }, - "dependencies": { - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz", - "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - } - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", - "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bfj-node4": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/bfj-node4/download/bfj-node4-5.3.1.tgz", - "integrity": "sha1-4j2LJwV/HQIU/FYRQq2duZjyaDA=", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "check-types": "^7.3.0", - "tryer": "^1.0.0" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz", - "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", - "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", - "dev": true - }, - "bmaplib.curveline": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bmaplib.curveline/-/bmaplib.curveline-1.0.0.tgz", - "integrity": "sha512-9wcFMVhiYxNPqpvsLDAADn3qDhNzXp2mA6VyHSHg2XOAgSooC7ZiujdFhy0sp+0QYjTfJ/MjmLuNoUg2HHxH4Q==" - }, - "bmaplib.heatmap": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bmaplib.heatmap/-/bmaplib.heatmap-1.0.4.tgz", - "integrity": "sha512-rmhqUARBpUSJ9jXzUI2j7dIOqnc38bqubkx/8a349U2qtw/ulLUwyzRD535OrA8G7w5cz4aPKm6/rNvUAarg/Q==" - }, - "bmaplib.lushu": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/bmaplib.lushu/-/bmaplib.lushu-1.0.7.tgz", - "integrity": "sha512-LVvgpESPii6xGxyjnQjq8u+ic4NjvhdCPV/RiSS/PGTUdZKeTDS7prSpleJLZH3ES0+oc0gYn8bw0LtPYUSz2w==" - }, - "bmaplib.markerclusterer": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bmaplib.markerclusterer/-/bmaplib.markerclusterer-1.0.13.tgz", - "integrity": "sha512-VrLyWSiuDEVNi0yUfwOhFQ6z1oEEHS4w36GNu3iASu6p52QIx9uAXMUkuSCHReNR0bj2Cp9SA1dSx5RpojXajQ==", - "requires": { - "bmaplib.texticonoverlay": "^1.0.2" - } - }, - "bmaplib.texticonoverlay": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bmaplib.texticonoverlay/-/bmaplib.texticonoverlay-1.0.2.tgz", - "integrity": "sha512-4ZTWr4ZP3B6qEWput5Tut16CfZgII38YwM3bpyb4gFTQyORlKYryFp9WHWrwZZaHlOyYDAXG9SX0hka43jTADg==" - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.3.tgz", - "integrity": "sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms=", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", - "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", - "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1601898201980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", - "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", - "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", - "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557809886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz", - "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "2.11.3", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-2.11.3.tgz", - "integrity": "sha1-/jYWeu0bvN5IJ+v+cTR6LMcLmbI=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000792", - "electron-to-chromium": "^1.3.30" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz", - "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "caniuse-db": { - "version": "1.0.30001244", - "resolved": "https://registry.nlark.com/caniuse-db/download/caniuse-db-1.0.30001244.tgz?cache=0&sync_timestamp=1626154539434&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-db%2Fdownload%2Fcaniuse-db-1.0.30001244.tgz", - "integrity": "sha1-pt/zJHNkjfCwrg+Z2YeXrft89Fk=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001230", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz", - "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "check-types": { - "version": "7.4.0", - "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-7.4.0.tgz", - "integrity": "sha1-A3jsG5YW7HH3dJMaPGUW+tjBUvQ=", - "dev": true - }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.2.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.2.tgz", - "integrity": "sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", - "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/clap/download/clap-1.2.3.tgz", - "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", - "dev": true, - "requires": { - "chalk": "^1.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz", - "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.3.1.tgz", - "integrity": "sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo=", - "dev": true - }, - "clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz", - "integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=", - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npm.taobao.org/color/download/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz?cache=0&sync_timestamp=1602228058149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "^1.0.0" - } - }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz?cache=0&sync_timestamp=1589682043437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolors%2Fdownload%2Fcolors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz", - "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", - "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", - "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", - "dev": true - }, - "consolidate": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz?cache=0&sync_timestamp=1599596654038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.14.5.tgz", - "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", - "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" - } - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz", - "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", - "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172281856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz", - "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557441827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz", - "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", - "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", - "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.nlark.com/css-loader/download/css-loader-0.28.11.tgz?cache=0&sync_timestamp=1621865230592&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-loader%2Fdownload%2Fcss-loader-0.28.11.tgz", - "integrity": "sha1-w/mGSnAL4nEbtaJGKyOJsaOS2rc=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz?cache=0&sync_timestamp=1601657992127&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.3.tgz?cache=0&sync_timestamp=1595335280942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-selector-tokenizer%2Fdownload%2Fcss-selector-tokenizer-0.7.3.tgz", - "integrity": "sha1-c18mGG5nx0mq8nV4NAXPBmH66PE=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", - "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz?cache=0&sync_timestamp=1599670481279&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz?cache=0&sync_timestamp=1601167517316&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - }, - "dependencies": { - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - } - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - } - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "cuint": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz", - "integrity": "sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o=", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz", - "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279556265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz", - "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz?cache=0&sync_timestamp=1601076806416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz", - "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", - "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", - "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", - "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", - "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", - "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1600028888021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.2.tgz?cache=0&sync_timestamp=1600028450905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.0.2.tgz", - "integrity": "sha1-87blSSAeRvWItZRj3XcYcTH+aXE=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1600028450905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", - "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz", - "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", - "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "echarts": { - "version": "4.9.0", - "resolved": "https://registry.nlark.com/echarts/download/echarts-4.9.0.tgz?cache=0&sync_timestamp=1619495447964&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fecharts%2Fdownload%2Fecharts-4.9.0.tgz", - "integrity": "sha1-qbm6oD8Doqcx5jQMVb77V6nhNH0=", - "requires": { - "zrender": "4.3.2" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1597678424776&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz", - "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.742", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz", - "integrity": "sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q==", - "dev": true - }, - "element-ui": { - "version": "2.15.1", - "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.15.1.tgz?cache=0&sync_timestamp=1614082623756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felement-ui%2Fdownload%2Felement-ui-2.15.1.tgz", - "integrity": "sha1-raAKpuMsAndKLndWPdhGaPgTzf8=", - "requires": { - "async-validator": "~1.8.1", - "babel-helper-vue-jsx-merge-props": "^2.0.0", - "deepmerge": "^1.2.0", - "normalize-wheel": "^1.0.1", - "resize-observer-polyfill": "^1.5.0", - "throttle-debounce": "^1.0.1" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", - "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz", - "integrity": "sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38=", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz", - "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz", - "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz", - "integrity": "sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE=", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - }, - "dependencies": { - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - } - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz", - "integrity": "sha1-utXTwbzawoJp9MszHkMceKxwXRg=", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz", - "integrity": "sha1-ttofFswswNm+Q+a9v8Xn383zHVM=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517795415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz", - "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", - "dev": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/events/download/events-3.2.0.tgz?cache=0&sync_timestamp=1595422602348&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.2.0.tgz", - "integrity": "sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k=", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": ">=0.0.5" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz?cache=0&sync_timestamp=1594145111640&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", - "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz", - "integrity": "sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ=", - "dev": true, - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/type/download/type-2.1.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-2.1.0.tgz", - "integrity": "sha1-m9wixkjPjPht0j0yM2pBz7ZHXj8=", - "dev": true - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - } - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha1-XwQ+qgL5dQqSWLeMCm4NwUCPsvc=", - "dev": true, - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz", - "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-1.1.11.tgz", - "integrity": "sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg=", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.5", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz", - "integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz", - "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", - "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", - "dev": true, - "optional": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz", - "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", - "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597756298124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "fingerprintjs2": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fingerprintjs2/-/fingerprintjs2-2.1.2.tgz", - "integrity": "sha512-ZPsLgjziFRbUb5tXWpEMtWp4XFnzSah8SiNfl3aoURDZ+2zi2tuIOYUULqDBV+Cb6paN+raWT+Q2qpOaCbX/Yw==" - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz", - "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", - "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597057997789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz", - "integrity": "sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "friendly-errors-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/friendly-errors-webpack-plugin/download/friendly-errors-webpack-plugin-1.7.0.tgz", - "integrity": "sha1-78hsu4FiJFZYYaG+ep2E0Kr+oTY=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz", - "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", - "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056464385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", - "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz?cache=0&sync_timestamp=1596709369054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "dev": true - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "requires": { - "delegate": "^3.1.2" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz", - "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-4.1.0.tgz", - "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", - "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", - "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - } - } - }, - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", - "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", - "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz", - "integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", - "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - } - }, - "html-webpack-plugin": { - "version": "2.30.1", - "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz?cache=0&sync_timestamp=1600690506465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-2.30.1.tgz", - "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", - "dev": true, - "requires": { - "bluebird": "^3.4.7", - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "toposort": "^1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1601762324362&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", - "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz", - "integrity": "sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c=", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", - "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.2", - "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.2.tgz", - "integrity": "sha1-7nPcyDSBZa/v6N4v9xd1HRgWCO4=", - "dev": true, - "requires": { - "http-proxy": "^1.18.1", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184325364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz?cache=0&sync_timestamp=1600767333663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", - "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz", - "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-1.0.0.tgz", - "integrity": "sha1-Xk/9wD9P5sAJxnKb6yljHC+CJ7w=", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-1.2.0.tgz?cache=0&sync_timestamp=1596563415126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "^3.3.0" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", - "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz", - "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz", - "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, - "optional": true - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667279942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1599897619557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz", - "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz?cache=0&sync_timestamp=1590172281856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", - "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", - "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "last-call-webpack-plugin": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-2.1.2.tgz", - "integrity": "sha1-rYDG4xCZgpTS7SGApo6VieR2jEQ=", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "webpack-sources": "^1.0.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1601450715716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", - "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", - "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz?cache=0&sync_timestamp=1589682056270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-symbols%2Fdownload%2Flog-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz", - "integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "math-expression-evaluator": { - "version": "1.3.8", - "resolved": "https://registry.nlark.com/math-expression-evaluator/download/math-expression-evaluator-1.3.8.tgz", - "integrity": "sha1-Mg2jsrwVEvT1D8MCCysc1cjp1Xc=", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", - "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/mem/download/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1598693287069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597756298124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1600831212519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz", - "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz", - "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596094012686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", - "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "moment": { - "version": "2.29.1", - "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&sync_timestamp=1601983423917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz", - "integrity": "sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", - "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz", - "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE=", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - } - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317437265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010730714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz", - "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", - "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz?cache=0&sync_timestamp=1597311297466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-5.4.3.tgz", - "integrity": "sha1-y3La+UyTkECY4oucWQ/YZuRkvVA=", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-releases": { - "version": "1.1.72", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", - "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1601463025217&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "normalize-wheel": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz", - "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "dev": true - }, - "object-is": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.3.tgz?cache=0&sync_timestamp=1601503177879&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.3.tgz", - "integrity": "sha1-LjueZVYBN0Ve471irsTZCi6hzIE=", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", - "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597005190531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598733310448&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz", - "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", - "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-3.2.1.tgz?cache=0&sync_timestamp=1598800822300&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-3.2.1.tgz", - "integrity": "sha1-nRhlSg4FjAkL3ZkbBLyw9vJIZXM=", - "dev": true, - "requires": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^2.1.2" - }, - "dependencies": { - "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ora": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/ora/download/ora-1.4.0.tgz?cache=0&sync_timestamp=1599423139882&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-1.4.0.tgz", - "integrity": "sha1-iERYIVs6XUCXWSKF+TMhu3p54uU=", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.1", - "log-symbols": "^2.1.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", - "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559720897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1597081785924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", - "dev": true - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz", - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", - "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz", - "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", - "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz", - "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", - "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", - "dev": true, - "optional": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018172434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz", - "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz", - "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz?cache=0&sync_timestamp=1601732624081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz?cache=0&sync_timestamp=1599670485775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz?cache=0&sync_timestamp=1599674174819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz?cache=0&sync_timestamp=1599674175141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz?cache=0&sync_timestamp=1599674175412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz?cache=0&sync_timestamp=1599670482017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz?cache=0&sync_timestamp=1599670482109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz?cache=0&sync_timestamp=1599672334828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-unused%2Fdownload%2Fpostcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha1-giRf34IzcEFkXkdxFNjlk6oYuOw=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-import": { - "version": "11.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-import/download/postcss-import-11.1.0.tgz", - "integrity": "sha1-Vck2LJGSmU7GiGXSJEGd8dspgfA=", - "dev": true, - "requires": { - "postcss": "^6.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1601607668112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz", - "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz", - "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - } - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.1", - "object-assign": "^4.1.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz", - "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - } - } - }, - "postcss-loader": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-2.1.6.tgz", - "integrity": "sha1-HX3XsXxrojS5vtWvE+C+pApC10A=", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^6.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^0.4.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.5", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz", - "integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz", - "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz?cache=0&sync_timestamp=1599672336407&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-idents%2Fdownload%2Fpostcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz?cache=0&sync_timestamp=1599670482411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz?cache=0&sync_timestamp=1599670482522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz?cache=0&sync_timestamp=1599670482669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz?cache=0&sync_timestamp=1599670482761&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz?cache=0&sync_timestamp=1599670482880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz?cache=0&sync_timestamp=1599670483082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz?cache=0&sync_timestamp=1600776084988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz?cache=0&sync_timestamp=1600778003060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&sync_timestamp=1602187018990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz?cache=0&sync_timestamp=1599670482967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz?cache=0&sync_timestamp=1599670483753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz?cache=0&sync_timestamp=1599670483946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-pxtorem": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-5.1.1.tgz", - "integrity": "sha512-uvgIujL/pn0GbZ+rczESD2orHsbXrrCqi+q9wJO8PCk3ZGCoVVtu5hZTbtk+tbZHZP5UkTfCvqOrTZs9Ncqfsg==", - "requires": { - "postcss": "^7.0.27" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz?cache=0&sync_timestamp=1599672339373&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-idents%2Fdownload%2Fpostcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz?cache=0&sync_timestamp=1599670484036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz?cache=0&sync_timestamp=1599670484213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz?cache=0&sync_timestamp=1601045323543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz?cache=0&sync_timestamp=1599670484324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz?cache=0&sync_timestamp=1599670484407&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-url": { - "version": "7.3.2", - "resolved": "https://registry.npm.taobao.org/postcss-url/download/postcss-url-7.3.2.tgz", - "integrity": "sha1-X+onOAf7hLOMRhw8mp6KvSNfcSA=", - "dev": true, - "requires": { - "mime": "^1.4.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.0", - "postcss": "^6.0.1", - "xxhashjs": "^0.2.1" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz?cache=0&sync_timestamp=1599670556187&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-zindex%2Fdownload%2Fpostcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1600217249280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", - "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz", - "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", - "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz", - "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=", - "dev": true - } - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", - "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz", - "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", - "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", - "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/read-cache/download/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz", - "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.3.tgz", - "integrity": "sha1-YDUPf7JSwKZ+sQ/UaU0WkJlxMA8=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz", - "integrity": "sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz", - "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1600413529161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz?cache=0&sync_timestamp=1590335923060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", - "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", - "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=" - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz", - "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", - "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz?cache=0&sync_timestamp=1589682064084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsax%2Fdownload%2Fsax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - } - }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186082996&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz", - "integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", - "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", - "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", - "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", - "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1596697357985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz", - "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz", - "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.5.tgz?cache=0&sync_timestamp=1596409908572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "dev": true, - "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", - "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", - "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", - "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz", - "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", - "dev": true, - "requires": { - "source-map": "^0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz", - "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", - "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz?cache=0&sync_timestamp=1589682217985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-expression-parse%2Fdownload%2Fspdx-expression-parse-3.0.1.tgz", - "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.6.tgz?cache=0&sync_timestamp=1600286627478&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.6.tgz", - "integrity": "sha1-yAdXODwoq/cpZ0SZjLwQaui4VM4=", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", - "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz", - "integrity": "sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", - "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz", - "integrity": "sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854186823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", - "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", - "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", - "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz", - "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz", - "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "stylehacks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.0.tgz", - "integrity": "sha1-ZLMjlRxKJOX8ey7AbBN78y0VXoo=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^6.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - } - }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - } - }, - "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.2.9.tgz?cache=0&sync_timestamp=1600381257656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-0.2.9.tgz", - "integrity": "sha1-ry2LvJsE907hevK02QSPgHrNGKg=", - "dev": true - }, - "throttle-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz", - "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478647766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz", - "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", - "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", - "dev": true - }, - "time-stamp": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/time-stamp/download/time-stamp-2.2.0.tgz", - "integrity": "sha1-kX4KZpBWiHkOx7u94EBGJZr4P1c=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz", - "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz", - "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=" - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", - "dev": true - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", - "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-1.2.0.tgz", - "integrity": "sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A=", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz?cache=0&sync_timestamp=1596697411295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypedarray%2Fdownload%2Ftypedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1601823880483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", - "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz", - "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", - "dev": true - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha1-dfVIFghYFjoIZD4IbV/v4YpdZ94=", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.5", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz", - "integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz", - "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz?cache=0&sync_timestamp=1601922251376&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-0.4.7.tgz", - "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npm.taobao.org/uglify-es/download/uglify-es-3.3.9.tgz", - "integrity": "sha1-DBxPBwC+2NvBJM2zBNJZLKID5nc=", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - } - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", - "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", - "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", - "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", - "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz?cache=0&sync_timestamp=1598814377097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.0.tgz", - "integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", - "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "mime": "1.3.x" - }, - "dependencies": { - "mime": { - "version": "1.3.6", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz", - "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1601826530476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", - "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", - "dev": true - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz", - "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", - "dev": true - }, - "vue": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1600441238751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz", - "integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM=" - }, - "vue-baidu-map": { - "version": "0.21.22", - "resolved": "https://registry.npmjs.org/vue-baidu-map/-/vue-baidu-map-0.21.22.tgz", - "integrity": "sha512-WQMPCih4UTh0AZCKKH/OVOYnyAWjfRNeK6BIeoLmscyY5aF8zzlJhz/NOHLb3mdztIpB0Z6aohn4Jd9mfCSjQw==", - "requires": { - "bmaplib.curveline": "^1.0.0", - "bmaplib.heatmap": "^1.0.4", - "bmaplib.lushu": "^1.0.7", - "bmaplib.markerclusterer": "^1.0.13", - "markdown-it": "^8.4.0" - } - }, - "vue-clipboard2": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/vue-clipboard2/download/vue-clipboard2-0.3.1.tgz", - "integrity": "sha1-blUft704SImyiw2jsSKJ7WvKSJQ=", - "requires": { - "clipboard": "^2.0.0" - } - }, - "vue-clipboards": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vue-clipboards/-/vue-clipboards-1.3.0.tgz", - "integrity": "sha512-VMDYHpLQH0EUmqfk9b5XMrkvSu/HjNsLW2EBR4OS6JZHcv/PxmWYdoTBPVlp5eYrhWy07La8nWpRwAh09Mgufw==", - "requires": { - "clipboard": "^1.7.1" - }, - "dependencies": { - "clipboard": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz", - "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=", - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - } - } - }, - "vue-cookies": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/vue-cookies/download/vue-cookies-1.7.4.tgz?cache=0&sync_timestamp=1598941352058&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-cookies%2Fdownload%2Fvue-cookies-1.7.4.tgz", - "integrity": "sha1-0kHQoEMdoHlYN2UdELTXPnyNPo0=" - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", - "dev": true - }, - "vue-loader": { - "version": "13.7.3", - "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-13.7.3.tgz?cache=0&sync_timestamp=1600850410121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-13.7.3.tgz", - "integrity": "sha1-4HRA94IwpjnQCtpNp7ltDp1iA38=", - "dev": true, - "requires": { - "consolidate": "^0.14.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "lru-cache": "^4.1.1", - "postcss": "^6.0.8", - "postcss-load-config": "^1.1.0", - "postcss-selector-parser": "^2.0.0", - "prettier": "^1.7.0", - "resolve": "^1.4.0", - "source-map": "^0.6.1", - "vue-hot-reload-api": "^2.2.0", - "vue-style-loader": "^3.0.0", - "vue-template-es2015-compiler": "^1.6.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz", - "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz?cache=0&sync_timestamp=1601607668112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0", - "postcss-load-options": "^1.2.0", - "postcss-load-plugins": "^2.3.0" - } - } - } - }, - "vue-router": { - "version": "3.4.6", - "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.6.tgz?cache=0&sync_timestamp=1602076636169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.6.tgz", - "integrity": "sha1-972iyaQ9OYN2IcmgK6d4n12qJLI=" - }, - "vue-style-loader": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-3.1.2.tgz", - "integrity": "sha1-a2atNJmPyVIMLx5NX6QJFkHBWXo=", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597927391993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz", - "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", - "dev": true - }, - "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.4.tgz?cache=0&sync_timestamp=1600385388649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.4.tgz", - "integrity": "sha1-bp2lOzyAuy1lCBiPWyAEEIZs0ws=", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha1-mUihhmy71suCTeoTp+1pH2yN3/A=", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", - "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.5", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.5.tgz?cache=0&sync_timestamp=1600886864349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.5.tgz", - "integrity": "sha1-GbDouuj0duW6ZmMAOHd1+xoApNo=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz?cache=0&sync_timestamp=1601823880483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz?cache=0&sync_timestamp=1600660100032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", - "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", - "dev": true, - "requires": { - "acorn": "^5.3.0", - "bfj-node4": "^5.2.0", - "chalk": "^2.3.0", - "commander": "^2.13.0", - "ejs": "^2.5.7", - "express": "^4.16.2", - "filesize": "^3.5.11", - "gzip-size": "^4.1.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "opener": "^1.4.3", - "ws": "^4.0.0" - } - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.2.tgz?cache=0&sync_timestamp=1594744509096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-1.12.2.tgz", - "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=", - "dev": true, - "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", - "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.1.2", - "compression": "^1.7.3", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597756298124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz?cache=0&sync_timestamp=1600660100032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz?cache=0&sync_timestamp=1601576779920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&sync_timestamp=1602063025787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz", - "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz", - "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591289007652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz", - "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", - "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", - "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-4.1.0.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-4.1.0.tgz", - "integrity": "sha1-qXm119TaaL9U7+BAiWfDJIaacok=", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&sync_timestamp=1596697437792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", - "dev": true - }, - "xxhashjs": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/xxhashjs/download/xxhashjs-0.2.2.tgz", - "integrity": "sha1-imJRVnYhocRqWuIE2gJJx/jKqdg=", - "dev": true, - "requires": { - "cuint": "^0.2.2" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-8.0.2.tgz?cache=0&sync_timestamp=1600660100032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-7.0.0.tgz?cache=0&sync_timestamp=1601576779920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - }, - "zrender": { - "version": "4.3.2", - "resolved": "https://registry.npm.taobao.org/zrender/download/zrender-4.3.2.tgz", - "integrity": "sha1-7HQy+UFcgsc1hLa3uMR+GwFiCcY=" - } - } -} diff --git a/web_src/package.json b/web_src/package.json index 69d8b6ab..0d35faac 100644 --- a/web_src/package.json +++ b/web_src/package.json @@ -1,73 +1,58 @@ { - "name": "gb_web", - "version": "1.0.0", - "description": "A Vue.js project", - "author": "648540858 <648540858@qq.com>", + "name": "vue-antd-pro", + "version": "3.0.2", "private": true, "scripts": { - "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", - "start": "npm run dev", - "build": "node build/build.js" + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", + "build:preview": "vue-cli-service build --mode preview" }, "dependencies": { - "axios": "^0.19.2", - "core-js": "^2.6.5", + "@ant-design-vue/pro-layout": "^1.0.8", + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/vue-fontawesome": "^2.0.6", + "ant-design-vue": "^1.7.6", + "axios": ">=0.21.1", + "core-js": "^3.1.2", + "enquire.js": "^2.1.6", + "fscreen": "^1.2.0", "echarts": "^4.9.0", - "element-ui": "^2.15.1", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "^4.4.2", + "lodash.pick": "^4.4.0", + "md5": "^2.2.1", "fingerprintjs2": "^2.1.2", - "moment": "^2.29.1", - "postcss-pxtorem": "^5.1.1", - "vue": "^2.6.11", + "moment": "^2.24.0", + "nprogress": "^0.2.0", + "store": "^2.0.12", + "vue": "^2.6.14", "vue-baidu-map": "^0.21.22", - "vue-clipboard2": "^0.3.1", - "vue-clipboards": "^1.3.0", - "vue-cookies": "^1.7.4", - "vue-router": "^3.1.6" + "vue-clipboard2": "^0.2.1", + "vue-cropper": "0.4.9", + "vue-i18n": "^8.17.4", + "vue-quill-editor": "^3.0.6", + "vue-router": "^3.5.2", + "vue-svg-component-runtime": "^1.0.1", + "vuex": "^3.1.1", + "wangeditor": "^3.1.1" }, "devDependencies": { - "autoprefixer": "^7.1.2", - "babel-core": "^6.22.1", - "babel-helper-vue-jsx-merge-props": "^2.0.3", - "babel-loader": "^7.1.1", - "babel-plugin-syntax-jsx": "^6.18.0", - "babel-plugin-transform-runtime": "^6.22.0", - "babel-plugin-transform-vue-jsx": "^3.5.0", - "babel-preset-env": "^1.3.2", - "babel-preset-stage-2": "^6.22.0", - "chalk": "^2.0.1", - "copy-webpack-plugin": "^4.6.0", - "css-loader": "^0.28.11", - "extract-text-webpack-plugin": "^3.0.0", - "file-loader": "^1.1.4", - "friendly-errors-webpack-plugin": "^1.6.1", - "html-webpack-plugin": "^2.30.1", - "node-notifier": "^5.1.2", - "optimize-css-assets-webpack-plugin": "^3.2.0", - "ora": "^1.2.0", - "portfinder": "^1.0.13", - "postcss-import": "^11.0.0", - "postcss-loader": "^2.0.8", - "postcss-url": "^7.2.1", - "rimraf": "^2.6.0", - "semver": "^5.3.0", - "shelljs": "^0.7.6", - "uglifyjs-webpack-plugin": "^1.1.1", - "url-loader": "^0.5.8", - "vue-loader": "^13.3.0", - "vue-style-loader": "^3.0.1", - "vue-template-compiler": "^2.5.2", - "webpack": "^3.6.0", - "webpack-bundle-analyzer": "^2.9.0", - "webpack-dev-server": "^2.9.1", - "webpack-merge": "^4.1.0" - }, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 8" - ] + "@ant-design/colors": "^3.2.1", + "@vue/cli-plugin-babel": "^4.0.4", + "@vue/cli-plugin-router": "^4.0.4", + "@vue/cli-plugin-unit-jest": "^4.0.4", + "@vue/cli-plugin-vuex": "^4.0.4", + "@vue/cli-service": "^4.0.4", + "@vue/test-utils": "^1.0.0-beta.29", + "babel-plugin-import": "^1.12.2", + "babel-plugin-transform-remove-console": "^6.9.4", + "git-revision-webpack-plugin": "^3.0.6", + "less": "^3.0.4", + "less-loader": "^5.0.0", + "vue-svg-icon-loader": "^2.1.1", + "vue-template-compiler": "^2.6.14", + "webpack-theme-color-replacer": "^1.3.12" + } } diff --git a/web_src/postcss.config.js b/web_src/postcss.config.js new file mode 100644 index 00000000..961986e2 --- /dev/null +++ b/web_src/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/web_src/public/avatar2.jpg b/web_src/public/avatar2.jpg new file mode 100644 index 00000000..9adb2d1b Binary files /dev/null and b/web_src/public/avatar2.jpg differ diff --git a/web_src/public/index.html b/web_src/public/index.html new file mode 100644 index 00000000..edd7fe69 --- /dev/null +++ b/web_src/public/index.html @@ -0,0 +1,34 @@ + + + + + + + + Ant Design Pro + + + <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %> + + <% } %> + + + +
+
+

Pro

+
+ +
+
Ant Design
+
+
+ + <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %> + + <% } %> + + + diff --git a/web_src/public/jessibuca/bg.jpg b/web_src/public/jessibuca/bg.jpg new file mode 100644 index 00000000..829850bf Binary files /dev/null and b/web_src/public/jessibuca/bg.jpg differ diff --git a/web_src/public/jessibuca/favicon.ico b/web_src/public/jessibuca/favicon.ico new file mode 100644 index 00000000..dbf50d9d Binary files /dev/null and b/web_src/public/jessibuca/favicon.ico differ diff --git a/web_src/public/jessibuca/ff.js b/web_src/public/jessibuca/ff.js new file mode 100644 index 00000000..af975f3a --- /dev/null +++ b/web_src/public/jessibuca/ff.js @@ -0,0 +1,43 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=1552+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var exports=( +// EMSCRIPTEN_START_ASM +function a(asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(low,high){b[0]=low;b[1]=high}function j(value){c[0]=value}function k(){return c[0]}function l(global,env,buffer){var m=env.memory;var n=wasmTable;var o=new global.Int8Array(buffer);var p=new global.Int16Array(buffer);var q=new global.Int32Array(buffer);var r=new global.Uint8Array(buffer);var s=new global.Uint16Array(buffer);var t=new global.Uint32Array(buffer);var u=new global.Float32Array(buffer);var v=new global.Float64Array(buffer);var w=global.Math.imul;var x=global.Math.fround;var y=global.Math.abs;var z=global.Math.clz32;var A=global.Math.min;var B=global.Math.max;var C=global.Math.floor;var D=global.Math.ceil;var E=global.Math.sqrt;var F=env.abort;var G=global.NaN;var H=global.Infinity;var I=env.abort;var J=env._emval_decref;var K=env.emscripten_log;var L=env._emval_new_cstring;var M=env._emval_get_method_caller;var N=env._embind_register_memory_view;var O=env._emval_call_void_method;var P=env._emval_run_destructors;var Q=env._embind_register_integer;var R=env._emval_take_value;var S=env._emval_as;var T=env._emval_incref;var U=env._emval_get_property;var V=env._embind_register_class_property;var W=env._embind_register_class_function;var X=env._emval_set_property;var Y=env.clock;var Z=env._emval_get_global;var _=env._embind_register_std_wstring;var $=env._emval_call;var aa=env._embind_register_float;var ba=env._embind_register_class_class_function;var ca=env._embind_register_std_string;var da=env.fd_write;var ea=env.fd_close;var fa=env._emval_call_method;var ga=env._embind_register_class;var ha=env.fd_seek;var ia=env.setTempRet0;var ja=env.emscripten_memcpy_big;var ka=env.emscripten_resize_heap;var la=env._embind_register_emval;var ma=env._embind_register_bool;var na=env._embind_register_void;var oa=env.environ_get;var pa=env.environ_sizes_get;var qa=env.__syscall3;var ra=env.fd_fdstat_get;var sa=env.__syscall5;var ta=env.__syscall221;var ua=env.gettimeofday;var va=env.round;var wa=env._embind_create_inheriting_constructor;var xa=env.__cxa_throw;var ya=env.__cxa_allocate_exception;var za=env._emval_new_object;var Aa=env._emval_new;var Ba=env.init;var Ca=8706768;var Da=0; +// EMSCRIPTEN_START_FUNCS +function Oo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;i=Ca-112|0;Ca=i;z=q[q[a+28220>>2]+64>>2];V=q[a+28224>>2];k=q[V+12>>2];I=q[a+25672>>2];c=q[b+21788>>2];d=q[b+21792>>2];H=c+w(d,q[a+27024>>2])|0;q[b+21796>>2]=H;a:{b:{if(q[b+840>>2]==1){break b}c:{if(!(!q[b+21648>>2]|(!(d&1)|!q[a+26384>>2]))){c=q[b+21652>>2];break c}c=No(a,b,c,d)}if(!c){break b}d:{if(!q[a+26384>>2]|o[b+21792|0]&1){break d}q[q[a+24364>>2]+(H<<2)>>2]=2048;c=No(a,b,q[b+21788>>2],q[b+21792>>2]+1|0);q[b+21652>>2]=c;if(c){break d}c=Mo(a,b);q[b+21832>>2]=c;q[b+21828>>2]=c}RE(a,b);c=0;p[q[a+26400>>2]+(H<<1)>>1]=0;o[q[a+26404>>2]+H|0]=0;q[b+864>>2]=0;break a}if(!(!q[a+26384>>2]|o[b+21792|0]&1)){c=Mo(a,b);q[b+21832>>2]=c;q[b+21828>>2]=c}q[b+21648>>2]=0;Bk(a,b,0-q[b+21828>>2]|0);d=i;c=q[b+840>>2]+ -2|0;e:{f:{g:{if(c>>>0<=1){if(!(c-1)){h:{c=i;m=b+32856|0;g=0;i:{if(!_a(m,((((q[b+21732>>2]+ -1>>>8^-1)&1)-(q[b+21740>>2]+ -1>>>8&1)|0)+b|0)+32932|0)){break i}if(!_a(m,b+32934|0)){g=_a(m,b+32936|0)+1|0;break i}g=_a(m,b+32935|0);h=b+32936|0;e=(((_a(m,h)<<2)+(g<<3)|0)+(_a(m,h)<<1)|0)+_a(m,h)|0;if((e|0)<=7){g=e+3|0;break i}g=e+ -13|0;if(g>>>0<=2){j:{switch(g-1|0){case 0:g=11;break i;case 1:break j;default:break h}}g=22;break i}g=(_a(m,h)+(e<<1)|0)+ -4|0}q[c+108>>2]=g;d=g<<2;c=s[d+152592>>1];q[i+108>>2]=c;d=r[d+152594|0];break e}c=Ak(b,32,0);break g}g=b+32856|0;if(!_a(g,b+32918|0)){e=i;k:{if(!_a(g,b+32919|0)){c=w(_a(g,b+32920|0),3);break k}c=2-_a(g,b+32921|0)|0}d=c<<2;c=s[d+152544>>1];q[e+108>>2]=c;d=r[d+152546|0];break e}c=Ak(b,17,0);break g}c=Ak(b,3,1);q[i+108>>2]=c;if(!c|q[b+836>>2]!=5){break f}c=c+ -1|0}q[d+108>>2]=c}d=c<<2;q[b+21660>>2]=r[d+152434|0];c=s[d+152432>>1];q[i+108>>2]=c;J=r[d+152435|0];d=0}if(q[b+21828>>2]){c=c|128;q[i+108>>2]=c}p[q[a+26380>>2]+(H<<1)>>1]=q[b+832>>2];if(c&4){c=-1;g=q[b+32876>>2];d=q[b+32872>>2];f=q[b+32856>>2];d=f&1?d+ -1|0:d;f=f&511?d+ -1|0:d;d=w(q[V+1700>>2],s[(q[V+12>>2]<<1)+153656>>1])>>3;if((g-f|0)<(d|0)){break a}q[b+27780>>2]=f;c=d+f|0;c=Ol(b+32856|0,c,g-c|0);if((c|0)<0){break a}p[q[a+26400>>2]+(H<<1)>>1]=63471;o[q[a+26404>>2]+H|0]=0;o[q[a+24340>>2]+H|0]=0;Za(q[a+25980>>2]+w(H,48)|0,16,48);q[q[a+24364>>2]+(H<<2)>>2]=q[i+108>>2];q[b+864>>2]=0;c=0;break a}X=k+ -1|0;Lo(a,b,c);l:{m:{n:{o:{p:{if(c&7){if(c&1){if(!z){break p}if(!_a(b+32856|0,(q[b+21840>>2]+b|0)+33303|0)){break p}q[i+108>>2]=c|16777216;c=0;while(1){if(c>>>0>15){break o}g=r[c+154016|0]+b|0;f=o[g+21656|0];d=o[g+21663|0];d=(d|0)>(f|0)?f:d;d=w(Ko(b,(d|0)<0?2:d),257);p[g+21672>>1]=d;p[g+21664>>1]=d;c=c+4|0;continue}}c=Ri(q[a+4>>2],q[b+21760>>2],q[b+21768>>2],q[b+21660>>2],0);q[b+21660>>2]=c;if((c|0)<0){break l}break n}q:{if((d&255)==4){c=0;r:{if(q[b+840>>2]==3){while(1){if((c|0)!=4){d=(PE(b)&65535)<<2;q[(i+80|0)+(c<<2)>>2]=r[d+152690|0];p[((c<<1)+b|0)+28552>>1]=s[d+152688>>1];c=c+1|0;continue}break}if(!((s[b+28558>>1]|(s[b+28556>>1]|(s[b+28554>>1]|s[b+28552>>1])))&256)){break r}Xe(a,b,i+108|0);o[b+28326|0]=254;o[b+28302|0]=254;o[b+28342|0]=254;o[b+28286|0]=254;c=0;while(1){if((c|0)==4){break r}f=r[(c<<2)+154016|0]+b|0;d=w(s[((c<<1)+b|0)+28552>>1]>>>1&255,257);p[f+28520>>1]=d;p[f+28512>>1]=d;c=c+1|0;continue}}while(1){if((c|0)==4){break r}d=(OE(b)&65535)<<2;q[(i+80|0)+(c<<2)>>2]=r[d+152578|0];p[((c<<1)+b|0)+28552>>1]=s[d+152576>>1];c=c+1|0;continue}}d=0;s:while(1){h=q[b+23412>>2];if(d>>>0>=h>>>0){break q}k=4096<<(d<<1);g=((d<<2)+b|0)+23404|0;c=0;while(1){t:{u:{if((c|0)!=4){f=s[((c<<1)+b|0)+28552>>1];if(f&256){break t}if(!(f&k)){h=-1;break u}h=0;f=q[g>>2]<>2];if(f>>>0<2){break u}h=Vi(b,d,c<<2);if(h>>>0>>0){break u}a=q[a+4>>2];q[i+4>>2]=f;q[i>>2]=h;Ta(a,16,4126,i);break l}d=d+1|0;continue s}f=r[(c<<2)+154016|0]+(w(d,40)+b|0)|0;o[f+28280|0]=h;o[f+28281|0]=h;o[f+28273|0]=h}c=c+1|0;continue}}}if(c&256){Xe(a,b,i+108|0);c=b+28504|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28488|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28472|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28456|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28424|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28408|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28392|0;q[c>>2]=0;q[c+4>>2]=0;c=b+28376|0;q[c>>2]=0;q[c+4>>2]=0;z=q[V+72>>2]&z;break m}if(c&8){d=q[i+108>>2];c=0;while(1){h=q[b+23412>>2];if(c>>>0>=h>>>0){A=0;f=0;while(1){if(A>>>0>=h>>>0){break m}if(q[i+108>>2]>>>(A<<1)&4096){g=w(A,40)+b|0;m=r[g+28283|0];n=r[g+28276|0];e=r[g+28284|0];j=w(A,160)+b|0;d=r[g+28280|0];c=j+27984|0;v:{if((d|0)!=254){break v}d=r[g+28275|0];c=j+27964|0}h=j+27968|0;k=j+27996|0;g=d&255;d=(((e|0)==(m|0))+((e|0)==(n|0))|0)+((g|0)==(e|0))|0;w:{if(d>>>0>=2){e=ob(p[k>>1],p[h>>1],p[c>>1]);d=ob(p[j+27998>>1],p[j+27970>>1],p[c+2>>1]);break w}if((d|0)==1){if((e|0)==(m|0)){e=p[k>>1];d=p[j+27998>>1];break w}if((e|0)==(n|0)){e=p[h>>1];d=p[j+27970>>1];break w}e=p[c>>1];d=p[c+2>>1];break w}e=p[k>>1];if(!((m|0)==254|(n|0)!=254|(g|0)!=254)){d=p[j+27998>>1];break w}e=ob(e,p[h>>1],p[c>>1]);d=ob(p[j+27998>>1],p[j+27970>>1],p[c+2>>1])}n=w(A,80)+b|0;k=r[n+28361|0];g=r[n+28375|0];B=0;c=-1094995529;h=ie(b,40,r[n+28360|0]+r[n+28374|0]|0,i+80|0);g=ie(b,47,g+k|0,i+76|0);if(!((h|0)==-2147483648|(g|0)==-2147483648)){c=w(r[i+80|0]|q[i+76>>2]<<8&65280,65537);q[n+28428>>2]=c;q[n+28424>>2]=c;q[n+28412>>2]=c;q[n+28408>>2]=c;q[n+28396>>2]=c;q[n+28392>>2]=c;q[n+28380>>2]=c;q[n+28376>>2]=c;c=e+h&65535|d+g<<16;q[j+28108>>2]=c;q[j+28104>>2]=c;q[j+28100>>2]=c;q[j+28096>>2]=c;q[j+28076>>2]=c;q[j+28072>>2]=c;q[j+28068>>2]=c;q[j+28064>>2]=c;q[j+28044>>2]=c;q[j+28040>>2]=c;q[j+28036>>2]=c;q[j+28032>>2]=c;q[j+28012>>2]=c;q[j+28008>>2]=c;q[j+28004>>2]=c;q[j+28e3>>2]=c;B=1;c=f}if(!B){break a}h=q[b+23412>>2];f=c}A=A+1|0;continue}}x:{if(d>>>(c<<1)&4096){A=0;f=q[((c<<2)+b|0)+23404>>2]<>2];if(f>>>0>=2){A=Vi(b,c,0);if(A>>>0>=f>>>0){break x}}g=w(c,40)+b|0;f=w(A,16843009);q[g+28308>>2]=f;q[g+28300>>2]=f;q[g+28292>>2]=f;q[g+28284>>2]=f}c=c+1|0;continue}break}a=q[a+4>>2];q[i+68>>2]=f;q[i+64>>2]=A;Ta(a,16,4126,i- -64|0);break l}d=0;m=q[i+108>>2];if(c&16){y:{while(1){c=q[b+23412>>2];if(d>>>0>>0){e=d<<1;k=((d<<2)+b|0)+23404|0;c=0;while(1){if((c|0)!=2){if(m>>>c+e&4096){h=0;g=q[k>>2]<>2];if(g>>>0>=2){h=Vi(b,d,c<<3);if(h>>>0>=g>>>0){break y}}h=w(h,16843009)}else{h=-1}g=(w(d,40)+b|0)+(c<<4|12)|0;q[g+28280>>2]=h;q[g+28272>>2]=h;c=c+1|0;continue}break}d=d+1|0;continue}break}d=0;z:while(1){if(!f&n>>>0>=c>>>0|f>>>0>0){break m}g=n;j=g<<1;Q=12288<>2]>>>e&4096){O=m<<4|12;D=o[(O+F|0)+28272|0];P=h<<3;E:{if(!(g|m)){if(r[A|0]!=(D&255)){break E}D=p[T>>1];e=p[L>>1];break B}if(r[C|0]!=(D&255)){break E}D=p[G>>1];e=p[W>>1];break B}S=x+27952|0;y=r[P+154016|0];E=y+ -8|0;M=E<<2;c=y+ -1|0;K=c<<2;l=F+28272|0;u=y+ -4|0;e=o[l+u|0];N=r[c+l|0];B=r[l+E|0];F:{if((y&7)!=4){break F}c=m<<3;l=c&31;if(!((32<=(c&63)>>>0?458751>>>l|0:((1<>>l)&1)|(e|0)!=-2|(!q[a+26384>>2]|r[U|0]==254)){break F}l=q[q[a+24312>>2]+48>>2];q[k>>2]=0;E=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!E){break F}c=q[a+27024>>2];e=c+q[b+21720>>2]|0;u=(q[b+21792>>2]<<1&2)+(y>>>5|0)|0;if(!(Q&q[l+(e+w(c,u>>>2|0)<<2)>>2])){break D}E=q[a+24312>>2]+(v<<2)|0;e=e<<2;c=q[E+36>>2]+(q[e+q[a+26368>>2]>>2]+w(u,q[a+26376>>2])<<2)|0;p[k>>1]=s[c+12>>1];p[R>>1]=s[c+14>>1]<<1;e=o[q[E+68>>2]+((u&14)+(e|1)|0)|0]>>1;c=k;break C}if(E){break F}e=c&31;u=q[((((32<=(c&63)>>>0?458751>>>e|0:((1<>>e)&1)<<2)+b|0)+21720>>2]<<2;if(!(Q&q[u+l>>2])){break D}E=q[a+24312>>2]+(v<<2)|0;e=y>>>2|0;c=q[E+36>>2]+(q[u+q[a+26368>>2]>>2]+w(q[a+26376>>2],e&3)<<2)|0;p[k>>1]=s[c+12>>1];p[R>>1]=p[c+14>>1]/2;e=o[q[E+68>>2]+(u|e&2|1)|0]<<1;c=k;break C}if((e|0)!=-2){c=(x+(u<<2)|0)+27952|0;break C}e=y+ -9|0;c=(x+(e<<2)|0)+27952|0;e=o[(e+F|0)+28272|0];break C}E=m<<4|12;e=(w(v,80)+b|0)+(E<<1)|0;c=e+28368|0;q[c>>2]=0;q[c+4>>2]=0;c=e+28352|0;q[c>>2]=0;q[c+4>>2]=0;e=x+(E<<2)|0;c=e+27960|0;q[c>>2]=0;q[c+4>>2]=0;c=e+27992|0;q[c>>2]=0;q[c+4>>2]=0;c=e+27984|0;q[c>>2]=0;q[c+4>>2]=0;c=e+27952|0;q[c>>2]=0;q[c+4>>2]=0;c=d;break A}c=n+1|0;if(c>>>0<1){f=f+1|0}n=c;c=q[b+23412>>2];continue z}e=-1;c=k}y=M+S|0;l=K+S|0;u=D&255;E=(((u|0)==(N|0))+((u|0)==(B|0))|0)+((e|0)==(D|0))|0;if(E>>>0>=2){D=ob(p[l>>1],p[y>>1],p[c>>1]);e=ob(p[l+2>>1],p[y+2>>1],p[c+2>>1]);break B}if((E|0)==1){if((u|0)==(N|0)){D=p[l>>1];e=p[(x+K|0)+27954>>1];break B}if((u|0)==(B|0)){D=p[y>>1];e=p[(x+M|0)+27954>>1];break B}D=p[c>>1];e=p[c+2>>1];break B}D=p[l>>1];if(!((N|0)==254|(B|0)!=254|(e|0)!=-2)){e=p[(x+K|0)+27954>>1];break B}D=ob(D,p[y>>1],p[c>>1]);e=ob(p[l+2>>1],p[y+2>>1],p[c+2>>1])}l=w(v,80)+b|0;c=l+(r[P+154016|0]<<1)|0;u=r[c+28337|0];E=r[c+28351|0];M=ie(b,40,r[c+28336|0]+r[c+28350|0]|0,i+80|0);B=0;c=-1094995529;E=ie(b,47,u+E|0,i+76|0);if(!((M|0)==-2147483648|(E|0)==-2147483648)){B=1;u=l+(O<<1)|0;c=w(r[i+80|0]|q[i+76>>2]<<8&65280,65537);q[u+28372>>2]=c;q[u+28368>>2]=c;q[u+28356>>2]=c;q[u+28352>>2]=c;u=x+(O<<2)|0;c=D+M&65535|e+E<<16;q[u+27996>>2]=c;q[u+27992>>2]=c;q[u+27988>>2]=c;q[u+27984>>2]=c;q[u+27964>>2]=c;q[u+27960>>2]=c;q[u+27956>>2]=c;q[u+27952>>2]=c;c=d}if(!B){break a}}h=h+1|0;d=m+1|0;if(d>>>0<1){g=g+1|0}m=d;d=c;continue}}}a=q[a+4>>2];q[i+52>>2]=g;q[i+48>>2]=h;Ta(a,16,4126,i+48|0);break l}while(1){G:{H:{c=q[b+23412>>2];if(d>>>0>>0){e=d<<1;k=((d<<2)+b|0)+23404|0;c=0;while(1){if((c|0)==2){break G}if(m>>>c+e&4096){h=0;g=q[k>>2]<>2];if(g>>>0>=2){h=Vi(b,d,c<<2);if(h>>>0>=g>>>0){break H}}g=w(h,257)}else{g=65535}h=(w(d,40)+b|0)+(c<<1)|0;p[h+28308>>1]=g;p[h+28300>>1]=g;p[h+28292>>1]=g;p[h+28284>>1]=g;c=c+1|0;continue}}d=0;I:while(1){if(!f&n>>>0>=c>>>0|f>>>0>0){break m}g=n;E=g<<1;Q=12288<>2]>>>e&4096){P=(m<<1)+12|0;D=o[(P+F|0)+28272|0];S=h<<2;N:{if(!(g|m)){if(r[O|0]!=(D&255)){break N}D=p[U>>1];e=p[T>>1];break K}e=j;B=r[W|0];if((B|0)==254){B=r[A|0];e=v}if((B&255)!=(D&255)){break N}D=p[e>>1];e=p[e+2>>1];break K}M=x+27952|0;y=r[S+154016|0];l=y+ -8|0;L=l<<2;c=y+ -1|0;K=c<<2;G=F+28272|0;C=y+ -6|0;e=o[G+C|0];N=r[c+G|0];B=r[l+G|0];O:{if((y&7)!=4){break O}c=m<<2;G=c&31;if(!((32<=(c&63)>>>0?458751>>>G|0:((1<>>G)&1)|(e|0)!=-2|(!q[a+26384>>2]|r[O|0]==254)){break O}G=q[q[a+24312>>2]+48>>2];q[k>>2]=0;l=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!l){break O}c=q[a+27024>>2];e=c+q[b+21720>>2]|0;C=(q[b+21792>>2]<<1&2)+(y>>>5|0)|0;if(!(Q&q[G+(e+w(c,C>>>2|0)<<2)>>2])){break M}l=q[a+24312>>2]+(u<<2)|0;e=e<<2;c=q[l+36>>2]+(q[e+q[a+26368>>2]>>2]+w(C,q[a+26376>>2])<<2)|0;p[k>>1]=s[c+12>>1];p[R>>1]=s[c+14>>1]<<1;e=o[q[l+68>>2]+((C&14)+(e|1)|0)|0]>>1;c=k;break L}if(l){break O}e=c&31;C=q[((((32<=(c&63)>>>0?458751>>>e|0:((1<>>e)&1)<<2)+b|0)+21720>>2]<<2;if(!(Q&q[C+G>>2])){break M}l=q[a+24312>>2]+(u<<2)|0;e=y>>>2|0;c=q[l+36>>2]+(q[C+q[a+26368>>2]>>2]+w(q[a+26376>>2],e&3)<<2)|0;p[k>>1]=s[c+12>>1];p[R>>1]=p[c+14>>1]/2;e=o[q[l+68>>2]+(C|e&2|1)|0]<<1;c=k;break L}if((e|0)!=-2){c=(x+(C<<2)|0)+27952|0;break L}e=y+ -9|0;c=(x+(e<<2)|0)+27952|0;e=o[(e+F|0)+28272|0];break L}c=(m<<1)+12|0;e=(w(u,80)+b|0)+(c<<1)|0;q[e+28400>>2]=0;q[e+28384>>2]=0;q[e+28368>>2]=0;q[e+28352>>2]=0;e=x+(c<<2)|0;c=e+28048|0;q[c>>2]=0;q[c+4>>2]=0;c=e+28016|0;q[c>>2]=0;q[c+4>>2]=0;c=e+27984|0;q[c>>2]=0;q[c+4>>2]=0;c=e+27952|0;q[c>>2]=0;q[c+4>>2]=0;c=d;break J}c=n+1|0;if(c>>>0<1){f=f+1|0}n=c;c=q[b+23412>>2];continue I}e=-1;c=k}y=M+L|0;G=M+K|0;C=D&255;l=(((C|0)==(N|0))+((B|0)==(C|0))|0)+((e|0)==(D|0))|0;if(l>>>0>=2){D=ob(p[G>>1],p[y>>1],p[c>>1]);e=ob(p[G+2>>1],p[y+2>>1],p[c+2>>1]);break K}if((l|0)==1){if((C|0)==(N|0)){D=p[G>>1];e=p[(x+K|0)+27954>>1];break K}if((B|0)==(C|0)){D=p[y>>1];e=p[(x+L|0)+27954>>1];break K}D=p[c>>1];e=p[c+2>>1];break K}D=p[G>>1];if(!((N|0)==254|(B|0)!=254|(e|0)!=-2)){e=p[(x+K|0)+27954>>1];break K}D=ob(D,p[y>>1],p[c>>1]);e=ob(p[G+2>>1],p[y+2>>1],p[c+2>>1])}G=w(u,80)+b|0;c=G+(r[S+154016|0]<<1)|0;C=r[c+28337|0];l=r[c+28351|0];L=ie(b,40,r[c+28336|0]+r[c+28350|0]|0,i+80|0);B=0;c=-1094995529;l=ie(b,47,l+C|0,i+76|0);if(!((L|0)==-2147483648|(l|0)==-2147483648)){B=1;C=G+(P<<1)|0;c=w(r[i+80|0]|q[i+76>>2]<<8&65280,65537);q[C+28400>>2]=c;q[C+28384>>2]=c;q[C+28368>>2]=c;q[C+28352>>2]=c;C=x+(P<<2)|0;c=D+L&65535|e+l<<16;q[C+28052>>2]=c;q[C+28048>>2]=c;q[C+28020>>2]=c;q[C+28016>>2]=c;q[C+27988>>2]=c;q[C+27984>>2]=c;q[C+27956>>2]=c;q[C+27952>>2]=c;c=d}if(!B){break a}}h=h+1|0;d=m+1|0;if(d>>>0<1){g=g+1|0}m=d;d=c;continue}}}a=q[a+4>>2];q[i+36>>2]=g;q[i+32>>2]=h;Ta(a,16,4126,i+32|0);break l}d=d+1|0;continue}}if(z){c=q[q[a+28224>>2]+72>>2];n=!(q[b+28552>>2]&(c?7340144:24117616)|q[b+28556>>2]&(c?7340144:24117616))}c=0;P:while(1){if(x>>>0>>0){d=x<<1;S=12288<>1];if(f&256){break R}if(!(f&W)){break S}d=q[L+(i+80|0)>>2];C=(d|0)>0?d:0;T=f&24?2:1;l=f&32;u=f&16;E=f&8;m=0;g=0;while(1){f=c;if(!g&(m|0)==(C|0)){break Q}N=F+27952|0;d=L+w(m,T)|0;y=r[d+154016|0];B=y+ -8|0;U=B<<2;A=y+ -1|0;Q=A<<2;j=w(x,80);c=K+28272|0;z=o[c+y|0];R=r[c+A|0];O=r[c+B|0];h=B+T|0;c=o[h+c|0];T:{U:{V:{if((y&7)!=4){break V}v=d&31;if(!((32<=(d&63)>>>0?458751>>>v|0:((1<>>v)&1)|(c|0)!=-2|(!q[a+26384>>2]|r[G|0]==254)){break V}v=q[q[a+24312>>2]+48>>2];q[k>>2]=0;e=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!e){break V}c=q[a+27024>>2];d=c+q[b+21720>>2]|0;h=(q[b+21792>>2]<<1&2)+(y>>>5|0)|0;if(!(S&q[v+(d+w(c,h>>>2|0)<<2)>>2])){break U}e=q[a+24312>>2]+(x<<2)|0;d=d<<2;c=q[e+36>>2]+(q[d+q[a+26368>>2]>>2]+w(h,q[a+26376>>2])<<2)|0;p[k>>1]=s[c+12>>1];p[M>>1]=s[c+14>>1]<<1;c=o[q[e+68>>2]+((h&14)+(d|1)|0)|0]>>1;d=k;break T}if(e){break V}c=d&31;h=q[((((32<=(d&63)>>>0?458751>>>c|0:((1<>>c)&1)<<2)+b|0)+21720>>2]<<2;if(!(S&q[h+v>>2])){break U}e=q[a+24312>>2]+(x<<2)|0;d=y>>>2|0;c=q[e+36>>2]+(q[h+q[a+26368>>2]>>2]+w(q[a+26376>>2],d&3)<<2)|0;p[k>>1]=s[c+12>>1];p[M>>1]=p[c+14>>1]/2;c=o[q[e+68>>2]+(h|d&2|1)|0]<<1;d=k;break T}if((c|0)!=-2){d=(F+(h<<2)|0)+27952|0;break T}c=y+ -9|0;d=(F+(c<<2)|0)+27952|0;c=o[(c+K|0)+28272|0];break T}c=-1;d=k}P=b+j|0;v=N+U|0;j=N+Q|0;h=z&255;e=(((h|0)==(R|0))+((h|0)==(O|0))|0)+((c|0)==(z|0))|0;W:{if(e>>>0>=2){e=ob(p[j>>1],p[v>>1],p[d>>1]);d=ob(p[j+2>>1],p[v+2>>1],p[d+2>>1]);break W}if((e|0)==1){if((h|0)==(R|0)){e=p[j>>1];d=p[(F+Q|0)+27954>>1];break W}if((h|0)==(O|0)){e=p[v>>1];d=p[(F+U|0)+27954>>1];break W}e=p[d>>1];d=p[d+2>>1];break W}e=p[j>>1];if(!((R|0)==254|(O|0)!=254|(c|0)!=-2)){d=p[(F+Q|0)+27954>>1];break W}e=ob(e,p[v>>1],p[d>>1]);d=ob(p[j+2>>1],p[v+2>>1],p[d+2>>1])}c=P+28352|0;v=c+(B<<1)|0;j=r[v+1|0];c=c+(A<<1)|0;h=r[c+1|0];v=ie(b,40,r[v|0]+r[c|0]|0,i+76|0);A=0;c=-1094995529;h=ie(b,47,h+j|0,i+72|0);if(!((v|0)==-2147483648|(h|0)==-2147483648)){c=y<<2;A=c+N|0;j=(P+(y<<1)|0)+28352|0;h=d+h|0;d=e+v|0;X:{if(E){p[A+32>>1]=d;p[A+36>>1]=d;p[A+4>>1]=d;p[A+38>>1]=h;p[A+34>>1]=h;p[A+6>>1]=h;B=q[i+76>>2];o[j+16|0]=B;o[j+18|0]=B;o[j+2|0]=B;z=q[i+72>>2];o[j+17|0]=z;o[j+19|0]=z;o[j+3|0]=z;break X}if(u){p[A+4>>1]=d;p[A+6>>1]=h;B=q[i+76>>2];o[j+2|0]=B;z=q[i+72>>2];o[j+3|0]=z;break X}if(!l){z=q[i+72>>2];B=q[i+76>>2];break X}p[A+32>>1]=d;p[A+34>>1]=h;B=q[i+76>>2];o[j+16|0]=B;z=q[i+72>>2];o[j+17|0]=z}p[A>>1]=d;p[(c+F|0)+27954>>1]=h;o[j|0]=B;A=1;o[(P+(y<<1)|0)+28353|0]=z;c=f}f=g;d=m+1|0;if(d>>>0<1){f=f+1|0}m=d;g=f;if(A){continue}break}break a}x=x+1|0;h=q[b+23412>>2];continue P}f=F+(g<<2)|0;d=f+27984|0;q[d>>2]=0;q[d+4>>2]=0;d=f+27952|0;q[d>>2]=0;q[d+4>>2]=0}d=(w(x,80)+b|0)+(g<<1)|0;q[d+28368>>2]=0;q[d+28352>>2]=0}D=D+1|0;continue}}break}z=n;break m}c=0;while(1){if((c|0)==16){break o}d=r[c+154016|0]+b|0;f=o[d+21656|0];g=d+21664|0;d=o[d+21663|0];d=(d|0)>(f|0)?f:d;Y=g,Z=Ko(b,(d|0)<0?2:d),o[Y|0]=Z;c=c+1|0;continue}}c=q[b+21704>>2]+q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]|0;q[c>>2]=q[b+21700>>2];o[c+4|0]=r[b+21695|0];o[c+5|0]=r[b+21687|0];o[c+6|0]=r[b+21679|0];if((zo(b+21664|0,q[a+4>>2],q[b+21760>>2],q[b+21768>>2])|0)<0){break l}}if(X>>>0<=1){c=NE(a,b);o[q[a+26404>>2]+H|0]=c;c=Ri(q[a+4>>2],q[b+21760>>2],q[b+21768>>2],c,1);if((c|0)<0){break l}q[b+21656>>2]=c;break m}q[b+21656>>2]=6}Y:{if(!(r[i+108|0]&120)){break Y}o[q[a+26404>>2]+H|0]=0;m=q[a+26376>>2];k=(w(m,q[b+21792>>2])<<2)+(q[b+21788>>2]<<2)|0;e=q[b+21796>>2]<<2;h=q[i+108>>2];Z:{if(h&12288){d=b+28e3|0;c=q[d+4>>2];n=q[a+24352>>2]+(k<<2)|0;q[n>>2]=q[d>>2];q[n+4>>2]=c;d=b+28008|0;c=q[d+4>>2];q[n+8>>2]=q[d>>2];q[n+12>>2]=c;d=b+28032|0;c=q[d+4>>2];g=n+(m<<2)|0;f=g;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28040|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;d=b+28064|0;c=q[d+4>>2];g=n+(m<<3)|0;f=g;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28072|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;d=b+28096|0;c=q[d+4>>2];f=n+w(m,12)|0;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28104|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;f=q[b+32848>>2]+(q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]<<1)|0;_:{if(h&2048){q[f>>2]=0;q[f+4>>2]=0;q[f+8>>2]=0;q[f+12>>2]=0;break _}d=b+28424|0;c=q[d+4>>2];q[f>>2]=q[d>>2];q[f+4>>2]=c;p[f+12>>1]=s[b+28382>>1];p[f+10>>1]=s[b+28398>>1];p[f+8>>1]=s[b+28414>>1]}c=e+q[a+24384>>2]|0;o[c|0]=r[b+28284|0];o[c+1|0]=r[b+28286|0];o[c+2|0]=r[b+28300|0];o[c+3|0]=r[b+28302|0];break Z}c=e+q[a+24384>>2]|0;p[c>>1]=-1;p[c+2>>1]=65535}if(h&49152){d=b+28160|0;c=q[d+4>>2];g=q[a+24356>>2]+(k<<2)|0;q[g>>2]=q[d>>2];q[g+4>>2]=c;d=b+28168|0;c=q[d+4>>2];q[g+8>>2]=q[d>>2];q[g+12>>2]=c;d=b+28192|0;c=q[d+4>>2];f=g+(m<<2)|0;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28200|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;d=b+28224|0;c=q[d+4>>2];f=g+(m<<3)|0;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28232|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;d=b+28256|0;c=q[d+4>>2];f=g+w(m,12)|0;q[f>>2]=q[d>>2];q[f+4>>2]=c;d=b+28264|0;c=q[d+4>>2];q[f+8>>2]=q[d>>2];q[f+12>>2]=c;f=q[b+32852>>2]+(q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]<<1)|0;$:{if(h&2048){q[f>>2]=0;q[f+4>>2]=0;q[f+8>>2]=0;q[f+12>>2]=0;break $}d=b+28504|0;c=q[d+4>>2];q[f>>2]=q[d>>2];q[f+4>>2]=c;p[f+12>>1]=s[b+28462>>1];p[f+10>>1]=s[b+28478>>1];p[f+8>>1]=s[b+28494>>1]}c=e+q[a+24388>>2]|0;o[c|0]=r[b+28324|0];o[c+1|0]=r[b+28326|0];o[c+2|0]=r[b+28340|0];o[c+3|0]=r[b+28342|0]}if(!(h&64)|q[b+840>>2]!=3){break Y}c=q[a+26416>>2]+(q[b+21796>>2]<<2)|0;o[c+1|0]=s[b+28554>>1]>>>1;o[c+2|0]=s[b+28556>>1]>>>1;o[c+3|0]=s[b+28558>>1]>>>1}aa:{if(!(r[i+108|0]&2)){J=ME(b);if(X>>>0>1){break aa}J=LE(b)<<4|J;break aa}if(J>>>0<16|X>>>0<2){break aa}Ta(q[a+4>>2],16,6296,0);c=-1094995529;break a}q[b+21856>>2]=J;p[q[a+26400>>2]+(H<<1)>>1]=J;u=J&15;if(!(r[i+108|0]&7|(!z|!u))){c=_a(b+32856|0,(q[b+21840>>2]+b|0)+33303|0);q[i+108>>2]=q[i+108>>2]|c<<24}k=q[i+108>>2];ba:{if(!(k&16777216)|q[q[a+28224>>2]+12>>2]!=3){break ba}ca:{if(t[a+25712>>2]>150){c=0;g=b+27824|0;while(1){if((c|0)==2){break ca}f=q[((c<<2)+b|0)+21740>>2];if(!(!f|f&16777216)){d=c<<4;e=d+g|0;f=f<<4&64;o[e+91|0]=f;o[e+99|0]=f;o[e+59|0]=f;o[e+51|0]=f;o[e+19|0]=f;o[g+(d|11)|0]=f}c=c+1|0;continue}}c=0;f=k&7;h=((f|0)!=0)<<6;g=b+27824|0;while(1){if((c|0)!=2){d=q[((c<<2)+b|0)+21740>>2];if(!(!d|d&16777216)){d=c<<4;e=d+g|0;o[e+91|0]=h;o[e+99|0]=h;o[e+59|0]=h;o[e+51|0]=h;o[e+19|0]=h;o[g+(d|11)|0]=h}c=c+1|0;continue}break}c=q[b+21732>>2];if(!c|c&16777216){break ba}c=f?1077952576:0;q[b+27908>>2]=c;q[b+27868>>2]=c;q[b+27828>>2]=c;break ba}c=q[b+21732>>2];if(!c|c&16777216){break ba}c=c<<29>>31&1077952576;q[b+27908>>2]=c;q[b+27868>>2]=c;q[b+27828>>2]=c}q[q[a+24364>>2]+(H<<2)>>2]=k;da:{if(!(r[i+108|0]&2?0:!J)){l=b+32856|0;ea:{if(_a(l,((q[b+864>>2]?61:60)+b|0)+32904|0)){d=q[V+1700>>2];c=w(d,12)+6|0;k=(c|0)>1?c:1;g=w(d,6);f=g+3|0;h=62;c=1;fa:{while(1){if(!_a(l,(b+h|0)+32904|0)){break fa}d=(c|0)==(k|0);h=63;c=c+1|0;if(!d){continue}break}c=q[a+4>>2];a=q[b+21792>>2];q[i+16>>2]=q[b+21788>>2];q[i+20>>2]=a;Ta(c,16,7915,i+16|0);break l}d=c+1>>>1|0;c=c&1?d:0-d|0;q[b+864>>2]=c;c=c+q[b+848>>2]|0;if(c>>>0>f>>>0){d=g+4|0;c=(c|0)<0?d+c|0:c-d|0}q[b+848>>2]=c;d=q[a+28220>>2]+c|0;q[b+852>>2]=r[d+548|0];q[b+856>>2]=r[d+636|0];break ea}q[b+864>>2]=0;c=q[b+848>>2]}f=q[i+108>>2];d=f&128;E=d?c?a+26596|0:a+26884|0:c?a+26452|0:a+26740|0;z=d?c?a+26580|0:a+26868|0:c?a+26436|0:a+26724|0;ga:{ha:{if(f&2){d=Za(b+31632|0,0,64);ia:{if(!_a(l,((q[b+21860>>2]>>>7&2|q[b+21864>>2]>>>8&1)+b|0)+32989|0)){o[b+27824|0]=0;break ia}Ui(a,b,d,0,48,z,16)}if(!u){break ha}g=z+1|0;f=q[q[a+28220>>2]+173788>>2]+(c<<6)|0;c=0;while(1){if((c|0)==16){break ga}k=r[c+154016|0]+b|0;d=r[k+27823|0]!=0;ja:{if(!_a(l,((r[k+27816|0]?d|2:d)+b|0)+32993|0)){o[k+27824|0]=0;break ja}hd(a,b,((c<<4<>>e&1){if(n){d=q[(q[a+28220>>2]+(v<<2)|0)+173812>>2];f=e<<2;la:{if(q[q[a+28224>>2]+12>>2]!=3){break la}g=r[f+154016|0]+b|0;c=r[g+27823|0]!=0;if(_a(l,(((r[g+27816|0]?c|2:c)|1012)+b|0)+32904|0)){break la}p[g+27832>>1]=0;p[g+27824>>1]=0;break ka}hd(a,b,((e<<6<>2]+(v<<2)|0)+173788>>2]|0;f=e<<2;c=0;while(1){if((c|0)==4){break ka}j=c+f|0;m=r[j+154016|0]+b|0;d=r[m+27823|0]!=0;ma:{if(!_a(l,((r[m+27816|0]?d|2:d)+b|0)+32997|0)){o[m+27824|0]=0;break ma}hd(a,b,((j<<4<>1]=0;p[c+27824>>1]=0}e=e+1|0;continue}}q[b+27860>>2]=0;q[b+27852>>2]=0;q[b+27844>>2]=0;q[b+27836>>2]=0}c=q[q[a+28224>>2]+12>>2];if((c|0)==3){v=q[b+852>>2];na:{oa:{c=q[i+108>>2];if(c&2){c=Za(b+31696|0,0,64);pa:{if(!_a(l,((q[b+21864>>2]>>>9&1|q[b+21860>>2]>>>8&2|460)+b|0)+32904|0)){o[b+27864|0]=0;break pa}Ui(a,b,c,6,49,z,16)}if(!u){break oa}g=q[q[a+28220>>2]+173792>>2]+(v<<6)|0;f=z+1|0;c=0;while(1){if((c|0)==16){break na}k=r[c+154032|0]+b|0;d=r[k+27823|0]!=0;qa:{if(!_a(l,(((r[k+27816|0]?d|2:d)|464)+b|0)+32904|0)){o[k+27824|0]=0;break qa}d=c+16|0;hd(a,b,((d<<4<>>e&1){if(h){f=q[(q[a+28220>>2]+(j<<2)|0)+173812>>2];d=e<<2;g=r[d+154032|0]+b|0;c=r[g+27823|0]!=0;if(!_a(l,(((r[g+27816|0]?c|2:c)|1016)+b|0)+32904|0)){p[g+27832>>1]=0;p[g+27824>>1]=0;break ra}c=d+16|0;hd(a,b,((c<<4<>2]+(j<<2)|0)+173788>>2]|0;f=(e<<2)+16|0;c=0;while(1){if((c|0)==4){break ra}m=c+f|0;n=r[m+154016|0]+b|0;d=r[n+27823|0]!=0;sa:{if(!_a(l,(((r[n+27816|0]?d|2:d)|468)+b|0)+32904|0)){o[n+27824|0]=0;break sa}hd(a,b,((m<<4<>1]=0;p[c+27824>>1]=0}e=e+1|0;continue}}q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0}d=q[b+856>>2];c=q[i+108>>2];if(c&2){c=Za(b+31760|0,0,64);ta:{if(!_a(l,((q[b+21864>>2]>>>10&1|q[b+21860>>2]>>>9&2|472)+b|0)+32904|0)){o[b+27904|0]=0;break ta}Ui(a,b,c,10,50,z,16)}if(u){g=q[q[a+28220>>2]+173796>>2]+(d<<6)|0;f=z+1|0;c=0;while(1){if((c|0)==16){break da}k=r[c+154048|0]+b|0;d=r[k+27823|0]!=0;ua:{if(!_a(l,(((r[k+27816|0]?d|2:d)|476)+b|0)+32904|0)){o[k+27824|0]=0;break ua}d=c+32|0;hd(a,b,((d<<4<>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;break da}v=c&7?2:5;n=c&16777216;h=d<<6;k=d<<8;e=0;while(1){if((e|0)==4){break da}va:{if(J>>>e&1){if(n){f=q[(q[a+28220>>2]+(v<<2)|0)+173812>>2];d=e<<2;g=r[d+154048|0]+b|0;c=r[g+27823|0]!=0;if(!_a(l,(((r[g+27816|0]?c|2:c)|1020)+b|0)+32904|0)){p[g+27832>>1]=0;p[g+27824>>1]=0;break va}c=d+32|0;hd(a,b,((c<<4<>2]+(v<<2)|0)+173788>>2]|0;f=(e<<2)+32|0;c=0;while(1){if((c|0)==4){break va}j=c+f|0;m=r[j+154016|0]+b|0;d=r[m+27823|0]!=0;wa:{if(!_a(l,(((r[m+27816|0]?d|2:d)|480)+b|0)+32904|0)){o[m+27824|0]=0;break wa}hd(a,b,((j<<4<>1]=0;p[c+27824>>1]=0}e=e+1|0;continue}}d=J&48;if((c|0)==2){xa:{if(!d){break xa}c=0;while(1){if((c|0)==2){break xa}g=c+49|0;f=64<>2])!=0;ya:{if(!_a(l,((f&q[b+21860>>2]?d|2:d)+b|0)+33001|0)){o[(r[g+154016|0]+b|0)+27824|0]=0;break ya}JE(a,b,(((c<<8)+256<>2]+(d+(r[i+108|0]&7?0:3)<<2)|0)+173788>>2]+(q[((c<<2)+b|0)+852>>2]<<6)|0;n=(c<<4)+16|0;e=((n<<4<>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0;break da}Ba:{if(!d){break Ba}c=0;while(1){if((c|0)==2){break Ba}g=c+49|0;f=64<>2])!=0;Ca:{if(!_a(l,((f&q[b+21860>>2]?d|2:d)+b|0)+33001|0)){o[(r[g+154016|0]+b|0)+27824|0]=0;break Ca}Ui(a,b,(((c<<8)+256<>2]+(d+(r[i+108|0]&7?0:3)<<2)|0)+173788>>2]+(q[((h<<2)+b|0)+852>>2]<<6)|0;g=(h<<4)+16|0;while(1)if((c|0)==4){h=d;continue Da}else{n=c+g|0;h=r[n+154016|0]+b|0;f=r[h+27823|0]!=0;Ea:{if(!_a(l,((r[h+27816|0]?f|2:f)+b|0)+33005|0)){o[h+27824|0]=0;break Ea}hd(a,b,((n<<4<>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0;break da}q[b+864>>2]=0;q[b+27940>>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0;q[b+27860>>2]=0;q[b+27852>>2]=0;q[b+27844>>2]=0;q[b+27836>>2]=0}o[q[a+24340>>2]+H|0]=q[b+848>>2];d=q[a+25980>>2]+w(q[b+21796>>2],48)|0;q[d>>2]=q[b+27836>>2];q[d+4>>2]=q[b+27844>>2];q[d+8>>2]=q[b+27852>>2];q[d+12>>2]=q[b+27860>>2];q[d+16>>2]=q[b+27876>>2];q[d+20>>2]=q[b+27884>>2];q[d+32>>2]=q[b+27916>>2];q[d+36>>2]=q[b+27924>>2];c=0;if(q[a+25688>>2]){break a}q[d+24>>2]=q[b+27892>>2];q[d+28>>2]=q[b+27900>>2];q[d+40>>2]=q[b+27932>>2];q[d+44>>2]=q[b+27940>>2];break a}c=-1}Ca=i+112|0;return c}function Jo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;l=Ca-240|0;Ca=l;g=q[q[a+28220>>2]+64>>2];d=q[q[a+28224>>2]+12>>2];G=q[a+25672>>2];K=q[b+21788>>2]+w(q[a+27024>>2],q[b+21792>>2])|0;q[b+21796>>2]=K;a:{b:{if(q[b+840>>2]==1){break b}c=q[b+21816>>2];if((c|0)==-1){c=ke(b+4|0);if(c>>>0>t[a+27028>>2]){a=q[a+4>>2];q[l+160>>2]=c;Ta(a,16,9904,l+160|0);c=-1094995529;break a}q[b+21816>>2]=c}e=c+ -1|0;q[b+21816>>2]=e;if(!c){break b}if(!(!q[a+26384>>2]|(e|q[b+21792>>2]&1))){e=Tb(b+4|0);q[b+21832>>2]=e;q[b+21828>>2]=e}CE(a,b);c=0;break a}if(!(!q[a+26384>>2]|o[b+21792|0]&1)){e=Tb(b+4|0);q[b+21832>>2]=e;q[b+21828>>2]=e}q[b+21648>>2]=0;n=b+4|0;c=Io(n);q[l+236>>2]=c;c:{e=l;i=q[b+840>>2]+ -2|0;d:{e:{f:{if(i>>>0<=1){if(!(i-1)){if(c>>>0<=22){e=c<<2;c=s[e+152592>>1];q[l+236>>2]=c;e=r[e+152594|0];break d}c=c+ -23|0;break f}if(c>>>0<=4){e=c<<2;c=s[e+152544>>1];q[l+236>>2]=c;e=r[e+152546|0];break d}c=c+ -5|0;break f}if(!c|q[b+836>>2]!=5){break e}c=c+ -1|0}q[e+236>>2]=c}if(c>>>0>=26){a=q[a+4>>2];e=Dj(q[b+836>>2]);f=q[b+21788>>2];b=q[b+21792>>2];q[l+4>>2]=e;q[l+8>>2]=f;q[l+12>>2]=b;q[l>>2]=c;Ta(a,16,11014,l);break c}e=c<<2;q[b+21660>>2]=r[e+152434|0];c=s[e+152432>>1];q[l+236>>2]=c;I=r[e+152435|0];e=0}if(q[b+21828>>2]){c=c|128;q[l+236>>2]=c}p[q[a+26380>>2]+(K<<1)>>1]=q[b+832>>2];if(c&4){e=q[a+28224>>2];f=q[e+1700>>2];e=q[e+12>>2];X=b,Y=BE(n),q[X+27780>>2]=Y;b=w(f,s[(e<<1)+153656>>1]);if((q[n+12>>2]-q[n+8>>2]|0)<(b|0)){Ta(q[a+4>>2],16,12184,0);c=-1094995529;break a}q[n+8>>2]=b+q[n+8>>2];c=0;o[q[a+24340>>2]+K|0]=0;Za(q[a+25980>>2]+w(K,48)|0,16,48);q[q[a+24364>>2]+(K<<2)>>2]=q[l+236>>2];break a}U=d+ -1|0;yk(a,b,c);Ho(a,b,c);g:{h:{i:{j:{k:{l:{if(c&7){d=1;m:{n:{if(c&1){o:{if(!g){break o}if(!Tb(n)){break o}q[l+236>>2]=c|16777216;d=4}f=(d|0)!=4;c=0;while(1){if(c>>>0>15){break n}e=r[c+154080|0]+b|0;i=o[e+21656|0];j=o[e+21663|0];i=(j|0)>(i|0)?i:j;i=(i|0)<0?2:i;if(!Tb(n)){j=Zc(n,3);i=((j|0)>=(i|0))+j|0}p:{if(!f){i=w(i,257);p[e+21672>>1]=i;p[e+21664>>1]=i;break p}o[e+21664|0]=i}c=c+d|0;continue}}e=Ri(q[a+4>>2],q[b+21760>>2],q[b+21768>>2],q[b+21660>>2],0);q[b+21660>>2]=e;if((e|0)>=0){break m}break c}e=q[b+21704>>2]+q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]|0;q[e>>2]=q[b+21700>>2];o[e+4|0]=r[b+21695|0];o[e+5|0]=r[b+21687|0];o[e+6|0]=r[b+21679|0];c=-1;if((zo(b+21664|0,q[a+4>>2],q[b+21760>>2],q[b+21768>>2])|0)<=-1){break a}}if(U>>>0>1){break l}e=Ri(q[a+4>>2],q[b+21760>>2],q[b+21768>>2],gd(n),1);if((e|0)<0){break c}q[b+21656>>2]=e;break g}if((e&255)==4){c=0;if(q[b+840>>2]==3){while(1){if((c|0)!=4){f=((c<<1)+b|0)+28552|0;e=gd(n);p[f>>1]=e;e=e&65535;if(e>>>0>=13){f=q[a+4>>2];d=q[b+21792>>2];q[l+84>>2]=q[b+21788>>2];q[l+88>>2]=d;q[l+80>>2]=e;Ta(f,16,13336,l+80|0);break i}else{e=e<<2;q[(l+208|0)+(c<<2)>>2]=r[e+152690|0];p[f>>1]=s[e+152688>>1];c=c+1|0;continue}}break}if(!((s[b+28558>>1]|(s[b+28556>>1]|(s[b+28554>>1]|s[b+28552>>1])))&256)){break j}Xe(a,b,l+236|0);o[b+28326|0]=254;o[b+28302|0]=254;o[b+28342|0]=254;o[b+28286|0]=254;break j}while(1){if((c|0)==4){break j}f=((c<<1)+b|0)+28552|0;e=gd(n);p[f>>1]=e;e=e&65535;if(e>>>0>=4){f=q[a+4>>2];d=q[b+21792>>2];q[l+100>>2]=q[b+21788>>2];q[l+104>>2]=d;q[l+96>>2]=e;Ta(f,16,15132,l+96|0);break i}else{e=e<<2;q[(l+208|0)+(c<<2)>>2]=r[e+152578|0];p[f>>1]=s[e+152576>>1];c=c+1|0;continue}}}if(c&256){Xe(a,b,l+236|0);g=q[q[a+28224>>2]+72>>2]&g;break g}if(!(c&8)){break k}i=0;y=q[l+236>>2];c=0;while(1){h=q[b+23412>>2];if(c>>>0>=h>>>0){while(1){if(i>>>0>=h>>>0){break g}if(y>>>(i<<1)&4096){c=w(i,40)+b|0;j=r[c+28283|0];k=r[c+28276|0];d=r[c+28284|0];f=w(i,160)+b|0;u=r[c+28280|0];e=f+27984|0;q:{if((u|0)!=254){break q}u=r[c+28275|0];e=f+27964|0}c=f+27968|0;h=f+27996|0;x=u&255;A=(((d|0)==(j|0))+((d|0)==(k|0))|0)+((x|0)==(d|0))|0;r:{if(A>>>0>=2){h=ob(p[h>>1],p[c>>1],p[e>>1]);e=ob(p[f+27998>>1],p[f+27970>>1],p[e+2>>1]);break r}if((A|0)==1){if((d|0)==(j|0)){h=p[h>>1];e=p[f+27998>>1];break r}if((d|0)==(k|0)){h=p[c>>1];e=p[f+27970>>1];break r}h=p[e>>1];e=p[e+2>>1];break r}h=p[h>>1];if(!((j|0)==254|(k|0)!=254|(x|0)!=254)){e=p[f+27998>>1];break r}h=ob(h,p[c>>1],p[e>>1]);e=ob(p[f+27998>>1],p[f+27970>>1],p[e+2>>1])}e=Rc(n)+h&65535|Rc(n)+e<<16;q[f+28108>>2]=e;q[f+28104>>2]=e;q[f+28100>>2]=e;q[f+28096>>2]=e;q[f+28076>>2]=e;q[f+28072>>2]=e;q[f+28068>>2]=e;q[f+28064>>2]=e;q[f+28044>>2]=e;q[f+28040>>2]=e;q[f+28036>>2]=e;q[f+28032>>2]=e;q[f+28012>>2]=e;q[f+28008>>2]=e;q[f+28004>>2]=e;q[f+28e3>>2]=e;h=q[b+23412>>2]}i=i+1|0;continue}}s:{if(y>>>(c<<1)&4096){e=q[((c<<2)+b|0)+23404>>2]<>2];f=e+ -1|0;t:{if(f>>>0<=1){u=0;if(f-1){break t}u=Tb(n)^1;break t}u=gd(n);if(u>>>0>=e>>>0){break s}}e=w(c,40)+b|0;f=w(u,16843009);q[e+28308>>2]=f;q[e+28300>>2]=f;q[e+28292>>2]=f;q[e+28284>>2]=f}c=c+1|0;continue}break}a=q[a+4>>2];q[l+144>>2]=u;Ta(a,16,16174,l+144|0);break c}q[b+21656>>2]=6;break g}d=0;L=q[l+236>>2];if(c&16){while(1){c=q[b+23412>>2];if(d>>>0>>0){e=d<<1;i=((d<<2)+b|0)+23404|0;c=0;while(1){if((c|0)!=2){u:{if(!(L>>>c+e&4096)){h=255;break u}v:{j=q[i>>2]<>2];y=j+ -1|0;if(y>>>0<=1){h=0;if(y-1){break u}break v}h=gd(n);if(h>>>0>>0){break u}a=q[a+4>>2];q[l+128>>2]=h;Ta(a,16,16174,l+128|0);break c}h=Tb(n)^1}j=(w(d,40)+b|0)+(c<<4|12)|0;h=w(h,16843009);q[j+28280>>2]=h;q[j+28272>>2]=h;c=c+1|0;continue}break}d=d+1|0;continue}break}w:while(1){if(!f&k>>>0>=c>>>0|f>>>0>0){break g}d=k;x=d<<1;E=12288<>>c&4096)){h=j<<4|12;d=0;break x}h=j<<4|12;z=o[(B+h|0)+28272|0];B:{if(!(e|j)){if(r[R|0]!=(z&255)){break B}c=p[P>>1];d=p[O>>1];break y}if(r[W|0]!=(z&255)){break B}c=p[V>>1];d=p[S>>1];break y}C=A+27952|0;c=r[(u<<3)+154080|0];v=c+ -8|0;M=v<<2;D=c+ -1|0;F=D<<2;d=B+28272|0;T=c+ -4|0;m=o[d+T|0];D=r[d+D|0];J=r[d+v|0];C:{if((c&7)!=4){break C}d=j<<3;v=d&31;if(!((32<=(d&63)>>>0?458751>>>v|0:((1<>>v)&1)|(m|0)!=-2|(!q[a+26384>>2]|r[Q|0]==254)){break C}v=q[q[a+24312>>2]+48>>2];q[i>>2]=0;N=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!N){break C}m=q[a+27024>>2];d=m+q[b+21720>>2]|0;c=(q[b+21792>>2]<<1&2)+(c>>>5|0)|0;if(!(E&q[v+(d+w(m,c>>>2|0)<<2)>>2])){break A}m=q[a+24312>>2]+(y<<2)|0;d=d<<2;v=q[m+36>>2]+(q[d+q[a+26368>>2]>>2]+w(c,q[a+26376>>2])<<2)|0;p[i>>1]=s[v+12>>1];p[H>>1]=s[v+14>>1]<<1;m=o[q[m+68>>2]+((c&14)+(d|1)|0)|0]>>1;d=i;break z}if(N){break C}m=d&31;d=q[((((32<=(d&63)>>>0?458751>>>m|0:((1<>>m)&1)<<2)+b|0)+21720>>2]<<2;if(!(E&q[d+v>>2])){break A}m=q[a+24312>>2]+(y<<2)|0;c=c>>>2|0;v=q[m+36>>2]+(q[d+q[a+26368>>2]>>2]+w(q[a+26376>>2],c&3)<<2)|0;p[i>>1]=s[v+12>>1];p[H>>1]=p[v+14>>1]/2;m=o[q[m+68>>2]+(d|c&2|1)|0]<<1;d=i;break z}if((m|0)!=-2){d=(A+(T<<2)|0)+27952|0;break z}c=c+ -9|0;d=(A+(c<<2)|0)+27952|0;m=o[(c+B|0)+28272|0];break z}e=f;f=k+1|0;if(f>>>0<1){e=e+1|0}k=f;f=e;c=q[b+23412>>2];continue w}m=-1;d=i}v=C+M|0;C=C+F|0;c=z&255;z=(((c|0)==(D|0))+((c|0)==(J|0))|0)+((m|0)==(z|0))|0;if(z>>>0>=2){c=ob(p[C>>1],p[v>>1],p[d>>1]);d=ob(p[C+2>>1],p[v+2>>1],p[d+2>>1]);break y}if((z|0)==1){if((c|0)==(D|0)){c=p[C>>1];d=p[(A+F|0)+27954>>1];break y}if((c|0)==(J|0)){c=p[v>>1];d=p[(A+M|0)+27954>>1];break y}c=p[d>>1];d=p[d+2>>1];break y}c=p[C>>1];if(!((D|0)==254|(J|0)!=254|(m|0)!=-2)){d=p[(A+F|0)+27954>>1];break y}c=ob(c,p[v>>1],p[d>>1]);d=ob(p[C+2>>1],p[v+2>>1],p[d+2>>1])}d=Rc(n)+c&65535|Rc(n)+d<<16}c=A+(h<<2)|0;q[c+27996>>2]=d;q[c+27992>>2]=d;q[c+27988>>2]=d;q[c+27984>>2]=d;q[c+27964>>2]=d;q[c+27960>>2]=d;q[c+27956>>2]=d;q[c+27952>>2]=d;u=u+1|0;d=j+1|0;if(d>>>0<1){e=e+1|0}j=d;continue}}}while(1){D:{c=q[b+23412>>2];if(d>>>0>>0){j=d<<1;h=((d<<2)+b|0)+23404|0;c=0;while(1){if((c|0)==2){break D}E:{if(!(L>>>c+j&4096)){u=255;break E}F:{e=q[h>>2]<>2];i=e+ -1|0;if(i>>>0<=1){u=0;if(i-1){break E}break F}u=gd(n);if(u>>>0>>0){break E}a=q[a+4>>2];q[l+112>>2]=u;Ta(a,16,16174,l+112|0);break c}u=Tb(n)^1}e=(w(d,40)+b|0)+(c<<1)|0;i=w(u,257);p[e+28308>>1]=i;p[e+28300>>1]=i;p[e+28292>>1]=i;p[e+28284>>1]=i;c=c+1|0;continue}}G:while(1){if(!f&k>>>0>=c>>>0|f>>>0>0){break g}d=k;x=d<<1;M=12288<>>c&4096)){h=(j<<1)+12|0;d=0;break H}h=(j<<1)+12|0;D=o[(C+h|0)+28272|0];L:{if(!(e|j)){if(r[O|0]!=(D&255)){break L}c=p[S>>1];d=p[R>>1];break I}d=B;m=r[W|0];if((m|0)==254){m=r[V|0];d=A}if((m&255)!=(D&255)){break L}c=p[d>>1];d=p[d+2>>1];break I}F=v+27952|0;c=r[(u<<2)+154080|0];z=c+ -8|0;P=z<<2;E=c+ -1|0;J=E<<2;d=C+28272|0;T=c+ -6|0;m=o[d+T|0];E=r[d+E|0];H=r[d+z|0];M:{if((c&7)!=4){break M}d=j<<2;z=d&31;if(!((32<=(d&63)>>>0?458751>>>z|0:((1<>>z)&1)|(m|0)!=-2|(!q[a+26384>>2]|r[O|0]==254)){break M}z=q[q[a+24312>>2]+48>>2];q[i>>2]=0;Q=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!Q){break M}m=q[a+27024>>2];d=m+q[b+21720>>2]|0;c=(q[b+21792>>2]<<1&2)+(c>>>5|0)|0;if(!(M&q[z+(d+w(m,c>>>2|0)<<2)>>2])){break K}m=q[a+24312>>2]+(y<<2)|0;d=d<<2;z=q[m+36>>2]+(q[d+q[a+26368>>2]>>2]+w(c,q[a+26376>>2])<<2)|0;p[i>>1]=s[z+12>>1];p[N>>1]=s[z+14>>1]<<1;m=o[q[m+68>>2]+((c&14)+(d|1)|0)|0]>>1;d=i;break J}if(Q){break M}m=d&31;d=q[((((32<=(d&63)>>>0?458751>>>m|0:((1<>>m)&1)<<2)+b|0)+21720>>2]<<2;if(!(M&q[d+z>>2])){break K}m=q[a+24312>>2]+(y<<2)|0;c=c>>>2|0;z=q[m+36>>2]+(q[d+q[a+26368>>2]>>2]+w(q[a+26376>>2],c&3)<<2)|0;p[i>>1]=s[z+12>>1];p[N>>1]=p[z+14>>1]/2;m=o[q[m+68>>2]+(d|c&2|1)|0]<<1;d=i;break J}if((m|0)!=-2){d=(v+(T<<2)|0)+27952|0;break J}c=c+ -9|0;d=(v+(c<<2)|0)+27952|0;m=o[(c+C|0)+28272|0];break J}e=k+1|0;if(e>>>0<1){f=f+1|0}k=e;c=q[b+23412>>2];continue G}m=-1;d=i}z=F+P|0;F=F+J|0;c=D&255;D=(((c|0)==(E|0))+((c|0)==(H|0))|0)+((m|0)==(D|0))|0;if(D>>>0>=2){c=ob(p[F>>1],p[z>>1],p[d>>1]);d=ob(p[F+2>>1],p[z+2>>1],p[d+2>>1]);break I}if((D|0)==1){if((c|0)==(E|0)){c=p[F>>1];d=p[(v+J|0)+27954>>1];break I}if((c|0)==(H|0)){c=p[z>>1];d=p[(v+P|0)+27954>>1];break I}c=p[d>>1];d=p[d+2>>1];break I}c=p[F>>1];if(!((E|0)==254|(H|0)!=254|(m|0)!=-2)){d=p[(v+J|0)+27954>>1];break I}c=ob(c,p[z>>1],p[d>>1]);d=ob(p[F+2>>1],p[z+2>>1],p[d+2>>1])}d=Rc(n)+c&65535|Rc(n)+d<<16}c=v+(h<<2)|0;q[c+28052>>2]=d;q[c+28048>>2]=d;q[c+28020>>2]=d;q[c+28016>>2]=d;q[c+27988>>2]=d;q[c+27984>>2]=d;q[c+27956>>2]=d;q[c+27952>>2]=d;u=u+1|0;d=j+1|0;if(d>>>0<1){e=e+1|0}j=d;continue}}}d=d+1|0;continue}}i=0;while(1){N:{c=q[b+23412>>2];if(i>>>0>>0){d=1;d=r[l+237|0]&2?d:q[((i<<2)+b|0)+23404>>2]<>2];e=4096<<(i<<1);c=0;while(1){if((c|0)==4){break N}O:{f=s[((c<<1)+b|0)+28552>>1];if(!(f&256)){P:{if(!(e&f)){h=-1;break P}f=d+ -1|0;if(f>>>0<=1){h=0;if(f-1){break P}h=Tb(n)^1;break P}h=gd(n);if(h>>>0>=d>>>0){break O}}q[((l+176|0)+(i<<4)|0)+(c<<2)>>2]=h}c=c+1|0;continue}break}e=q[a+4>>2];q[l+64>>2]=h;Ta(e,16,16174,l- -64|0);break i}i=0;if(g){e=q[q[a+28224>>2]+72>>2];i=!(q[b+28552>>2]&(e?7340144:24117616)|q[b+28556>>2]&(e?7340144:24117616))}M=1;Q:while(1){if(y>>>0>=c>>>0){g=i;c=-1094995529;break h}e=y<<1;F=12288<>1];if(!(e&N)){break S}d=q[B+(l+208|0)>>2];P=(d|0)>0?d:0;D=e&24?2:1;Q=e&32;R=e&16;S=e&8;j=0;e=0;while(1){if(!e&(j|0)==(P|0)){break R}m=c+27952|0;d=B+w(j,D)|0;k=r[d+154080|0];h=k+ -8|0;J=h<<2;x=k+ -1|0;v=x<<2;g=A+28272|0;E=o[g+k|0];C=r[g+x|0];z=r[h+g|0];H=h+D|0;h=o[H+g|0];T:{U:{V:{if((k&7)!=4){break V}g=d&31;if(!((32<=(d&63)>>>0?458751>>>g|0:((1<>>g)&1)|(h|0)!=-2|(!q[a+26384>>2]|r[O|0]==254)){break V}g=q[q[a+24312>>2]+48>>2];q[f>>2]=0;x=q[b+21740>>2]&128;if(!q[b+21828>>2]){if(!x){break V}x=q[a+27024>>2];d=x+q[b+21720>>2]|0;h=(q[b+21792>>2]<<1&2)+(k>>>5|0)|0;if(!(F&q[g+(d+w(x,h>>>2|0)<<2)>>2])){break U}g=q[a+24312>>2]+(y<<2)|0;d=d<<2;x=q[g+36>>2]+(q[d+q[a+26368>>2]>>2]+w(h,q[a+26376>>2])<<2)|0;p[f>>1]=s[x+12>>1];p[L>>1]=s[x+14>>1]<<1;h=o[q[g+68>>2]+((h&14)+(d|1)|0)|0]>>1;g=f;break T}if(x){break V}h=g;g=d&31;d=q[((((32<=(d&63)>>>0?458751>>>g|0:((1<>>g)&1)<<2)+b|0)+21720>>2]<<2;if(!(F&q[h+d>>2])){break U}g=q[a+24312>>2]+(y<<2)|0;h=k>>>2|0;x=q[g+36>>2]+(q[d+q[a+26368>>2]>>2]+w(q[a+26376>>2],h&3)<<2)|0;p[f>>1]=s[x+12>>1];p[L>>1]=p[x+14>>1]/2;h=o[q[g+68>>2]+(d|h&2|1)|0]<<1;g=f;break T}if((h|0)!=-2){g=(c+(H<<2)|0)+27952|0;break T}d=k+ -9|0;g=(c+(d<<2)|0)+27952|0;h=o[(d+A|0)+28272|0];break T}h=-1;g=f}H=k<<2;k=m+J|0;x=m+v|0;d=E&255;E=(((d|0)==(C|0))+((d|0)==(z|0))|0)+((h|0)==(E|0))|0;W:{if(E>>>0>=2){d=ob(p[x>>1],p[k>>1],p[g>>1]);k=ob(p[x+2>>1],p[k+2>>1],p[g+2>>1]);break W}if((E|0)==1){if((d|0)==(C|0)){d=p[x>>1];k=p[(c+v|0)+27954>>1];break W}if((d|0)==(z|0)){d=p[k>>1];k=p[(c+J|0)+27954>>1];break W}d=p[g>>1];k=p[g+2>>1];break W}d=p[x>>1];if(!((C|0)==254|(z|0)!=254|(h|0)!=-2)){k=p[(c+v|0)+27954>>1];break W}d=ob(d,p[k>>1],p[g>>1]);k=ob(p[x+2>>1],p[k+2>>1],p[g+2>>1])}g=m+H|0;d=Rc(n)+d|0;k=Rc(n)+k|0;X:{if(S){p[g+32>>1]=d;p[g+36>>1]=d;p[g+4>>1]=d;p[g+38>>1]=k;p[g+34>>1]=k;p[g+6>>1]=k;break X}if(R){p[g+4>>1]=d;p[g+6>>1]=k;break X}if(!Q){break X}p[g+32>>1]=d;p[g+34>>1]=k}p[g>>1]=d;p[(c+H|0)+27954>>1]=k;d=j+1|0;if(d>>>0<1){e=e+1|0}j=d;continue}}y=y+1|0;c=q[b+23412>>2];continue Q}e=c+(j<<2)|0;d=e+27984|0;q[d>>2]=0;q[d+4>>2]=0;e=e+27952|0;q[e>>2]=0;q[e+4>>2]=0}u=u+1|0;continue}}}i=i+1|0;continue}}c=-1}if(!M){break a}}c=q[l+236>>2];Y:{if(!(c&120)){break Y}e=q[a+26376>>2];i=(w(e,q[b+21792>>2])<<2)+(q[b+21788>>2]<<2)|0;d=q[b+21796>>2]<<2;Z:{if(c&12288){k=b+28e3|0;h=q[k+4>>2];f=q[a+24352>>2]+(i<<2)|0;q[f>>2]=q[k>>2];q[f+4>>2]=h;j=b+28008|0;k=q[j+4>>2];q[f+8>>2]=q[j>>2];q[f+12>>2]=k;h=b+28032|0;y=q[h+4>>2];j=f+(e<<2)|0;q[j>>2]=q[h>>2];q[j+4>>2]=y;k=b+28040|0;h=q[k+4>>2];q[j+8>>2]=q[k>>2];q[j+12>>2]=h;h=b+28064|0;y=q[h+4>>2];j=f+(e<<3)|0;q[j>>2]=q[h>>2];q[j+4>>2]=y;k=b+28072|0;h=q[k+4>>2];q[j+8>>2]=q[k>>2];q[j+12>>2]=h;k=b+28096|0;h=q[k+4>>2];f=f+w(e,12)|0;q[f>>2]=q[k>>2];q[f+4>>2]=h;j=b+28104|0;k=q[j+4>>2];q[f+8>>2]=q[j>>2];q[f+12>>2]=k;f=d+q[a+24384>>2]|0;o[f|0]=r[b+28284|0];o[f+1|0]=r[b+28286|0];o[f+2|0]=r[b+28300|0];o[f+3|0]=r[b+28302|0];break Z}f=d+q[a+24384>>2]|0;p[f>>1]=-1;p[f+2>>1]=65535}if(!(c&49152)){break Y}f=q[a+24356>>2]+(i<<2)|0;c=f;i=b+28160|0;j=q[i+4>>2];q[c>>2]=q[i>>2];q[c+4>>2]=j;c=b+28168|0;i=q[c+4>>2];q[f+8>>2]=q[c>>2];q[f+12>>2]=i;i=b+28192|0;j=q[i+4>>2];c=f+(e<<2)|0;q[c>>2]=q[i>>2];q[c+4>>2]=j;i=b+28200|0;j=q[i+4>>2];q[c+8>>2]=q[i>>2];q[c+12>>2]=j;i=b+28224|0;j=q[i+4>>2];c=f+(e<<3)|0;q[c>>2]=q[i>>2];q[c+4>>2]=j;i=b+28232|0;j=q[i+4>>2];q[c+8>>2]=q[i>>2];q[c+12>>2]=j;e=f+w(e,12)|0;f=b+28256|0;c=q[f+4>>2];q[e>>2]=q[f>>2];q[e+4>>2]=c;f=b+28264|0;c=q[f+4>>2];q[e+8>>2]=q[f>>2];q[e+12>>2]=c;e=d+q[a+24388>>2]|0;o[e|0]=r[b+28324|0];o[e+1|0]=r[b+28326|0];o[e+2|0]=r[b+28340|0];o[e+3|0]=r[b+28342|0]}_:{$:{aa:{c=q[l+236>>2];if(!(c&2)){e=Io(n);if(U>>>0<=1){if(e>>>0>=48){a=q[a+4>>2];f=q[b+21792>>2];q[l+20>>2]=q[b+21788>>2];q[l+24>>2]=f;q[l+16>>2]=e;Ta(a,16,17143,l+16|0);break c}c=q[l+236>>2];if(!(c&1)){break aa}d=e+152320|0;break $}if(e>>>0>=16){a=q[a+4>>2];f=q[b+21792>>2];q[l+52>>2]=q[b+21788>>2];q[l+56>>2]=f;q[l+48>>2]=e;Ta(a,16,17143,l+48|0);break c}c=q[l+236>>2];d=e+166832|0;if(c&1){break $}d=e+166848|0;break $}if(I>>>0<16|U>>>0<2){break _}Ta(q[a+4>>2],16,17979,0);c=-1094995529;break a}d=e+152368|0}I=r[d|0]}f=I&15;if(!(!f|(!g|c&7))){e=Tb(n);c=q[l+236>>2]|e<<24;q[l+236>>2]=c}p[q[a+26400>>2]+(K<<1)>>1]=I;q[b+21856>>2]=I;q[q[a+24364>>2]+(K<<2)>>2]=c;ba:{if(!(r[l+236|0]&2?0:!I)){d=q[q[a+28224>>2]+1700>>2];e=Rc(n);c=e+q[b+848>>2]|0;q[b+848>>2]=c;ca:{d=w(d,6);g=d+3|0;if(c>>>0<=g>>>0){break ca}c=((c|0)<0?d+4|0:-4-d|0)+c|0;q[b+848>>2]=c;if(c>>>0<=g>>>0){break ca}a=q[a+4>>2];f=q[b+21792>>2];q[l+36>>2]=q[b+21788>>2];q[l+40>>2]=f;q[l+32>>2]=e;Ta(a,16,18990,l+32|0);q[b+848>>2]=g;break c}e=q[a+28220>>2]+c|0;q[b+852>>2]=r[e+548|0];q[b+856>>2]=r[e+636|0];d=q[l+236>>2];e=d&128;j=e?c?a+26660|0:a+26948|0:c?a+26516|0:a+26804|0;e=e?c?a+26580|0:a+26868|0:c?a+26436|0:a+26724|0;da:{ea:{if(d&2){if((yc(a,b,n,Za(b+31632|0,0,64),48,e,0,16)|0)<0){break c}if(!f){break ea}i=e+1|0;d=0;k=c<<6;u=15;while(1){if((d|0)==4){break da}y=d<<2;h=0;while(1){if((h|0)!=4){g=h+y|0;c=-1;h=h+1|0;if((yc(a,b,n,((g<<4<>2]+173788>>2]|0,15)|0)>-1){continue}break a}break}d=d+1|0;continue}}i=d&7?0:3;k=d&16777216;y=c<<6;x=c<<8;u=0;d=0;while(1){if((d|0)!=4){fa:{if(I>>>d&1){if(!k){h=d<<2;c=0;while(1){if((c|0)==4){break fa}g=c+h|0;if((yc(a,b,n,((g<<4<>2]+(i<<2)|0)+173788>>2]|0,16)|0)<0){break c}c=c+1|0;u=r[(r[g+154080|0]+b|0)+27824|0]<>2]+(i<<2)|0)+173812>>2]|0,16)|0)>-1){continue}break a}break}g=r[g+154080|0]+b|0;c=g+27824|0;g=r[c|0]+(r[g+27833|0]+(r[g+27832|0]+r[g+27825|0]|0)|0)|0;o[c|0]=g;u=((g&255)!=0)<>2]=0;q[b+27852>>2]=0;q[b+27844>>2]=0;q[b+27836>>2]=0}d=q[a+26400>>2]+(K<<1)|0;p[d>>1]=s[d>>1]|u<<12;d=q[q[a+28224>>2]+12>>2];if((d|0)==3){d=q[b+852>>2];ga:{ha:{g=q[l+236>>2];if(g&2){if((yc(a,b,n,Za(b+31696|0,0,64),49,e,0,16)|0)<0){break c}if(!f){break ha}i=e+1|0;g=0;k=d<<6;while(1){if((g|0)==4){break ga}y=(g<<2)+16|0;h=0;while(1){if((h|0)!=4){d=h+y|0;c=-1;h=h+1|0;if((yc(a,b,n,((d<<4<>2]+173792>>2]|0,15)|0)>-1){continue}break a}break}g=g+1|0;continue}}k=g&7?1:4;y=g&16777216;x=d<<6;A=d<<8;i=0;d=0;while(1){if((d|0)!=4){ia:{if(I>>>d&1){if(!y){h=(d<<2)+16|0;c=0;while(1){if((c|0)==4){break ia}g=c+h|0;if((yc(a,b,n,((g<<4<>2]+(k<<2)|0)+173788>>2]|0,16)|0)<0){break c}c=c+1|0;i=r[(r[g+154080|0]+b|0)+27824|0]<>2]+(k<<2)|0)+173812>>2]|0,16)|0)>-1){continue}break a}break}g=r[g+154080|0]+b|0;c=g+27824|0;g=r[c|0]+(r[g+27833|0]+(r[g+27832|0]+r[g+27825|0]|0)|0)|0;o[c|0]=g;i=((g&255)!=0)<>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0}d=q[b+856>>2];g=q[l+236>>2];if(g&2){if((yc(a,b,n,Za(b+31760|0,0,64),50,e,0,16)|0)<0){break c}if(f){f=e+1|0;g=0;d=d<<6;while(1){if((g|0)==4){break ba}i=(g<<2)+32|0;h=0;while(1){if((h|0)!=4){e=h+i|0;c=-1;h=h+1|0;if((yc(a,b,n,((e<<4<>2]+173796>>2]|0,15)|0)>-1){continue}break a}break}g=g+1|0;continue}}q[b+27940>>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;break ba}k=g&7?2:5;g=g&16777216;y=d<<6;x=d<<8;i=0;d=0;while(1){if((d|0)!=4){ja:{if(I>>>d&1){if(!g){h=(d<<2)+32|0;c=0;while(1){if((c|0)==4){break ja}f=c+h|0;if((yc(a,b,n,((f<<4<>2]+(k<<2)|0)+173788>>2]|0,16)|0)<0){break c}c=c+1|0;i=r[(r[f+154080|0]+b|0)+27824|0]<>2]+(k<<2)|0)+173812>>2]|0,16)|0)>-1){continue}break a}break}f=r[f+154080|0]+b|0;c=f+27824|0;f=r[c|0]+(r[f+27833|0]+(r[f+27832|0]+r[f+27825|0]|0)|0)|0;o[c|0]=f;i=((f&255)!=0)<>2]+12>>2]==2?152420:152416,0,f)|0)>=0){continue}break}break a}if(I&32){d=(d|0)>0?d:0;i=e+1|0;j=16<>2]+(e+(r[l+236|0]&7?0:3)<<2)|0)+173788>>2]+(q[((c<<2)+b|0)+852>>2]<<6)|0;x=(c<<4)+16|0;h=((x<<4<>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0;break ba}q[b+27940>>2]=0;q[b+27932>>2]=0;q[b+27924>>2]=0;q[b+27916>>2]=0;q[b+27900>>2]=0;q[b+27892>>2]=0;q[b+27884>>2]=0;q[b+27876>>2]=0;q[b+27860>>2]=0;q[b+27852>>2]=0;q[b+27844>>2]=0;q[b+27836>>2]=0}o[q[a+24340>>2]+K|0]=q[b+848>>2];e=q[a+25980>>2]+w(q[b+21796>>2],48)|0;q[e>>2]=q[b+27836>>2];q[e+4>>2]=q[b+27844>>2];q[e+8>>2]=q[b+27852>>2];q[e+12>>2]=q[b+27860>>2];q[e+16>>2]=q[b+27876>>2];q[e+20>>2]=q[b+27884>>2];q[e+32>>2]=q[b+27916>>2];q[e+36>>2]=q[b+27924>>2];c=0;if(q[a+25688>>2]){break a}q[e+24>>2]=q[b+27892>>2];q[e+28>>2]=q[b+27900>>2];q[e+40>>2]=q[b+27932>>2];q[e+44>>2]=q[b+27940>>2];break a}c=-1}Ca=l+240|0;return c}function vE(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=Ca-80|0;Ca=j;a:{b:{C=q[a+96>>2];if(C){x=q[a+28220>>2];if(!q[x+724>>2]){break b}}Co(a,b,c,d,e,f,g,h,i);break a}c=x+548|0;t=q[a+24340>>2];l=q[b+21796>>2];k=t+l|0;y=o[k|0];x=r[c+y|0];d=x+1|0;t=o[t+q[b+21712>>2]|0];u=d+r[t+c|0]>>>1|0;m=c;c=o[k+ -1|0];v=d+r[m+c|0]>>>1|0;d=y+1|0;m=d+t>>1;B=c+d>>1;t=q[a+28224>>2];d=w(q[t+1700>>2],-6)+100|0;c=d+q[b+876>>2]|0;d=d+q[b+872>>2]|0;t=q[t+12>>2];A=q[b+21732>>2];s=q[b+21740>>2];k=q[a+25672>>2];l=q[q[a+24364>>2]+(l<<2)>>2];if(l&7){z=q[a+26388>>2];b=(z|0)==3;c:{if(!s){break c}C=d+B|0;if(C>>>0<68){break c}B=c+B|0;if(B>>>0<68){break c}n[q[a- -64>>2]](e,h,r[C+167760|0],r[B+167920|0])}B=b?167744:167752;C=d+y|0;b=c+y|0;D=C>>>0<68|b>>>0<68;b=r[b+167920|0];y=r[C+167760|0];H=l&16777216;d:{if(H){if(!D){q[j+76>>2]=w(r[(C<<2)+168083|0],16843009);n[q[a+52>>2]]((8<>>0<68){break e}m=c+m|0;if(m>>>0<68){break e}m=r[m+167920|0];E=r[l+167760|0];F=p[B>>1];if((F|0)<=3){G=(l<<2)+168080|0;l=r[G+((z|0)==3?4:3)|0];o[j+79|0]=l;o[j+78|0]=l;o[j+77|0]=l;o[j+76|0]=r[F+G|0];n[q[a+48>>2]](e,h,E,m,j+76|0);break e}n[q[a+60>>2]](e,h,E,m)}if(D){break d}q[j+76>>2]=w(r[(C<<2)+168083|0],16843009);n[q[a+48>>2]]((h<<3)+e|0,h,y,b,j+76|0);break d}if(!D){l=w(r[(C<<2)+168083|0],16843009);q[j+76>>2]=l;n[q[a+52>>2]]((4<>2]=l;n[q[a+52>>2]]((8<>2]=l;n[q[a+52>>2]]((12<>>0<68){break f}m=c+m|0;if(m>>>0<68){break f}m=r[m+167920|0];E=r[l+167760|0];F=p[B>>1];if((F|0)<=3){G=(l<<2)+168080|0;l=r[G+((z|0)==3?4:3)|0];o[j+79|0]=l;o[j+78|0]=l;o[j+77|0]=l;o[j+76|0]=r[F+G|0];n[q[a+48>>2]](e,h,E,m,j+76|0);break f}n[q[a+60>>2]](e,h,E,m)}if(D){break d}m=w(r[(C<<2)+168083|0],16843009);q[j+76>>2]=m;n[q[a+48>>2]]((h<<2)+e|0,h,y,b,j+76|0);q[j+76>>2]=m;n[q[a+48>>2]]((h<<3)+e|0,h,y,b,j+76|0);q[j+76>>2]=m;n[q[a+48>>2]](w(h,12)+e|0,h,y,b,j+76|0)}if(!t){break a}if((t|0)==3){g:{if(!s){break g}b=d+v|0;if(b>>>0<68){break g}e=c+v|0;if(e>>>0<68){break g}b=r[b+167760|0];e=r[e+167920|0];i=a- -64|0;n[q[i>>2]](f,h,b,e);n[q[i>>2]](g,h,b,e)}if(H){b=c+x|0;e=r[b+167920|0];x=d+x|0;i=r[x+167760|0];t=x>>>0<68|b>>>0<68;if(!t){b=w(r[(x<<2)+168083|0],16843009);q[j+76>>2]=b;y=8<>2]](y+f|0,h,i,e,j+76|0);q[j+76>>2]=b;n[q[a+52>>2]](g+y|0,h,i,e,j+76|0)}h:{if(!A){break h}b=d+u|0;if(b>>>0<68){break h}c=c+u|0;if(c>>>0<68){break h}c=r[c+167920|0];d=r[b+167760|0];y=p[B>>1];if((y|0)<=3){u=(b<<2)+168080|0;b=r[u+((z|0)==3?4:3)|0];o[j+79|0]=b;o[j+78|0]=b;o[j+77|0]=b;y=r[u+y|0];o[j+76|0]=y;n[q[a+48>>2]](f,h,d,c,j+76|0);o[j+79|0]=b;o[j+78|0]=b;o[j+77|0]=b;o[j+76|0]=y;n[q[a+48>>2]](g,h,d,c,j+76|0);break h}n[q[a+60>>2]](f,h,d,c);n[q[a+60>>2]](g,h,d,c)}if(t){break a}b=w(r[(x<<2)+168083|0],16843009);q[j+76>>2]=b;c=h<<3;n[q[a+48>>2]](c+f|0,h,i,e,j+76|0);q[j+76>>2]=b;n[q[a+48>>2]](c+g|0,h,i,e,j+76|0);break a}i=c+x|0;b=r[i+167920|0];x=d+x|0;e=r[x+167760|0];y=x>>>0<68|i>>>0<68;if(!y){i=w(r[(x<<2)+168083|0],16843009);q[j+76>>2]=i;t=4<>2]](t+f|0,h,e,b,j+76|0);q[j+76>>2]=i;n[q[a+52>>2]](g+t|0,h,e,b,j+76|0);q[j+76>>2]=i;t=8<>2]](t+f|0,h,e,b,j+76|0);q[j+76>>2]=i;n[q[a+52>>2]](g+t|0,h,e,b,j+76|0);q[j+76>>2]=i;t=12<>2]](t+f|0,h,e,b,j+76|0);q[j+76>>2]=i;n[q[a+52>>2]](g+t|0,h,e,b,j+76|0)}i:{if(!A){break i}t=d+u|0;if(t>>>0<68){break i}c=c+u|0;if(c>>>0<68){break i}d=r[c+167920|0];i=r[t+167760|0];u=p[B>>1];if((u|0)<=3){t=(t<<2)+168080|0;c=r[t+((z|0)==3?4:3)|0];o[j+79|0]=c;o[j+78|0]=c;o[j+77|0]=c;t=r[u+t|0];o[j+76|0]=t;n[q[a+48>>2]](f,h,i,d,j+76|0);o[j+79|0]=c;o[j+78|0]=c;o[j+77|0]=c;o[j+76|0]=t;n[q[a+48>>2]](g,h,i,d,j+76|0);break i}n[q[a+60>>2]](f,h,i,d);n[q[a+60>>2]](g,h,i,d)}if(y){break a}c=w(r[(x<<2)+168083|0],16843009);q[j+76>>2]=c;d=h<<2;n[q[a+48>>2]](d+f|0,h,e,b,j+76|0);q[j+76>>2]=c;n[q[a+48>>2]](d+g|0,h,e,b,j+76|0);q[j+76>>2]=c;d=h<<3;n[q[a+48>>2]](d+f|0,h,e,b,j+76|0);q[j+76>>2]=c;n[q[a+48>>2]](d+g|0,h,e,b,j+76|0);q[j+76>>2]=c;d=w(h,12);n[q[a+48>>2]](d+f|0,h,e,b,j+76|0);q[j+76>>2]=c;n[q[a+48>>2]](d+g|0,h,e,b,j+76|0);break a}if((t|0)==2){j:{if(!s){break j}b=d+v|0;if(b>>>0<68){break j}e=c+v|0;if(e>>>0<68){break j}b=r[b+167760|0];e=r[e+167920|0];n[q[a+88>>2]](f,i,b,e);n[q[a+88>>2]](g,i,b,e)}h=c+x|0;b=r[h+167920|0];x=d+x|0;e=r[x+167760|0];y=x>>>0<68|h>>>0<68;if(!y){h=w(r[(x<<2)+168083|0]+1&255,16843009);q[j+76>>2]=h;t=4<>2]](t+f|0,i,e,b,j+76|0);q[j+76>>2]=h;n[q[a+76>>2]](g+t|0,i,e,b,j+76|0)}k:{if(!A){break k}t=d+u|0;if(t>>>0<68){break k}c=c+u|0;if(c>>>0<68){break k}d=r[c+167920|0];h=r[t+167760|0];u=p[B>>1];if((u|0)<=3){t=(t<<2)+168080|0;c=r[t+((z|0)==3?4:3)|0]+1|0;o[j+79|0]=c;o[j+78|0]=c;o[j+77|0]=c;t=r[u+t|0]+1|0;o[j+76|0]=t;n[q[a+72>>2]](f,i,h,d,j+76|0);o[j+79|0]=c;o[j+78|0]=c;o[j+77|0]=c;o[j+76|0]=t;n[q[a+72>>2]](g,i,h,d,j+76|0);break k}n[q[a+84>>2]](f,i,h,d);n[q[a+84>>2]](g,i,h,d)}if(y){break a}c=w(r[(x<<2)+168083|0]+1&255,16843009);q[j+76>>2]=c;d=i<<2;n[q[a+72>>2]](d+f|0,i,e,b,j+76|0);q[j+76>>2]=c;n[q[a+72>>2]](d+g|0,i,e,b,j+76|0);q[j+76>>2]=c;d=i<<3;n[q[a+72>>2]](d+f|0,i,e,b,j+76|0);q[j+76>>2]=c;n[q[a+72>>2]](d+g|0,i,e,b,j+76|0);q[j+76>>2]=c;d=w(i,12);n[q[a+72>>2]](d+f|0,i,e,b,j+76|0);q[j+76>>2]=c;n[q[a+72>>2]](d+g|0,i,e,b,j+76|0);break a}l:{if(!s){break l}b=d+v|0;if(b>>>0<68){break l}e=c+v|0;if(e>>>0<68){break l}b=r[b+167760|0];e=r[e+167920|0];n[q[a+88>>2]](f,i,b,e);n[q[a+88>>2]](g,i,b,e)}b=c+x|0;e=r[b+167920|0];x=d+x|0;h=r[x+167760|0];t=x>>>0<68|b>>>0<68;if(!t){b=w(r[(x<<2)+168083|0]+1&255,16843009);q[j+76>>2]=b;y=4<>2]](y+f|0,i,h,e,j+76|0);q[j+76>>2]=b;n[q[a+76>>2]](g+y|0,i,h,e,j+76|0)}m:{if(!A){break m}b=d+u|0;if(b>>>0<68){break m}c=c+u|0;if(c>>>0<68){break m}c=r[c+167920|0];d=r[b+167760|0];y=p[B>>1];if((y|0)<=3){u=(b<<2)+168080|0;b=r[u+((z|0)==3?4:3)|0]+1|0;o[j+79|0]=b;o[j+78|0]=b;o[j+77|0]=b;y=r[u+y|0]+1|0;o[j+76|0]=y;n[q[a+72>>2]](f,i,d,c,j+76|0);o[j+79|0]=b;o[j+78|0]=b;o[j+77|0]=b;o[j+76|0]=y;n[q[a+72>>2]](g,i,d,c,j+76|0);break m}n[q[a+84>>2]](f,i,d,c);n[q[a+84>>2]](g,i,d,c)}if(t){break a}b=w(r[(x<<2)+168083|0]+1&255,16843009);q[j+76>>2]=b;c=i<<2;n[q[a+72>>2]](c+f|0,i,h,e,j+76|0);q[j+76>>2]=b;n[q[a+72>>2]](c+g|0,i,h,e,j+76|0);break a}z=q[b+21856>>2];D=l&16777216;n:{if(!(!D|(t|0)==3|(z&7)!=7)){q[j+56>>2]=131074;q[j+60>>2]=131074;q[j+40>>2]=131074;q[j+44>>2]=131074;q[j+24>>2]=131074;q[j+28>>2]=131074;q[j+8>>2]=131074;q[j+12>>2]=131074;b=4;break n}E=b+27824|0;F=b+28272|0;G=b+27952|0;H=q[b+23412>>2]==2;b=w(!(z&15)&l>>>3,-3)+4|0;z=(l>>24)+1|0;l=w(w(l,5)>>>5&1,3)|l>>4;n[C](j+8|0,E,F,G,H,b,z,w(w(s,5)>>>5&l>>>1&1,3),l,q[a+26388>>2]!=3)}if(s&7){q[j+8>>2]=262148;q[j+12>>2]=262148}if(A&7){l=q[a+26388>>2]==3;q[j+40>>2]=l?262148:196611;q[j+44>>2]=l?262148:196611}o:{if(!s){break o}C=q[j+8>>2];if(!(C|q[j+12>>2])){break o}s=d+B|0;p:{if(s>>>0<68){break p}l=c+B|0;if(l>>>0<68){break p}l=r[l+167920|0];z=r[s+167760|0];B=C<<16>>16;if((B|0)<=3){s=(s<<2)+168080|0;o[j+77|0]=r[s+p[j+10>>1]|0];o[j+76|0]=r[s+B|0];o[j+78|0]=r[s+p[j+12>>1]|0];o[j+79|0]=r[s+p[j+14>>1]|0];n[q[a+52>>2]](e,h,z,l,j+76|0);break p}n[q[a- -64>>2]](e,h,z,l)}if(!t){break o}l=d+v|0;v=c+v|0;z=l>>>0<68|v>>>0<68;v=r[v+167920|0];s=r[l+167760|0];if((t|0)==3){if(z){break o}B=p[j+8>>1];q:{if((B|0)<=3){z=(l<<2)+168080|0;o[j+77|0]=r[z+p[j+10>>1]|0];o[j+76|0]=r[z+B|0];o[j+78|0]=r[z+p[j+12>>1]|0];o[j+79|0]=r[z+p[j+14>>1]|0];n[q[a+52>>2]](f,h,s,v,j+76|0);break q}n[q[a- -64>>2]](f,h,s,v)}z=p[j+8>>1];if((z|0)<=3){l=(l<<2)+168080|0;o[j+77|0]=r[l+p[j+10>>1]|0];o[j+76|0]=r[l+z|0];o[j+78|0]=r[l+p[j+12>>1]|0];o[j+79|0]=r[l+p[j+14>>1]|0];n[q[a+52>>2]](g,h,s,v,j+76|0);break o}n[q[a- -64>>2]](g,h,s,v);break o}if(z){break o}B=p[j+8>>1];r:{if((B|0)<=3){z=(l<<2)+168080|0;o[j+77|0]=r[z+p[j+10>>1]|0]+1;o[j+76|0]=r[z+B|0]+1;o[j+78|0]=r[z+p[j+12>>1]|0]+1;o[j+79|0]=r[z+p[j+14>>1]|0]+1;n[q[a+76>>2]](f,i,s,v,j+76|0);break r}n[q[a+88>>2]](f,i,s,v)}z=p[j+8>>1];if((z|0)<=3){l=(l<<2)+168080|0;o[j+77|0]=r[l+p[j+10>>1]|0]+1;o[j+76|0]=r[l+z|0]+1;o[j+78|0]=r[l+p[j+12>>1]|0]+1;o[j+79|0]=r[l+p[j+14>>1]|0]+1;n[q[a+76>>2]](g,i,s,v,j+76|0);break o}n[q[a+88>>2]](g,i,s,v)}if((b|0)==1){if(!A){break a}k=q[j+40>>2];if(!(k|q[j+44>>2])){break a}b=d+m|0;s:{if(b>>>0<68){break s}x=c+m|0;if(x>>>0<68){break s}x=r[x+167920|0];y=r[b+167760|0];k=k<<16>>16;if((k|0)<=3){b=(b<<2)+168080|0;o[j+77|0]=r[b+p[j+42>>1]|0];o[j+76|0]=r[b+k|0];o[j+78|0]=r[b+p[j+44>>1]|0];o[j+79|0]=r[b+p[j+46>>1]|0];n[q[a+48>>2]](e,h,y,x,j+76|0);break s}n[q[a+60>>2]](e,h,y,x)}if(!t){break a}d=d+u|0;b=c+u|0;e=d>>>0<68|b>>>0<68;b=r[b+167920|0];c=r[d+167760|0];if((t|0)==3){if(e){break a}i=p[j+40>>1];t:{if((i|0)<=3){e=(d<<2)+168080|0;o[j+77|0]=r[e+p[j+42>>1]|0];o[j+76|0]=r[e+i|0];o[j+78|0]=r[e+p[j+44>>1]|0];o[j+79|0]=r[e+p[j+46>>1]|0];n[q[a+48>>2]](f,h,c,b,j+76|0);break t}n[q[a+60>>2]](f,h,c,b)}e=p[j+40>>1];if((e|0)<=3){d=(d<<2)+168080|0;o[j+77|0]=r[d+p[j+42>>1]|0];o[j+76|0]=r[d+e|0];o[j+78|0]=r[d+p[j+44>>1]|0];o[j+79|0]=r[d+p[j+46>>1]|0];n[q[a+48>>2]](g,h,c,b,j+76|0);break a}n[q[a+60>>2]](g,h,c,b);break a}if(e){break a}h=p[j+40>>1];u:{if((h|0)<=3){e=(d<<2)+168080|0;o[j+77|0]=r[e+p[j+42>>1]|0]+1;o[j+76|0]=r[e+h|0]+1;o[j+78|0]=r[e+p[j+44>>1]|0]+1;o[j+79|0]=r[e+p[j+46>>1]|0]+1;n[q[a+72>>2]](f,i,c,b,j+76|0);break u}n[q[a+84>>2]](f,i,c,b)}e=p[j+40>>1];if((e|0)<=3){d=(d<<2)+168080|0;o[j+77|0]=r[d+p[j+42>>1]|0]+1;o[j+76|0]=r[d+e|0]+1;o[j+78|0]=r[d+p[j+44>>1]|0]+1;o[j+79|0]=r[d+p[j+46>>1]|0]+1;n[q[a+72>>2]](g,i,c,b,j+76|0);break a}n[q[a+84>>2]](g,i,c,b);break a}if(D){s=q[j+24>>2];v:{if(!(s|q[j+28>>2])){break v}l=1<>>0<68){break w}z=c+y|0;if(z>>>0<68){break w}b=(v<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+(s<<16>>16)|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];n[q[a+52>>2]](e+k|0,h,r[v+167760|0],r[z+167920|0],j+76|0)}if(!t){break v}if((t|0)==3){v=d+x|0;if(v>>>0<68){break v}s=c+x|0;if(s>>>0<68){break v}l=p[j+24>>1];b=(v<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+l|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];v=r[v+167760|0];s=r[s+167920|0];n[q[a+52>>2]](f+k|0,h,v,s,j+76|0);l=p[j+24>>1];o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+l|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];n[q[a+52>>2]](g+k|0,h,v,s,j+76|0);break v}k=d+x|0;if(k>>>0<68){break v}v=c+x|0;if(v>>>0<68){break v}s=p[j+24>>1];b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0]+1;o[j+76|0]=r[b+s|0]+1;o[j+78|0]=r[b+p[j+28>>1]|0]+1;o[j+79|0]=r[b+p[j+30>>1]|0]+1;s=l<<2;k=r[k+167760|0];v=r[v+167920|0];n[q[a+76>>2]](s+f|0,i,k,v,j+76|0);l=p[j+24>>1];o[j+77|0]=r[b+p[j+26>>1]|0]+1;o[j+76|0]=r[b+l|0]+1;o[j+78|0]=r[b+p[j+28>>1]|0]+1;o[j+79|0]=r[b+p[j+30>>1]|0]+1;n[q[a+76>>2]](g+s|0,i,k,v,j+76|0)}x:{if(!A){break x}A=q[j+40>>2];if(!(A|q[j+44>>2])){break x}b=d+m|0;y:{if(b>>>0<68){break y}k=c+m|0;if(k>>>0<68){break y}k=r[k+167920|0];m=r[b+167760|0];A=A<<16>>16;if((A|0)<=3){b=(b<<2)+168080|0;o[j+77|0]=r[b+p[j+42>>1]|0];o[j+76|0]=r[b+A|0];o[j+78|0]=r[b+p[j+44>>1]|0];o[j+79|0]=r[b+p[j+46>>1]|0];n[q[a+48>>2]](e,h,m,k,j+76|0);break y}n[q[a+60>>2]](e,h,m,k)}if(!t){break x}k=d+u|0;b=c+u|0;m=k>>>0<68|b>>>0<68;b=r[b+167920|0];u=r[k+167760|0];if((t|0)==3){if(m){break x}A=p[j+40>>1];z:{if((A|0)<=3){m=(k<<2)+168080|0;o[j+77|0]=r[m+p[j+42>>1]|0];o[j+76|0]=r[m+A|0];o[j+78|0]=r[m+p[j+44>>1]|0];o[j+79|0]=r[m+p[j+46>>1]|0];n[q[a+48>>2]](f,h,u,b,j+76|0);break z}n[q[a+60>>2]](f,h,u,b)}m=p[j+40>>1];if((m|0)<=3){k=(k<<2)+168080|0;o[j+77|0]=r[k+p[j+42>>1]|0];o[j+76|0]=r[k+m|0];o[j+78|0]=r[k+p[j+44>>1]|0];o[j+79|0]=r[k+p[j+46>>1]|0];n[q[a+48>>2]](g,h,u,b,j+76|0);break x}n[q[a+60>>2]](g,h,u,b);break x}if(m){break x}A=p[j+40>>1];A:{if((A|0)<=3){m=(k<<2)+168080|0;o[j+77|0]=r[m+p[j+42>>1]|0]+1;o[j+76|0]=r[m+A|0]+1;o[j+78|0]=r[m+p[j+44>>1]|0]+1;o[j+79|0]=r[m+p[j+46>>1]|0]+1;n[q[a+72>>2]](f,i,u,b,j+76|0);break A}n[q[a+84>>2]](f,i,u,b)}m=p[j+40>>1];if((m|0)<=3){k=(k<<2)+168080|0;o[j+77|0]=r[k+p[j+42>>1]|0]+1;o[j+76|0]=r[k+m|0]+1;o[j+78|0]=r[k+p[j+44>>1]|0]+1;o[j+79|0]=r[k+p[j+46>>1]|0]+1;n[q[a+72>>2]](g,i,u,b,j+76|0);break x}n[q[a+84>>2]](g,i,u,b)}m=q[j+56>>2];if(!(m|q[j+60>>2])){break a}u=h<<3;k=d+y|0;B:{if(k>>>0<68){break B}y=c+y|0;if(y>>>0<68){break B}b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+(m<<16>>16)|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];n[q[a+48>>2]](e+u|0,h,r[k+167760|0],r[y+167920|0],j+76|0)}if(!t){break a}if((t|0)==3){d=d+x|0;if(d>>>0<68){break a}c=c+x|0;if(c>>>0<68){break a}e=p[j+56>>1];b=(d<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+e|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];d=r[d+167760|0];c=r[c+167920|0];n[q[a+48>>2]](f+u|0,h,d,c,j+76|0);e=p[j+56>>1];o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+e|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];n[q[a+48>>2]](g+u|0,h,d,c,j+76|0);break a}d=d+x|0;if(d>>>0<68){break a}c=c+x|0;if(c>>>0<68){break a}e=p[j+56>>1];b=(d<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0]+1;o[j+76|0]=r[b+e|0]+1;o[j+78|0]=r[b+p[j+60>>1]|0]+1;o[j+79|0]=r[b+p[j+62>>1]|0]+1;e=i<<2;d=r[d+167760|0];c=r[c+167920|0];n[q[a+72>>2]](e+f|0,i,d,c,j+76|0);f=p[j+56>>1];o[j+77|0]=r[b+p[j+58>>1]|0]+1;o[j+76|0]=r[b+f|0]+1;o[j+78|0]=r[b+p[j+60>>1]|0]+1;o[j+79|0]=r[b+p[j+62>>1]|0]+1;n[q[a+72>>2]](e+g|0,i,d,c,j+76|0);break a}l=q[j+16>>2];C:{if(!(l|q[j+20>>2])){break C}v=4<>>0<68){break D}z=c+y|0;if(z>>>0<68){break D}b=(s<<2)+168080|0;o[j+77|0]=r[b+p[j+18>>1]|0];o[j+76|0]=r[b+(l<<16>>16)|0];o[j+78|0]=r[b+p[j+20>>1]|0];o[j+79|0]=r[b+p[j+22>>1]|0];n[q[a+52>>2]](e+v|0,h,r[s+167760|0],r[z+167920|0],j+76|0)}if((t|0)!=3){break C}s=d+x|0;if(s>>>0<68){break C}l=c+x|0;if(l>>>0<68){break C}z=p[j+16>>1];b=(s<<2)+168080|0;o[j+77|0]=r[b+p[j+18>>1]|0];o[j+76|0]=r[b+z|0];o[j+78|0]=r[b+p[j+20>>1]|0];o[j+79|0]=r[b+p[j+22>>1]|0];s=r[s+167760|0];l=r[l+167920|0];n[q[a+52>>2]](f+v|0,h,s,l,j+76|0);z=p[j+16>>1];o[j+77|0]=r[b+p[j+18>>1]|0];o[j+76|0]=r[b+z|0];o[j+78|0]=r[b+p[j+20>>1]|0];o[j+79|0]=r[b+p[j+22>>1]|0];n[q[a+52>>2]](g+v|0,h,s,l,j+76|0)}l=q[j+24>>2];E:{if(!(l|q[j+28>>2])){break E}z=1<>>0<68){break F}B=c+y|0;if(B>>>0<68){break F}b=(s<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+(l<<16>>16)|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];n[q[a+52>>2]](e+v|0,h,r[s+167760|0],r[B+167920|0],j+76|0)}if(!t){break E}if((t|0)==3){s=d+x|0;if(s>>>0<68){break E}l=c+x|0;if(l>>>0<68){break E}z=p[j+24>>1];b=(s<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+z|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];s=r[s+167760|0];l=r[l+167920|0];n[q[a+52>>2]](f+v|0,h,s,l,j+76|0);z=p[j+24>>1];o[j+77|0]=r[b+p[j+26>>1]|0];o[j+76|0]=r[b+z|0];o[j+78|0]=r[b+p[j+28>>1]|0];o[j+79|0]=r[b+p[j+30>>1]|0];n[q[a+52>>2]](g+v|0,h,s,l,j+76|0);break E}v=d+x|0;if(v>>>0<68){break E}s=c+x|0;if(s>>>0<68){break E}l=p[j+24>>1];b=(v<<2)+168080|0;o[j+77|0]=r[b+p[j+26>>1]|0]+1;o[j+76|0]=r[b+l|0]+1;o[j+78|0]=r[b+p[j+28>>1]|0]+1;o[j+79|0]=r[b+p[j+30>>1]|0]+1;l=z<<2;v=r[v+167760|0];s=r[s+167920|0];n[q[a+76>>2]](l+f|0,i,v,s,j+76|0);z=p[j+24>>1];o[j+77|0]=r[b+p[j+26>>1]|0]+1;o[j+76|0]=r[b+z|0]+1;o[j+78|0]=r[b+p[j+28>>1]|0]+1;o[j+79|0]=r[b+p[j+30>>1]|0]+1;n[q[a+76>>2]](g+l|0,i,v,s,j+76|0)}s=q[j+32>>2];G:{if(!(s|q[j+36>>2])){break G}k=12<>>0<68){break H}l=c+y|0;if(l>>>0<68){break H}b=(v<<2)+168080|0;o[j+77|0]=r[b+p[j+34>>1]|0];o[j+76|0]=r[b+(s<<16>>16)|0];o[j+78|0]=r[b+p[j+36>>1]|0];o[j+79|0]=r[b+p[j+38>>1]|0];n[q[a+52>>2]](e+k|0,h,r[v+167760|0],r[l+167920|0],j+76|0)}if((t|0)!=3){break G}v=d+x|0;if(v>>>0<68){break G}s=c+x|0;if(s>>>0<68){break G}l=p[j+32>>1];b=(v<<2)+168080|0;o[j+77|0]=r[b+p[j+34>>1]|0];o[j+76|0]=r[b+l|0];o[j+78|0]=r[b+p[j+36>>1]|0];o[j+79|0]=r[b+p[j+38>>1]|0];v=r[v+167760|0];s=r[s+167920|0];n[q[a+52>>2]](f+k|0,h,v,s,j+76|0);l=p[j+32>>1];o[j+77|0]=r[b+p[j+34>>1]|0];o[j+76|0]=r[b+l|0];o[j+78|0]=r[b+p[j+36>>1]|0];o[j+79|0]=r[b+p[j+38>>1]|0];n[q[a+52>>2]](g+k|0,h,v,s,j+76|0)}I:{if(!A){break I}A=q[j+40>>2];if(!(A|q[j+44>>2])){break I}b=d+m|0;J:{if(b>>>0<68){break J}k=c+m|0;if(k>>>0<68){break J}k=r[k+167920|0];m=r[b+167760|0];A=A<<16>>16;if((A|0)<=3){b=(b<<2)+168080|0;o[j+77|0]=r[b+p[j+42>>1]|0];o[j+76|0]=r[b+A|0];o[j+78|0]=r[b+p[j+44>>1]|0];o[j+79|0]=r[b+p[j+46>>1]|0];n[q[a+48>>2]](e,h,m,k,j+76|0);break J}n[q[a+60>>2]](e,h,m,k)}if(!t){break I}k=d+u|0;b=c+u|0;m=k>>>0<68|b>>>0<68;b=r[b+167920|0];u=r[k+167760|0];if((t|0)==3){if(m){break I}A=p[j+40>>1];K:{if((A|0)<=3){m=(k<<2)+168080|0;o[j+77|0]=r[m+p[j+42>>1]|0];o[j+76|0]=r[m+A|0];o[j+78|0]=r[m+p[j+44>>1]|0];o[j+79|0]=r[m+p[j+46>>1]|0];n[q[a+48>>2]](f,h,u,b,j+76|0);break K}n[q[a+60>>2]](f,h,u,b)}m=p[j+40>>1];if((m|0)<=3){k=(k<<2)+168080|0;o[j+77|0]=r[k+p[j+42>>1]|0];o[j+76|0]=r[k+m|0];o[j+78|0]=r[k+p[j+44>>1]|0];o[j+79|0]=r[k+p[j+46>>1]|0];n[q[a+48>>2]](g,h,u,b,j+76|0);break I}n[q[a+60>>2]](g,h,u,b);break I}if(m){break I}A=p[j+40>>1];L:{if((A|0)<=3){m=(k<<2)+168080|0;o[j+77|0]=r[m+p[j+42>>1]|0]+1;o[j+76|0]=r[m+A|0]+1;o[j+78|0]=r[m+p[j+44>>1]|0]+1;o[j+79|0]=r[m+p[j+46>>1]|0]+1;n[q[a+72>>2]](f,i,u,b,j+76|0);break L}n[q[a+84>>2]](f,i,u,b)}m=p[j+40>>1];if((m|0)<=3){k=(k<<2)+168080|0;o[j+77|0]=r[k+p[j+42>>1]|0]+1;o[j+76|0]=r[k+m|0]+1;o[j+78|0]=r[k+p[j+44>>1]|0]+1;o[j+79|0]=r[k+p[j+46>>1]|0]+1;n[q[a+72>>2]](g,i,u,b,j+76|0);break I}n[q[a+84>>2]](g,i,u,b)}m=q[j+48>>2];M:{if(!(m|q[j+52>>2])){break M}u=h<<2;k=d+y|0;N:{if(k>>>0<68){break N}A=c+y|0;if(A>>>0<68){break N}b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+50>>1]|0];o[j+76|0]=r[b+(m<<16>>16)|0];o[j+78|0]=r[b+p[j+52>>1]|0];o[j+79|0]=r[b+p[j+54>>1]|0];n[q[a+48>>2]](e+u|0,h,r[k+167760|0],r[A+167920|0],j+76|0)}if((t|0)!=3){break M}k=d+x|0;if(k>>>0<68){break M}m=c+x|0;if(m>>>0<68){break M}A=p[j+48>>1];b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+50>>1]|0];o[j+76|0]=r[b+A|0];o[j+78|0]=r[b+p[j+52>>1]|0];o[j+79|0]=r[b+p[j+54>>1]|0];k=r[k+167760|0];m=r[m+167920|0];n[q[a+48>>2]](f+u|0,h,k,m,j+76|0);A=p[j+48>>1];o[j+77|0]=r[b+p[j+50>>1]|0];o[j+76|0]=r[b+A|0];o[j+78|0]=r[b+p[j+52>>1]|0];o[j+79|0]=r[b+p[j+54>>1]|0];n[q[a+48>>2]](g+u|0,h,k,m,j+76|0)}m=q[j+56>>2];O:{if(!(m|q[j+60>>2])){break O}u=h<<3;k=d+y|0;P:{if(k>>>0<68){break P}A=c+y|0;if(A>>>0<68){break P}b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+(m<<16>>16)|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];n[q[a+48>>2]](e+u|0,h,r[k+167760|0],r[A+167920|0],j+76|0)}if(!t){break O}if((t|0)==3){i=d+x|0;if(i>>>0<68){break O}k=c+x|0;if(k>>>0<68){break O}m=p[j+56>>1];b=(i<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+m|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];i=r[i+167760|0];k=r[k+167920|0];n[q[a+48>>2]](f+u|0,h,i,k,j+76|0);m=p[j+56>>1];o[j+77|0]=r[b+p[j+58>>1]|0];o[j+76|0]=r[b+m|0];o[j+78|0]=r[b+p[j+60>>1]|0];o[j+79|0]=r[b+p[j+62>>1]|0];n[q[a+48>>2]](g+u|0,h,i,k,j+76|0);break O}u=d+x|0;if(u>>>0<68){break O}k=c+x|0;if(k>>>0<68){break O}m=p[j+56>>1];b=(u<<2)+168080|0;o[j+77|0]=r[b+p[j+58>>1]|0]+1;o[j+76|0]=r[b+m|0]+1;o[j+78|0]=r[b+p[j+60>>1]|0]+1;o[j+79|0]=r[b+p[j+62>>1]|0]+1;m=i<<2;u=r[u+167760|0];k=r[k+167920|0];n[q[a+72>>2]](m+f|0,i,u,k,j+76|0);A=p[j+56>>1];o[j+77|0]=r[b+p[j+58>>1]|0]+1;o[j+76|0]=r[b+A|0]+1;o[j+78|0]=r[b+p[j+60>>1]|0]+1;o[j+79|0]=r[b+p[j+62>>1]|0]+1;n[q[a+72>>2]](g+m|0,i,u,k,j+76|0)}i=j- -64|0;b=q[i+4>>2];u=q[i>>2];if(!(b|u)){break a}i=w(h,12);k=d+y|0;Q:{if(k>>>0<68){break Q}y=c+y|0;if(y>>>0<68){break Q}b=(k<<2)+168080|0;o[j+77|0]=r[b+p[j+66>>1]|0];o[j+76|0]=r[b+(u<<16>>16)|0];o[j+78|0]=r[b+p[j+68>>1]|0];o[j+79|0]=r[b+p[j+70>>1]|0];n[q[a+48>>2]](e+i|0,h,r[k+167760|0],r[y+167920|0],j+76|0)}if((t|0)!=3){break a}d=d+x|0;if(d>>>0<68){break a}c=c+x|0;if(c>>>0<68){break a}e=p[j+64>>1];b=(d<<2)+168080|0;o[j+77|0]=r[b+p[j+66>>1]|0];o[j+76|0]=r[b+e|0];o[j+78|0]=r[b+p[j+68>>1]|0];o[j+79|0]=r[b+p[j+70>>1]|0];d=r[d+167760|0];c=r[c+167920|0];n[q[a+48>>2]](f+i|0,h,d,c,j+76|0);e=p[j+64>>1];o[j+77|0]=r[b+p[j+66>>1]|0];o[j+76|0]=r[b+e|0];o[j+78|0]=r[b+p[j+68>>1]|0];o[j+79|0]=r[b+p[j+70>>1]|0];n[q[a+48>>2]](g+i|0,h,d,c,j+76|0)}Ca=j+80|0}function Co(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;j=Ca-32|0;Ca=j;N=w(q[a+27024>>2],d)+c|0;L=q[q[a+24364>>2]+(N<<2)>>2];E=L&128;t=q[a+28224>>2];c=w(q[t+1700>>2],-6)+48|0;y=(c+q[b+876>>2]|0)+52|0;z=(c+q[b+872>>2]|0)+52|0;M=q[t+12>>2];u=0;a:{if(!q[a+26384>>2]){break a}c=q[b+21740>>2];u=0;if(!c){break a}u=0;if(!((c^L)&128)){break a}b:{if(L&7){q[j+16>>2]=262148;q[j+20>>2]=262148;q[j+8>>2]=262148;q[j+12>>2]=262148;A=q[b+21828>>2];break b}c=0;A=q[b+21828>>2];m=d&1;l=A<<4|m<<3;while(1){if((c|0)==8){break b}k=(j+8|0)+(c<<1)|0;t=((A?c>>>2|0:c&1)<<2)+b|0;u=q[t+21740>>2];if(u&7){t=4}else{H=q[t+21720>>2];t=r[((c<<2&-8)+b|0)+27836|0];if(q[q[a+28220>>2]+4>>2]|!(u&16777216)){u=r[r[(c+l|0)+167712|0]+(q[a+25980>>2]+w(H,48)|0)|0]}else{u=s[q[a+26400>>2]+(H<<1)>>1]&((A?c&2:m)?32768:8192)}t=u|t?2:1}p[k>>1]=t;c=c+1|0;continue}}c=q[a+28220>>2];H=c+636|0;t=q[a+24340>>2];m=o[t+N|0];l=r[H+m|0]+1|0;k=o[t+q[b+21724>>2]|0];J=l+r[k+H|0]>>>1|0;u=c+548|0;c=r[u+m|0]+1|0;K=c+r[k+u|0]>>>1|0;t=o[t+q[b+21720>>2]|0];I=l+r[t+H|0]>>>1|0;C=c+r[t+u|0]>>>1|0;c=m+1|0;H=c+k>>1;c=c+t>>1;c:{if(A){k=c+z|0;d:{if(k>>>0<68){break d}c=c+y|0;if(c>>>0<68){break d}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+10>>1]|0];o[j+28|0]=r[c+k|0];o[j+30|0]=r[k+p[j+12>>1]|0];o[j+31|0]=r[k+p[j+14>>1]|0];n[q[a+56>>2]](e,h,t,u,j+28|0);break d}n[q[a+68>>2]](e,h,t,u)}l=z+H|0;e:{if(l>>>0<68){break e}c=y+H|0;if(c>>>0<68){break e}k=(h<<3)+e|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+20>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,h,t,u,j+28|0);break e}n[q[a+68>>2]](k,h,t,u)}if(!M){break c}t=q[q[a+28224>>2]+12>>2];if((t|0)==3){k=z+C|0;f:{if(k>>>0<68){break f}c=y+C|0;if(c>>>0<68){break f}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+10>>1]|0];o[j+28|0]=r[c+k|0];o[j+30|0]=r[k+p[j+12>>1]|0];o[j+31|0]=r[k+p[j+14>>1]|0];n[q[a+56>>2]](f,i,t,u,j+28|0);break f}n[q[a+68>>2]](f,i,t,u)}m=i<<3;l=z+K|0;g:{if(l>>>0<68){break g}c=y+K|0;if(c>>>0<68){break g}k=f+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+20>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,i,t,u,j+28|0);break g}n[q[a+68>>2]](k,i,t,u)}k=z+I|0;h:{if(k>>>0<68){break h}c=y+I|0;if(c>>>0<68){break h}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+10>>1]|0];o[j+28|0]=r[c+k|0];o[j+30|0]=r[k+p[j+12>>1]|0];o[j+31|0]=r[k+p[j+14>>1]|0];n[q[a+56>>2]](g,i,t,u,j+28|0);break h}n[q[a+68>>2]](g,i,t,u)}l=z+J|0;if(l>>>0<68){break c}c=y+J|0;if(c>>>0<68){break c}k=g+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+20>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,i,t,u,j+28|0);break c}n[q[a+68>>2]](k,i,t,u);break c}l=z+C|0;i:{if(l>>>0<68){break i}c=y+C|0;if(c>>>0<68){break i}k=r[c+167920|0];u=r[l+167760|0];c=p[j+8>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+10>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+12>>1]|0]+1;o[j+31|0]=r[l+p[j+14>>1]|0]+1;n[q[a+80>>2]](f,i,u,k,j+28|0);break i}n[q[a+92>>2]](f,i,u,k)}if((t|0)==2){m=i<<3;l=z+K|0;j:{if(l>>>0<68){break j}c=y+K|0;if(c>>>0<68){break j}k=f+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+20>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,i,t,u,j+28|0);break j}n[q[a+92>>2]](k,i,t,u)}k=z+I|0;k:{if(k>>>0<68){break k}c=y+I|0;if(c>>>0<68){break k}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+10>>1]|0]+1;o[j+28|0]=r[c+k|0]+1;o[j+30|0]=r[k+p[j+12>>1]|0]+1;o[j+31|0]=r[k+p[j+14>>1]|0]+1;n[q[a+80>>2]](g,i,t,u,j+28|0);break k}n[q[a+92>>2]](g,i,t,u)}l=z+J|0;if(l>>>0<68){break c}c=y+J|0;if(c>>>0<68){break c}k=g+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+20>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,i,t,u,j+28|0);break c}n[q[a+92>>2]](k,i,t,u);break c}m=i<<2;l=z+K|0;l:{if(l>>>0<68){break l}c=y+K|0;if(c>>>0<68){break l}k=f+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+20>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,i,t,u,j+28|0);break l}n[q[a+92>>2]](k,i,t,u)}k=z+I|0;m:{if(k>>>0<68){break m}c=y+I|0;if(c>>>0<68){break m}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+10>>1]|0]+1;o[j+28|0]=r[c+k|0]+1;o[j+30|0]=r[k+p[j+12>>1]|0]+1;o[j+31|0]=r[k+p[j+14>>1]|0]+1;n[q[a+80>>2]](g,i,t,u,j+28|0);break m}n[q[a+92>>2]](g,i,t,u)}l=z+J|0;if(l>>>0<68){break c}c=y+J|0;if(c>>>0<68){break c}k=g+m|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+16>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+18>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+20>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,i,t,u,j+28|0);break c}n[q[a+92>>2]](k,i,t,u);break c}m=h<<1;k=c+z|0;n:{if(k>>>0<68){break n}c=c+y|0;if(c>>>0<68){break n}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+12>>1]|0];o[j+28|0]=r[c+k|0];o[j+30|0]=r[k+p[j+16>>1]|0];o[j+31|0]=r[k+p[j+20>>1]|0];n[q[a+56>>2]](e,m,t,u,j+28|0);break n}n[q[a+68>>2]](e,m,t,u)}l=z+H|0;o:{if(l>>>0<68){break o}c=y+H|0;if(c>>>0<68){break o}k=e+h|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+10>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+14>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+18>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,m,t,u,j+28|0);break o}n[q[a+68>>2]](k,m,t,u)}if(!M){break c}u=z+C|0;c=y+C|0;t=u>>>0<68|c>>>0<68;m=i<<1;l=r[c+167920|0];k=r[u+167760|0];if(q[q[a+28224>>2]+12>>2]==3){p:{if(t){break p}c=p[j+8>>1];if((c|0)<=3){t=(u<<2)+168080|0;o[j+29|0]=r[t+p[j+12>>1]|0];o[j+28|0]=r[c+t|0];o[j+30|0]=r[t+p[j+16>>1]|0];o[j+31|0]=r[t+p[j+20>>1]|0];n[q[a+56>>2]](f,m,k,l,j+28|0);break p}n[q[a+68>>2]](f,m,k,l)}l=z+K|0;q:{if(l>>>0<68){break q}c=y+K|0;if(c>>>0<68){break q}k=f+i|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+10>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+14>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+18>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,m,t,u,j+28|0);break q}n[q[a+68>>2]](k,m,t,u)}k=z+I|0;r:{if(k>>>0<68){break r}c=y+I|0;if(c>>>0<68){break r}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+12>>1]|0];o[j+28|0]=r[c+k|0];o[j+30|0]=r[k+p[j+16>>1]|0];o[j+31|0]=r[k+p[j+20>>1]|0];n[q[a+56>>2]](g,m,t,u,j+28|0);break r}n[q[a+68>>2]](g,m,t,u)}l=z+J|0;if(l>>>0<68){break c}c=y+J|0;if(c>>>0<68){break c}k=g+i|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+10>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+14>>1]|0];o[j+28|0]=r[c+l|0];o[j+30|0]=r[l+p[j+18>>1]|0];o[j+31|0]=r[l+p[j+22>>1]|0];n[q[a+56>>2]](k,m,t,u,j+28|0);break c}n[q[a+68>>2]](k,m,t,u);break c}s:{if(t){break s}c=p[j+8>>1];if((c|0)<=3){t=(u<<2)+168080|0;o[j+29|0]=r[t+p[j+12>>1]|0]+1;o[j+28|0]=r[c+t|0]+1;o[j+30|0]=r[t+p[j+16>>1]|0]+1;o[j+31|0]=r[t+p[j+20>>1]|0]+1;n[q[a+80>>2]](f,m,k,l,j+28|0);break s}n[q[a+92>>2]](f,m,k,l)}l=z+K|0;t:{if(l>>>0<68){break t}c=y+K|0;if(c>>>0<68){break t}k=f+i|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+10>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+14>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+18>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,m,t,u,j+28|0);break t}n[q[a+92>>2]](k,m,t,u)}k=z+I|0;u:{if(k>>>0<68){break u}c=y+I|0;if(c>>>0<68){break u}u=r[c+167920|0];t=r[k+167760|0];c=p[j+8>>1];if((c|0)<=3){k=(k<<2)+168080|0;o[j+29|0]=r[k+p[j+12>>1]|0]+1;o[j+28|0]=r[c+k|0]+1;o[j+30|0]=r[k+p[j+16>>1]|0]+1;o[j+31|0]=r[k+p[j+20>>1]|0]+1;n[q[a+80>>2]](g,m,t,u,j+28|0);break u}n[q[a+92>>2]](g,m,t,u)}l=z+J|0;if(l>>>0<68){break c}c=y+J|0;if(c>>>0<68){break c}k=g+i|0;u=r[c+167920|0];t=r[l+167760|0];c=p[j+10>>1];if((c|0)<=3){l=(l<<2)+168080|0;o[j+29|0]=r[l+p[j+14>>1]|0]+1;o[j+28|0]=r[c+l|0]+1;o[j+30|0]=r[l+p[j+18>>1]|0]+1;o[j+31|0]=r[l+p[j+22>>1]|0]+1;n[q[a+80>>2]](k,m,t,u,j+28|0);break c}n[q[a+92>>2]](k,m,t,u)}u=1}P=E?2:4;T=h<<2;U=L&7;V=L&16777216;Q=i<<1;W=h<<1;X=E^128;J=d&1;t=N+ -1|0;K=L>>>3&7;R=b+27824|0;while(1){v:{w:{if((F|0)!=2){O=q[q[a+28224>>2]+12>>2];d=F?q[b+21712>>2]:t;m=q[(F?21732:21740)+b>>2];G=4;I=r[(F<<3|K)+168704|0];if((I|0)==3){G=r[b+21856|0]&15?4:1}k=32>>>F|8;S=k&L;H=!F;if(!m|H&u){break v}l=q[a+26384>>2];if(J|!(m&X)|(!l|(F|0)!=1)){break w}x=N-(q[a+27024>>2]<<1)|0;d=0;while(1){if((d|0)==2){break v}x:{c=q[q[a+24364>>2]+(x<<2)>>2];if((c|L)&7){q[j+8>>2]=196611;q[j+12>>2]=196611;break x}if(!(q[q[a+28220>>2]+4>>2]|!(c&16777216))){c=s[q[a+26400>>2]+(x<<1)>>1];k=c<<16>>16;y:{z:{if(!(c&16384)){c=1;p[j+8>>1]=r[b+27836|0]?2:1;if(r[b+27837|0]){break z}break y}p[j+8>>1]=2}c=2}p[j+10>>1]=c;c=j;A:{B:{if((k|0)<=-1){p[j+12>>1]=2;break B}p[j+12>>1]=r[b+27838|0]?2:1;k=1;if(!r[b+27839|0]){break A}}k=2}p[c+14>>1]=k;break x}k=(q[a+25980>>2]+w(x,48)|0)+12|0;c=0;while(1){if((c|0)==4){break x}p[(j+8|0)+(c<<1)>>1]=r[c+k|0]|r[(b+c|0)+27836|0]?2:1;c=c+1|0;continue}}k=q[a+24340>>2];c=o[k+x|0];k=(c+o[k+N|0]|0)+1>>1;l=k+z|0;C:{if(l>>>0<68){break C}k=k+y|0;if(k>>>0<68){break C}c=p[j+8>>1];m=(l<<2)+168080|0;o[j+29|0]=r[m+p[j+10>>1]|0];o[j+28|0]=r[c+m|0];o[j+30|0]=r[m+p[j+12>>1]|0];o[j+31|0]=r[m+p[j+14>>1]|0];n[q[a+48>>2]](w(d,h)+e|0,W,r[l+167760|0],r[k+167920|0],j+28|0);c=o[q[a+24340>>2]+x|0]}D:{if(!M){break D}c=q[a+28220>>2]+c|0;D=(q[b+856>>2]+r[c+636|0]|0)+1>>1;c=(q[b+852>>2]+r[c+548|0]|0)+1>>1;v=c+z|0;c=c+y|0;C=v>>>0<68|c>>>0<68;E=w(d,i);m=E+f|0;l=r[c+167920|0];k=r[v+167760|0];if((O|0)==3){if(!C){c=p[j+8>>1];C=(v<<2)+168080|0;o[j+29|0]=r[C+p[j+10>>1]|0];o[j+28|0]=r[c+C|0];o[j+30|0]=r[C+p[j+12>>1]|0];o[j+31|0]=r[C+p[j+14>>1]|0];n[q[a+48>>2]](m,Q,k,l,j+28|0)}l=z+D|0;if(l>>>0<68){break D}k=y+D|0;if(k>>>0<68){break D}c=p[j+8>>1];m=(l<<2)+168080|0;o[j+29|0]=r[m+p[j+10>>1]|0];o[j+28|0]=r[c+m|0];o[j+30|0]=r[m+p[j+12>>1]|0];o[j+31|0]=r[m+p[j+14>>1]|0];n[q[a+48>>2]](g+E|0,Q,r[l+167760|0],r[k+167920|0],j+28|0);break D}if(!C){c=p[j+8>>1];C=(v<<2)+168080|0;o[j+29|0]=r[C+p[j+10>>1]|0]+1;o[j+28|0]=r[c+C|0]+1;o[j+30|0]=r[C+p[j+12>>1]|0]+1;o[j+31|0]=r[C+p[j+14>>1]|0]+1;n[q[a+72>>2]](m,Q,k,l,j+28|0)}l=z+D|0;if(l>>>0<68){break D}k=y+D|0;if(k>>>0<68){break D}c=p[j+8>>1];m=(l<<2)+168080|0;o[j+29|0]=r[m+p[j+10>>1]|0]+1;o[j+28|0]=r[c+m|0]+1;o[j+30|0]=r[m+p[j+12>>1]|0]+1;o[j+31|0]=r[m+p[j+14>>1]|0]+1;n[q[a+72>>2]](g+E|0,Q,r[l+167760|0],r[k+167920|0],j+28|0)}d=d+1|0;x=q[a+27024>>2]+x|0;continue}}Ca=j+32|0;return}c=m|L;E:{if(c&7){q[j+8>>2]=196611;q[j+12>>2]=196611;if(c&128){if(!l){F:{c=3;if(q[a+26388>>2]!=3){break F}B=3;x=3;k=3;break E}}c=3;B=3;x=3;k=3;if(F){break E}}q[j+8>>2]=262148;q[j+12>>2]=262148;c=4;B=4;x=4;k=4;break E}G:{H:{if(!(!((m^L)&128)|(!l|!F))){q[j+8>>2]=65537;q[j+12>>2]=65537;break H}A=1;if(!S|!(k&m)){break G}c=Ti(b,12,F?4:11,P);p[j+12>>1]=c;p[j+14>>1]=c;p[j+10>>1]=c;p[j+8>>1]=c}A=0}m=F?8:1;c=0;while(1){if((c|0)!=4){l=(j+8|0)+(c<<1)|0;E=(F?c:c<<3)+12|0;k=E-m|0;I:{if(r[k+R|0]|r[E+R|0]){k=2}else{if(!A){break I}k=Ti(b,E,k,P)}p[l>>1]=k}c=c+1|0;continue}break}c=s[j+14>>1];B=s[j+12>>1];x=s[j+10>>1];k=s[j+8>>1]}A=x<<16>>16;B=B<<16>>16;x=k<<16>>16;D=c<<16>>16;if(((A+B|0)+x|0)==(0-D|0)){break v}c=q[a+24340>>2];k=o[c+d|0];c=(k+o[c+N|0]|0)+1>>1;l=c+z|0;c=c+y|0;d=l>>>0<68|c>>>0<68;C=r[c+167920|0];E=r[l+167760|0];c=k+q[a+28220>>2]|0;v=(q[b+856>>2]+r[c+636|0]|0)+1>>1;m=(q[b+852>>2]+r[c+548|0]|0)+1>>1;if(!F){J:{if(d){break J}if((x|0)<=3){c=(l<<2)+168080|0;o[j+31|0]=r[c+D|0];o[j+30|0]=r[c+B|0];o[j+29|0]=r[c+A|0];o[j+28|0]=r[c+x|0];n[q[a+52>>2]](e,h,E,C,j+28|0);break J}n[q[a+64>>2]](e,h,E,C)}if(!M){break v}k=m+z|0;c=m+y|0;d=k>>>0<68|c>>>0<68;m=r[c+167920|0];l=r[k+167760|0];if((O|0)==3){K:{if(d){break K}if((x|0)<=3){c=(k<<2)+168080|0;o[j+31|0]=r[c+D|0];o[j+30|0]=r[c+B|0];o[j+29|0]=r[c+A|0];o[j+28|0]=r[c+x|0];n[q[a+52>>2]](f,i,l,m,j+28|0);break K}n[q[a+64>>2]](f,i,l,m)}k=v+z|0;if(k>>>0<68){break v}c=v+y|0;if(c>>>0<68){break v}d=r[c+167920|0];c=r[k+167760|0];if((x|0)<=3){k=(k<<2)+168080|0;o[j+31|0]=r[k+D|0];o[j+30|0]=r[k+B|0];o[j+29|0]=r[k+A|0];o[j+28|0]=r[k+x|0];n[q[a+52>>2]](g,i,c,d,j+28|0);break v}n[q[a+64>>2]](g,i,c,d);break v}L:{if(d){break L}if((x|0)<=3){c=(k<<2)+168080|0;o[j+31|0]=r[c+D|0]+1;o[j+30|0]=r[c+B|0]+1;o[j+29|0]=r[c+A|0]+1;o[j+28|0]=r[c+x|0]+1;n[q[a+76>>2]](f,i,l,m,j+28|0);break L}n[q[a+88>>2]](f,i,l,m)}k=v+z|0;if(k>>>0<68){break v}c=v+y|0;if(c>>>0<68){break v}d=r[c+167920|0];c=r[k+167760|0];if((x|0)<=3){k=(k<<2)+168080|0;o[j+31|0]=r[k+D|0]+1;o[j+30|0]=r[k+B|0]+1;o[j+29|0]=r[k+A|0]+1;o[j+28|0]=r[k+x|0]+1;n[q[a+76>>2]](g,i,c,d,j+28|0);break v}n[q[a+88>>2]](g,i,c,d);break v}M:{if(d){break M}if((x|0)<=3){c=(l<<2)+168080|0;o[j+31|0]=r[c+D|0];o[j+30|0]=r[c+B|0];o[j+29|0]=r[c+A|0];o[j+28|0]=r[c+x|0];n[q[a+48>>2]](e,h,E,C,j+28|0);break M}n[q[a+60>>2]](e,h,E,C)}if(!M){break v}k=m+z|0;c=m+y|0;d=k>>>0<68|c>>>0<68;m=r[c+167920|0];l=r[k+167760|0];if((O|0)==3){N:{if(d){break N}if((x|0)<=3){c=(k<<2)+168080|0;o[j+31|0]=r[c+D|0];o[j+30|0]=r[c+B|0];o[j+29|0]=r[c+A|0];o[j+28|0]=r[c+x|0];n[q[a+48>>2]](f,i,l,m,j+28|0);break N}n[q[a+60>>2]](f,i,l,m)}k=v+z|0;if(k>>>0<68){break v}c=v+y|0;if(c>>>0<68){break v}d=r[c+167920|0];c=r[k+167760|0];if((x|0)<=3){k=(k<<2)+168080|0;o[j+31|0]=r[k+D|0];o[j+30|0]=r[k+B|0];o[j+29|0]=r[k+A|0];o[j+28|0]=r[k+x|0];n[q[a+48>>2]](g,i,c,d,j+28|0);break v}n[q[a+60>>2]](g,i,c,d);break v}O:{if(d){break O}if((x|0)<=3){c=(k<<2)+168080|0;o[j+31|0]=r[c+D|0]+1;o[j+30|0]=r[c+B|0]+1;o[j+29|0]=r[c+A|0]+1;o[j+28|0]=r[c+x|0]+1;n[q[a+72>>2]](f,i,l,m,j+28|0);break O}n[q[a+84>>2]](f,i,l,m)}k=v+z|0;if(k>>>0<68){break v}c=v+y|0;if(c>>>0<68){break v}d=r[c+167920|0];c=r[k+167760|0];if((x|0)<=3){k=(k<<2)+168080|0;o[j+31|0]=r[k+D|0]+1;o[j+30|0]=r[k+B|0]+1;o[j+29|0]=r[k+A|0]+1;o[j+28|0]=r[k+x|0]+1;n[q[a+72>>2]](g,i,c,d,j+28|0);break v}n[q[a+84>>2]](g,i,c,d)}B=1;D=F?8:1;C=G>>>0>1?G:1;E=(O|0)!=2;H=E|H;while(1){if((B|0)!=(C|0)){m=B<<24&V;P:{if(H&(m|0)!=0){break P}Q:{if(U){q[j+8>>2]=196611;q[j+12>>2]=196611;x=3;d=3;c=3;A=3;break Q}R:{S:{if(B&I){q[j+8>>2]=0;q[j+12>>2]=0;break S}d=1;if(!S){break R}c=w(B,D)+12|0;c=Ti(b,c,c-D|0,P);p[j+12>>1]=c;p[j+14>>1]=c;p[j+10>>1]=c;p[j+8>>1]=c}d=0}c=0;while(1){if((c|0)!=4){A=(j+8|0)+(c<<1)|0;v=(((F?B:c)<<3)+(F?c:B)|0)+12|0;k=v-D|0;T:{if(r[k+R|0]|r[v+R|0]){k=2}else{if(!d){break T}k=Ti(b,v,k,P)}p[A>>1]=k}c=c+1|0;continue}break}d=p[j+12>>1];c=p[j+10>>1];A=p[j+8>>1];x=p[j+14>>1];if((d+(c+A|0)|0)==(0-x|0)){break P}}k=o[q[a+24340>>2]+N|0];if(!F){G=B<<2;m=k+z|0;U:{if(m>>>0<68){break U}l=k+y|0;if(l>>>0<68){break U}k=q[a+25672>>2];v=(m<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+52>>2]]((G<>2];m=k+z|0;V:{if(m>>>0<68){break V}l=k+y|0;if(l>>>0<68){break V}k=q[a+25672>>2];v=(m<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+52>>2]]((G<>2];m=k+z|0;if(m>>>0<68){break P}l=k+y|0;if(l>>>0<68){break P}k=q[a+25672>>2];v=(m<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+52>>2]]((G<>2];m=k+z|0;W:{if(m>>>0<68){break W}l=k+y|0;if(l>>>0<68){break W}k=q[a+25672>>2];G=(m<<2)+168080|0;o[j+31|0]=r[G+x|0]+1;o[j+30|0]=r[d+G|0]+1;o[j+29|0]=r[c+G|0]+1;o[j+28|0]=r[A+G|0]+1;n[q[a+76>>2]]((v<>2];m=k+z|0;if(m>>>0<68){break P}l=k+y|0;if(l>>>0<68){break P}k=q[a+25672>>2];G=(m<<2)+168080|0;o[j+31|0]=r[G+x|0]+1;o[j+30|0]=r[d+G|0]+1;o[j+29|0]=r[c+G|0]+1;o[j+28|0]=r[A+G|0]+1;n[q[a+76>>2]]((v<>>0<68){break X}k=k+y|0;if(k>>>0<68){break X}m=(l<<2)+168080|0;o[j+31|0]=r[m+x|0];o[j+30|0]=r[d+m|0];o[j+29|0]=r[c+m|0];o[j+28|0]=r[m+A|0];n[q[a+48>>2]](w(B,T)+e|0,h,r[l+167760|0],r[k+167920|0],j+28|0)}if(!M){break P}m=w(i,B)<<2;k=q[b+852>>2];l=k+z|0;Y:{if(l>>>0<68){break Y}k=k+y|0;if(k>>>0<68){break Y}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0]+1;o[j+30|0]=r[d+v|0]+1;o[j+29|0]=r[c+v|0]+1;o[j+28|0]=r[v+A|0]+1;n[q[a+72>>2]](f+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0)}k=q[b+856>>2];l=k+z|0;if(l>>>0<68){break P}k=k+y|0;if(k>>>0<68){break P}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0]+1;o[j+30|0]=r[d+v|0]+1;o[j+29|0]=r[c+v|0]+1;o[j+28|0]=r[v+A|0]+1;n[q[a+72>>2]](g+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0);break P}m=B<<2;l=k+z|0;Z:{if(l>>>0<68){break Z}k=k+y|0;if(k>>>0<68){break Z}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+48>>2]](w(h,m)+e|0,h,r[l+167760|0],r[k+167920|0],j+28|0)}if(!M){break P}if((O|0)==3){m=w(i,m);k=q[b+852>>2];l=k+z|0;_:{if(l>>>0<68){break _}k=k+y|0;if(k>>>0<68){break _}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+48>>2]](f+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0)}k=q[b+856>>2];l=k+z|0;if(l>>>0<68){break P}k=k+y|0;if(k>>>0<68){break P}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0];o[j+30|0]=r[d+v|0];o[j+29|0]=r[c+v|0];o[j+28|0]=r[v+A|0];n[q[a+48>>2]](g+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0);break P}if(B&1){break P}m=w(i,B)<<1;k=q[b+852>>2];l=k+z|0;$:{if(l>>>0<68){break $}k=k+y|0;if(k>>>0<68){break $}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0]+1;o[j+30|0]=r[d+v|0]+1;o[j+29|0]=r[c+v|0]+1;o[j+28|0]=r[v+A|0]+1;n[q[a+72>>2]](f+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0)}k=q[b+856>>2];l=k+z|0;if(l>>>0<68){break P}k=k+y|0;if(k>>>0<68){break P}v=(l<<2)+168080|0;o[j+31|0]=r[v+x|0]+1;o[j+30|0]=r[d+v|0]+1;o[j+29|0]=r[c+v|0]+1;o[j+28|0]=r[v+A|0]+1;n[q[a+72>>2]](g+m|0,i,r[l+167760|0],r[k+167920|0],j+28|0)}B=B+1|0;continue}break}F=F+1|0;continue}}function tE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;v=Ca-32|0;Ca=v;i=q[b+21796>>2];B=q[q[a+24364>>2]+(i<<2)>>2];c=q[b+21792>>2];f=q[b+21788>>2];F=q[b+848>>2]?F:q[q[a+28224>>2]+16>>2]!=0;G=b+848|0;H=a+25984|0;while(1){if((e|0)!=3){g=e<<2;d=q[b+21772>>2];h=q[a+25672>>2];u=q[g+q[a+24316>>2]>>2]+(w(d,c)+(f<>2]=u;n[q[a+12>>2]]((u+w(d,q[b+21788>>2]<<2&12)|0)+(64<>2]|0]=q[b+23412>>2];u=q[b+21772>>2];a:{b:{f=q[b+21828>>2];if(f){d=u<<1;q[b+21780>>2]=d;q[b+21784>>2]=d;c:{if(!(c&1)){break c}u=w(u,-15);e=0;while(1){if((e|0)==3){break c}c=(v+20|0)+(e<<2)|0;q[c>>2]=u+q[c>>2];e=e+1|0;continue}}H=a+26176|0;if(!q[a+26384>>2]){break b}g=B&8;h=q[b+23412>>2];c=0;while(1){if((c|0)==(h|0)){break b}d:{if(!(B>>>(c<<1)&12288)){break d}e=0;if(g){i=w(c,40)+b|0;e=i+28284|0;u=w(o[e|0]+16^q[b+21792>>2]&1,16843009);q[i+28308>>2]=u;q[i+28300>>2]=u;q[i+28292>>2]=u;q[e>>2]=u;break d}while(1){if(e>>>0>15){break d}u=(r[e+154208|0]+(w(c,40)+b|0)|0)+28272|0;i=o[u|0];if((i|0)>=0){i=w((i&255)+16^q[b+21792>>2]&1,257);p[u+8>>1]=i;p[u>>1]=i}e=e+4|0;continue}}c=c+1|0;continue}}q[b+21780>>2]=u;q[b+21784>>2]=u;break a}u=d}e:{f:{if(B&4){if(q[a+25672>>2]){break f}d=0;while(1){if((d|0)==3){break e}h=d<<8;B=q[(v+20|0)+(d<<2)>>2];e=0;while(1){if((e|0)!=16){c=(h+q[b+27780>>2]|0)+(e<<4)|0;f=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);a=B+w(e,u)|0;i=a;g=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[i|0]=g;o[i+1|0]=g>>>8;o[i+2|0]=g>>>16;o[i+3|0]=g>>>24;o[i+4|0]=f;o[i+5|0]=f>>>8;o[i+6|0]=f>>>16;o[i+7|0]=f>>>24;i=r[c+12|0]|r[c+13|0]<<8|(r[c+14|0]<<16|r[c+15|0]<<24);c=r[c+8|0]|r[c+9|0]<<8|(r[c+10|0]<<16|r[c+11|0]<<24);o[a+8|0]=c;o[a+9|0]=c>>>8;o[a+10|0]=c>>>16;o[a+11|0]=c>>>24;o[a+12|0]=i;o[a+13|0]=i>>>8;o[a+14|0]=i>>>16;o[a+15|0]=i>>>24;e=e+1|0;continue}break}d=d+1|0;continue}}g:{h:{i:{j:{if(B&7){e=q[b+868>>2];if(!e){break h}i=q[a+25672>>2];y=q[v+28>>2];z=q[v+24>>2];h=q[v+20>>2];k:{if(!q[a+26384>>2]){c=1;break k}c=1;d=q[b+21832>>2];if(o[b+21792|0]&1){if(d){break k}break h}c=!d}l:{if((e|0)==2){f=q[b+21788>>2];g=q[b+21732>>2];d=q[b+832>>2]==s[q[a+26380>>2]+(q[b+21796>>2]+(q[a+27024>>2]^-1)<<1)>>1];break l}g=q[b+21792>>2]>((f|0)!=0|0);f=q[b+21788>>2];d=(f|0)>0}if(!g){break h}x=((c<<2)+b|0)+27796|0;l=q[x>>2];g=l+w(f,96)|0;A=f+ -1|0;C=(i+u|0)+1|0;e=h-C|0;m:{n:{o:{if(d){if(i){m=8<>2];D=q[c+4>>2];c=e+(-7<>2];q[h>>2]=q[c>>2];q[h+4>>2]=E;q[c>>2]=k;q[c+4>>2]=D;j=q[h+8>>2];k=q[h+12>>2];D=q[c+12>>2];q[h+8>>2]=q[c+8>>2];q[h+12>>2]=D;q[c+8>>2]=j;q[c+12>>2]=k;j=q[g>>2];k=q[g+4>>2];break o}c=l+w(A,96)|0;j=q[c+8>>2];k=q[c+12>>2];h=e+ -7|0;m=q[h+4>>2];q[c+8>>2]=q[h>>2];q[c+12>>2]=m;q[h>>2]=j;q[h+4>>2]=k;j=q[g>>2];k=q[g+4>>2];break n}j=q[g>>2];k=q[g+4>>2];if(!i){break n}m=8<>2];q[g>>2]=q[c>>2];q[g+4>>2]=D;q[c>>2]=j;q[c+4>>2]=k;g=l+w(f,96)|0;h=g;j=q[h+8>>2];h=q[h+12>>2];k=q[c+12>>2];q[g+8>>2]=q[c+8>>2];q[g+12>>2]=k;q[c+8>>2]=j;q[c+12>>2]=h;g=g+m|0;c=g;j=q[c>>2];k=q[c+4>>2];c=e+(9<>2];q[g>>2]=q[c>>2];q[g+4>>2]=m;q[c>>2]=j;q[c+4>>2]=k;h=q[g+8>>2];j=q[g+12>>2];k=q[c+12>>2];q[g+8>>2]=q[c+8>>2];q[g+12>>2]=k;q[c+8>>2]=h;q[c+12>>2]=j;c=1;break m}c=q[e+5>>2];q[g>>2]=q[e+1>>2];q[g+4>>2]=c;q[e+1>>2]=j;q[e+5>>2]=k;c=l+w(f,96)|0;h=q[c+8>>2];g=q[c+12>>2];j=q[e+13>>2];q[c+8>>2]=q[e+9>>2];q[c+12>>2]=j;q[e+9>>2]=h;q[e+13>>2]=g;c=0}g=y-C|0;h=z-C|0;p:{q:{r:{s:{j=q[b+21788>>2]+1|0;t:{if((j|0)>2]){j=q[x>>2]+w(j,96)|0;k=q[j>>2];m=q[j+4>>2];if(!c){break s}c=e+(17<>2];q[j>>2]=q[c>>2];q[j+4>>2]=C;q[c>>2]=k;q[c+4>>2]=m;e=q[x>>2]+w(q[b+21788>>2],96)|0;j=e+104|0;k=q[j>>2];j=q[j+4>>2];m=q[c+12>>2];q[e+104>>2]=q[c+8>>2];q[e+108>>2]=m;q[c+8>>2]=k;q[c+12>>2]=j;if(d){break t}break j}if(!d){break q}if(!c){break r}}j=l+w(A,96)|0;c=j+(24<>2];m=q[c+4>>2];A=-7<>2];q[c>>2]=q[d>>2];q[c+4>>2]=C;q[d>>2]=k;q[d+4>>2]=m;e=q[c+8>>2];k=q[c+12>>2];m=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=m;q[d+8>>2]=e;q[d+12>>2]=k;c=j+(40<>2];k=q[c+4>>2];d=g+A|0;m=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=m;q[d>>2]=j;q[d+4>>2]=k;e=q[c+8>>2];j=q[c+12>>2];k=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=k;q[d+8>>2]=e;q[d+12>>2]=j;break j}c=q[e+21>>2];q[j>>2]=q[e+17>>2];q[j+4>>2]=c;q[e+17>>2]=k;q[e+21>>2]=m;if(!d){break p}}d=l+w(A,96)|0;c=d;e=q[c+24>>2];j=q[c+28>>2];c=h+ -7|0;k=q[c+4>>2];q[d+24>>2]=q[c>>2];q[d+28>>2]=k;q[c>>2]=e;q[c+4>>2]=j;e=q[d+40>>2];j=q[d+44>>2];c=g+ -7|0;k=q[c+4>>2];q[d+40>>2]=q[c>>2];q[d+44>>2]=k;q[c>>2]=e;q[c+4>>2]=j;break p}if(c){break j}}d=l+w(f,96)|0;c=d;f=q[c+16>>2];c=q[c+20>>2];e=q[h+5>>2];q[d+16>>2]=q[h+1>>2];q[d+20>>2]=e;q[h+1>>2]=f;q[h+5>>2]=c;c=q[d+24>>2];f=q[d+28>>2];e=q[h+13>>2];q[d+24>>2]=q[h+9>>2];q[d+28>>2]=e;q[h+9>>2]=c;q[h+13>>2]=f;c=q[d+32>>2];f=q[d+36>>2];e=q[g+5>>2];q[d+32>>2]=q[g+1>>2];q[d+36>>2]=e;q[g+1>>2]=c;q[g+5>>2]=f;c=q[d+40>>2];f=q[d+44>>2];e=q[g+13>>2];q[d+40>>2]=q[g+9>>2];q[d+44>>2]=e;q[g+9>>2]=c;q[g+13>>2]=f;d=0;break i}rE(a,b,q[v+20>>2],q[v+24>>2],q[v+28>>2],a+184|0,a+440|0,a+16|0,a+32|0);A=B&16777216;C=B&1;break g}f=l+w(f,96)|0;c=f+(16<>2];j=q[c+4>>2];k=1<>2];q[c>>2]=q[d>>2];q[c+4>>2]=m;q[d>>2]=l;q[d+4>>2]=j;e=q[c+8>>2];l=q[c+12>>2];j=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=j;q[d+8>>2]=e;q[d+12>>2]=l;c=f+(24<>2];j=q[c+4>>2];m=9<>2];q[c>>2]=q[d>>2];q[c+4>>2]=A;q[d>>2]=l;q[d+4>>2]=j;e=q[c+8>>2];l=q[c+12>>2];j=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=j;q[d+8>>2]=e;q[d+12>>2]=l;c=f+(32<>2];j=q[c+4>>2];d=g+k|0;k=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=k;q[d>>2]=l;q[d+4>>2]=j;e=q[c+8>>2];l=q[c+12>>2];j=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=j;q[d+8>>2]=e;q[d+12>>2]=l;c=f+(40<>2];l=q[c+4>>2];d=g+m|0;j=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=j;q[d>>2]=e;q[d+4>>2]=l;f=q[c+8>>2];e=q[c+12>>2];l=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=l;q[d+8>>2]=f;q[d+12>>2]=e;d=1}c=q[b+21788>>2]+1|0;if((c|0)>=q[a+27020>>2]){break h}f=q[x>>2];if(d){e=16<>2];j=q[c+4>>2];d=h;h=17<>2];q[c>>2]=q[d>>2];q[c+4>>2]=k;q[d>>2]=l;q[d+4>>2]=j;c=e+(q[x>>2]+w(q[b+21788>>2],96)|0)|0;f=c+104|0;e=q[f>>2];f=q[f+4>>2];l=q[d+12>>2];q[c+104>>2]=q[d+8>>2];q[c+108>>2]=l;q[d+8>>2]=e;q[d+12>>2]=f;f=32<>2]+w(q[b+21788>>2],96)|0)|0;d=i+96|0;e=q[d>>2];l=q[d+4>>2];d=h+g|0;c=d;g=q[c+4>>2];q[i+96>>2]=q[c>>2];q[i+100>>2]=g;q[c>>2]=e;q[c+4>>2]=l;c=f+(q[x>>2]+w(q[b+21788>>2],96)|0)|0;i=c+104|0;f=q[i>>2];i=q[i+4>>2];e=q[d+12>>2];q[c+104>>2]=q[d+8>>2];q[c+108>>2]=e;q[d+8>>2]=f;q[d+12>>2]=i;break h}d=f+w(c,96)|0;c=d;i=q[c+16>>2];c=q[c+20>>2];f=q[h+21>>2];q[d+16>>2]=q[h+17>>2];q[d+20>>2]=f;q[h+17>>2]=i;q[h+21>>2]=c;d=q[x>>2]+w(q[b+21788>>2],96)|0;c=d+128|0;i=q[c>>2];c=q[c+4>>2];f=q[g+21>>2];q[d+128>>2]=q[g+17>>2];q[d+132>>2]=f;q[g+17>>2]=i;q[g+21>>2]=c}D=3-u|0;g=0;E=0-u|0;k=b+28560|0;A=B&16777216;C=B&1;I=3-((u|0)/2|0)<<1;while(1){if((g|0)!=3){d=g<<6;c=g<<2;x=q[c+(v+20|0)>>2];h=q[a+25672>>2];u:{if(C){y=g<<4;z=d+H|0;if(A){v:{if(F){m=q[a+140>>2];d=m;break v}m=q[a+112>>2];d=q[a+104>>2]}i=g<<8;e=0;while(1){if(e>>>0>15){break u}c=x+q[z+(e<<2)>>2]|0;f=o[(r[e+154208|0]+b|0)+21664|0];w:{if(!(!F|(f|0)>1|q[q[a+28224>>2]+4>>2]!=244)){if(t[a+25712>>2]<=150){n[q[((f<<2)+a|0)+25940>>2]](c,((i+(e<<4)<>2]](c,((i+(e<<4)<>2]<>2]<>2]](c,q[b+21756>>2]<>2]<>>0<=1){if(l-1){break w}f=i+(e<<4)|0;if(h){j=q[k+(f<<2)>>2]}else{j=s[((f<<1)+b|0)+28560>>1]}if(!j){break x}n[m](c,((f<>2];i=m;break y}m=q[a+108>>2];i=q[a+100>>2]}j=g<<8;J=4<>2]|0;l=o[(r[e+154208|0]+b|0)+21664|0];z:{if(!(!F|(l|0)>1|q[q[a+28224>>2]+4>>2]!=244)){n[q[((l<<2)+a|0)+25932>>2]](c,((j+(e<<4)<>2]<>1],0,65537,65537),q[K>>2]=L;q[v+4>>2]=Da;d=v;break A}q[v>>2]=w(r[c+D|0],16843009);d=v;break A}d=(c+J|0)+E|0}n[q[((l<<2)+a|0)+25744>>2]](f,d,u);d=r[(r[(e+y|0)+154208|0]+b|0)+27824|0];B:{if(d>>>0<=1){if(d-1){break z}f=j+(e<<4)|0;if(h){d=q[k+(f<<2)>>2]}else{d=s[((f<<1)+b|0)+28560>>1]}if(!d){break B}n[m](c,((f<>2];n[q[((q[b+21660>>2]<<2)+a|0)+25896>>2]](x,u);if(!r[(r[g+154256|0]+b|0)+27824|0]){break u}if(F){i=b+d|0;f=i+31632|0;d=((g<<8<>2]=q[f+(e<<2)>>2];break C}p[d+(c<<1)>>1]=s[(i+(e<<1)|0)+31632>>1]}e=e+1|0;continue}}n[q[a+132>>2]](((g<<8<>2]|0)+173788>>2]+(i<<6)>>2])}g=g+1|0;continue}break}f=q[b+868>>2];if(!f){break g}i=q[a+25672>>2];G=q[v+28>>2];D=q[v+24>>2];h=q[v+20>>2];D:{if(!q[a+26384>>2]){c=1;break D}c=1;d=q[b+21832>>2];if(o[b+21792|0]&1){if(d){break D}break g}c=!d}E:{if((f|0)==2){f=q[b+21788>>2];g=q[b+21732>>2];d=q[b+832>>2]==s[q[a+26380>>2]+(q[b+21796>>2]+(q[a+27024>>2]^-1)<<1)>>1];break E}g=q[b+21792>>2]>(q[b+21828>>2]!=0|0);f=q[b+21788>>2];d=(f|0)>0}if(!g){break g}x=((c<<2)+b|0)+27796|0;l=q[x>>2];e=l+w(f,96)|0;m=f+ -1|0;y=(i+u|0)+1|0;h=h-y|0;z=h;F:{G:{H:{I:{if(d){if(!i){break H}z=8<>2];E=q[c+4>>2];c=h+(-7<>2];q[g>>2]=q[c>>2];q[g+4>>2]=I;q[c>>2]=k;q[c+4>>2]=E;j=q[g+8>>2];k=q[g+12>>2];E=q[c+12>>2];q[g+8>>2]=q[c+8>>2];q[g+12>>2]=E;q[c+8>>2]=j;q[c+12>>2]=k;j=q[e>>2];k=q[e+4>>2];break I}j=q[e>>2];c=j;k=q[e+4>>2];e=k;if(!i){break G}z=8<>2]=j;q[c+4>>2]=k;e=l+w(f,96)|0;g=q[e+12>>2];q[c+8>>2]=q[e+8>>2];q[c+12>>2]=g;e=e+z|0;c=e;j=q[c>>2];k=q[c+4>>2];c=h+(9<>2];q[e>>2]=q[c>>2];q[e+4>>2]=z;q[c>>2]=j;q[c+4>>2]=k;g=q[e+8>>2];j=q[e+12>>2];k=q[c+12>>2];q[e+8>>2]=q[c+8>>2];q[e+12>>2]=k;q[c+8>>2]=g;q[c+12>>2]=j;c=1;break F}c=l+w(m,96)|0;j=q[c+8>>2];k=q[c+12>>2];g=h+ -7|0;E=q[g+4>>2];q[c+8>>2]=q[g>>2];q[c+12>>2]=E;q[g>>2]=j;q[g+4>>2]=k;c=q[e>>2];e=q[e+4>>2]}q[z+1>>2]=c;q[z+5>>2]=e;c=l+w(f,96)|0;g=q[c+8>>2];e=q[c+12>>2];j=q[h+13>>2];q[c+8>>2]=q[h+9>>2];q[c+12>>2]=j;q[h+9>>2]=g;q[h+13>>2]=e;c=0}e=G-y|0;g=D-y|0;J:{K:{L:{M:{N:{O:{j=q[b+21788>>2]+1|0;P:{if((j|0)>2]){j=q[x>>2]+w(j,96)|0;k=q[j>>2];y=q[j+4>>2];if(!c){break O}c=h+(17<>2];q[j>>2]=q[c>>2];q[j+4>>2]=z;q[c>>2]=k;q[c+4>>2]=y;h=q[x>>2]+w(q[b+21788>>2],96)|0;j=h+104|0;k=q[j>>2];j=q[j+4>>2];y=q[c+12>>2];q[h+104>>2]=q[c+8>>2];q[h+108>>2]=y;q[c+8>>2]=k;q[c+12>>2]=j;if(d){break P}break L}if(!d){break M}if(!c){break N}}j=l+w(m,96)|0;c=j+(24<>2];m=q[c+4>>2];y=-7<>2];q[c>>2]=q[d>>2];q[c+4>>2]=z;q[d>>2]=k;q[d+4>>2]=m;h=q[c+8>>2];k=q[c+12>>2];m=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=m;q[d+8>>2]=h;q[d+12>>2]=k;c=j+(40<>2];k=q[c+4>>2];d=e+y|0;m=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=m;q[d>>2]=j;q[d+4>>2]=k;h=q[c+8>>2];j=q[c+12>>2];k=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=k;q[d+8>>2]=h;q[d+12>>2]=j;break L}c=q[h+21>>2];q[j>>2]=q[h+17>>2];q[j+4>>2]=c;q[h+17>>2]=k;q[h+21>>2]=y;if(!d){break K}}d=l+w(m,96)|0;c=d;h=q[c+24>>2];j=q[c+28>>2];c=g+ -7|0;k=q[c+4>>2];q[d+24>>2]=q[c>>2];q[d+28>>2]=k;q[c>>2]=h;q[c+4>>2]=j;h=q[d+40>>2];j=q[d+44>>2];c=e+ -7|0;k=q[c+4>>2];q[d+40>>2]=q[c>>2];q[d+44>>2]=k;q[c>>2]=h;q[c+4>>2]=j;break K}if(!c){break K}}f=l+w(f,96)|0;d=f+(16<>2];j=1<>2]=q[d>>2];q[c+4>>2]=l;h=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=h;c=f+(24<>2];k=q[c+4>>2];m=9<>2];q[c>>2]=q[d>>2];q[c+4>>2]=y;q[d>>2]=l;q[d+4>>2]=k;h=q[c+8>>2];l=q[c+12>>2];k=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=k;q[d+8>>2]=h;q[d+12>>2]=l;d=f+(32<>2];c=e+j|0;q[c>>2]=q[d>>2];q[c+4>>2]=l;h=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=h;c=f+(40<>2];l=q[c+4>>2];d=e+m|0;j=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=j;q[d>>2]=h;q[d+4>>2]=l;f=q[c+8>>2];h=q[c+12>>2];l=q[d+12>>2];q[c+8>>2]=q[d+8>>2];q[c+12>>2]=l;q[d+8>>2]=f;q[d+12>>2]=h;d=1;break J}d=l+w(f,96)|0;c=d;f=q[c+20>>2];q[g+1>>2]=q[c+16>>2];q[g+5>>2]=f;f=q[c+24>>2];c=q[c+28>>2];h=q[g+13>>2];q[d+24>>2]=q[g+9>>2];q[d+28>>2]=h;q[g+9>>2]=f;q[g+13>>2]=c;c=q[d+36>>2];q[e+1>>2]=q[d+32>>2];q[e+5>>2]=c;c=q[d+40>>2];f=q[d+44>>2];h=q[e+13>>2];q[d+40>>2]=q[e+9>>2];q[d+44>>2]=h;q[e+9>>2]=c;q[e+13>>2]=f;d=0}c=q[b+21788>>2]+1|0;if((c|0)>=q[a+27020>>2]){break g}f=q[x>>2];if(d){h=16<>2];j=q[c+4>>2];d=g;g=17<>2];q[c>>2]=q[d>>2];q[c+4>>2]=k;q[d>>2]=l;q[d+4>>2]=j;c=h+(q[x>>2]+w(q[b+21788>>2],96)|0)|0;f=c+104|0;h=q[f>>2];f=q[f+4>>2];l=q[d+12>>2];q[c+104>>2]=q[d+8>>2];q[c+108>>2]=l;q[d+8>>2]=h;q[d+12>>2]=f;f=32<>2]+w(q[b+21788>>2],96)|0)|0;d=i+96|0;h=q[d>>2];l=q[d+4>>2];d=e+g|0;c=d;e=q[c+4>>2];q[i+96>>2]=q[c>>2];q[i+100>>2]=e;q[c>>2]=h;q[c+4>>2]=l;c=f+(q[x>>2]+w(q[b+21788>>2],96)|0)|0;i=c+104|0;f=q[i>>2];i=q[i+4>>2];e=q[d+12>>2];q[c+104>>2]=q[d+8>>2];q[c+108>>2]=e;q[d+8>>2]=f;q[d+12>>2]=i;break g}d=f+w(c,96)|0;c=d;i=q[c+16>>2];c=q[c+20>>2];f=q[g+21>>2];q[d+16>>2]=q[g+17>>2];q[d+20>>2]=f;q[g+17>>2]=i;q[g+21>>2]=c;d=q[x>>2]+w(q[b+21788>>2],96)|0;c=d+128|0;i=q[c>>2];c=q[c+4>>2];f=q[e+21>>2];q[d+128>>2]=q[e+17>>2];q[d+132>>2]=f;q[e+17>>2]=i;q[e+21>>2]=c}l=A?4:1;x=A?a+140|0:a+144|0;j=b+28560|0;k=B&2;d=0;while(1){if((d|0)==3){break e}Q:{if(C){break Q}h=d<<4;i=(d<<6)+H|0;f=q[(v+20|0)+(d<<2)>>2];c=q[a+25672>>2];if(k){if(F){R:{if(q[q[a+28224>>2]+4>>2]!=244){break R}e=q[b+21660>>2];if(e+ -1>>>0>1){break R}n[q[((e<<2)+a|0)+25968>>2]](f,i,((d<<8<>2]}else{z=s[((g<<1)+b|0)+28560>>1]}if(!(z?0:y)){n[q[a+144>>2]](f+q[i+(e<<2)>>2]|0,((g<>2]](f,i,((d<<8<>2];e=0;while(1){if(e>>>0>15){break Q}if(r[(r[(e+h|0)+154208|0]+b|0)+27824|0]){n[B](f+q[i+(e<<2)>>2]|0,((g+(e<<4)<>2]](f,i,((d<<8<>2]](f,i,((d<<8<>2]+1700>>2];xk(v,q[b+27780>>2],w(a,768));g=0;while(1){if((g|0)==3){break e}d=q[(v+20|0)+(g<<2)>>2];f=0;while(1){if((f|0)!=16){c=d+w(f,u)|0;b=0;while(1){if((b|0)!=16){K=c+(b<<1)|0,L=Ua(v,a),p[K>>1]=L;b=b+1|0;continue}break}f=f+1|0;continue}break}g=g+1|0;continue}}Ca=v+32|0}function sE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;D=Ca-32|0;Ca=D;e=q[b+21796>>2];G=q[q[a+24364>>2]+(e<<2)>>2];d=q[a+28224>>2];c=q[b+21792>>2];l=q[b+21788>>2];H=q[b+848>>2]?H:q[d+16>>2]!=0;K=q[d+12>>2];d=q[a+24316>>2];u=q[d+8>>2];j=q[d+4>>2];B=q[b+21776>>2];f=q[a+25688>>2];h=q[d>>2];C=q[a+25672>>2];g=l<>2];z=h+(g+w(d,c)<<4)|0;n[q[a+12>>2]]((z+w(d,l<<2&12)|0)+(64<>>f|0;l=w(B,w(j,c));B=g+l|0;E=l+(d+u|0)|0;n[q[a+12>>2]]((B+w(q[b+21776>>2],q[b+21788>>2]&7)|0)+(64<>2])|0,E-B|0,2);o[e+q[a+26396>>2]|0]=q[b+23412>>2];l=q[b+21772>>2];a:{b:{f=q[b+21828>>2];if(f){d=l<<1;q[b+21780>>2]=d;e=q[b+21776>>2];C=e<<1;q[b+21784>>2]=C;if(c&1){z=w(l,-15)+z|0;l=w(e,1-j|0);E=l+E|0;B=l+B|0}u=a+26176|0;if(!q[a+26384>>2]){break b}g=G&8;k=q[b+23412>>2];l=0;while(1){if((k|0)==(l|0)){break b}c:{if(!(G>>>(l<<1)&12288)){break c}e=0;if(g){e=w(l,40)+b|0;h=e+28284|0;c=w(o[h|0]+16^q[b+21792>>2]&1,16843009);q[e+28308>>2]=c;q[e+28300>>2]=c;q[e+28292>>2]=c;q[h>>2]=c;break c}while(1){if(e>>>0>15){break c}c=(r[e+154208|0]+(w(l,40)+b|0)|0)+28272|0;h=o[c|0];if((h|0)>=0){h=w((h&255)+16^q[b+21792>>2]&1,257);p[c+8>>1]=h;p[c>>1]=h}e=e+4|0;continue}}l=l+1|0;continue}}u=a+25984|0;q[b+21780>>2]=l;C=q[b+21776>>2];q[b+21784>>2]=C;break a}l=d}d:{e:{f:{if(G&4){d=q[a+28224>>2];f=q[d+1700>>2];if(!q[a+25672>>2]){e=0;while(1){if((e|0)==16){break f}c=q[b+27780>>2]+(e<<4)|0;g=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);d=w(e,l)+z|0;k=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[d|0]=k;o[d+1|0]=k>>>8;o[d+2|0]=k>>>16;o[d+3|0]=k>>>24;o[d+4|0]=g;o[d+5|0]=g>>>8;o[d+6|0]=g>>>16;o[d+7|0]=g>>>24;u=r[c+12|0]|r[c+13|0]<<8|(r[c+14|0]<<16|r[c+15|0]<<24);c=r[c+8|0]|r[c+9|0]<<8|(r[c+10|0]<<16|r[c+11|0]<<24);o[d+8|0]=c;o[d+9|0]=c>>>8;o[d+10|0]=c>>>16;o[d+11|0]=c>>>24;o[d+12|0]=u;o[d+13|0]=u>>>8;o[d+14|0]=u>>>16;o[d+15|0]=u>>>24;e=e+1|0;continue}}xk(D+8|0,q[b+27780>>2],w(f,s[(q[d+12>>2]<<1)+153656>>1]));c=0;while(1){if((c|0)!=16){b=w(c,l)+z|0;e=0;while(1){if((e|0)!=16){L=b+(e<<1)|0,M=Ua(D+8|0,f),p[L>>1]=M;e=e+1|0;continue}break}c=c+1|0;continue}break}if(!q[q[a+28224>>2]+12>>2]){break e}c=0;b=(j|0)>0?j:0;a=0;while(1)if((a|0)==(b|0)){while(1){if((b|0)==(c|0)){break d}a=w(c,C)+E|0;e=0;while(1){if((e|0)!=8){L=a+(e<<1)|0,M=Ua(D+8|0,f),p[L>>1]=M;e=e+1|0;continue}break}c=c+1|0;continue}}else{d=w(a,C)+B|0;e=0;while(1){if((e|0)!=8){L=d+(e<<1)|0,M=Ua(D+8|0,f),p[L>>1]=M;e=e+1|0;continue}break}a=a+1|0;continue}}g:{h:{i:{J=G&7;if(J){j=q[b+868>>2];if(!j){break h}e=q[a+25672>>2];j:{if(!q[a+26384>>2]){c=1;break j}c=1;d=q[b+21832>>2];if(o[b+21792|0]&1){if(d){break j}break h}c=!d}k:{if((j|0)==2){j=q[b+21788>>2];k=q[b+21732>>2];d=q[b+832>>2]==s[q[a+26380>>2]+(q[b+21796>>2]+(q[a+27024>>2]^-1)<<1)>>1];break k}k=q[b+21792>>2]>((f|0)!=0|0);j=q[b+21788>>2];d=(j|0)>0}if(!k){break h}v=((c<<2)+b|0)+27796|0;k=q[v>>2];g=k+w(j,96)|0;y=j+ -1|0;A=(e+C|0)+1|0;f=(e+l^-1)+z|0;l:{m:{n:{if(d){if(e){x=8<>2];F=q[c+4>>2];c=f+(-7<>2];q[h>>2]=q[c>>2];q[h+4>>2]=I;q[c>>2]=m;q[c+4>>2]=F;i=q[h+8>>2];m=q[h+12>>2];F=q[c+12>>2];q[h+8>>2]=q[c+8>>2];q[h+12>>2]=F;q[c+8>>2]=i;q[c+12>>2]=m;h=q[g>>2];i=q[g+4>>2];break n}c=k+w(y,96)|0;i=q[c+8>>2];m=q[c+12>>2];h=f+ -7|0;x=q[h+4>>2];q[c+8>>2]=q[h>>2];q[c+12>>2]=x;q[h>>2]=i;q[h+4>>2]=m;h=q[g>>2];i=q[g+4>>2];break m}h=q[g>>2];i=q[g+4>>2];if(!e){break m}x=8<>2];q[g>>2]=q[c>>2];q[g+4>>2]=F;q[c>>2]=h;q[c+4>>2]=i;g=k+w(j,96)|0;i=q[g+8>>2];h=q[g+12>>2];m=q[c+12>>2];q[g+8>>2]=q[c+8>>2];q[g+12>>2]=m;q[c+8>>2]=i;q[c+12>>2]=h;g=g+x|0;c=g;i=q[c>>2];m=q[c+4>>2];c=f+(9<>2];q[g>>2]=q[c>>2];q[g+4>>2]=x;q[c>>2]=i;q[c+4>>2]=m;h=q[g+8>>2];i=q[g+12>>2];m=q[c+12>>2];q[g+8>>2]=q[c+8>>2];q[g+12>>2]=m;q[c+8>>2]=h;q[c+12>>2]=i;c=1;break l}c=q[f+5>>2];q[g>>2]=q[f+1>>2];q[g+4>>2]=c;q[f+1>>2]=h;q[f+5>>2]=i;c=k+w(j,96)|0;h=q[c+8>>2];g=q[c+12>>2];i=q[f+13>>2];q[c+8>>2]=q[f+9>>2];q[c+12>>2]=i;q[f+9>>2]=h;q[f+13>>2]=g;c=0}g=E-A|0;h=B-A|0;o:{p:{q:{r:{s:{i=q[b+21788>>2]+1|0;t:{if((i|0)>2]){i=q[v>>2]+w(i,96)|0;m=q[i>>2];A=q[i+4>>2];if(!c){break s}c=f+(17<>2];q[i>>2]=q[c>>2];q[i+4>>2]=x;q[c>>2]=m;q[c+4>>2]=A;f=q[v>>2]+w(q[b+21788>>2],96)|0;i=f+104|0;m=q[i>>2];i=q[i+4>>2];v=q[c+12>>2];q[f+104>>2]=q[c+8>>2];q[f+108>>2]=v;q[c+8>>2]=m;q[c+12>>2]=i;if(d){break t}break p}if(!d){break q}if(!c){break r}}c=16<>2];v=q[d+4>>2];A=-7<>2];q[f>>2]=q[d>>2];q[f+4>>2]=x;q[d>>2]=m;q[d+4>>2]=v;i=q[f+8>>2];m=q[f+12>>2];v=q[d+12>>2];q[f+8>>2]=q[d+8>>2];q[f+12>>2]=v;q[d+8>>2]=i;q[d+12>>2]=m;f=24<>2];v=q[d+4>>2];d=g+A|0;A=q[d+4>>2];q[i>>2]=q[d>>2];q[i+4>>2]=A;q[d>>2]=m;q[d+4>>2]=v;y=q[i+8>>2];m=q[i+12>>2];v=q[d+12>>2];q[i+8>>2]=q[d+8>>2];q[i+12>>2]=v;q[d+8>>2]=y;q[d+12>>2]=m;break o}c=q[f+21>>2];q[i>>2]=q[f+17>>2];q[i+4>>2]=c;q[f+17>>2]=m;q[f+21>>2]=A;if(!d){break i}}d=k+w(y,96)|0;c=d;e=q[c+16>>2];f=q[c+20>>2];c=h+ -7|0;i=q[c+4>>2];q[d+16>>2]=q[c>>2];q[d+20>>2]=i;q[c>>2]=e;q[c+4>>2]=f;e=q[d+24>>2];f=q[d+28>>2];c=g+ -7|0;i=q[c+4>>2];q[d+24>>2]=q[c>>2];q[d+28>>2]=i;q[c>>2]=e;q[c+4>>2]=f;break i}if(!c){break i}}f=24<>2];i=q[c+4>>2];c=e+h|0;h=c+1|0;y=q[h+4>>2];q[d>>2]=q[h>>2];q[d+4>>2]=y;q[c+1>>2]=k;q[c+5>>2]=i;k=q[d+8>>2];h=q[d+12>>2];i=q[c+13>>2];q[d+8>>2]=q[c+9>>2];q[d+12>>2]=i;q[c+9>>2]=k;q[c+13>>2]=h;d=f+j|0;c=d;j=q[c>>2];f=q[c+4>>2];c=e+g|0;e=c+1|0;g=q[e+4>>2];q[d>>2]=q[e>>2];q[d+4>>2]=g;q[c+1>>2]=j;q[c+5>>2]=f;j=q[d+8>>2];e=q[d+12>>2];f=q[c+13>>2];q[d+8>>2]=q[c+9>>2];q[d+12>>2]=f;q[c+9>>2]=j;q[c+13>>2]=e;break h}d=a+32|0;c=a+16|0;j=a+168|0;e=a+440|0;f=a+152|0;g=a+184|0;if((K|0)==2){qE(a,b,z,B,E,g,f,e,j,c,d);break g}pE(a,b,z,B,E,g,f,e,j,c,d);break g}d=k+w(j,96)|0;c=d;j=q[c+16>>2];c=q[c+20>>2];e=q[h+5>>2];q[d+16>>2]=q[h+1>>2];q[d+20>>2]=e;q[h+1>>2]=j;q[h+5>>2]=c;c=q[d+24>>2];j=q[d+28>>2];e=q[g+5>>2];q[d+24>>2]=q[g+1>>2];q[d+28>>2]=e;q[g+1>>2]=c;q[g+5>>2]=j}d=a+25852|0;n[q[d+(q[b+21656>>2]<<2)>>2]](B,C);n[q[d+(q[b+21656>>2]<<2)>>2]](E,C);g=q[a+25672>>2];u:{if(G&1){if(G&16777216){v:{if(H){f=q[a+140>>2];d=f;break v}f=q[a+112>>2];d=q[a+104>>2]}h=b+28560|0;e=0;while(1){if(e>>>0>15){break u}c=q[(e<<2)+u>>2]+z|0;k=r[e+154208|0]+b|0;j=o[k+21664|0];w:{if(!(!H|(j|0)>1|q[q[a+28224>>2]+4>>2]!=244)){if(t[a+25712>>2]<=150){n[q[((j<<2)+a|0)+25940>>2]](c,((e<<4<>2]](c,((e<<4<>2]<>2]<>2]](c,q[b+21756>>2]<>2]<>>0<=1){if(k-1){break w}k=e<<4;if(g){i=q[h+(k<<2)>>2]}else{i=s[((k<<1)+b|0)+28560>>1]}if(!i){break x}n[f](c,((k<>2];c=f;break y}f=q[a+108>>2];c=q[a+100>>2]}i=b+28560|0;y=3-l|0;e=0;m=0-l|0;v=4<>2]+z|0;x=r[e+154208|0]+b|0;k=o[x+21664|0];z:{if(!(!H|(k|0)>1|q[q[a+28224>>2]+4>>2]!=244)){n[q[((k<<2)+a|0)+25932>>2]](d,((e<<4<>2]<>1],0,65537,65537),q[L+8>>2]=M;q[D+12>>2]=Da;I=D+8|0;break A}q[D+8>>2]=w(r[d+y|0],16843009);I=D+8|0;break A}I=m+(d+v|0)|0}n[q[((k<<2)+a|0)+25744>>2]](h,I,l);j=r[x+27824|0];B:{if(j>>>0<=1){if(j-1){break z}j=e<<4;if(g){h=q[i+(j<<2)>>2]}else{h=s[((j<<1)+b|0)+28560>>1]}if(!h){break B}n[f](d,((j<>2];n[q[((q[b+21660>>2]<<2)+a|0)+25896>>2]](z,l);if(!r[b+27824|0]){break u}if(H){c=b+31632|0;j=b+28560|0;e=0;while(1){if((e|0)==16){break u}d=r[e+168720|0];C:{if(g){q[j+(d<<2)>>2]=q[c+(e<<2)>>2];break C}p[((d<<1)+b|0)+28560>>1]=s[((e<<1)+b|0)+31632>>1]}e=e+1|0;continue}}n[q[a+132>>2]](b+28560|0,b+31632|0,q[q[q[a+28220>>2]+173788>>2]+(d<<6)>>2])}j=q[b+868>>2];if(!j){break g}e=q[a+25672>>2];D:{if(!q[a+26384>>2]){c=1;break D}c=1;d=q[b+21832>>2];if(o[b+21792|0]&1){if(d){break D}break g}c=!d}E:{if((j|0)==2){j=q[b+21788>>2];k=q[b+21732>>2];d=q[b+832>>2]==s[q[a+26380>>2]+(q[b+21796>>2]+(q[a+27024>>2]^-1)<<1)>>1];break E}k=q[b+21792>>2]>(q[b+21828>>2]!=0|0);j=q[b+21788>>2];d=(j|0)>0}if(!k){break g}v=((c<<2)+b|0)+27796|0;k=q[v>>2];i=k+w(j,96)|0;y=j+ -1|0;A=(e+C|0)+1|0;g=(e+l^-1)+z|0;m=g;F:{G:{H:{I:{if(d){if(!e){break H}f=8<>2];F=q[c+4>>2];c=g+(-7<>2];q[h>>2]=q[c>>2];q[h+4>>2]=I;q[c>>2]=x;q[c+4>>2]=F;m=q[h+8>>2];x=q[h+12>>2];F=q[c+12>>2];q[h+8>>2]=q[c+8>>2];q[h+12>>2]=F;q[c+8>>2]=m;q[c+12>>2]=x;h=q[i>>2];i=q[i+4>>2];break I}h=q[i>>2];c=h;i=q[i+4>>2];f=i;if(!e){break G}f=8<>2]=h;q[c+4>>2]=i;h=k+w(j,96)|0;i=q[h+12>>2];q[c+8>>2]=q[h+8>>2];q[c+12>>2]=i;f=f+h|0;c=f;i=q[c>>2];m=q[c+4>>2];c=g+(9<>2];q[f>>2]=q[c>>2];q[f+4>>2]=x;q[c>>2]=i;q[c+4>>2]=m;h=q[f+8>>2];i=q[f+12>>2];m=q[c+12>>2];q[f+8>>2]=q[c+8>>2];q[f+12>>2]=m;q[c+8>>2]=h;q[c+12>>2]=i;c=1;break F}c=k+w(y,96)|0;h=q[c+8>>2];x=q[c+12>>2];f=g+ -7|0;F=q[f+4>>2];q[c+8>>2]=q[f>>2];q[c+12>>2]=F;q[f>>2]=h;q[f+4>>2]=x;c=q[i>>2];f=q[i+4>>2]}q[m+1>>2]=c;q[m+5>>2]=f;c=k+w(j,96)|0;h=q[c+8>>2];f=q[c+12>>2];i=q[g+13>>2];q[c+8>>2]=q[g+9>>2];q[c+12>>2]=i;q[g+9>>2]=h;q[g+13>>2]=f;c=0}h=E-A|0;i=B-A|0;J:{K:{L:{M:{N:{O:{f=q[b+21788>>2]+1|0;P:{if((f|0)>2]){f=q[v>>2]+w(f,96)|0;m=q[f>>2];A=q[f+4>>2];if(!c){break O}c=g+(17<>2];q[f>>2]=q[c>>2];q[f+4>>2]=x;q[c>>2]=m;q[c+4>>2]=A;f=q[v>>2]+w(q[b+21788>>2],96)|0;g=f+104|0;m=q[g>>2];g=q[g+4>>2];v=q[c+12>>2];q[f+104>>2]=q[c+8>>2];q[f+108>>2]=v;q[c+8>>2]=m;q[c+12>>2]=g;if(d){break P}break L}if(!d){break M}if(!c){break N}}c=16<>2];v=q[d+4>>2];A=-7<>2];q[f>>2]=q[d>>2];q[f+4>>2]=x;q[d>>2]=m;q[d+4>>2]=v;g=q[f+8>>2];m=q[f+12>>2];v=q[d+12>>2];q[f+8>>2]=q[d+8>>2];q[f+12>>2]=v;q[d+8>>2]=g;q[d+12>>2]=m;f=24<>2];v=q[d+4>>2];d=h+A|0;A=q[d+4>>2];q[g>>2]=q[d>>2];q[g+4>>2]=A;q[d>>2]=m;q[d+4>>2]=v;y=q[g+8>>2];m=q[g+12>>2];v=q[d+12>>2];q[g+8>>2]=q[d+8>>2];q[g+12>>2]=v;q[d+8>>2]=y;q[d+12>>2]=m;break K}c=q[g+21>>2];q[f>>2]=q[g+17>>2];q[f+4>>2]=c;q[g+17>>2]=m;q[g+21>>2]=A;if(!d){break J}}d=k+w(y,96)|0;c=d;e=q[c+16>>2];f=q[c+20>>2];c=i+ -7|0;g=q[c+4>>2];q[d+16>>2]=q[c>>2];q[d+20>>2]=g;q[c>>2]=e;q[c+4>>2]=f;e=q[d+24>>2];f=q[d+28>>2];c=h+ -7|0;g=q[c+4>>2];q[d+24>>2]=q[c>>2];q[d+28>>2]=g;q[c>>2]=e;q[c+4>>2]=f;break J}if(!c){break J}}f=24<>2];k=q[c+4>>2];c=e+i|0;i=c+1|0;y=q[i+4>>2];q[d>>2]=q[i>>2];q[d+4>>2]=y;q[c+1>>2]=g;q[c+5>>2]=k;g=q[d+8>>2];k=q[d+12>>2];i=q[c+13>>2];q[d+8>>2]=q[c+9>>2];q[d+12>>2]=i;q[c+9>>2]=g;q[c+13>>2]=k;d=f+j|0;c=d;j=q[c>>2];f=q[c+4>>2];c=e+h|0;e=c+1|0;g=q[e+4>>2];q[d>>2]=q[e>>2];q[d+4>>2]=g;q[c+1>>2]=j;q[c+5>>2]=f;j=q[d+8>>2];e=q[d+12>>2];f=q[c+13>>2];q[d+8>>2]=q[c+9>>2];q[d+12>>2]=f;q[c+9>>2]=j;q[c+13>>2]=e;break g}d=k+w(j,96)|0;c=d;j=q[c+16>>2];c=q[c+20>>2];e=q[i+5>>2];q[d+16>>2]=q[i+1>>2];q[d+20>>2]=e;q[i+1>>2]=j;q[i+5>>2]=c;c=q[d+24>>2];j=q[d+28>>2];e=q[h+5>>2];q[d+24>>2]=q[h+1>>2];q[d+28>>2]=e;q[h+1>>2]=c;q[h+5>>2]=j}Q:{if(G&1){break Q}d=q[a+25672>>2];if(G&2){if(H){R:{if(q[q[a+28224>>2]+4>>2]!=244){break R}c=q[b+21660>>2];if(c+ -1>>>0>1){break R}n[q[((c<<2)+a|0)+25968>>2]](z,u,b+28560|0,l);break Q}f=b+28560|0;e=0;while(1){if((e|0)==16){break Q}c=e<<4;h=!r[(r[e+154208|0]+b|0)+27824|0];if(d){g=q[f+(c<<2)>>2]}else{g=s[((c<<1)+b|0)+28560>>1]}if(!(g?0:h)){n[q[a+144>>2]](q[(e<<2)+u>>2]+z|0,((c<>2]](z,u,b+28560|0,l,b+27824|0);break Q}if(!(r[b+21856|0]&15)){break Q}c=G&16777216;if(H){j=c?4:1;c=q[(c?140:144)+a>>2];e=0;while(1){if(e>>>0>15){break Q}if(r[(r[e+154208|0]+b|0)+27824|0]){n[c](q[(e<<2)+u>>2]+z|0,((e<<4<>2]](z,u,b+28560|0,l,b+27824|0);break Q}n[q[a+116>>2]](z,u,b+28560|0,l,b+27824|0)}if(!(r[b+21856|0]&48)){break d}q[D+12>>2]=E;q[D+8>>2]=B;if(H){S:{if(!J|q[q[a+28224>>2]+4>>2]!=244){break S}d=q[b+21656>>2];if(d+ -1>>>0>1){break S}l=b+28560|0;c=d<<2;d=a+25956|0;n[q[c+d>>2]](B,u- -64|0,l+(256<>2]<<1)|0,C);n[q[d+(q[b+21656>>2]<<2)>>2]](q[D+12>>2],u+128|0,l+(512<>2]<<1)|0,C);break d}l=b+28560|0;z=q[a+144>>2];B=20;j=24;c=1;while(1){if((c|0)==3){break d}f=(c<<2)+D|0;k=c<<4;e=k;while(1){if((e|0)!=(B|0)){d=e<<4;g=q[a+25672>>2];i=!r[(r[e+154208|0]+b|0)+27824|0];if(g){h=q[l+(d<<2)>>2]}else{h=s[((d<<1)+b|0)+28560>>1]}if(!(h?0:i)){n[z](q[f+4>>2]+q[(e<<2)+u>>2]|0,((d<>2];i=!r[(r[e+154212|0]+b|0)+27824|0];if(g){h=q[l+(d<<2)>>2]}else{h=s[((d<<1)+b|0)+28560>>1]}if(!(h?0:i)){n[z](q[f+4>>2]+q[(e+4<<2)+u>>2]|0,((d<>2];U:{if((K|0)==2){e=e+3|0;d=q[b+856>>2]+3|0;break U}d=q[b+856>>2]}if(r[b+27864|0]){n[q[a+136>>2]](((256<>2]<<1)+b|0)+28560|0,q[q[(q[a+28220>>2]+(J?4:16)|0)+173788>>2]+(e<<6)>>2])}if(r[b+27904|0]){n[q[a+136>>2]](((512<>2]<<1)+b|0)+28560|0,q[q[(q[a+28220>>2]+(J?8:20)|0)+173788>>2]+(d<<6)>>2])}n[q[a+124>>2]](D+8|0,u,b+28560|0,C,b+27824|0);break d}if(!q[q[a+28224>>2]+12>>2]){e=0;a=$R(1<>>8;o[d+2|0]=b>>>16;o[d+3|0]=b>>>24;b=l;o[d+4|0]=b;o[d+5|0]=b>>>8;o[d+6|0]=b>>>16;o[d+7|0]=b>>>24;c=c+E|0;d=a;o[c|0]=d;o[c+1|0]=d>>>8;o[c+2|0]=d>>>16;o[c+3|0]=d>>>24;o[c+4|0]=b;o[c+5|0]=b>>>8;o[c+6|0]=b>>>16;o[c+7|0]=b>>>24;e=e+1|0;continue}}l=q[b+27780>>2]+256|0;c=l+(j<<3)|0;e=0;j=(j|0)>0?j:0;while(1){if((e|0)==(j|0)){break d}z=e<<3;b=z+l|0;d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);u=w(e,C);a=u+B|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=b;o[a+1|0]=b>>>8;o[a+2|0]=b>>>16;o[a+3|0]=b>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;b=c+z|0;d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);a=u+E|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=b;o[a+1|0]=b>>>8;o[a+2|0]=b>>>16;o[a+3|0]=b>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;e=e+1|0;continue}}u=0;b=(j|0)>0?j:0;a=1<>1]=a;p[c+d>>1]=a;e=e+1|0;continue}break}u=u+1|0;continue}}Ca=D+32|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Ca-16|0;Ca=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=q[865843];g=a>>>0<11?16:a+11&-8;a=g>>>3|0;b=f>>>a|0;if(b&3){c=a+((b^-1)&1)|0;e=c<<3;b=q[e+3463420>>2];a=b+8|0;d=q[b+8>>2];e=e+3463412|0;l:{if((d|0)==(e|0)){m=3463372,n=eS(-2,c)&f,q[m>>2]=n;break l}q[d+12>>2]=e;q[e+8>>2]=d}c=c<<3;q[b+4>>2]=c|3;b=b+c|0;q[b+4>>2]=q[b+4>>2]|1;break a}i=q[865845];if(g>>>0<=i>>>0){break k}if(b){c=2<>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;c=(c|b)+(a>>>b|0)|0;d=c<<3;b=q[d+3463420>>2];a=q[b+8>>2];d=d+3463412|0;m:{if((a|0)==(d|0)){f=eS(-2,c)&f;q[865843]=f;break m}q[a+12>>2]=d;q[d+8>>2]=a}a=b+8|0;q[b+4>>2]=g|3;h=b+g|0;c=c<<3;e=c-g|0;q[h+4>>2]=e|1;q[b+c>>2]=e;if(i){c=i>>>3|0;b=(c<<3)+3463412|0;d=q[865848];c=1<>2]}q[b+8>>2]=d;q[c+12>>2]=d;q[d+12>>2]=b;q[d+8>>2]=c}q[865848]=h;q[865845]=e;break a}k=q[865844];if(!k){break k}a=(k&0-k)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;b=q[((c|b)+(a>>>b|0)<<2)+3463676>>2];d=(q[b+4>>2]&-8)-g|0;c=b;while(1){o:{a=q[c+16>>2];if(!a){a=q[c+20>>2];if(!a){break o}}e=(q[a+4>>2]&-8)-g|0;c=e>>>0>>0;d=c?e:d;b=c?a:b;c=a;continue}break}j=q[b+24>>2];e=q[b+12>>2];if((e|0)!=(b|0)){a=q[b+8>>2];q[a+12>>2]=e;q[e+8>>2]=a;break b}c=b+20|0;a=q[c>>2];if(!a){a=q[b+16>>2];if(!a){break j}c=b+16|0}while(1){h=c;e=a;c=a+20|0;a=q[c>>2];if(a){continue}c=e+16|0;a=q[e+16>>2];if(a){continue}break}q[h>>2]=0;break b}g=-1;if(a>>>0>4294967231){break k}b=a+11|0;g=b&-8;i=q[865844];if(!i){break k}c=0-g|0;b=b>>>8|0;f=0;p:{if(!b){break p}f=31;if(g>>>0>16777215){break p}d=b+1048320>>>16&8;b=b<>>16&4;f=b<>>16&2;a=(f<>>15|0)-(b|(a|d))|0;f=(a<<1|g>>>a+21&1)+28|0}d=q[(f<<2)+3463676>>2];q:{r:{s:{if(!d){a=0;break s}b=g<<((f|0)==31?0:25-(f>>>1|0)|0);a=0;while(1){t:{h=(q[d+4>>2]&-8)-g|0;if(h>>>0>=c>>>0){break t}e=d;c=h;if(c){break t}c=0;a=d;break r}h=q[d+20>>2];d=q[((b>>>29&4)+d|0)+16>>2];a=h?(h|0)==(d|0)?a:h:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<>>12&16;d=b;a=a>>>b|0;b=a>>>5&8;d=d|b;a=a>>>b|0;b=a>>>2&4;d=d|b;a=a>>>b|0;b=a>>>1&2;d=d|b;a=a>>>b|0;b=a>>>1&1;a=q[((d|b)+(a>>>b|0)<<2)+3463676>>2]}if(!a){break q}}while(1){d=(q[a+4>>2]&-8)-g|0;b=d>>>0>>0;c=b?d:c;e=b?a:e;b=q[a+16>>2];if(b){a=b}else{a=q[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=q[865845]-g>>>0){break k}h=q[e+24>>2];b=q[e+12>>2];if((e|0)!=(b|0)){a=q[e+8>>2];q[a+12>>2]=b;q[b+8>>2]=a;break c}d=e+20|0;a=q[d>>2];if(!a){a=q[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=q[d>>2];if(a){continue}d=b+16|0;a=q[b+16>>2];if(a){continue}break}q[f>>2]=0;break c}b=q[865845];if(b>>>0>=g>>>0){a=q[865848];c=b-g|0;u:{if(c>>>0>=16){q[865845]=c;d=a+g|0;q[865848]=d;q[d+4>>2]=c|1;q[a+b>>2]=c;q[a+4>>2]=g|3;break u}q[865848]=0;q[865845]=0;q[a+4>>2]=b|3;b=a+b|0;q[b+4>>2]=q[b+4>>2]|1}a=a+8|0;break a}d=q[865846];if(d>>>0>g>>>0){b=d-g|0;q[865846]=b;a=q[865849];c=a+g|0;q[865849]=c;q[c+4>>2]=b|1;q[a+4>>2]=g|3;a=a+8|0;break a}a=0;e=g+47|0;c=e;if(q[865961]){b=q[865963]}else{q[865964]=-1;q[865965]=-1;q[865962]=4096;q[865963]=4096;q[865961]=l+12&-16^1431655768;q[865966]=0;q[865954]=0;b=4096}f=c+b|0;h=0-b|0;c=f&h;if(c>>>0<=g>>>0){break a}b=q[865953];if(b){i=q[865951];j=i+c|0;if(j>>>0<=i>>>0|j>>>0>b>>>0){break a}}if(r[3463816]&4){break f}v:{w:{b=q[865849];if(b){a=3463820;while(1){i=q[a>>2];if(i+q[a+4>>2]>>>0>b>>>0?i>>>0<=b>>>0:0){break w}a=q[a+8>>2];if(a){continue}break}}b=pe(0);if((b|0)==-1){break g}f=c;a=q[865962];d=a+ -1|0;if(d&b){f=(c-b|0)+(b+d&0-a)|0}if(f>>>0<=g>>>0|f>>>0>2147483646){break g}a=q[865953];if(a){d=q[865951];h=d+f|0;if(h>>>0<=d>>>0|h>>>0>a>>>0){break g}}a=pe(f);if((b|0)!=(a|0)){break v}break e}f=h&f-d;if(f>>>0>2147483646){break g}b=pe(f);if((b|0)==(q[a>>2]+q[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|g+48>>>0<=f>>>0)){b=q[865963];b=b+(e-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((pe(b)|0)!=-1){f=b+f|0;b=a;break e}pe(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}q[865954]=q[865954]|4}if(c>>>0>2147483646){break d}b=pe(c);a=pe(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=g+40>>>0){break d}}a=q[865951]+f|0;q[865951]=a;if(a>>>0>t[865952]){q[865952]=a}x:{y:{z:{c=q[865849];if(c){a=3463820;while(1){d=q[a>>2];e=q[a+4>>2];if((d+e|0)==(b|0)){break z}a=q[a+8>>2];if(a){continue}break}break y}a=q[865847];if(!(b>>>0>=a>>>0?a:0)){q[865847]=b}a=0;q[865956]=f;q[865955]=b;q[865851]=-1;q[865852]=q[865961];q[865958]=0;while(1){c=a<<3;d=c+3463412|0;q[c+3463420>>2]=d;q[c+3463424>>2]=d;a=a+1|0;if((a|0)!=32){continue}break}a=f+ -40|0;c=b+8&7?-8-b&7:0;d=a-c|0;q[865846]=d;c=b+c|0;q[865849]=c;q[c+4>>2]=d|1;q[(a+b|0)+4>>2]=40;q[865850]=q[865965];break x}if(r[a+12|0]&8|b>>>0<=c>>>0|d>>>0>c>>>0){break y}q[a+4>>2]=e+f;a=c+8&7?-8-c&7:0;b=a+c|0;q[865849]=b;d=q[865846]+f|0;a=d-a|0;q[865846]=a;q[b+4>>2]=a|1;q[(c+d|0)+4>>2]=40;q[865850]=q[865965];break x}e=q[865847];if(b>>>0>>0){q[865847]=b;e=0}d=b+f|0;a=3463820;A:{B:{C:{D:{E:{F:{while(1){if((d|0)!=q[a>>2]){a=q[a+8>>2];if(a){continue}break F}break}if(!(r[a+12|0]&8)){break E}}a=3463820;while(1){d=q[a>>2];if(d>>>0<=c>>>0){e=d+q[a+4>>2]|0;if(e>>>0>c>>>0){break D}}a=q[a+8>>2];continue}}q[a>>2]=b;q[a+4>>2]=q[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;q[j+4>>2]=g|3;b=d+(d+8&7?-8-d&7:0)|0;a=(b-j|0)-g|0;h=g+j|0;if((b|0)==(c|0)){q[865849]=h;a=q[865846]+a|0;q[865846]=a;q[h+4>>2]=a|1;break B}if(q[865848]==(b|0)){q[865848]=h;a=q[865845]+a|0;q[865845]=a;q[h+4>>2]=a|1;q[a+h>>2]=a;break B}c=q[b+4>>2];if((c&3)==1){k=c&-8;G:{if(c>>>0<=255){e=c>>>3|0;c=q[b+8>>2];d=q[b+12>>2];if((d|0)==(c|0)){m=3463372,n=q[865843]&eS(-2,e),q[m>>2]=n;break G}q[c+12>>2]=d;q[d+8>>2]=c;break G}i=q[b+24>>2];f=q[b+12>>2];H:{if((f|0)!=(b|0)){c=q[b+8>>2];q[c+12>>2]=f;q[f+8>>2]=c;break H}I:{d=b+20|0;g=q[d>>2];if(g){break I}d=b+16|0;g=q[d>>2];if(g){break I}f=0;break H}while(1){c=d;f=g;d=g+20|0;g=q[d>>2];if(g){continue}d=f+16|0;g=q[f+16>>2];if(g){continue}break}q[c>>2]=0}if(!i){break G}c=q[b+28>>2];d=(c<<2)+3463676|0;J:{if(q[d>>2]==(b|0)){q[d>>2]=f;if(f){break J}m=3463376,n=q[865844]&eS(-2,c),q[m>>2]=n;break G}q[i+(q[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}q[f+24>>2]=i;c=q[b+16>>2];if(c){q[f+16>>2]=c;q[c+24>>2]=f}c=q[b+20>>2];if(!c){break G}q[f+20>>2]=c;q[c+24>>2]=f}b=b+k|0;a=a+k|0}q[b+4>>2]=q[b+4>>2]&-2;q[h+4>>2]=a|1;q[a+h>>2]=a;if(a>>>0<=255){b=a>>>3|0;a=(b<<3)+3463412|0;c=q[865843];b=1<>2]}q[a+8>>2]=h;q[b+12>>2]=h;q[h+12>>2]=a;q[h+8>>2]=b;break B}c=h;d=a>>>8|0;b=0;L:{if(!d){break L}b=31;if(a>>>0>16777215){break L}e=d+1048320>>>16&8;d=d<>>16&4;g=d<>>16&2;b=(g<>>15|0)-(d|(b|e))|0;b=(b<<1|a>>>b+21&1)+28|0}q[c+28>>2]=b;q[h+16>>2]=0;q[h+20>>2]=0;c=(b<<2)+3463676|0;d=q[865844];e=1<>2]=h;break M}d=a<<((b|0)==31?0:25-(b>>>1|0)|0);b=q[c>>2];while(1){c=b;if((q[b+4>>2]&-8)==(a|0)){break C}b=d>>>29|0;d=d<<1;e=(b&4)+c|0;b=q[e+16>>2];if(b){continue}break}q[e+16>>2]=h}q[h+24>>2]=c;q[h+12>>2]=h;q[h+8>>2]=h;break B}a=f+ -40|0;d=b+8&7?-8-b&7:0;h=a-d|0;q[865846]=h;d=b+d|0;q[865849]=d;q[d+4>>2]=h|1;q[(a+b|0)+4>>2]=40;q[865850]=q[865965];a=(e+(e+ -39&7?39-e&7:0)|0)+ -47|0;d=a>>>0>>0?c:a;q[d+4>>2]=27;a=q[865958];q[d+16>>2]=q[865957];q[d+20>>2]=a;a=q[865956];q[d+8>>2]=q[865955];q[d+12>>2]=a;q[865957]=d+8;q[865956]=f;q[865955]=b;q[865958]=0;a=d+24|0;while(1){q[a+4>>2]=7;b=a+8|0;a=a+4|0;if(e>>>0>b>>>0){continue}break}if((c|0)==(d|0)){break x}q[d+4>>2]=q[d+4>>2]&-2;e=d-c|0;q[c+4>>2]=e|1;q[d>>2]=e;if(e>>>0<=255){b=e>>>3|0;a=(b<<3)+3463412|0;d=q[865843];b=1<>2]}q[a+8>>2]=c;q[b+12>>2]=c;q[c+12>>2]=a;q[c+8>>2]=b;break x}q[c+16>>2]=0;q[c+20>>2]=0;b=c;d=e>>>8|0;a=0;O:{if(!d){break O}a=31;if(e>>>0>16777215){break O}f=d+1048320>>>16&8;d=d<>>16&4;h=d<>>16&2;a=(h<>>15|0)-(d|(a|f))|0;a=(a<<1|e>>>a+21&1)+28|0}q[b+28>>2]=a;b=(a<<2)+3463676|0;d=q[865844];f=1<>2]=c;q[c+24>>2]=b;break P}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=q[b>>2];while(1){d=b;if((e|0)==(q[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=q[f+16>>2];if(b){continue}break}q[f+16>>2]=c;q[c+24>>2]=d}q[c+12>>2]=c;q[c+8>>2]=c;break x}a=q[c+8>>2];q[a+12>>2]=h;q[c+8>>2]=h;q[h+24>>2]=0;q[h+12>>2]=c;q[h+8>>2]=a}a=j+8|0;break a}a=q[d+8>>2];q[a+12>>2]=c;q[d+8>>2]=c;q[c+24>>2]=0;q[c+12>>2]=d;q[c+8>>2]=a}a=q[865846];if(a>>>0<=g>>>0){break d}b=a-g|0;q[865846]=b;a=q[865849];c=a+g|0;q[865849]=c;q[c+4>>2]=b|1;q[a+4>>2]=g|3;a=a+8|0;break a}q[865816]=48;a=0;break a}Q:{if(!h){break Q}a=q[e+28>>2];d=(a<<2)+3463676|0;R:{if(q[d>>2]==(e|0)){q[d>>2]=b;if(b){break R}i=eS(-2,a)&i;q[865844]=i;break Q}q[h+(q[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}q[b+24>>2]=h;a=q[e+16>>2];if(a){q[b+16>>2]=a;q[a+24>>2]=b}a=q[e+20>>2];if(!a){break Q}q[b+20>>2]=a;q[a+24>>2]=b}S:{if(c>>>0<=15){a=c+g|0;q[e+4>>2]=a|3;a=a+e|0;q[a+4>>2]=q[a+4>>2]|1;break S}q[e+4>>2]=g|3;d=e+g|0;q[d+4>>2]=c|1;q[c+d>>2]=c;if(c>>>0<=255){b=c>>>3|0;a=(b<<3)+3463412|0;c=q[865843];b=1<>2]}q[a+8>>2]=d;q[b+12>>2]=d;q[d+12>>2]=a;q[d+8>>2]=b;break S}b=d;g=c>>>8|0;a=0;U:{if(!g){break U}a=31;if(c>>>0>16777215){break U}f=g+1048320>>>16&8;g=g<>>16&4;h=g<>>16&2;a=(h<>>15|0)-(g|(a|f))|0;a=(a<<1|c>>>a+21&1)+28|0}q[b+28>>2]=a;q[d+16>>2]=0;q[d+20>>2]=0;b=(a<<2)+3463676|0;V:{g=1<>2]=d;break W}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);g=q[b>>2];while(1){b=g;if((q[b+4>>2]&-8)==(c|0)){break V}g=a>>>29|0;a=a<<1;f=(g&4)+b|0;g=q[f+16>>2];if(g){continue}break}q[f+16>>2]=d}q[d+24>>2]=b;q[d+12>>2]=d;q[d+8>>2]=d;break S}a=q[b+8>>2];q[a+12>>2]=d;q[b+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=b;q[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}a=q[b+28>>2];c=(a<<2)+3463676|0;Y:{if(q[c>>2]==(b|0)){q[c>>2]=e;if(e){break Y}m=3463376,n=eS(-2,a)&k,q[m>>2]=n;break X}q[j+(q[j+16>>2]==(b|0)?16:20)>>2]=e;if(!e){break X}}q[e+24>>2]=j;a=q[b+16>>2];if(a){q[e+16>>2]=a;q[a+24>>2]=e}a=q[b+20>>2];if(!a){break X}q[e+20>>2]=a;q[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+g|0;q[b+4>>2]=a|3;a=a+b|0;q[a+4>>2]=q[a+4>>2]|1;break Z}q[b+4>>2]=g|3;g=b+g|0;q[g+4>>2]=d|1;q[d+g>>2]=d;if(i){c=i>>>3|0;a=(c<<3)+3463412|0;e=q[865848];c=1<>2]}q[a+8>>2]=e;q[c+12>>2]=e;q[e+12>>2]=a;q[e+8>>2]=c}q[865848]=g;q[865845]=d}a=b+8|0}Ca=l+16|0;return a|0}function nq(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;i=Ca-16|0;Ca=i;a:{b:{c:{e=c+ -9|0;if(e>>>0>5){break c}d:{switch(e-1|0){default:e:{if((b|0)!=69){g=(b|0)==179;f=(b|0)==139;h=g|f;e=338;c=339;if(!(f|g)){e=340;c=341}q[a+32>>2]=342;q[a+24>>2]=343;q[a+20>>2]=344;q[a+16>>2]=345;q[a+8>>2]=346;q[a+4>>2]=e;q[a>>2]=c;q[a+28>>2]=h?347:348;q[a+12>>2]=(b|0)==23?349:350;f:{if(!((b|0)==179|f)){q[a+40>>2]=351;q[a+36>>2]=352;break f}q[a+52>>2]=353;q[a+48>>2]=354;q[a+36>>2]=355;q[a+56>>2]=340;q[a+40>>2]=341}if((b|0)==139){break e}q[a+44>>2]=356;break e}q[a+56>>2]=357;q[a+52>>2]=358;q[a+48>>2]=359;q[a+44>>2]=356;q[a+40>>2]=351;q[a+36>>2]=352;q[a+32>>2]=360;q[a+28>>2]=361;q[a+24>>2]=343;q[a+20>>2]=344;q[a+16>>2]=345;q[a+12>>2]=362;q[a+8>>2]=346;q[a+4>>2]=340;q[a>>2]=341}q[a+60>>2]=363;q[a+104>>2]=364;q[a+100>>2]=365;q[a+96>>2]=366;q[a+92>>2]=367;q[a+88>>2]=368;q[a+84>>2]=369;q[a+80>>2]=370;q[a+76>>2]=371;q[a+72>>2]=372;q[a+68>>2]=373;q[a- -64>>2]=374;c=(d|0)<2;q[a+116>>2]=c?375:376;q[a+112>>2]=c?377:378;g:{if(!((b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+120>>2]=379;break g}q[a+120>>2]=380;break g}q[a+120>>2]=381}h:{if(!((b|0)==69|(b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+108>>2]=382;q[a+148>>2]=383;q[a+144>>2]=384;q[a+140>>2]=385;q[a+136>>2]=386;q[a+128>>2]=387;q[a+124>>2]=388;break h}q[a+108>>2]=389;q[a+148>>2]=390;q[a+144>>2]=391;q[a+140>>2]=392;q[a+136>>2]=393;q[a+128>>2]=394;q[a+124>>2]=395;break h}q[a+108>>2]=396;q[a+128>>2]=397;q[a+124>>2]=398;if((b|0)!=139?(b|0)!=179:0){break h}q[a+140>>2]=399;q[a+136>>2]=400}q[a+152>>2]=401;q[a+160>>2]=402;q[a+156>>2]=403;q[a+132>>2]=(d|0)<2?404:405;i:{j:{k:{if((b|0)==179){break k}if((b|0)!=69){if((b|0)==139){break k}if((b|0)!=23){break j}q[a+164>>2]=406;break i}q[a+164>>2]=407;break i}q[a+184>>2]=408;q[a+180>>2]=409;q[a+164>>2]=410;break i}q[a+164>>2]=411}q[a+204>>2]=412;q[a+196>>2]=413;q[a+188>>2]=414;q[a+208>>2]=415;q[a+200>>2]=416;q[a+192>>2]=417;q[a+176>>2]=418;q[a+172>>2]=419;q[a+168>>2]=420;c=(d|0)<2;b=c?421:422;d=c?423:424;e=426;c=425;break b;case 0:l:{if((b|0)!=69){g=(b|0)==179;f=(b|0)==139;h=g|f;e=338;c=339;if(!(f|g)){e=427;c=428}q[a+32>>2]=429;q[a+24>>2]=430;q[a+20>>2]=431;q[a+16>>2]=432;q[a+8>>2]=433;q[a+4>>2]=e;q[a>>2]=c;q[a+28>>2]=h?347:434;q[a+12>>2]=(b|0)==23?349:435;m:{if(!((b|0)==179|f)){q[a+40>>2]=436;q[a+36>>2]=437;break m}q[a+52>>2]=438;q[a+48>>2]=439;q[a+36>>2]=355;q[a+56>>2]=427;q[a+40>>2]=428}if((b|0)==139){break l}q[a+44>>2]=440;break l}q[a+56>>2]=357;q[a+52>>2]=358;q[a+48>>2]=359;q[a+44>>2]=440;q[a+40>>2]=436;q[a+36>>2]=437;q[a+32>>2]=360;q[a+28>>2]=361;q[a+24>>2]=430;q[a+20>>2]=431;q[a+16>>2]=432;q[a+12>>2]=362;q[a+8>>2]=433;q[a+4>>2]=427;q[a>>2]=428}q[a+60>>2]=441;q[a+104>>2]=442;q[a+100>>2]=443;q[a+96>>2]=444;q[a+92>>2]=445;q[a+88>>2]=446;q[a+84>>2]=447;q[a+80>>2]=448;q[a+76>>2]=449;q[a+72>>2]=450;q[a+68>>2]=451;q[a- -64>>2]=452;c=(d|0)<2;q[a+116>>2]=c?453:454;q[a+112>>2]=c?455:456;n:{if(!((b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+120>>2]=457;break n}q[a+120>>2]=458;break n}q[a+120>>2]=381}o:{if(!((b|0)==69|(b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+108>>2]=459;q[a+148>>2]=460;q[a+144>>2]=461;q[a+140>>2]=462;q[a+136>>2]=463;q[a+128>>2]=464;q[a+124>>2]=465;break o}q[a+108>>2]=466;q[a+148>>2]=467;q[a+144>>2]=468;q[a+140>>2]=469;q[a+136>>2]=470;q[a+128>>2]=471;q[a+124>>2]=472;break o}q[a+108>>2]=396;q[a+128>>2]=397;q[a+124>>2]=398;if((b|0)!=139?(b|0)!=179:0){break o}q[a+140>>2]=473;q[a+136>>2]=474}q[a+152>>2]=475;q[a+160>>2]=476;q[a+156>>2]=477;q[a+132>>2]=(d|0)<2?478:479;p:{q:{r:{if((b|0)==179){break r}if((b|0)!=69){if((b|0)==139){break r}if((b|0)!=23){break q}q[a+164>>2]=406;break p}q[a+164>>2]=407;break p}q[a+184>>2]=480;q[a+180>>2]=481;q[a+164>>2]=410;break p}q[a+164>>2]=482}q[a+204>>2]=483;q[a+196>>2]=484;q[a+188>>2]=485;q[a+208>>2]=486;q[a+200>>2]=487;q[a+192>>2]=488;q[a+176>>2]=489;q[a+172>>2]=490;q[a+168>>2]=491;c=(d|0)<2;b=c?492:493;d=c?494:495;e=497;c=496;break b;case 2:s:{if((b|0)!=69){g=(b|0)==179;f=(b|0)==139;h=g|f;e=338;c=339;if(!(f|g)){e=498;c=499}q[a+32>>2]=500;q[a+24>>2]=501;q[a+20>>2]=502;q[a+16>>2]=503;q[a+8>>2]=504;q[a+4>>2]=e;q[a>>2]=c;q[a+28>>2]=h?347:505;q[a+12>>2]=(b|0)==23?349:506;t:{if(!((b|0)==179|f)){q[a+40>>2]=507;q[a+36>>2]=508;break t}q[a+52>>2]=509;q[a+48>>2]=510;q[a+36>>2]=355;q[a+56>>2]=498;q[a+40>>2]=499}if((b|0)==139){break s}q[a+44>>2]=511;break s}q[a+56>>2]=357;q[a+52>>2]=358;q[a+48>>2]=359;q[a+44>>2]=511;q[a+40>>2]=507;q[a+36>>2]=508;q[a+32>>2]=360;q[a+28>>2]=361;q[a+24>>2]=501;q[a+20>>2]=502;q[a+16>>2]=503;q[a+12>>2]=362;q[a+8>>2]=504;q[a+4>>2]=498;q[a>>2]=499}q[a+60>>2]=512;q[a+104>>2]=513;q[a+100>>2]=514;q[a+96>>2]=515;q[a+92>>2]=516;q[a+88>>2]=517;q[a+84>>2]=518;q[a+80>>2]=519;q[a+76>>2]=520;q[a+72>>2]=521;q[a+68>>2]=522;q[a- -64>>2]=523;c=(d|0)<2;q[a+116>>2]=c?524:525;q[a+112>>2]=c?526:527;u:{if(!((b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+120>>2]=528;break u}q[a+120>>2]=529;break u}q[a+120>>2]=381}v:{if(!((b|0)==69|(b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+108>>2]=530;q[a+148>>2]=531;q[a+144>>2]=532;q[a+140>>2]=533;q[a+136>>2]=534;q[a+128>>2]=535;q[a+124>>2]=536;break v}q[a+108>>2]=537;q[a+148>>2]=538;q[a+144>>2]=539;q[a+140>>2]=540;q[a+136>>2]=541;q[a+128>>2]=542;q[a+124>>2]=543;break v}q[a+108>>2]=396;q[a+128>>2]=397;q[a+124>>2]=398;if((b|0)!=139?(b|0)!=179:0){break v}q[a+140>>2]=544;q[a+136>>2]=545}q[a+152>>2]=546;q[a+160>>2]=547;q[a+156>>2]=548;q[a+132>>2]=(d|0)<2?549:550;w:{x:{y:{if((b|0)==179){break y}if((b|0)!=69){if((b|0)==139){break y}if((b|0)!=23){break x}q[a+164>>2]=406;break w}q[a+164>>2]=407;break w}q[a+184>>2]=551;q[a+180>>2]=552;q[a+164>>2]=410;break w}q[a+164>>2]=553}q[a+204>>2]=554;q[a+196>>2]=555;q[a+188>>2]=556;q[a+208>>2]=557;q[a+200>>2]=558;q[a+192>>2]=559;q[a+176>>2]=560;q[a+172>>2]=561;q[a+168>>2]=562;c=(d|0)<2;b=c?563:564;d=c?565:566;e=568;c=567;break b;case 1:case 3:break c;case 4:break d}}z:{if((b|0)!=69){g=(b|0)==179;f=(b|0)==139;h=g|f;e=338;c=339;if(!(f|g)){e=569;c=570}q[a+32>>2]=571;q[a+24>>2]=572;q[a+20>>2]=573;q[a+16>>2]=574;q[a+8>>2]=575;q[a+4>>2]=e;q[a>>2]=c;q[a+28>>2]=h?347:576;q[a+12>>2]=(b|0)==23?349:577;A:{if(!((b|0)==179|f)){q[a+40>>2]=578;q[a+36>>2]=579;break A}q[a+52>>2]=580;q[a+48>>2]=581;q[a+36>>2]=355;q[a+56>>2]=569;q[a+40>>2]=570}if((b|0)==139){break z}q[a+44>>2]=582;break z}q[a+56>>2]=357;q[a+52>>2]=358;q[a+48>>2]=359;q[a+44>>2]=582;q[a+40>>2]=578;q[a+36>>2]=579;q[a+32>>2]=360;q[a+28>>2]=361;q[a+24>>2]=572;q[a+20>>2]=573;q[a+16>>2]=574;q[a+12>>2]=362;q[a+8>>2]=575;q[a+4>>2]=569;q[a>>2]=570}q[a+60>>2]=583;q[a+104>>2]=584;q[a+100>>2]=585;q[a+96>>2]=586;q[a+92>>2]=587;q[a+88>>2]=588;q[a+84>>2]=589;q[a+80>>2]=590;q[a+76>>2]=591;q[a+72>>2]=592;q[a+68>>2]=593;q[a- -64>>2]=594;c=(d|0)<2;q[a+116>>2]=c?595:596;q[a+112>>2]=c?597:598;B:{if(!((b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+120>>2]=599;break B}q[a+120>>2]=600;break B}q[a+120>>2]=381}C:{if(!((b|0)==69|(b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+108>>2]=601;q[a+148>>2]=602;q[a+144>>2]=603;q[a+140>>2]=604;q[a+136>>2]=605;q[a+128>>2]=606;q[a+124>>2]=607;break C}q[a+108>>2]=608;q[a+148>>2]=609;q[a+144>>2]=610;q[a+140>>2]=611;q[a+136>>2]=612;q[a+128>>2]=613;q[a+124>>2]=614;break C}q[a+108>>2]=396;q[a+128>>2]=397;q[a+124>>2]=398;if((b|0)!=139?(b|0)!=179:0){break C}q[a+140>>2]=615;q[a+136>>2]=616}q[a+152>>2]=617;q[a+160>>2]=618;q[a+156>>2]=619;q[a+132>>2]=(d|0)<2?620:621;D:{E:{F:{if((b|0)==179){break F}if((b|0)!=69){if((b|0)==139){break F}if((b|0)!=23){break E}q[a+164>>2]=406;break D}q[a+164>>2]=407;break D}q[a+184>>2]=622;q[a+180>>2]=623;q[a+164>>2]=410;break D}q[a+164>>2]=624}q[a+204>>2]=625;q[a+196>>2]=626;q[a+188>>2]=627;q[a+208>>2]=628;q[a+200>>2]=629;q[a+192>>2]=630;q[a+176>>2]=631;q[a+172>>2]=632;q[a+168>>2]=633;c=(d|0)<2;b=c?634:635;d=c?636:637;e=639;c=638;break b}if((c|0)>=9){break a}G:{if((b|0)!=69){g=(b|0)==179;f=(b|0)==139;h=g|f;e=338;c=339;if(!(f|g)){e=640;c=641}q[a+32>>2]=642;q[a+24>>2]=643;q[a+20>>2]=644;q[a+16>>2]=645;q[a+8>>2]=646;q[a+4>>2]=e;q[a>>2]=c;q[a+28>>2]=h?347:647;q[a+12>>2]=(b|0)==23?349:648;H:{if(!((b|0)==179|f)){q[a+40>>2]=649;q[a+36>>2]=650;break H}q[a+52>>2]=651;q[a+48>>2]=652;q[a+36>>2]=355;q[a+56>>2]=640;q[a+40>>2]=641}if((b|0)==139){break G}q[a+44>>2]=653;break G}q[a+56>>2]=357;q[a+52>>2]=358;q[a+48>>2]=359;q[a+44>>2]=653;q[a+40>>2]=649;q[a+36>>2]=650;q[a+32>>2]=360;q[a+28>>2]=361;q[a+24>>2]=643;q[a+20>>2]=644;q[a+16>>2]=645;q[a+12>>2]=362;q[a+8>>2]=646;q[a+4>>2]=640;q[a>>2]=641}q[a+60>>2]=654;q[a+104>>2]=655;q[a+100>>2]=656;q[a+96>>2]=657;q[a+92>>2]=658;q[a+88>>2]=659;q[a+84>>2]=660;q[a+80>>2]=661;q[a+76>>2]=662;q[a+72>>2]=663;q[a+68>>2]=664;q[a- -64>>2]=665;c=(d|0)<2;q[a+116>>2]=c?666:667;q[a+112>>2]=c?668:669;I:{if(!((b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+120>>2]=670;break I}q[a+120>>2]=671;break I}q[a+120>>2]=381}J:{if(!((b|0)==69|(b|0)==139|(b|0)==179)){if((d|0)<=1){q[a+108>>2]=672;q[a+148>>2]=673;q[a+144>>2]=674;q[a+140>>2]=675;q[a+136>>2]=676;q[a+128>>2]=677;q[a+124>>2]=678;break J}q[a+108>>2]=679;q[a+148>>2]=680;q[a+144>>2]=681;q[a+140>>2]=682;q[a+136>>2]=683;q[a+128>>2]=684;q[a+124>>2]=685;break J}q[a+108>>2]=396;q[a+128>>2]=397;q[a+124>>2]=398;if((b|0)!=139?(b|0)!=179:0){break J}q[a+140>>2]=686;q[a+136>>2]=687}q[a+152>>2]=688;q[a+160>>2]=689;q[a+156>>2]=690;q[a+132>>2]=(d|0)<2?691:692;K:{L:{M:{if((b|0)==179){break M}if((b|0)!=69){if((b|0)==139){break M}if((b|0)!=23){break L}q[a+164>>2]=406;break K}q[a+164>>2]=407;break K}q[a+184>>2]=693;q[a+180>>2]=694;q[a+164>>2]=410;break K}q[a+164>>2]=695}q[a+204>>2]=696;q[a+196>>2]=697;q[a+188>>2]=698;q[a+208>>2]=699;q[a+200>>2]=700;q[a+192>>2]=701;q[a+176>>2]=702;q[a+172>>2]=703;q[a+168>>2]=704;c=(d|0)<2;b=c?705:706;d=c?707:708;e=710;c=709}q[a+232>>2]=e;q[a+216>>2]=b;q[a+220>>2]=d;q[a+228>>2]=c;Ca=i+16|0;return}q[i+8>>2]=590;q[i+4>>2]=7893;q[i>>2]=6283;Ta(0,0,4096,i);I();F()}function gn(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;n=Ca-192|0;Ca=n;F=h;H=i&65535;r=d;o=e&65535;D=(e^i)&-2147483648;l=i>>>16&32767;a:{s=e>>>16&32767;b:{c:{if(l+ -1>>>0<32766?s+ -1>>>0<=32765:0){break c}m=e&2147483647;k=m;j=d;if(!(!j&(k|0)==2147418112?!(b|c):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){K=d;D=e|32768;break b}m=i&2147483647;e=m;d=h;if(!(!d&(e|0)==2147418112?!(f|g):(e|0)==2147418112&d>>>0<0|e>>>0<2147418112)){K=h;D=i|32768;b=f;c=g;break b}if(!(b|j|(k^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;D=2147450880;break b}D=D|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|j|(c|k))){break a}if(!(d|f|(e|g))){D=D|2147418112;b=0;c=0;break b}if((k|0)==65535&j>>>0<=4294967295|k>>>0<65535){j=b;h=!(o|r);i=h<<6;k=z(h?b:r)+32|0;b=z(h?c:o);b=i+((b|0)==32?k:b)|0;Rb(n+176|0,j,c,r,o,b+ -15|0);I=16-b|0;r=q[n+184>>2];o=q[n+188>>2];c=q[n+180>>2];b=q[n+176>>2]}if((e|0)==65535&d>>>0>4294967295|e>>>0>65535){break c}d=!(F|H);e=d<<6;h=z(d?f:F)+32|0;d=z(d?g:H);d=e+((d|0)==32?h:d)|0;Rb(n+160|0,f,g,F,H,d+ -15|0);I=(d+I|0)+ -16|0;F=q[n+168>>2];H=q[n+172>>2];f=q[n+160>>2];g=q[n+164>>2]}e=H|65536;J=e;L=F;d=F;k=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=k;i=1963258675-(k+(4192101508>>0)|0)|0;bd(n+144|0,d,k,h,i);j=q[n+152>>2];bd(n+128|0,0-j|0,0-(q[n+156>>2]+(0>>0)|0)|0,h,i);h=q[n+136>>2];i=h<<1|q[n+132>>2]>>>31;h=q[n+140>>2]<<1|h>>>31;bd(n+112|0,i,h,d,k);j=h;h=q[n+120>>2];bd(n+96|0,i,j,0-h|0,0-(q[n+124>>2]+(0>>0)|0)|0);h=q[n+104>>2];i=h<<1|q[n+100>>2]>>>31;h=q[n+108>>2]<<1|h>>>31;bd(n+80|0,i,h,d,k);j=h;h=q[n+88>>2];bd(n- -64|0,i,j,0-h|0,0-(q[n+92>>2]+(0>>0)|0)|0);h=q[n+72>>2];i=h<<1|q[n+68>>2]>>>31;h=q[n+76>>2]<<1|h>>>31;bd(n+48|0,i,h,d,k);j=h;h=q[n+56>>2];bd(n+32|0,i,j,0-h|0,0-(q[n+60>>2]+(0>>0)|0)|0);h=q[n+40>>2];i=h<<1|q[n+36>>2]>>>31;h=q[n+44>>2]<<1|h>>>31;bd(n+16|0,i,h,d,k);j=h;h=q[n+24>>2];bd(n,i,j,0-h|0,0-(q[n+28>>2]+(0>>0)|0)|0);I=(s-l|0)+I|0;h=q[n+8>>2];j=q[n+12>>2]<<1|h>>>31;i=h<<1;k=j+ -1|0;i=(q[n+4>>2]>>>31|i)+ -1|0;if(i>>>0<4294967295){k=k+1|0}h=i;j=0;x=j;t=e;l=0;m=$R(h,j,e,l);e=Da;w=e;u=k;s=0;j=d;h=$R(k,s,j,0);d=h+m|0;k=Da+e|0;k=d>>>0>>0?k+1|0:k;h=d;d=k;p=$R(i,x,j,p);e=0+p|0;k=h;j=k+Da|0;j=e>>>0

>>0?j+1|0:j;p=e;e=j;j=(k|0)==(j|0)&p>>>0>>0|j>>>0>>0;k=(d|0)==(w|0)&k>>>0>>0|d>>>0>>0;h=d;d=$R(u,s,t,l)+d|0;l=k+Da|0;l=d>>>0>>0?l+1|0:l;h=d;d=j+d|0;j=l;B=d;h=d>>>0>>0?j+1|0:j;d=g;y=(d&131071)<<15|f>>>17;t=$R(i,x,y,0);d=Da;A=d;k=f;v=k<<15&-32768;m=$R(u,s,v,0);j=m+t|0;k=Da+d|0;k=j>>>0>>0?k+1|0:k;d=k;C=$R(i,x,v,C);v=0+C|0;k=j+Da|0;k=v>>>0>>0?k+1|0:k;k=(j|0)==(k|0)&v>>>0>>0|k>>>0>>0;j=(d|0)==(A|0)&j>>>0>>0|d>>>0>>0;m=d;d=$R(u,s,y,G)+d|0;l=j+Da|0;l=d>>>0>>0?l+1|0:l;j=d;d=k+j|0;m=d>>>0>>0?l+1|0:l;k=d;d=p+d|0;j=m+e|0;j=d>>>0>>0?j+1|0:j;w=d;k=h;t=j;d=(e|0)==(j|0)&d>>>0

>>0|j>>>0>>0;e=d+B|0;if(e>>>0>>0){k=k+1|0}j=k;d=(w|0)!=0|(t|0)!=0;e=e+d|0;if(e>>>0>>0){j=j+1|0}k=e;e=0-k|0;p=0;h=$R(e,p,i,x);d=Da;A=d;v=$R(u,s,e,p);e=Da;B=e;y=0-((0>>0)+j|0)|0;j=0;p=$R(i,x,y,j);l=p+v|0;k=Da+e|0;k=l>>>0

>>0?k+1|0:k;e=l;p=0+h|0;l=d+e|0;l=p>>>0>>0?l+1|0:l;m=p;d=l;l=(A|0)==(d|0)&m>>>0>>0|d>>>0>>0;m=(k|0)==(B|0)&e>>>0>>0|k>>>0>>0;e=$R(u,s,y,j)+k|0;j=m+Da|0;j=e>>>0>>0?j+1|0:j;h=e;e=l+e|0;if(e>>>0>>0){j=j+1|0}y=e;h=j;l=p;e=0-w|0;G=0-((0>>0)+t|0)|0;w=0;B=$R(G,w,i,x);v=Da;t=e;C=0;j=$R(e,C,u,s);e=j+B|0;k=Da+v|0;m=e;e=e>>>0>>0?k+1|0:k;t=$R(i,x,t,C);i=0+t|0;j=m;k=j+Da|0;k=i>>>0>>0?k+1|0:k;k=(j|0)==(k|0)&i>>>0>>0|k>>>0>>0;j=(e|0)==(v|0)&j>>>0>>0|e>>>0>>0;i=e;e=$R(u,s,G,w)+e|0;m=j+Da|0;m=e>>>0>>0?m+1|0:m;i=e;e=k+e|0;j=m;j=e>>>0>>0?j+1|0:j;i=e;e=e+l|0;j=j+d|0;j=e>>>0>>0?j+1|0:j;i=e;k=h;e=j;d=(d|0)==(j|0)&i>>>0>>0|j>>>0>>0;h=d+y|0;if(h>>>0>>0){k=k+1|0}d=h;j=k;m=d;l=e+ -1|0;d=i+ -2|0;if(d>>>0<4294967294){l=l+1|0}h=d;k=d;d=l;e=(e|0)==(d|0)&k>>>0>>0|d>>>0>>0;i=m+e|0;if(i>>>0>>0){j=j+1|0}e=i+ -1|0;k=j+ -1|0;k=e>>>0<4294967295?k+1|0:k;i=0;u=i;s=e;j=r;v=j<<2|c>>>30;y=0;p=$R(e,i,v,y);i=Da;m=i;i=c;G=(i&1073741823)<<2|b>>>30;C=k;i=0;j=$R(G,0,k,i);e=j+p|0;l=Da+m|0;l=e>>>0>>0?l+1|0:l;j=e;t=l;A=(m|0)==(l|0)&j>>>0

>>0|l>>>0>>0;m=l;l=0;p=l;k=0;B=d;E=((o&1073741823)<<2|r>>>30)&-262145|262144;e=$R(d,l,E,0);d=e+j|0;m=Da+m|0;m=d>>>0>>0?m+1|0:m;r=d;e=m;d=(t|0)==(e|0)&d>>>0>>0|e>>>0>>0;j=d+A|0;if(j>>>0>>0){k=1}m=$R(C,i,E,M);d=m+j|0;j=Da+k|0;k=d>>>0>>0?j+1|0:j;l=$R(s,u,E,M);j=Da;c=d;o=$R(v,y,C,i);d=o+l|0;m=Da+j|0;m=d>>>0>>0?m+1|0:m;o=d;d=m;m=(j|0)==(d|0)&o>>>0>>0|d>>>0>>0;l=c+d|0;k=k+m|0;j=l;m=j>>>0>>0?k+1|0:k;c=j;l=e+o|0;k=0;d=k+r|0;if(d>>>0>>0){l=l+1|0}o=d;j=d;d=l;e=(e|0)==(d|0)&j>>>0>>0|d>>>0>>0;j=c+e|0;if(j>>>0>>0){m=m+1|0}N=j;e=o;k=d;r=$R(G,w,B,p);l=Da;t=h;A=$R(h,0,v,y);h=A+r|0;j=Da+l|0;j=h>>>0>>0?j+1|0:j;x=h;h=j;r=(l|0)==(j|0)&x>>>0>>0|j>>>0>>0;P=e;j=0;Q=r;c=b<<2&-4;r=$R(s,u,c,0);e=r+x|0;l=Da+h|0;l=e>>>0>>0?l+1|0:l;A=e;r=e;e=l;h=(h|0)==(e|0)&r>>>0>>0|e>>>0>>0;l=Q+h|0;if(l>>>0>>0){j=1}h=P+l|0;k=j+k|0;k=h>>>0>>0?k+1|0:k;r=h;l=m;h=k;d=(d|0)==(k|0)&r>>>0>>0|k>>>0>>0;j=d+N|0;if(j>>>0>>0){l=l+1|0}P=j;o=r;x=h;N=$R(C,i,c,R);C=Da;i=$R(E,M,t,O);d=i+N|0;m=Da+C|0;m=d>>>0>>0?m+1|0:m;E=d;j=$R(v,y,B,p);d=d+j|0;i=m;k=i+Da|0;k=d>>>0>>0?k+1|0:k;v=d;m=$R(s,u,G,w);d=d+m|0;j=Da+k|0;s=d;j=d>>>0>>0?j+1|0:j;u=0;m=l;d=j;j=(j|0)==(k|0)&s>>>0>>0|j>>>0>>0;l=(i|0)==(C|0)&E>>>0>>0|i>>>0>>0;i=(i|0)==(k|0)&v>>>0>>0|k>>>0>>0;k=l+i|0;k>>>0>>0;i=j+k|0;k=i;j=d|0;i=j+o|0;k=(k|u)+x|0;k=i>>>0>>0?k+1|0:k;x=i;o=k;h=(h|0)==(k|0)&i>>>0>>0|k>>>0>>0;i=h+P|0;if(i>>>0>>0){m=m+1|0}y=i;i=m;m=x;r=o;u=A;B=$R(B,p,c,R);p=Da;j=$R(G,w,t,O);h=j+B|0;l=Da+p|0;l=h>>>0>>0?l+1|0:l;k=l;w=k;l=0;j=(k|0)==(p|0)&h>>>0>>0|k>>>0

>>0;h=k+u|0;k=(j|l)+e|0;k=h>>>0>>0?k+1|0:k;w=h;j=h;h=k;j=(e|0)==(k|0)&j>>>0>>0|k>>>0>>0;c=m;e=j;j=k+s|0;m=0;d=m+w|0;if(d>>>0>>0){j=j+1|0}d=(h|0)==(j|0)&d>>>0>>0|j>>>0>>0;e=e+d|0;if(e>>>0>>0){l=1}d=c+e|0;m=l+r|0;h=d;j=i;m=d>>>0>>0?m+1|0:m;i=m;d=(o|0)==(i|0)&d>>>0>>0|i>>>0>>0;e=d+y|0;if(e>>>0>>0){j=j+1|0}d=e;e=j;d:{if((j|0)==131071&d>>>0<=4294967295|j>>>0<131071){u=0;o=f;v=0;k=$R(h,u,o,v);l=Da;j=b<<17;b=0;c=(k|0)!=0|(l|0)!=0;r=b-c|0;E=j-(b>>>0>>0)|0;w=0-k|0;p=0-((0>>0)+l|0)|0;c=0;y=$R(i,c,o,v);b=Da;G=b;s=0;k=$R(h,u,g,s);j=k+y|0;l=Da+b|0;l=j>>>0>>0?l+1|0:l;b=j;k=j;t=0;j=t;A=k;j=(k|0)==(p|0)&w>>>0>>0|p>>>0>>0;x=r-j|0;r=E-(r>>>0>>0)|0;j=$R(d,0,o,v);k=Da;o=$R(h,u,F,0);j=o+j|0;m=Da+k|0;m=j>>>0>>0?m+1|0:m;o=$R(g,s,i,c);j=o+j|0;k=Da+m|0;k=j>>>0>>0?k+1|0:k;m=k;k=(l|0)==(G|0)&b>>>0>>0|l>>>0>>0;b=l+j|0;k=k+m|0;m=b;b=m>>>0>>0?k+1|0:k;j=$R(h,i,J,0);l=Da;o=m;m=$R(f,g,e,0);k=m+j|0;j=Da+l|0;j=k>>>0>>0?j+1|0:j;l=$R(d,e,g,s);m=l+k|0;j=$R(i,c,F,H);c=j+m|0;j=c;k=0;c=o+k|0;j=b+j|0;b=c;F=x-b|0;H=r-((x>>>0>>0)+(b>>>0>>0?j+1|0:j)|0)|0;I=I+ -1|0;c=w-t|0;b=p-((w>>>0>>0)+A|0)|0;break d}p=i>>>1|0;l=0;r=b<<16;k=d<<31;h=(i&1)<<31|h>>>1;i=i>>>1|k;y=0;c=f;m=0;b=$R(h,y,c,m);j=Da;k=j;o=0;j=(b|0)!=0|(j|0)!=0;t=o-j|0;E=r-(o>>>0>>0)|0;A=0-b|0;x=0-((0>>0)+k|0)|0;o=x;r=0;w=$R(h,y,g,r);b=Da;C=b;k=e<<31|d>>>1;p=p|d<<31;M=k|l;k=p;u=$R(k,0,c,m);l=u+w|0;j=Da+b|0;j=l>>>0>>0?j+1|0:j;b=j;j=l;v=j;u=0;j=(j|0)==(o|0)&A>>>0>>0|o>>>0>>0;B=t-j|0;t=E-(t>>>0>>0)|0;E=$R(g,r,k,O);O=Da;j=c;k=m;c=e>>>1|0;o=(e&1)<<31|d>>>1;m=$R(j,k,o,0);j=m+E|0;k=Da+O|0;k=j>>>0>>0?k+1|0:k;s=$R(h,y,F,0);m=s+j|0;j=Da+k|0;k=m;m=k>>>0>>0?j+1|0:j;j=(b|0)==(C|0)&l>>>0>>0|b>>>0>>0;s=b;b=b+k|0;l=j+m|0;m=b;b=m>>>0>>0?l+1|0:l;j=$R(h,i,J,0);k=Da;e=$R(f,g,e>>>1|0,0);d=e+j|0;j=Da+k|0;j=d>>>0>>0?j+1|0:j;e=$R(o,c,g,r);d=e+d|0;j=Da+j|0;e=$R(p,M,F,H);d=e+d|0;j=d;e=0;d=e+m|0;k=b+j|0;F=B-d|0;H=t-((B>>>0>>0)+(d>>>0>>0?k+1|0:k)|0)|0;d=o;e=c;c=A-u|0;b=x-((A>>>0>>0)+v|0)|0}if((I|0)>=16384){D=D|2147418112;b=0;c=0;break b}l=I+16383|0;if((I|0)<=-16383){e:{if(l){break e}l=i;m=b<<1|c>>>31;j=c<<1;g=(g|0)==(m|0)&j>>>0>f>>>0|m>>>0>g>>>0;j=e&65535;f=F;m=H<<1|f>>>31;c=f<<1|b>>>31;e=c;b=(e|0)==(L|0)&(m|0)==(J|0)?g:(J|0)==(m|0)&e>>>0>L>>>0|m>>>0>J>>>0;c=b+h|0;if(c>>>0>>0){l=l+1|0}b=c;e=b;c=l;e=d+((i|0)==(l|0)&e>>>0>>0|l>>>0>>0)|0;if(e>>>0>>0){j=j+1|0}d=j;if(!(j&65536)){break e}K=e|K;D=d|D;break b}b=0;c=0;break b}k=i;e=e&65535;j=b<<1|c>>>31;o=c<<1;g=(g|0)==(j|0)&o>>>0>=f>>>0|j>>>0>g>>>0;f=F;j=H<<1|f>>>31;c=f<<1|b>>>31;b=(c|0)==(L|0)&(j|0)==(J|0)?g:(J|0)==(j|0)&c>>>0>=L>>>0|j>>>0>J>>>0;c=b+h|0;if(c>>>0>>0){k=k+1|0}b=c;c=k;f=d;d=((i|0)==(k|0)&b>>>0>>0|k>>>0>>0)+d|0;k=l<<16|e;K=d|K;D=D|(d>>>0>>0?k+1|0:k)}q[a>>2]=b;q[a+4>>2]=c;q[a+8>>2]=K;q[a+12>>2]=D;Ca=n+192|0;return}q[a>>2]=0;q[a+4>>2]=0;b=(d|f)!=0|(e|g)!=0;q[a+8>>2]=b?K:0;q[a+12>>2]=b?D:2147450880;Ca=n+192|0}function Lo(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;u=q[b+21716>>2];g=q[b+21712>>2];B=q[b+21708>>2];v=q[b+21748>>2];t=Ca-16|0;i=q[b+21720>>2];q[t+8>>2]=i;n=q[b+21724>>2];q[t+12>>2]=n;E=q[b+21736>>2];x=q[b+21732>>2];F=q[b+21728>>2];m=q[b+21740>>2];q[t>>2]=m;D=q[b+21744>>2];q[t+4>>2]=D;if(!(c&2048)){a:{h=c&7;if(!h){break a}d=q[q[a+28220>>2]+56>>2];q[b+21764>>2]=61162;q[b+21768>>2]=65535;q[b+21756>>2]=65535;q[b+21760>>2]=65535;l=d?7:-1;z=l&x;b:{if(z){k=60138;d=65535;break b}q[b+21764>>2]=9962;q[b+21756>>2]=46079;q[b+21760>>2]=13311;k=8938;d=46079}f=b;e=c&128;c:{d:{if((e|0)!=(m&128)){if(e){e=65375;if(!(l&m)){q[b+21768>>2]=24575;d=d&57343;q[b+21756>>2]=d;e=24415}if(l&D){break c}q[b+21768>>2]=e;d=d&65375;break d}if(l&q[q[a+24364>>2]+(i+q[a+27024>>2]<<2)>>2]?l&m:0){break c}q[b+21768>>2]=24415;d=d&57183;break d}if(l&m){break c}q[b+21768>>2]=24415;d=d&57183}q[f+21756>>2]=d}if(!(l&F)){q[b+21756>>2]=d&32767}if(!(l&E)){q[b+21764>>2]=k}if(!(c&1)){break a}e:{if(x&1){q[b+21668>>2]=q[q[b+21704>>2]+q[q[a+26372>>2]+(g<<2)>>2]>>2];break e}q[b+21668>>2]=z?33686018:-1}d=0;while(1){if((d|0)==2){break a}e=d<<2;f=q[e+t>>2];f:{if(f&1){f=d<<4;e=q[b+21704>>2]+q[q[a+26372>>2]+(q[e+(t+8|0)>>2]<<2)>>2]|0;k=d<<1;o[((f|11)+b|0)+21664|0]=r[(e-r[k+v|0]|0)+6|0];e=r[(e-r[(k|1)+v|0]|0)+6|0];f=f+19|0;break f}k=d<<4;e=f&l?2:-1;o[(k+b|0)+21683|0]=e;f=k|11}o[(f+b|0)+21664|0]=e;d=d+1|0;continue}}g:{if(x){d=q[a+25980>>2]+w(g,48)|0;q[b+27828>>2]=q[d+12>>2];if(!q[a+25688>>2]){q[b+27868>>2]=q[d+28>>2];d=q[d+44>>2];break g}q[b+27868>>2]=q[d+20>>2];d=q[d+36>>2];break g}d=h?1077952576:0;q[b+27868>>2]=d;q[b+27828>>2]=d}q[b+27908>>2]=d;d=0;e=((h|0)!=0)<<6;while(1){if((d|0)!=2){f=d<<2;h:{if(q[f+t>>2]){j=b+27824|0;k=d<<4;f=q[a+25980>>2]+w(q[f+(t+8|0)>>2],48)|0;l=(d<<1)+v|0;z=l;o[j+(k|11)|0]=r[f+r[l+8|0]|0];o[(j+k|0)+19|0]=r[f+r[l+9|0]|0];j=q[q[a+28224>>2]+12>>2]+ -2|0;if(j>>>0<=1){if(!(j-1)){j=b+k|0;o[j+27875|0]=r[(f+r[z+8|0]|0)+16|0];o[j+27883|0]=r[(f+r[l+9|0]|0)+16|0];o[j+27915|0]=r[(f+r[z+8|0]|0)+32|0];k=k+99|0;f=r[(f+r[l+9|0]|0)+32|0];break h}j=b+k|0;o[j+27875|0]=r[(f+r[z+8|0]|0)+14|0];o[j+27883|0]=r[(f+r[l+9|0]|0)+14|0];o[j+27915|0]=r[(f+r[z+8|0]|0)+30|0];k=k+99|0;f=r[(f+r[l+9|0]|0)+30|0];break h}k=d<<3;o[(k+b|0)+27875|0]=r[f+r[l+12|0]|0];k=k+91|0;f=r[f+r[l+13|0]|0];break h}l=d<<4;f=l+b|0;o[f+27915|0]=e;o[f+27923|0]=e;o[f+27883|0]=e;o[f+27875|0]=e;o[f+27843|0]=e;k=l|11;f=e}o[(b+k|0)+27824|0]=f;d=d+1|0;continue}break}d=b;if(x){e=s[q[a+26400>>2]+(g<<1)>>1]}else{e=h?1999:15}q[d+21860>>2]=e;d=b;i:{if(m){e=q[a+26400>>2];f=s[e+(i<<1)>>1];e=f>>>(r[v|0]&254)&2|f&2032|s[e+(n<<1)>>1]>>>(r[v+2|0]&254)<<2&8;break i}e=h?1999:15}q[d+21864>>2]=e}j:{if(!(c&256)|!q[b+21844>>2]?!(c&120):0){break j}l=F?-1:-2;k=E?-1:-2;W=x?-1:-16843010;z=D&256?-128:4;J=D&128;K=E&128;L=x&128;M=F&128;X=x&64;Y=x&256;Z=c&2304;N=B<<2;_=c&80;O=n<<2;$=O|1;B=q[a+26376>>2];aa=B+3|0;ba=B<<1;P=u<<2;ca=P|2;G=g<<2;Q=G|3;R=G|2;S=w(B,3);da=q[b+23412>>2];ea=(D&320)!=64;h=0;while(1){if(h>>>0>=da>>>0){break j}n=12288<<(h<<1);k:{if(!(n&c)){break k}g=w(h,160)+b|0;i=w(h,40)+b|0;T=h<<2;d=T+a|0;u=q[d+24352>>2];j=q[d+24384>>2];U=n&x;l:{if(U){d=u+(q[q[a+26368>>2]+G>>2]+S<<2)|0;f=q[d+4>>2];e=g+27968|0;q[e>>2]=q[d>>2];q[e+4>>2]=f;f=q[d+12>>2];e=g+27976|0;q[e>>2]=q[d+8>>2];q[e+4>>2]=f;d=r[j+R|0];o[i+28276|0]=d;o[i+28277|0]=d;d=r[j+Q|0];o[i+28278|0]=d;o[i+28279|0]=d;break l}d=g+27976|0;q[d>>2]=0;q[d+4>>2]=0;d=g+27968|0;q[d>>2]=0;q[d+4>>2]=0;q[i+28276>>2]=W}m:{if(_){y=g+28e3|0;I=i+28284|0;d=0;while(1){if((d|0)==2){break m}e=d<<4;f=e+ -1|0;A=d<<2;C=q[A+t>>2];n:{if(C&n){A=q[A+(t+8|0)>>2]<<2;H=q[A+q[a+26368>>2]>>2]+3|0;C=d<<1;V=C+v|0;q[y+(f<<2)>>2]=q[u+(H+w(B,r[V|0])<<2)>>2];e=e|7;C=(C|1)+v|0;q[y+(e<<2)>>2]=q[u+(w(B,r[C|0])+H<<2)>>2];H=f+I|0;f=A|1;o[H|0]=r[j+(f+(r[V|0]&254)|0)|0];A=r[j+(f+(r[C|0]&254)|0)|0];break n}q[y+(f<<2)>>2]=0;e=e|7;q[y+(e<<2)>>2]=0;A=C?-1:-2;o[e+I|0]=A;e=f}o[e+I|0]=A;d=d+1|0;continue}}e=i+28283|0;m=q[t>>2];o:{if(n&m){d=q[t+8>>2]<<2;q[g+27996>>2]=q[(u+(q[d+q[a+26368>>2]>>2]+w(B,r[v|0])<<2)|0)+12>>2];d=r[j+((r[v|0]&254)+(d|1)|0)|0];break o}q[g+27996>>2]=0;d=m?-1:-2}o[e|0]=d}f=i+28280|0;e=f;p:{if(n&E){q[g+27984>>2]=q[u+(q[q[a+26368>>2]+P>>2]+S<<2)>>2];d=r[j+ca|0];break p}q[g+27984>>2]=0;d=k}o[e|0]=d;y=i+28278|0;if((d|r[y|0])<<24>>24<=-1){e=i+28275|0;q:{if(n&F){d=q[b+21752>>2];q[g+27964>>2]=q[u+((q[q[a+26368>>2]+N>>2]+aa|0)+(d&ba)<<2)>>2];d=r[j+(d&2|N|1)|0];break q}q[g+27964>>2]=0;d=l}o[e|0]=d}r:{if(Z){if(q[a+26384>>2]){break r}break k}e=q[(b+T|0)+32848>>2];o[i+28286|0]=254;o[i+28302|0]=254;q[g+28072>>2]=0;q[g+28008>>2]=0;d=w(h,80)+b|0;m=d+28360|0;if(U){u=e+(q[q[a+26372>>2]+G>>2]<<1)|0;j=q[u>>2];u=q[u+4>>2]}else{j=0;u=0}q[m>>2]=j;q[m+4>>2]=u;u=d+28390|0;m=q[t>>2];s:{if(n&m){j=q[q[a+26372>>2]+(q[t+8>>2]<<2)>>2]+6|0;p[d+28374>>1]=s[e+(j-r[v|0]<<1)>>1];j=s[e+(j-r[v+1|0]<<1)>>1];break s}p[d+28374>>1]=0;j=0}p[u>>1]=j;t:{if(n&D){n=q[q[a+26372>>2]+O>>2]+6|0;p[d+28406>>1]=s[e+(n-r[v+2|0]<<1)>>1];e=s[e+(n-r[v+3|0]<<1)>>1];break t}p[d+28406>>1]=0;e=0}p[d+28412>>1]=0;p[d+28380>>1]=0;p[d+28422>>1]=e;if(q[b+840>>2]==3){n=q[a+26416>>2];q[b+28548>>2]=67372036;q[b+28540>>2]=67372036;q[b+28532>>2]=67372036;q[b+28524>>2]=67372036;u:{if(Y){q[b+28516>>2]=-2139062144;break u}if(X){o[b+28516|0]=r[n+R|0];o[b+28518|0]=r[n+Q|0];break u}q[b+28516>>2]=67372036}d=b;e=128;v:{if(m&256){break v}e=4;if(!(m&64)){break v}e=r[n+((r[v|0]&254)+(q[t+8>>2]<<2|1)|0)|0]}o[d+28523|0]=e;d=z;e=b;if(!ea){d=r[n+((r[v+2|0]&254)+$|0)|0]}o[e+28539|0]=d}if(!q[a+26384>>2]){break k}}if(q[b+21828>>2]){w:{if(M){break w}d=i+28275|0;e=o[d|0];if((e|0)<0){break w}o[d|0]=e<<1;d=g+27966|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28359|0;o[d|0]=r[d|0]>>>1}x:{if(L){break x}d=i+28276|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+27970|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28361|0;o[d|0]=r[d|0]>>>1}d=i+28277|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+27974|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28363|0;o[d|0]=r[d|0]>>>1}d=o[y|0];if((d|0)>=0){o[y|0]=d<<1;d=g+27978|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28365|0;o[d|0]=r[d|0]>>>1}d=i+28279|0;e=o[d|0];if((e|0)<0){break x}o[d|0]=e<<1;d=g+27982|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28367|0;o[d|0]=r[d|0]>>>1}y:{if(K){break y}d=o[f|0];if((d|0)<0){break y}o[f|0]=d<<1;d=g+27986|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28369|0;o[d|0]=r[d|0]>>>1}m=q[t>>2];z:{if(m&128){break z}d=i+28283|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+27998|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28375|0;o[d|0]=r[d|0]>>>1}d=i+28291|0;e=o[d|0];if((e|0)<0){break z}o[d|0]=e<<1;d=g+28030|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28391|0;o[d|0]=r[d|0]>>>1}if(J){break k}d=i+28299|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+28062|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28407|0;o[d|0]=r[d|0]>>>1}d=i+28307|0;e=o[d|0];if((e|0)<0){break k}o[d|0]=e<<1;d=g+28094|0;p[d>>1]=p[d>>1]/2;d=(w(h,80)+b|0)+28423|0;o[d|0]=r[d|0]>>>1;break k}A:{if(!M){break A}d=i+28275|0;e=o[d|0];if((e|0)<0){break A}o[d|0]=(e&254)>>>1;d=g+27966|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28359|0;o[d|0]=r[d|0]<<1}B:{if(!L){break B}d=i+28276|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+27970|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28361|0;o[d|0]=r[d|0]<<1}d=i+28277|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+27974|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28363|0;o[d|0]=r[d|0]<<1}d=o[y|0];if((d|0)>=0){o[y|0]=(d&254)>>>1;d=g+27978|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28365|0;o[d|0]=r[d|0]<<1}d=i+28279|0;e=o[d|0];if((e|0)<0){break B}o[d|0]=(e&254)>>>1;d=g+27982|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28367|0;o[d|0]=r[d|0]<<1}C:{if(!K){break C}d=o[f|0];if((d|0)<0){break C}o[f|0]=(d&254)>>>1;d=g+27986|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28369|0;o[d|0]=r[d|0]<<1}m=q[t>>2];D:{if(!(m&128)){break D}d=i+28283|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+27998|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28375|0;o[d|0]=r[d|0]<<1}d=i+28291|0;e=o[d|0];if((e|0)<0){break D}o[d|0]=(e&254)>>>1;d=g+28030|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28391|0;o[d|0]=r[d|0]<<1}if(!J){break k}d=i+28299|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+28062|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28407|0;o[d|0]=r[d|0]<<1}d=i+28307|0;e=o[d|0];if((e|0)<0){break k}o[d|0]=(e&254)>>>1;d=g+28094|0;p[d>>1]=s[d>>1]<<1;d=(w(h,80)+b|0)+28423|0;o[d|0]=r[d|0]<<1}h=h+1|0;continue}}q[b+21840>>2]=(m>>>24&1)+(x>>>24&1)}function Ln(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=Ca-976|0;Ca=c;q[c+972>>2]=0;a:{if(q[a+28>>2]){break a}f=q[a+12>>2];b:{if(!b){if(f){break b}Ta(a,16,11312,0);break a}if(!(!f|(b|0)==(f|0))){d=q[f>>2];q[c+420>>2]=q[b>>2];q[c+416>>2]=d;Ta(a,16,12494,c+416|0);break a}f=b}if(t[a+72>>2]>268435391){break a}b=nb(152);q[c+968>>2]=b;c:{if(!b){break c}q[a+28>>2]=b;d=b;b=nb(88);q[d+16>>2]=b;d:{if(!b){break d}b=Cd();q[q[c+968>>2]+12>>2]=b;if(!b){break d}b=Cd();q[q[c+968>>2]+100>>2]=b;if(!b){break d}b=Cd();q[q[c+968>>2]+76>>2]=b;if(!b){break d}b=Le();q[q[c+968>>2]+68>>2]=b;if(!b){break d}b=Le();q[q[c+968>>2]+24>>2]=b;if(!b){break d}b=Le();d=q[c+968>>2];q[d+40>>2]=b;if(!b){break d}q[d+108>>2]=1;b=q[f+56>>2];e:{if((b|0)>=1){f:{if(q[a+24>>2]){break f}b=nb(b);q[a+24>>2]=b;if(!b){break c}d=q[f+44>>2];if(!d){break f}q[b>>2]=d;Jj(b)}if(!q[f+44>>2]){break e}if((Dm(q[a+24>>2],c+972|0)|0)>=0){break e}break d}q[a+24>>2]=0}g:{if((Dm(a,c+972|0)|0)<0){break g}h:{b=q[a+844>>2];if(!b){break h}if((Pq(q[f>>2],b)|0)>0){break h}b=q[f>>2];q[c+404>>2]=q[a+844>>2];q[c+400>>2]=b;Ta(a,16,13595,c+400|0);break d}i:{j:{k:{l:{m:{n:{o:{d=q[a+100>>2];if(!d){break o}e=q[a+104>>2];if(!e){break o}if(!(!q[a+92>>2]|!q[a+96>>2])){b=q[a+16>>2];if((b|0)==27|(b|0)==92|(b|0)==189){break l}}b=Ii(a,d,e);break n}b=q[a+92>>2];if(!b){break m}e=q[a+96>>2];if(!e){break m}b=Ii(a,b,e)}e=0;if((b|0)<0){break g}d=q[a+100>>2]}if(!d){break k}}e=q[a+104>>2];break j}d=0;e=q[a+104>>2];if(e){break j}if(q[a+92>>2]){e=0;break j}e=0;if(!q[a+96>>2]){break i}}if((Jf(d,e,q[a+872>>2],q[a+876>>2],a)|0)>=0){if((Jf(q[a+92>>2],q[a+96>>2],q[a+872>>2],q[a+876>>2],a)|0)>-1){break i}}Ta(a,24,15397,0);Ii(a,0,0)}b=q[a+92>>2];p:{if((b|0)<1){break p}d=q[a+96>>2];if((d|0)<1){break p}e=q[a+192>>2];q[c+392>>2]=q[a+188>>2];q[c+396>>2]=e;if((Ck(b,d,c+392|0)|0)>-1){break p}b=q[a+192>>2];q[c+384>>2]=q[a+188>>2];q[c+388>>2]=b;Ta(a,24,16498,c+384|0);q[a+188>>2]=0;q[a+192>>2]=1}if(f?q[f+92>>2]?1:q[f+108>>2]:0){Wa(a+736|0)}b=q[a+348>>2];q:{if(b>>>0>=513){q[c>>2]=b;Ta(a,16,17341,c);break q}b=q[a+344>>2];if((b|0)<=-1){q[c+16>>2]=b;Ta(a,16,18202,c+16|0);break q}b=q[a+364>>2];if((b|0)<=-1){q[c+32>>2]=b;Ta(a,16,19429,c+32|0);break q}q[a+12>>2]=f;d=q[a+8>>2];r:{if(!((d|0)==-1|q[f+8>>2]==(d|0))){e=q[a+16>>2];break r}e=q[a+16>>2];if(e){break r}d=q[f+8>>2];q[a+8>>2]=d;e=q[f+12>>2];q[a+16>>2]=e}if(!((d|0)==4|q[f+8>>2]==(d|0)?q[f+12>>2]==(e|0):0)){e=0;Ta(a,16,20025,0);break d}q[a+360>>2]=0;j=a,k=pj(e),q[j+780>>2]=k;if(!(!(r[q[a+12>>2]+17|0]&2)|q[a+568>>2]<-1)){b=yf(f);d=q[f>>2];q[c+376>>2]=-2;q[c+372>>2]=d;d=b?20654:21202;q[c+368>>2]=d;Ta(a,16,21811,c+368|0);b=q[f+12>>2];e=0;s:{if(yf(f)){b=Vl(b,126);break s}b=sj(b)}if(r[b+17|0]&2){break d}q[c+356>>2]=q[b>>2];q[c+352>>2]=d;Ta(a,16,22510,c+352|0);break d}if(!(q[a+8>>2]!=1|(q[a+80>>2]?q[a+76>>2]:0))){q[a+76>>2]=1;q[a+80>>2]=q[a+344>>2]}e=0;Ta(a,24,23142,0);d=q[a+12>>2];b=0;t:{if(!d){break t}b=q[d+92>>2]?1:q[d+108>>2]}if(b){if((_u(a)|0)<0){break g}}if(!(r[f+17|0]&128)){q[a+688>>2]=1}d=q[a+12>>2];b=r[d+40|0];if(t[a+680>>2]>b>>>0){q[c+336>>2]=b;Ta(a,24,23797,c+336|0);d=q[a+12>>2];q[a+680>>2]=r[d+40|0]}u:{v:{w:{x:{if(!yf(d)){break x}b=Cd();q[a+684>>2]=b;if(!b){break d}if(!(q[a+80>>2]>0?q[a+76>>2]>=1:0)){Ta(a,16,24382,0);break d}y:{e=q[a+12>>2];b=q[e+32>>2];if(!b){break y}d=0;while(1){z:{g=d<<2;h=q[g+b>>2];A:{if((h|0)==-1){break A}i=q[a+352>>2];if((h|0)==(i|0)){break A}if(q[a+348>>2]!=1){break z}h=zm(i);g=zm(q[g+q[q[a+12>>2]+32>>2]>>2]);e=q[a+12>>2];b=q[e+32>>2];if((g|0)!=(h|0)){break z}q[a+352>>2]=q[(d<<2)+b>>2]}if(q[(d<<2)+b>>2]!=-1){break y}q[c+320>>2]=q[a+352>>2];vf(c+448|0,128,25170,c+320|0);b=q[a+352>>2];b=b>>>0>11?0:w(b,20)+90912|0;q[c+304>>2]=b?b:c+448|0;Ta(a,16,25529,c+304|0);break q}d=d+1|0;continue}}g=q[e+24>>2];B:{if(!g){break B}d=0;C:{D:{E:{F:{while(1){b=q[g+(d<<2)>>2];if((b|0)==-1){break F}d=d+1|0;if((b|0)!=q[a+112>>2]){continue}break}d=b+ -12|0;if(d>>>0<=20){break E}break D}b=q[a+16>>2]+ -7|0;if(q[a+568>>2]<0?!(b>>>0>2|!(b-1)):0){break B}q[c+288>>2]=q[a+112>>2];vf(c+448|0,128,25170,c+288|0);b=c;d=q[a+112>>2];if(d>>>0<=195){d=q[w(d,152)+59184>>2]}else{d=0}q[b+272>>2]=d?d:c+448|0;Ta(a,16,26115,c+272|0);break q}if(1<>2]=2}b=q[a+344>>2];g=q[e+28>>2];if(g){d=0;while(1){h=q[g+(d<<2)>>2];if(!h){break w}d=d+1|0;if((b|0)!=(h|0)){continue}break}}if((b|0)<=-1){q[c+128>>2]=b;Ta(a,16,26722,c+128|0);break q}h=q[e+36>>2];G:{if(!h){break G}b=q[a+380>>2];e=b;g=q[a+376>>2];if(b|g){d=0;while(1){i=h+(d<<3)|0;b=q[i+4>>2];i=q[i>>2];if(b|i){d=d+1|0;if((g|0)!=(i|0)|(b|0)!=(e|0)){continue}break G}break}Nk(c+448|0,g,e);q[c+240>>2]=c+448;Ta(a,16,27766,c+240|0);break q}Ta(a,24,27326,0)}b=q[a+348>>2];d=q[a+380>>2];e=d;g=q[a+376>>2];H:{if(!(d|g)){d=b;break H}d=gg(g,e);if(b){if(q[a+348>>2]==(d|0)){break H}Nk(c+448|0,q[a+376>>2],q[a+380>>2]);q[c+232>>2]=q[a+348>>2];q[c+228>>2]=d;q[c+224>>2]=c+448;Ta(a,16,28357,c+224|0);break q}q[a+348>>2]=d}if((d|0)<=-1){q[c+144>>2]=d;Ta(a,16,28819,c+144|0);break q}b=q[a+8>>2];if(!b){b=q[a+112>>2];d=b>>>0>195?0:w(b,152)+59184|0;e=q[a+676>>2];I:{J:{if((e|0)<=-1){b=q[d+32>>2];break J}if((e|0)<9){break I}b=q[d+32>>2];if((b|0)>8){break I}}q[c+212>>2]=b;q[c+208>>2]=e;Ta(a,24,29314,c+208|0);q[a+676>>2]=q[d+32>>2]}if(!(q[a+96>>2]>0?q[a+92>>2]>=1:0)){e=0;Ta(a,16,29869,0);break d}b=q[a+8>>2]}K:{if(b>>>0>1){break K}b=q[a+44>>2];d=b;b=b+ -1|0;e=q[a+40>>2];g=e+ -1|0;if(g>>>0<4294967295){b=b+1|0}if(!b&g>>>0>998|b>>>0>0){break K}q[c+200>>2]=e;q[c+204>>2]=d;q[c+192>>2]=e;q[c+196>>2]=d;Ta(a,24,30257,c+192|0)}if(!q[a+464>>2]){b=q[a+428>>2];j=a,k=aS($R(b,b>>31,3,0),Da,4,0),q[j+464>>2]=k}L:{b=q[a+84>>2];if(!b){break L}d=q[a+76>>2];if(!d|(b|0)<=(2147483647/(d|0)|0)){break L}q[c+184>>2]=q[a+80>>2];q[c+180>>2]=d;q[c+176>>2]=b;Ta(a,16,30733,c+176|0);e=0;break g}b=q[a+860>>2];if(!b){break x}g=q[b+4>>2];if(q[g+36>>2]!=q[a+112>>2]){e=0;Ta(a,16,31248,0);break d}d=q[g+40>>2];e=a;b=q[a+768>>2];if((b|0)!=-1){if((b|0)!=(d|0)){break v}}else{b=d}q[e+768>>2]=b}q[a+784>>2]=0;q[a+788>>2]=0;q[a+808>>2]=0;q[a+812>>2]=-2147483648;q[a+800>>2]=0;q[a+804>>2]=-2147483648;q[a+792>>2]=0;q[a+796>>2]=0;if(!(q[q[a+780>>2]+4>>2]|!(r[a+61|0]&32))){Ta(a,24,32051,0)}if(r[a+67|0]&16){q[a+912>>2]=q[a+912>>2]|1}e=0;M:{d=q[a+12>>2];b=q[d+80>>2];if(!(!b|(q[q[c+968>>2]+52>>2]?0:o[a+696|0]&1))){if((n[b](a)|0)<0){break d}e=1;d=q[a+12>>2]}if(d){b=q[d+92>>2]?1:q[d+108>>2]!=0}else{b=0}N:{if(!b){break N}if(!(q[a+40>>2]|q[a+44>>2])){j=a,k=PB(a),q[j+40>>2]=k;q[a+44>>2]=Da}b=q[a+380>>2];d=b;g=q[a+376>>2];O:{if(b|g){b=gg(g,d);d=q[a+348>>2];if(!d){q[a+348>>2]=b;break O}if((b|0)==(d|0)){break O}Nk(c+448|0,q[a+376>>2],q[a+380>>2]);q[c+120>>2]=q[a+348>>2];q[c+116>>2]=b;q[c+112>>2]=c+448;Ta(a,24,32542,c+112|0);q[a+376>>2]=0;q[a+380>>2]=0}b=q[a+348>>2]}if(q[a+672>>2]<0|b>>>0>512){break d}b=q[a+816>>2];P:{if(!b){break P}if(q[a+8>>2]!=3){Ta(a,16,33099,0);break d}d=q[a+780>>2];if(o[d+18|0]&1){q[c+96>>2]=q[d+8>>2];Ta(a,24,33457,c+96|0);q[a+820>>2]=-1;break P}d=q[a+820>>2];if(d>>>0>1){break P}if(d-1){q[a+820>>2]=1}if((AB(b)|0)==-1){break M}}if(q[a+760>>2]<1|q[a+764>>2]<1){break N}b=q[a+84>>2];q[c+436>>2]=1;q[c+432>>2]=b;b=q[a+764>>2];q[c+72>>2]=q[a+760>>2];q[c+76>>2]=b;b=q[c+436>>2];q[c+64>>2]=q[c+432>>2];q[c+68>>2]=b;Hj(c+440|0,c+72|0,c- -64|0);d=q[c+440>>2];q[a+76>>2]=q[c+444>>2];q[a+80>>2]=d}if(q[f+56>>2]<1){break c}a=q[a+24>>2];if(!a){break c}b=q[f+44>>2];if(!b){break c}if((b|0)!=q[a>>2]){break u}break c}q[c+80>>2]=q[a+816>>2];Ta(a,16,34085,c+80|0);break d}q[c+256>>2]=b;Ta(a,16,26722,c+256|0);break q}b=b>>>0<=195?q[w(b,152)+59184>>2]:0;d=c;e=q[g+40>>2];if(e>>>0<=195){e=q[w(e,152)+59184>>2]}else{e=0}q[d+164>>2]=e;q[c+160>>2]=b;Ta(a,16,31699,c+160|0);break q}q[c+56>>2]=1036;q[c+52>>2]=10219;q[c+48>>2]=34535;Ta(0,0,6634,c+48|0);I();F()}e=0}}b=q[a+12>>2];Q:{if(!b){break Q}d=q[b+96>>2];if(!d|(r[b+116|0]&2?0:!e)){break Q}n[d](a)|0}if(!(!q[f+44>>2]|!q[f+56>>2])){lf(q[a+24>>2])}lf(a);wb(a+684|0);je(c+972|0);Wa(a+24|0);Wa(a+736|0);b=q[c+968>>2];if(b){wb(b+12|0);wb(q[c+968>>2]+100|0);wb(q[c+968>>2]+76|0);mc(q[c+968>>2]+68|0);mc(q[c+968>>2]+40|0);mc(q[c+968>>2]+24|0);oj(a);Wa(q[c+968>>2]+16|0)}Wa(c+968|0);q[a+12>>2]=0;q[a+28>>2]=0}}Ca=c+976|0}function Pv(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,z=0,A=x(0),B=x(0);i=Ca-880|0;Ca=i;a:{b:{c:{d:{j=b;d=q[b>>2];f=105104;e:{if((d|0)==16e3){break e}f:{g:{if((d|0)==192e3){break g}if((d|0)==24e3){break f}h:{if((d|0)!=32e3){if((d|0)==44100|(d|0)==48e3|(d|0)==64e3){break h}if((d|0)==88200|(d|0)==96e3|((d|0)==128e3|(d|0)==176400)){break g}if((d|0)!=22050){break d}f=105120;break e}f=105152;break e}f=105168;break e}f=105184;break e}f=105136}e=d>>>1|0;g=(d|0)<32e3?3e3:(d|0)<64e3?4e3:5e3;h=o[f+r[c|0]|0]+((e+(g<<7)>>>0)/(d>>>0)|0)|0;q[j+52>>2]=h;e=(e+(g<<8)>>>0)/(d>>>0)|0;i:{j:{g=r[c+1|0];if(g>>>0<=13){q[b+60>>2]=e;xj(i+848|0,e,64,13);q[i+340>>2]=i+872;q[i+336>>2]=i+848;k=1;k:while(1){if(k){k=k+ -1|0;e=(i+336|0)+(k<<3)|0;f=q[e+4>>2];h=q[e>>2];while(1){if(h>>>0>=f>>>0){continue k}n=f+ -2|0;if(h>>>0>>0){j=(f-h>>2<<1)+h|0;l:{m:{if((p[h>>1]-p[f>>1]|0)>=1){d=(p[f>>1]-p[j>>1]|0)>0?j:f;break m}d=j;e=1;if((p[h>>1]-p[d>>1]|0)<1){break l}}e=s[d>>1];p[d>>1]=s[h>>1];p[h>>1]=e;e=0}g=f+ -4|0;if((p[j>>1]-p[f>>1]|0)>=1){e=s[f>>1];p[f>>1]=s[j>>1];p[j>>1]=e;e=0}d=h+2|0;if((g|0)==(h|0)){continue k}l=s[j>>1];p[j>>1]=s[n>>1];p[n>>1]=l;n:while(1){if(d>>>0<=g>>>0){while(1){if(!(d>>>0>g>>>0|(p[d>>1]-p[n>>1]|0)>=0)){d=d+2|0;continue}break}while(1){if(d>>>0>g>>>0){continue n}if((p[g>>1]-p[n>>1]|0)>=1){g=g+ -2|0;continue}break}l=s[g>>1];p[g>>1]=s[d>>1];p[d>>1]=l;g=g+ -2|0;d=d+2|0;continue}break}l=s[d>>1];p[d>>1]=s[n>>1];p[n>>1]=l;o:{if(!e){break o}e=h;if((j|0)!=(d+ -2|0)?(d|0)!=(j|0):0){break o}while(1){j=e;if(e>>>0>>0){e=j+2|0;if((p[j>>1]-p[e>>1]|0)<1){continue}}break}if((f|0)==(j|0)){continue k}}p:{if((f-d|0)<(d-h|0)){e=(i+336|0)+(k<<3)|0;q[e+4>>2]=g;q[e>>2]=h;h=d+2|0;break p}e=(i+336|0)+(k<<3)|0;q[e+4>>2]=f;q[e>>2]=d+2;f=g}k=k+1|0;continue}break}if((p[h>>1]-p[f>>1]|0)<1){continue}e=s[f>>1];p[f>>1]=s[h>>1];p[h>>1]=e;continue}break}e=r[c+1|0];d=0;while(1){if((d|0)==(e|0)){break j}q[b+60>>2]=q[b+60>>2]+p[(i+848|0)+(d<<1)>>1];d=d+1|0;continue}}e=g+ -14|0;if(e>>>0<=1){if(e-1){g=h<<1;q[b+60>>2]=g;break i}g=w(h,3);q[b+60>>2]=g;break i}a=q[a+4>>2];q[i+96>>2]=g;Ta(a,16,23380,i+96|0);break c}d=q[b>>2];g=q[b+60>>2]}f=g>>>0<64?g:64;q[b+60>>2]=f;g=48;q:{if((d|0)<32001){break q}g=35;if((d|0)==44100){break q}g=32;if((d|0)<=47999){break a}}d=q[b+52>>2];h=f-d|0;if(h>>>0>g>>>0){a=q[a+4>>2];q[i+16>>2]=h;Ta(a,16,24613,i+16|0);break c}e=r[c+3|0];r:{if(!e){f=r[c+4|0]+1|0;c=h+(f&2)>>>f<<1;q[b+92>>2]=c;e=-1;if(vj(q[a+4>>2],c,r[b+22|0])){break b}c=q[b+92>>2];g=c+1|0;d=1;while(1){if((d|0)!=(g|0)){p[((d<<1)+b|0)+310128>>1]=f;d=d+1|0;continue}break}a=q[b+52>>2];e=(q[b+60>>2]-a|0)-w(c,f)|0;s:{if((e|0)<=-1){c=b+310130|0;p[c>>1]=s[c>>1]+ -1;c=b+310132|0;p[c>>1]=s[c>>1]-((e|0)!=-1);break s}if(!e){break s}c=((c<<1)+b|0)+310128|0;p[c>>1]=s[c>>1]+1}p[b+310128>>1]=a;d=1;while(1){if((d|0)==(g|0)){break r}c=((d<<1)+b|0)+310128|0;a=s[c>>1]+a|0;p[c>>1]=a;d=d+1|0;continue}}t=w(f,49);m=w(d,110);g=t>>>0>m>>>0?d<<1:f;q[b+56>>2]=g;B=x(7-e|0);A=cS(x(Kj(x(x(g>>>0)/x(d>>>0)))*B));t:{if(x(y(A))>2];q[i+32>>2]=v;Ta(a,16,25310,i+32|0);break c}p[i+224>>1]=0;e=i+224|2;xj(e,d,g,v);q[i+340>>2]=(e+(v<<1)|0)+ -2;q[i+336>>2]=e;k=1;u:while(1){if(k){k=k+ -1|0;e=(i+336|0)+(k<<3)|0;f=q[e+4>>2];h=q[e>>2];while(1){if(h>>>0>=f>>>0){continue u}u=f+ -2|0;if(h>>>0>>0){l=(f-h>>2<<1)+h|0;v:{w:{if((p[h>>1]-p[f>>1]|0)>=1){d=(p[f>>1]-p[l>>1]|0)>0?l:f;break w}d=l;e=1;if((p[h>>1]-p[d>>1]|0)<1){break v}}e=s[d>>1];p[d>>1]=s[h>>1];p[h>>1]=e;e=0}g=f+ -4|0;if((p[l>>1]-p[f>>1]|0)>=1){e=s[f>>1];p[f>>1]=s[l>>1];p[l>>1]=e;e=0}d=h+2|0;if((g|0)==(h|0)){continue u}n=s[l>>1];p[l>>1]=s[u>>1];p[u>>1]=n;x:while(1){if(d>>>0<=g>>>0){while(1){if(!(d>>>0>g>>>0|(p[d>>1]-p[u>>1]|0)>=0)){d=d+2|0;continue}break}while(1){if(d>>>0>g>>>0){continue x}if((p[g>>1]-p[u>>1]|0)>=1){g=g+ -2|0;continue}break}n=s[g>>1];p[g>>1]=s[d>>1];p[d>>1]=n;g=g+ -2|0;d=d+2|0;continue}break}n=s[d>>1];p[d>>1]=s[u>>1];p[u>>1]=n;y:{if(!e){break y}e=h;if((l|0)!=(d+ -2|0)?(d|0)!=(l|0):0){break y}while(1){l=e;if(e>>>0>>0){e=l+2|0;if((p[l>>1]-p[e>>1]|0)<1){continue}}break}if((f|0)==(l|0)){continue u}}z:{if((f-d|0)<(d-h|0)){e=(i+336|0)+(k<<3)|0;q[e+4>>2]=g;q[e>>2]=h;h=d+2|0;break z}e=(i+336|0)+(k<<3)|0;q[e+4>>2]=f;q[e>>2]=d+2;f=g}k=k+1|0;continue}break}if((p[h>>1]-p[f>>1]|0)<1){continue}e=s[f>>1];p[f>>1]=s[h>>1];p[h>>1]=e;continue}break}u=p[(i+224|0)+(v<<1)>>1];g=q[b+52>>2];p[i+224>>1]=g;n=v|1;h=(n|0)>1?n:1;d=1;while(1){if((d|0)!=(h|0)){e=(i+224|0)+(d<<1)|0;f=p[e>>1];if((f|0)<=0){a=q[a+4>>2];q[i+68>>2]=f;q[i+64>>2]=d;Ta(a,16,25791,i- -64|0);break c}else{g=f+g|0;p[e>>1]=g;d=d+1|0;continue}}break}if(t>>>0>m>>>0){z=i+112|2;h=z;f=q[b+56>>2];j=f;g=q[b+60>>2];e=g;A=cS(x(x((r[c+4|0]?x(.7692307829856873):x(1))*B)*Kj(x(x(g>>>0)/x(f>>>0)))));A:{if(x(y(A))>2]=z;q[i+340>>2]=(z+(t<<1)|0)+ -2;k=1;B:while(1){if(k){k=k+ -1|0;e=(i+336|0)+(k<<3)|0;f=q[e+4>>2];h=q[e>>2];while(1){if(h>>>0>=f>>>0){continue B}m=f+ -2|0;if(h>>>0>>0){j=(f-h>>2<<1)+h|0;C:{D:{if((p[h>>1]-p[f>>1]|0)>=1){d=(p[f>>1]-p[j>>1]|0)>0?j:f;break D}d=j;e=1;if((p[h>>1]-p[d>>1]|0)<1){break C}}e=s[d>>1];p[d>>1]=s[h>>1];p[h>>1]=e;e=0}g=f+ -4|0;if((p[j>>1]-p[f>>1]|0)>=1){e=s[f>>1];p[f>>1]=s[j>>1];p[j>>1]=e;e=0}d=h+2|0;if((g|0)==(h|0)){continue B}l=s[j>>1];p[j>>1]=s[m>>1];p[m>>1]=l;E:while(1){if(d>>>0<=g>>>0){while(1){if(!(d>>>0>g>>>0|(p[d>>1]-p[m>>1]|0)>=0)){d=d+2|0;continue}break}while(1){if(d>>>0>g>>>0){continue E}if((p[g>>1]-p[m>>1]|0)>=1){g=g+ -2|0;continue}break}l=s[g>>1];p[g>>1]=s[d>>1];p[d>>1]=l;g=g+ -2|0;d=d+2|0;continue}break}l=s[d>>1];p[d>>1]=s[m>>1];p[m>>1]=l;F:{if(!e){break F}e=h;if((j|0)!=(d+ -2|0)?(d|0)!=(j|0):0){break F}while(1){j=e;if(e>>>0>>0){e=j+2|0;if((p[j>>1]-p[e>>1]|0)<1){continue}}break}if((f|0)==(j|0)){continue B}}G:{if((f-d|0)<(d-h|0)){e=(i+336|0)+(k<<3)|0;q[e+4>>2]=g;q[e>>2]=h;h=d+2|0;break G}e=(i+336|0)+(k<<3)|0;q[e+4>>2]=f;q[e>>2]=d+2;f=g}k=k+1|0;continue}break}if((p[h>>1]-p[f>>1]|0)<1){continue}e=s[f>>1];p[f>>1]=s[h>>1];p[h>>1]=e;continue}break}h=(i+112|0)+(t<<1)|0;g=p[h>>1];e=p[i+114>>1];f=g-e>>1;j=e;e=u-e|0;e=(e|0)>(f|0)?f:e;p[i+114>>1]=j+e;p[h>>1]=g-e}q[i+336>>2]=z;q[i+340>>2]=(z+(t<<1)|0)+ -2;k=1;H:while(1){if(k){k=k+ -1|0;e=(i+336|0)+(k<<3)|0;f=q[e+4>>2];h=q[e>>2];while(1){if(h>>>0>=f>>>0){continue H}m=f+ -2|0;if(h>>>0>>0){j=(f-h>>2<<1)+h|0;I:{J:{if((p[h>>1]-p[f>>1]|0)>=1){d=(p[f>>1]-p[j>>1]|0)>0?j:f;break J}d=j;e=1;if((p[h>>1]-p[d>>1]|0)<1){break I}}e=s[d>>1];p[d>>1]=s[h>>1];p[h>>1]=e;e=0}g=f+ -4|0;if((p[j>>1]-p[f>>1]|0)>=1){e=s[f>>1];p[f>>1]=s[j>>1];p[j>>1]=e;e=0}d=h+2|0;if((g|0)==(h|0)){continue H}l=s[j>>1];p[j>>1]=s[m>>1];p[m>>1]=l;K:while(1){if(d>>>0<=g>>>0){while(1){if(!(d>>>0>g>>>0|(p[d>>1]-p[m>>1]|0)>=0)){d=d+2|0;continue}break}while(1){if(d>>>0>g>>>0){continue K}if((p[g>>1]-p[m>>1]|0)>=1){g=g+ -2|0;continue}break}l=s[g>>1];p[g>>1]=s[d>>1];p[d>>1]=l;g=g+ -2|0;d=d+2|0;continue}break}l=s[d>>1];p[d>>1]=s[m>>1];p[m>>1]=l;L:{if(!e){break L}e=h;if((j|0)!=(d+ -2|0)?(d|0)!=(j|0):0){break L}while(1){j=e;if(e>>>0>>0){e=j+2|0;if((p[j>>1]-p[e>>1]|0)<1){continue}}break}if((f|0)==(j|0)){continue H}}M:{if((f-d|0)<(d-h|0)){e=(i+336|0)+(k<<3)|0;q[e+4>>2]=g;q[e>>2]=h;h=d+2|0;break M}e=(i+336|0)+(k<<3)|0;q[e+4>>2]=f;q[e>>2]=d+2;f=g}k=k+1|0;continue}break}if((p[h>>1]-p[f>>1]|0)<1){continue}e=s[f>>1];p[f>>1]=s[h>>1];p[h>>1]=e;continue}break}g=q[b+56>>2];p[i+112>>1]=g;e=t|1;h=(e|0)>1?e:1;d=1;while(1){if((d|0)!=(h|0)){e=(i+112|0)+(d<<1)|0;f=p[e>>1];if((f|0)<=0){a=q[a+4>>2];q[i+52>>2]=f;q[i+48>>2]=d;Ta(a,16,26462,i+48|0);break c}else{g=f+g|0;p[e>>1]=g;d=d+1|0;continue}}break}e=t+v|0;q[b+92>>2]=e;if(vj(q[a+4>>2],e,r[b+22|0])){break c}a=n<<1;Va(Va(b+310128|0,i+224|0,a)+a|0,z,c<<2);break r}q[b+92>>2]=v;if(vj(q[a+4>>2],v,r[b+22|0])){break c}Va(b+310128|0,i+224|0,j<<2|2)}e=0;break b}a=q[a+4>>2];q[i>>2]=d;Ta(a,16,22767,i)}e=-1}Ca=i+880|0;return e}q[i+88>>2]=338;q[i+84>>2]=20855;q[i+80>>2]=24024;Ta(0,0,19708,i+80|0);I();F()}function iB(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,u=0,v=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=Ca-8960|0;Ca=h;B=d+e|0;G=0-B|0;a:{b:{while(1){if((c|0)!=48){c:{if((c|0)!=46){break a}c=q[b+4>>2];if(c>>>0>=t[b+104>>2]){break c}q[b+4>>2]=c+1;c=r[c|0];break b}}else{c=q[b+4>>2];if(c>>>0>2]){o=1;q[b+4>>2]=c+1;c=r[c|0]}else{o=1;c=qb(b)}continue}break}c=qb(b)}k=1;if((c|0)!=48){break a}while(1){i=i+ -1|0;c=j+ -1|0;if(c>>>0<4294967295){i=i+1|0}j=c;c=q[b+4>>2];d:{if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break d}c=qb(b)}if((c|0)==48){continue}break}o=1}q[h+768>>2]=0;H=a;I=a;e:{f:{m=(c|0)==46;u=c+ -48|0;g:{h:{i:{if(m|u>>>0<=9){while(1){j:{if(m&1){if(!k){j=p;i=l;k=1;break j}o=(o|0)!=0;break i}m=l;l=p+1|0;if(l>>>0<1){m=m+1|0}p=l;l=m;if((n|0)<=2044){A=(c|0)!=48?p:A;m=(h+768|0)+(n<<2)|0;o=m;if(s){u=(w(q[m>>2],10)+c|0)+ -48|0}q[o>>2]=u;o=1;m=s+1|0;c=(m|0)==9;s=c?0:m;n=c+n|0;break j}if((c|0)==48){break j}q[h+8944>>2]=q[h+8944>>2]|1}c=q[b+4>>2];k:{if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break k}c=qb(b)}m=(c|0)==46;u=c+ -48|0;if(m|u>>>0<10){continue}break}}j=k?j:p;i=k?i:l;if(!(!o|(c|32)!=101)){c=on(b,g);m=Da;k=m;l:{if(c|(k|0)!=-2147483648){break l}if(!g){break g}c=0;k=0;if(!q[b+104>>2]){break l}q[b+4>>2]=q[b+4>>2]+ -1}i=i+k|0;b=c+j|0;if(b>>>0>>0){i=i+1|0}j=b;break f}o=(o|0)!=0;if((c|0)<0){break h}}if(!q[b+104>>2]){break h}q[b+4>>2]=q[b+4>>2]+ -1}if(o){break f}q[865816]=28}Nc(b,0,0);j=0;i=0;c=0;b=0;break e}b=q[h+768>>2];if(!b){ld(h,+(f|0)*0);j=q[h+8>>2];i=q[h+12>>2];c=q[h+4>>2];b=q[h>>2];break e}if(!((j|0)!=(p|0)|(i|0)!=(l|0)|((l|0)>0?1:(l|0)>=0?p>>>0<=9?0:1:0)|(b>>>d|0?(d|0)<=30:0))){xc(h+48|0,f);Se(h+32|0,b);tb(h+16|0,q[h+48>>2],q[h+52>>2],q[h+56>>2],q[h+60>>2],q[h+32>>2],q[h+36>>2],q[h+40>>2],q[h+44>>2]);j=q[h+24>>2];i=q[h+28>>2];c=q[h+20>>2];b=q[h+16>>2];break e}b=(e|0)/-2|0;c=j>>>0<=b>>>0?0:1;b=b>>31;if((i|0)>(b|0)?1:(i|0)>=(b|0)?c:0){q[865816]=68;xc(h+96|0,f);tb(h+80|0,q[h+96>>2],q[h+100>>2],q[h+104>>2],q[h+108>>2],-1,-1,-1,2147418111);tb(h- -64|0,q[h+80>>2],q[h+84>>2],q[h+88>>2],q[h+92>>2],-1,-1,-1,2147418111);j=q[h+72>>2];i=q[h+76>>2];c=q[h+68>>2];b=q[h+64>>2];break e}b=e+ -226|0;c=j>>>0>=b>>>0?0:1;b=b>>31;if((i|0)<(b|0)?1:(i|0)<=(b|0)?c:0){q[865816]=68;xc(h+144|0,f);tb(h+128|0,q[h+144>>2],q[h+148>>2],q[h+152>>2],q[h+156>>2],0,0,0,65536);tb(h+112|0,q[h+128>>2],q[h+132>>2],q[h+136>>2],q[h+140>>2],0,0,0,65536);j=q[h+120>>2];i=q[h+124>>2];c=q[h+116>>2];b=q[h+112>>2];break e}if(s){if((s|0)<=8){c=(h+768|0)+(n<<2)|0;b=q[c>>2];while(1){b=w(b,10);s=s+1|0;if((s|0)!=9){continue}break}q[c>>2]=b}n=n+1|0}m:{k=j;if((A|0)>8|(A|0)>(k|0)|(k|0)>17){break m}if((k|0)==9){xc(h+192|0,f);Se(h+176|0,q[h+768>>2]);tb(h+160|0,q[h+192>>2],q[h+196>>2],q[h+200>>2],q[h+204>>2],q[h+176>>2],q[h+180>>2],q[h+184>>2],q[h+188>>2]);j=q[h+168>>2];i=q[h+172>>2];c=q[h+164>>2];b=q[h+160>>2];break e}if((k|0)<=8){xc(h+272|0,f);Se(h+256|0,q[h+768>>2]);tb(h+240|0,q[h+272>>2],q[h+276>>2],q[h+280>>2],q[h+284>>2],q[h+256>>2],q[h+260>>2],q[h+264>>2],q[h+268>>2]);xc(h+224|0,q[(0-k<<2)+200560>>2]);gn(h+208|0,q[h+240>>2],q[h+244>>2],q[h+248>>2],q[h+252>>2],q[h+224>>2],q[h+228>>2],q[h+232>>2],q[h+236>>2]);j=q[h+216>>2];i=q[h+220>>2];c=q[h+212>>2];b=q[h+208>>2];break e}b=(w(k,-3)+d|0)+27|0;c=q[h+768>>2];if(c>>>b|0?(b|0)<=30:0){break m}xc(h+352|0,f);Se(h+336|0,c);tb(h+320|0,q[h+352>>2],q[h+356>>2],q[h+360>>2],q[h+364>>2],q[h+336>>2],q[h+340>>2],q[h+344>>2],q[h+348>>2]);xc(h+304|0,q[(k<<2)+200488>>2]);tb(h+288|0,q[h+320>>2],q[h+324>>2],q[h+328>>2],q[h+332>>2],q[h+304>>2],q[h+308>>2],q[h+312>>2],q[h+316>>2]);j=q[h+296>>2];i=q[h+300>>2];c=q[h+292>>2];b=q[h+288>>2];break e}s=0;b=(k|0)%9|0;n:{if(!b){c=0;break n}g=(k|0)>-1?b:b+9|0;o:{if(!n){c=0;n=0;break o}i=q[(0-g<<2)+200560>>2];m=1e9/(i|0)|0;o=0;b=0;c=0;while(1){j=o;l=(h+768|0)+(b<<2)|0;p=q[l>>2];o=(p>>>0)/(i>>>0)|0;j=j+o|0;q[l>>2]=j;j=!j&(b|0)==(c|0);c=j?c+1&2047:c;k=j?k+ -9|0:k;o=w(m,p-w(i,o)|0);b=b+1|0;if((n|0)!=(b|0)){continue}break}if(!o){break o}q[(h+768|0)+(n<<2)>>2]=o;n=n+1|0}k=(k-g|0)+9|0}while(1){p=(h+768|0)+(c<<2)|0;p:{while(1){if((k|0)!=36|t[p>>2]>=10384593?(k|0)>=36:0){break p}u=n+2047|0;o=0;m=n;while(1){n=m;l=u&2047;u=(h+768|0)+(l<<2)|0;b=q[u>>2];i=b>>>3|0;g=b<<29;b=g+o|0;m=b>>>0>>0?i+1|0:i;j=b;i=m;g=0;q:{if(!i&b>>>0<1000000001|i>>>0<0){break q}g=bS(b,i,1e9,0);j=j-$R(g,Da,1e9,0)|0}o=g;q[u>>2]=j;m=(l|0)!=(n+ -1&2047)?n:(c|0)==(l|0)?n:j?n:l;u=l+ -1|0;if((c|0)!=(l|0)){continue}break}s=s+ -29|0;if(!o){continue}break}c=c+ -1&2047;if((m|0)==(c|0)){b=(h+768|0)+((m+2046&2047)<<2)|0;n=m+ -1&2047;q[b>>2]=q[b>>2]|q[(h+768|0)+(n<<2)>>2]}k=k+9|0;q[(h+768|0)+(c<<2)>>2]=o;continue}break}r:{s:while(1){g=n+1&2047;j=(h+768|0)+((n+ -1&2047)<<2)|0;while(1){i=(k|0)>45?9:1;t:{while(1){m=c;b=0;u:{while(1){v:{c=b+m&2047;if((c|0)==(n|0)){break v}c=q[(h+768|0)+(c<<2)>>2];l=q[(b<<2)+200512>>2];if(c>>>0>>0){break v}if(c>>>0>l>>>0){break u}b=b+1|0;if((b|0)!=4){continue}}break}if((k|0)!=36){break u}j=0;i=0;b=0;p=0;l=0;while(1){c=b+m&2047;if((c|0)==(n|0)){n=n+1&2047;q[((n<<2)+h|0)+764>>2]=0}tb(h+752|0,j,i,p,l,0,0,1342177280,1075633366);Se(h+736|0,q[(h+768|0)+(c<<2)>>2]);qc(h+720|0,q[h+752>>2],q[h+756>>2],q[h+760>>2],q[h+764>>2],q[h+736>>2],q[h+740>>2],q[h+744>>2],q[h+748>>2]);p=q[h+728>>2];l=q[h+732>>2];j=q[h+720>>2];i=q[h+724>>2];b=b+1|0;if((b|0)!=4){continue}break}xc(h+704|0,f);tb(h+688|0,j,i,p,l,q[h+704>>2],q[h+708>>2],q[h+712>>2],q[h+716>>2]);p=q[h+696>>2];l=q[h+700>>2];j=0;i=0;c=q[h+688>>2];k=q[h+692>>2];o=s+113|0;e=o-e|0;g=(e|0)<(d|0);d=g?(e|0)>0?e:0:d;if((d|0)<=112){break t}break r}s=i+s|0;c=n;if((m|0)==(c|0)){continue}break}l=1e9>>>i|0;p=-1<>2];b=(u>>>i|0)+b|0;q[o>>2]=b;b=!b&(c|0)==(m|0);c=b?c+1&2047:c;k=b?k+ -9|0:k;b=w(l,p&u);m=m+1&2047;if((m|0)!=(n|0)){continue}break}if(!b){continue}if((c|0)!=(g|0)){q[(h+768|0)+(n<<2)>>2]=b;n=g;continue s}q[j>>2]=q[j>>2]|1;c=g;continue}break}break}ld(h+640|0,kd(1,225-d|0));rn(h+672|0,q[h+640>>2],q[h+644>>2],q[h+648>>2],q[h+652>>2],c,k,p,l);C=q[h+680>>2];D=q[h+684>>2];E=q[h+672>>2];F=q[h+676>>2];ld(h+624|0,kd(1,113-d|0));Im(h+656|0,c,k,p,l,q[h+624>>2],q[h+628>>2],q[h+632>>2],q[h+636>>2]);j=q[h+656>>2];i=q[h+660>>2];v=q[h+664>>2];x=q[h+668>>2];Vj(h+608|0,c,k,p,l,j,i,v,x);qc(h+592|0,E,F,C,D,q[h+608>>2],q[h+612>>2],q[h+616>>2],q[h+620>>2]);p=q[h+600>>2];l=q[h+604>>2];c=q[h+592>>2];k=q[h+596>>2]}b=m+4&2047;w:{if((b|0)==(n|0)){break w}b=q[(h+768|0)+(b<<2)>>2];x:{if(b>>>0<=499999999){if((m+5&2047)==(n|0)?!b:0){break x}ld(h+480|0,+(f|0)*.25);qc(h+464|0,j,i,v,x,q[h+480>>2],q[h+484>>2],q[h+488>>2],q[h+492>>2]);v=q[h+472>>2];x=q[h+476>>2];j=q[h+464>>2];i=q[h+468>>2];break x}if((b|0)!=5e8){ld(h+576|0,+(f|0)*.75);qc(h+560|0,j,i,v,x,q[h+576>>2],q[h+580>>2],q[h+584>>2],q[h+588>>2]);v=q[h+568>>2];x=q[h+572>>2];j=q[h+560>>2];i=q[h+564>>2];break x}z=+(f|0);if((m+5&2047)==(n|0)){ld(h+512|0,z*.5);qc(h+496|0,j,i,v,x,q[h+512>>2],q[h+516>>2],q[h+520>>2],q[h+524>>2]);v=q[h+504>>2];x=q[h+508>>2];j=q[h+496>>2];i=q[h+500>>2];break x}ld(h+544|0,z*.75);qc(h+528|0,j,i,v,x,q[h+544>>2],q[h+548>>2],q[h+552>>2],q[h+556>>2]);v=q[h+536>>2];x=q[h+540>>2];j=q[h+528>>2];i=q[h+532>>2]}if((d|0)>111){break w}Im(h+448|0,j,i,v,x,0,0,0,1073676288);if(re(q[h+448>>2],q[h+452>>2],q[h+456>>2],q[h+460>>2],0,0,0,0)){break w}qc(h+432|0,j,i,v,x,0,0,0,1073676288);v=q[h+440>>2];x=q[h+444>>2];j=q[h+432>>2];i=q[h+436>>2]}qc(h+416|0,c,k,p,l,j,i,v,x);Vj(h+400|0,q[h+416>>2],q[h+420>>2],q[h+424>>2],q[h+428>>2],E,F,C,D);p=q[h+408>>2];l=q[h+412>>2];c=q[h+400>>2];k=q[h+404>>2];y:{if((o&2147483647)<=(-2-B|0)){break y}tb(h+384|0,c,k,p,l,0,0,0,1073610752);f=re(j,i,v,x,0,0,0,0);z=y(Di(c,k,p,l));b=z>=1.0384593717069655e+34;p=b?q[h+392>>2]:p;l=b?q[h+396>>2]:l;c=b?q[h+384>>2]:c;k=b?q[h+388>>2]:k;s=b+s|0;if((s+110|0)<=(G|0)?!(g&(b^1|(d|0)!=(e|0))&(f|0)!=0):0){break y}q[865816]=68}qn(h+368|0,c,k,p,l,s);j=q[h+376>>2];i=q[h+380>>2];c=q[h+372>>2];b=q[h+368>>2]}q[I>>2]=b;q[H+4>>2]=c;q[a+8>>2]=j;q[a+12>>2]=i;Ca=h+8960|0}function zu(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0;k=Ca-48|0;Ca=k;a:{if(q[q[a>>2]+680>>2]|(!q[q[a>>2]+572>>2]|!q[a+572>>2])){break a}b=a;d=q[q[b>>2]+592>>2];b:{if(!((q[d+32>>2]?d:0)|!q[b+672>>2])){d=!q[b+700>>2];break b}d=0}if(!d){break a}e=q[b+556>>2];d=q[b>>2];if(q[b+572>>2]==(w(w(e,q[d+272>>2]+q[d+268>>2]|0),3)|0)){break a}f=q[a+560>>2];g=q[a+568>>2];a=(e|0)>0?e:0;v=b+672|0;l=q[b+672>>2];while(1){c:{if((a|0)!=(c|0)){if(r[q[b+580>>2]+(w(q[b+564>>2],q[b+560>>2]+ -1|0)+c|0)|0]==127){break c}a=c}d:{if(!(q[d+96>>2]+15&16)|((a|0)!=(e|0)|q[d+16>>2]!=2)){break d}d=q[b>>2];if(q[b+572>>2]!=(w(w(q[b+556>>2],(q[d+268>>2]+q[d+272>>2]|0)+1|0),3)|0)){break d}Ta(d,48,6186,0);break a}a=q[b+704>>2];e:{if(!a){break e}c=q[v>>2];if(q[a+80>>2]==q[c+80>>2]?!(q[a+68>>2]!=q[c+68>>2]|q[a+72>>2]!=q[c+72>>2]):0){break e}Ta(d,24,7751,0);q[b+728>>2]=0;q[b+732>>2]=0;q[b+720>>2]=0;q[b+724>>2]=0;q[b+712>>2]=0;q[b+716>>2]=0;q[b+704>>2]=0;q[b+708>>2]=0}a=q[b+736>>2];f:{if(!a){break f}c=q[v>>2];if(q[a+80>>2]==q[c+80>>2]?!(q[a+68>>2]!=q[c+68>>2]|q[a+72>>2]!=q[c+72>>2]):0){break f}Ta(q[b>>2],24,9763,0);q[b+760>>2]=0;q[b+764>>2]=0;q[b+752>>2]=0;q[b+756>>2]=0;q[b+744>>2]=0;q[b+748>>2]=0;q[b+736>>2]=0;q[b+740>>2]=0}g:{if(q[b+688>>2]?q[b+680>>2]:0){break g}e=0;Ta(q[b>>2],16,10949,0);f=(w(f,g)<<3)+16|0;while(1){if((e|0)==2){break g}a=(e<<2)+b|0;g=a;L=a,M=xe(w(q[b+564>>2],q[b+560>>2])<<2),q[L+768>>2]=M;d=xe(f);q[a+776>>2]=d;c=0;h:{if(!d){break h}g=q[g+768>>2];if(!g){break h}q[a+688>>2]=q[g+4>>2];q[a+680>>2]=q[d+4>>2]+16;e=e+1|0;continue}break}while(1){if((c|0)==2){break a}a=(c<<2)+b|0;lb(a+768|0);lb(a+776|0);q[a+680>>2]=0;q[a+688>>2]=0;c=c+1|0;continue}}i:{if(!(r[q[b>>2]+577|0]&4)){break i}d=0;while(1){c=0;if((d|0)>=q[b+560>>2]){break i}while(1){if((c|0)>2]){a=q[b>>2];q[k+32>>2]=r[q[b+580>>2]+(w(q[b+564>>2],d)+c|0)|0];Ta(a,48,12127,k+32|0);c=c+1|0;continue}break}Ta(q[b>>2],48,13295,0);d=d+1|0;continue}}a=1;while(1){if((a|0)!=4){e=1<>2];d=0;while(1){if((c|0)>=1){i=d;c=c+ -1|0;g=q[b+580>>2]+q[q[b+548>>2]+(c<<2)>>2]|0;d=r[g|0];j=d&f?1:i;if(!j){o[g|0]=d|e}d=d&1?0:j;continue}break}a=a+1|0;continue}break}j:{if(!q[b+792>>2]){break j}e=q[b+552>>2];d=0;while(1){if((e|0)<1){break j}e=e+ -1|0;c=q[b+580>>2]+q[q[b+548>>2]+(e<<2)>>2]|0;a=r[c|0];d=a&98?1:a&16?0:d;if(!d){o[c|0]=a|2}d=a&1?0:d;continue}}k:{if(!(r[q[b>>2]+580|0]&8)){break k}c=q[b+552>>2]+ -2|0;e=1;while(1){if((c|0)<(q[b+556>>2]+100|0)){break k}f=q[b+580>>2];d=q[b+548>>2]+(c<<2)|0;g=f+q[d>>2]|0;a=r[g|0];e=a&1?1:e;l:{if(!(a&112?!((a|0)==127|r[f+q[d+4>>2]|0]!=127):0)){if(e){break l}}o[g|0]=a|14;e=0}c=c+ -1|0;continue}}a=0;e=9999999;f=1;while(1)if((f|0)==4){c=0;while(1){e=q[b+552>>2];if((c|0)<(e|0)){f=q[b+580>>2]+q[q[b+548>>2]+(c<<2)>>2]|0;e=r[f|0];d=e&14;if(e&1){a=d}else{o[f|0]=a|e;a=a|d}c=c+1|0;continue}break}m:{if(q[b+792>>2]){break m}c=0;while(1){if((c|0)>=(e|0)){break m}d=q[b+580>>2]+q[q[b+548>>2]+(c<<2)>>2]|0;a=r[d|0];o[d|0]=a&14?a|14:a;c=c+1|0;e=q[b+552>>2];continue}}d=0;e=(e|0)>0?e:0;c=0;while(1){if((c|0)!=(e|0)){a=r[q[b+580>>2]+q[q[b+548>>2]+(c<<2)>>2]|0];h=(a>>>3&1)+h|0;d=(a>>>1&1)+d|0;m=(a>>>2&1)+m|0;c=c+1|0;continue}break}a=q[b>>2];L=k,M=Dj(q[q[b+672>>2]+88>>2]),q[L+28>>2]=M;q[k+24>>2]=h;q[k+20>>2]=d;q[k+16>>2]=m;Ta(a,32,15051,k+16|0);a=q[b+672>>2];q[a+348>>2]=q[a+348>>2]|4;a=yu(b)?1:12296;c=0;while(1){e=q[b+552>>2];if((c|0)<(e|0)){h=q[q[b+548>>2]+(c<<2)>>2];if((r[h+q[b+580>>2]|0]&12)==12){q[q[b+696>>2]+(h<<2)>>2]=a}c=c+1|0;continue}break}n:{a=q[b+704>>2];if(q[a>>2]?a:0){break n}a=q[b+736>>2];if(q[a>>2]?a:0){break n}c=0;while(1){if((c|0)>=(e|0)){break n}a=q[b+696>>2]+(q[q[b+548>>2]+(c<<2)>>2]<<2)|0;if(!(r[a|0]&7)){q[a>>2]=1;e=q[b+552>>2]}c=c+1|0;continue}}m=b+608|0;f=0;while(1){g=q[b+560>>2];if((f|0)<(g|0)){e=f<<1;a=0;while(1){if((a|0)>2]){h=2;g=w(q[b+564>>2],f)+a|0;d=q[q[b+696>>2]+(g<<2)>>2];j=q[b+704>>2];c=1;o:{if(!j){break o}c=q[j>>2];h=c?1:2;c=!c}g=r[g+q[b+580>>2]|0];if(!(!(g&2)|(g&8|d&7))){p:{if(d&64){d=q[b+568>>2];g=w(d,f)+a<<1;j=q[((c<<2)+b|0)+680>>2];c=0;while(1)if((c|0)==4){c=1;break p}else{i=(c<<3)+b|0;t=j+(w(d,c>>>1|0)+(g|c&1)<<2)|0;q[i+608>>2]=p[t>>1];q[i+612>>2]=p[t+2>>1];c=c+1|0;continue}}c=q[((c<<2)+b|0)+680>>2]+(w(e,q[b+568>>2])+(a<<1)<<2)|0;q[b+608>>2]=p[c>>1];q[b+612>>2]=p[c+2>>1];c=0}n[q[b+800>>2]](q[b+804>>2],0,h,c,m,a,f,0,0)}a=a+1|0;continue}break}f=f+1|0;continue}break}q:{r:{if(q[q[v>>2]+88>>2]==3){d=0;while(1){if((d|0)>=(g|0)){break r}j=d<<1;c=0;while(1){if((c|0)>2]){a=w(q[b+564>>2],d)+c|0;if(!(r[q[b+696>>2]+(a<<2)|0]&7|(r[a+q[b+580>>2]|0]&10)!=10)){f=q[b+568>>2];a=q[b+704>>2];s:{if(a){h=3;if(q[a>>2]){break s}}h=2}a=q[b+736>>2];if(!(q[a>>2]?a:0)){h=h&1}a=b;e=s[b+784>>1];t:{if(e){if(q[q[b>>2]+16>>2]==27){break q}g=q[b+744>>2]+(w(f,j)+(c<<1)<<2)|0;i=p[g>>1];f=s[b+786>>1];q[b+608>>2]=(w(i,f)|0)/(e|0);g=p[g+2>>1];t=i;i=f-e|0;q[b+640>>2]=(w(t,i)|0)/(e|0);q[b+612>>2]=(w(f,g)|0)/(e|0);e=(w(g,i)|0)/(e|0)|0;break t}q[b+640>>2]=0;q[b+608>>2]=0;q[b+612>>2]=0;e=0}q[a+644>>2]=e;n[q[b+800>>2]](q[b+804>>2],0,h,0,m,c,d,0,0)}c=c+1|0;continue}break}d=d+1|0;g=q[b+560>>2];continue}}xu(b);g=q[b+560>>2]}x=(g|0)>0?g:0;while(1){if((u|0)!=(x|0)){a=0;c=q[b+556>>2];C=(c|0)>0?c:0;j=u<<3;D=u<<4;while(1){if((a|0)!=(C|0)){A=w(q[b+564>>2],u)+a|0;u:{if(q[b+792>>2]?r[q[b+696>>2]+(A<<2)|0]&7:0){break u}c=q[b+672>>2];d=q[l+32>>2];z=(q[c>>2]+(a<<4)|0)+w(d,D)|0;i=q[l+40>>2];t=q[l+36>>2];y=q[b+568>>2];E=q[b+588>>2]+(w(y,u)+a<<2)|0;h=q[c+8>>2];G=q[c+4>>2];f=0;while(1){if((f|0)!=4){B=f>>>1|0;H=B<<3;J=f<<3&8;e=0;m=0;while(1){if((m|0)!=8){K=w(d,m+H|0)+J|0;c=0;while(1){if((c|0)!=8){e=r[z+(c+K|0)|0]+e|0;c=c+1|0;continue}break}m=m+1|0;continue}break}p[(w(y,B)+(f&1)<<1)+E>>1]=e+4>>>3;f=f+1|0;continue}break}if(!h){break u}c=a<<3;f=(c+h|0)+w(j,i)|0;m=(c+G|0)+w(j,t)|0;e=0;d=0;h=0;while(1){if((h|0)!=8){z=w(h,i);y=w(h,t);c=0;while(1){if((c|0)!=8){d=r[f+(c+z|0)|0]+d|0;e=r[m+(c+y|0)|0]+e|0;c=c+1|0;continue}break}h=h+1|0;continue}break}c=A<<1;p[c+q[b+592>>2]>>1]=e+4>>>3;p[c+q[b+596>>2]>>1]=d+4>>>3}a=a+1|0;continue}break}u=u+1|0;continue}break}nj(b,q[b+588>>2],q[b+556>>2]<<1,g<<1,q[b+568>>2],1);nj(b,q[b+592>>2],q[b+556>>2],q[b+560>>2],q[b+564>>2],0);nj(b,q[b+596>>2],q[b+556>>2],q[b+560>>2],q[b+564>>2],0);wu(q[b+588>>2],q[b+556>>2]<<1,q[b+560>>2]<<1,q[b+568>>2]);d=0;while(1){a=q[b+560>>2];if((d|0)<(a|0)){h=d<<3;f=d<<4;c=0;while(1){if((c|0)>2]){a=w(q[b+564>>2],d)+c|0;if(!(r[q[b+696>>2]+(a<<2)|0]&120|!(r[a+q[b+580>>2]|0]&2))){e=q[b+672>>2];a=q[e+8>>2];g=(q[e>>2]+(c<<4)|0)+w(f,q[l+32>>2])|0;i=q[e+4>>2];e=c<<3;vu(b,g,a?(i+e|0)+w(h,q[l+36>>2])|0:0,a?(a+e|0)+w(h,q[l+40>>2])|0:0,c,d)}c=c+1|0;continue}break}d=d+1|0;continue}break}v:{if(!(r[q[b>>2]+572|0]&2)){break v}mj(b,q[q[b+672>>2]>>2],q[b+556>>2]<<1,a<<1,q[l+32>>2],1);lj(b,q[q[b+672>>2]>>2],q[b+556>>2]<<1,q[b+560>>2]<<1,q[l+32>>2],1);a=q[b+672>>2];if(!q[a+8>>2]){break v}mj(b,q[a+4>>2],q[b+556>>2],q[b+560>>2],q[l+36>>2],0);mj(b,q[q[b+672>>2]+8>>2],q[b+556>>2],q[b+560>>2],q[l+40>>2],0);lj(b,q[q[b+672>>2]+4>>2],q[b+556>>2],q[b+560>>2],q[l+36>>2],0);lj(b,q[q[b+672>>2]+8>>2],q[b+556>>2],q[b+560>>2],q[l+40>>2],0)}c=0;e=0;while(1){w:{if((e|0)>=q[b+552>>2]){while(1){if((c|0)==2){break w}a=(c<<2)+b|0;lb(a+768|0);lb(a+776|0);q[a+680>>2]=0;q[a+688>>2]=0;c=c+1|0;continue}}h=q[b+600>>2];a=q[q[b+548>>2]+(e<<2)>>2];if(!(!h|!(r[a+q[b+580>>2]|0]&14)|q[q[b+672>>2]+88>>2]==3)){o[a+h|0]=0}h=q[b+604>>2];if(h){o[a+h|0]=1}e=e+1|0;continue}break}Za(v,0,96);break a}q[k+8>>2]=1214;q[k+4>>2]=17904;q[k>>2]=17035;Ta(0,0,16110,k);I();F()}else{g=1<>2];while(1){if((d|0)>=1){d=d+ -1|0;t=q[q[b+548>>2]+(d<<2)>>2];j=t+q[b+580>>2]|0;c=r[j|0];x=q[b+600>>2];if(!(r[t+x|0]?x:0)){e=e+1|0}e=c&g?0:e;x:{if(q[b+792>>2]){if((e|0)>=q[i>>2]){break x}o[j|0]=c|g;break x}if((e|0)>49){break x}o[j|0]=c|g}e=c&1?9999999:e;continue}break}f=f+1|0;continue}}c=c+1|0;continue}}Ca=k+48|0}function yc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0;n=Ca-96|0;Ca=n;a:{if((h|0)<=8){if((h|0)==4){k=q[c+8>>2];i=q[c>>2]+(k>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);j=q[829669]+((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(k&7)>>>22&1020)|0;i=p[j+2>>1]+k|0;j=p[j>>1];k=c+8|0;break a}k=q[c+8>>2];i=q[c>>2]+(k>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);j=q[837865]+((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(k&7)>>>17&32764)|0;i=p[j+2>>1]+k|0;j=p[j>>1];k=c+8|0;break a}if((e|0)>=48){l=q[(q[(Go(b,(e<<4)+ -768|0)<<2)+167600>>2]<<4)+3357028>>2];m=q[c>>2];i=q[c+8>>2];k=m+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=l+((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>22&1020)|0;j=p[k>>1];k=p[k+2>>1];if((k|0)<=-1){t=j;i=i+8|0;j=m+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=l+(t+((j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7)>>>k+32|0)<<2)|0;k=p[j+2>>1];j=p[j>>1]}i=i+k|0;k=c+8|0;break a}l=q[(q[(Go(b,e)<<2)+167600>>2]<<4)+3357028>>2];m=q[c>>2];i=q[c+8>>2];k=m+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=l+((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>22&1020)|0;j=p[k>>1];k=p[k+2>>1];if((k|0)<=-1){t=j;i=i+8|0;j=m+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=l+(t+((j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7)>>>k+32|0)<<2)|0;k=p[j+2>>1];j=p[j>>1]}i=i+k|0;k=c+8|0}q[k>>2]=i;s=j>>2;o[(r[e+154080|0]+b|0)+27824|0]=s;i=0;b:{if(!s){break b}c:{if(s>>>0>h>>>0){a=q[a+4>>2];c=q[b+21792>>2];b=q[b+21788>>2];q[n+8>>2]=s;q[n>>2]=b;q[n+4>>2]=c;Ta(a,16,22918,n);break c}i=_c(c,3);l=j&3;q[c+8>>2]=l+q[c+8>>2];q[n+36>>2]=1-(i&2);q[n+40>>2]=1-(i<<1&2);q[n+32>>2]=1-(i>>>1&2);d:{if((l|0)>=(s|0)){break d}k=(l|0)!=3&(j|0)>43;j=(k<<9)+(_c(c,8)<<1)|0;i=o[j+3389952|0];q[c+8>>2]=o[j+3389953|0]+q[c+8>>2];e:{if((i|0)>=100){j=i+ -100|0;if((j|0)==8){j=Fo(c)+8|0}f:{if((j|0)<=13){if(!k){break f}j=Tb(c)+(j<<1)|0;break f}if((j|0)==14){if(k){j=Tb(c)+28|0;break f}j=Zc(c,4)+14|0;break f}g:{if((j|0)<16){i=12;k=30;break g}if((j|0)>=29){Ta(q[a+4>>2],16,23577,0);break c}i=j+ -3|0;k=(1<>1)|0;i=2;break e}j=i+((l|0)!=3?i>>31|1:0)|0;i=j+3>>>0>6?2:1}q[(n+32|l<<2)>>2]=j;while(1){l=l+1|0;if((l|0)>=(s|0)){break d}k=(i<<9)+(_c(c,8)<<1)|0;j=o[k+3389952|0];q[c+8>>2]=o[k+3389953|0]+q[c+8>>2];if((j|0)>=100){j=j+ -100|0;if((j|0)==8){j=Fo(c)+8|0}h:{if((j|0)<=14){k=i;m=j<=29){Ta(q[a+4>>2],16,23577,0);i=-1094995529;break b}k=j+ -3|0;m=(t+(1<>1)|0}q[(n+32|0)+(l<<2)>>2]=j;k=i;i=q[(i<<2)+167680>>2];i=k+(i+j>>>0>i<<1>>>0)|0;continue}}j=0;if((h|0)!=(s|0)){i:{if((h|0)<=8){if((h|0)==4){m=c+8|0;i=q[c+8>>2];h=q[c>>2]+(i>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);j=q[(s<<4)+3357188>>2]+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(i&7)>>>27&28)|0;h=j+2|0;break i}m=c+8|0;i=q[c+8>>2];h=q[c>>2]+(i>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);j=q[(s<<4)+3358148>>2]+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(i&7)>>>25&124)|0;h=j+2|0;break i}m=c+8|0;i=q[c+8>>2];h=q[c>>2]+(i>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);j=q[(s<<4)+3388996>>2]+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(i&7)>>>21&2044)|0;h=j+2|0}j=p[j>>1];q[m>>2]=p[h>>1]+i}i=((j+s|0)+f|0)+ -1|0;f=q[n+32>>2];j:{if(q[a+25672>>2]){if((e|0)>=48){q[(r[i|0]<<2)+d>>2]=f;f=q[847485];l=1;while(1)if((j|0)>0?(l|0)<(s|0):0){k:{if((j|0)<=6){g=q[c+8>>2];e=q[c>>2]+(g>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=q[(j<<4)+3389444>>2]+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(g&7)>>>27&28)|0;m=p[e+2>>1]+g|0;g=p[e>>1];break k}h=q[c>>2];m=q[c+8>>2];e=h+(m>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(m&7)>>>24&252)|0;g=p[e>>1];k=p[e+2>>1];if((k|0)<=-1){m=m+6|0;e=h+(m>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+(((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(m&7)>>>k+32|0)+g<<2)|0;k=p[e+2>>1];g=p[e>>1]}m=k+m|0}q[c+8>>2]=m;i=(g^-1)+i|0;q[(r[i|0]<<2)+d>>2]=q[(n+32|0)+(l<<2)>>2];l=l+1|0;j=j-g|0;continue}else{c=(l|0)>(s|0)?l:s;while(1){if((c|0)==(l|0)){break j}i=i+ -1|0;q[(r[i|0]<<2)+d>>2]=q[(n+32|0)+(l<<2)>>2];l=l+1|0;continue}}}e=r[i|0]<<2;q[e+d>>2]=w(f,q[e+g>>2])+32>>6;f=q[847485];l=1;while(1)if((j|0)>0?(l|0)<(s|0):0){l:{if((j|0)<=6){h=q[c+8>>2];e=q[c>>2]+(h>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=q[(j<<4)+3389444>>2]+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(h&7)>>>27&28)|0;k=p[e+2>>1]+h|0;m=p[e>>1];break l}t=q[c>>2];k=q[c+8>>2];e=t+(k>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(k&7)>>>24&252)|0;m=p[e>>1];h=p[e+2>>1];if((h|0)<=-1){k=k+6|0;e=t+(k>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+(((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(k&7)>>>h+32|0)+m<<2)|0;h=p[e+2>>1];m=p[e>>1]}k=h+k|0}q[c+8>>2]=k;i=(m^-1)+i|0;e=r[i|0]<<2;q[e+d>>2]=w(q[e+g>>2],q[(n+32|0)+(l<<2)>>2])+32>>6;l=l+1|0;j=j-m|0;continue}else{c=(l|0)>(s|0)?l:s;while(1){if((c|0)==(l|0)){break j}i=i+ -1|0;e=r[i|0]<<2;q[e+d>>2]=w(q[e+g>>2],q[(n+32|0)+(l<<2)>>2])+32>>6;l=l+1|0;continue}}}if((e|0)>=48){p[(r[i|0]<<1)+d>>1]=f;f=q[847485];l=1;while(1)if((j|0)>0?(l|0)<(s|0):0){m:{if((j|0)<=6){g=q[c+8>>2];e=q[c>>2]+(g>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=q[(j<<4)+3389444>>2]+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(g&7)>>>27&28)|0;m=p[e+2>>1]+g|0;g=p[e>>1];break m}h=q[c>>2];m=q[c+8>>2];e=h+(m>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(m&7)>>>24&252)|0;g=p[e>>1];k=p[e+2>>1];if((k|0)<=-1){m=m+6|0;e=h+(m>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+(((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(m&7)>>>k+32|0)+g<<2)|0;k=p[e+2>>1];g=p[e>>1]}m=k+m|0}q[c+8>>2]=m;i=(g^-1)+i|0;p[(r[i|0]<<1)+d>>1]=q[(n+32|0)+(l<<2)>>2];l=l+1|0;j=j-g|0;continue}else{c=(l|0)>(s|0)?l:s;while(1){if((c|0)==(l|0)){break j}i=i+ -1|0;p[(r[i|0]<<1)+d>>1]=q[(n+32|0)+(l<<2)>>2];l=l+1|0;continue}}}e=r[i|0];p[(e<<1)+d>>1]=w(f,q[(e<<2)+g>>2])+32>>>6;f=q[847485];l=1;while(1)if((j|0)>0?(l|0)<(s|0):0){n:{if((j|0)<=6){h=q[c+8>>2];e=q[c>>2]+(h>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=q[(j<<4)+3389444>>2]+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(h&7)>>>27&28)|0;k=p[e+2>>1]+h|0;m=p[e>>1];break n}t=q[c>>2];k=q[c+8>>2];e=t+(k>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(k&7)>>>24&252)|0;m=p[e>>1];h=p[e+2>>1];if((h|0)<=-1){k=k+6|0;e=t+(k>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=f+(((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(k&7)>>>h+32|0)+m<<2)|0;h=p[e+2>>1];m=p[e>>1]}k=h+k|0}q[c+8>>2]=k;i=(m^-1)+i|0;e=r[i|0];p[(e<<1)+d>>1]=w(q[(e<<2)+g>>2],q[(n+32|0)+(l<<2)>>2])+32>>>6;l=l+1|0;j=j-m|0;continue}else{c=(l|0)>(s|0)?l:s;while(1){if((c|0)==(l|0)){break j}i=i+ -1|0;e=r[i|0];p[(e<<1)+d>>1]=w(q[(e<<2)+g>>2],q[(n+32|0)+(l<<2)>>2])+32>>>6;l=l+1|0;continue}}}i=0;if((j|0)>-1){break b}a=q[a+4>>2];c=q[b+21792>>2];q[n+16>>2]=q[b+21788>>2];q[n+20>>2]=c;Ta(a,16,24200,n+16|0)}i=-1}Ca=n+96|0;return i}function fd(a,b,c,d,e,f,g,h,i,j,k,l,m,s,t,u,v){var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;a:{b:{B=q[b+880>>2];c:{if(!(!v|!u|(B|0)!=2)){x=r[c+154208|0]+b|0;y=(w(o[x+28272|0],384)+b|0)+(o[x+28312|0]<<3)|0;x=q[b+21792>>2];if(q[(y+((x&1)<<2)|0)+3216>>2]!=32){break c}break b}x=q[b+21792>>2];if((B|0)!=1){break b}}m=q[b+21780>>2];B=q[a+25672>>2];z=(w(m,k)<<1)+(j<<1<>2]<<3)+j|0;C=q[b+21828>>2];k=(x>>C<<3)+k|0;x=q[s>>2];if(!(!u|!v)){j=q[t>>2];E=k<<3;y=r[c+154208|0];c=(y<<2)+b|0;v=E+p[c+27954>>1]|0;G=z<<3;A=G+p[c+27952>>1]|0;F=v<<2&12|A&3;k=v>>2;t=A>>2;D=w(k,m)+(t<>2]|0;z=q[a+27020>>2]<<4;c=q[b+27788>>2];C=q[a+27016>>2]<<4>>C;H=q[b+21784>>2];s=o[s+28312|0];A=A&7?-3:0;d:{e:{if((t|0)<(0-A|0)){break e}v=v&7?-3:0;if((k|0)<(0-v|0)|(t+16|0)>(z+A|0)){break e}A=0;if((k+16|0)<=(v+C|0)){break d}}v=2<>2]](q[b+27792>>2],(x-v|0)-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);m=q[b+21780>>2];x=(v+q[b+27792>>2]|0)+(m<<1)|0;A=1}v=(F<<2)+l|0;n[q[v>>2]](g,x,m);if(!d){n[q[v>>2]](f+g|0,f+x|0,q[b+21780>>2])}m=D+q[(w(u,40)+b|0)+23420>>2]|0;f:{if(!A){x=q[b+21780>>2];break f}x=2<>2];n[q[a+8>>2]](q[b+27792>>2],F-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);m=x+q[b+27792>>2]|0;x=q[b+21780>>2];m=m+(x<<1)|0}n[q[v>>2]](h,m,x);if(!d){n[q[v>>2]](f+h|0,f+m|0,q[b+21780>>2])}m=D+q[(w(u,40)+b|0)+23424>>2]|0;g:{if(!A){k=q[b+21780>>2];break g}x=2<>2];n[q[a+8>>2]](q[b+27792>>2],A-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);k=q[b+21780>>2];m=(x+q[b+27792>>2]|0)+(k<<1)|0}n[q[v>>2]](i,m,k);if(!d){n[q[v>>2]](f+i|0,f+m|0,q[b+21780>>2])}v=c+(H<<4)|0;k=(y<<2)+b|0;y=E+p[k+28114>>1]|0;A=G+p[k+28112>>1]|0;E=y<<2&12|A&3;m=q[b+21780>>2];k=y>>2;t=A>>2;D=w(m,k)+(t<>2]|0;z=q[a+27020>>2]<<4;C=q[a+27016>>2]<<4>>q[b+21828>>2];A=A&7?-3:0;h:{i:{if((t|0)<(0-A|0)){break i}y=y&7?-3:0;if((k|0)<(0-y|0)|(t+16|0)>(z+A|0)){break i}A=0;if((k+16|0)<=(y+C|0)){break h}}y=x;x=2<>2]](q[b+27792>>2],(y-x|0)-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);m=q[b+21780>>2];x=(x+q[b+27792>>2]|0)+(m<<1)|0;A=1}y=A;l=(E<<2)+l|0;n[q[l>>2]](v,x,m);if(!d){n[q[l>>2]](f+v|0,f+x|0,q[b+21780>>2])}m=D+q[(w(s,40)+b|0)+25340>>2]|0;j:{if(!y){x=q[b+21780>>2];break j}x=2<>2];n[q[a+8>>2]](q[b+27792>>2],A-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);m=x+q[b+27792>>2]|0;x=q[b+21780>>2];m=m+(x<<1)|0}n[q[l>>2]](c,m,x);if(!d){n[q[l>>2]](c+f|0,f+m|0,q[b+21780>>2])}x=c+(16<>2]|0;k:{if(!y){a=q[b+21780>>2];break k}B=2<>2];n[q[a+8>>2]](q[b+27792>>2],y-(m<<1)|0,m,m,21,21,t+ -2|0,k+ -2|0,z,C);a=q[b+21780>>2];m=(B+q[b+27792>>2]|0)+(a<<1)|0}n[q[l>>2]](x,m,a);if(!d){n[q[l>>2]](f+x|0,f+m|0,q[b+21780>>2])}if(q[b+880>>2]==2){a=q[(((w(u,384)+b|0)+(s<<3)|0)+((q[b+21792>>2]&1)<<2)|0)+3216>>2];d=64-a|0;n[j](g,v,q[b+21780>>2],e,5,a,d,0);n[j](h,c,q[b+21784>>2],e,5,a,d,0);n[j](i,x,q[b+21784>>2],e,5,a,d,0);return}a=b+912|0;d=a+(u<<4)|0;a=a+(s<<4)|0;n[j](g,v,q[b+21780>>2],e,q[b+888>>2],q[d>>2],q[a+8>>2],q[a+12>>2]+q[d+4>>2]|0);d=c;c=b+1680|0;a=c+(u<<5)|0;c=c+(s<<5)|0;n[j](h,d,q[b+21784>>2],e,q[b+892>>2],q[a>>2],q[c+16>>2],q[c+20>>2]+q[a+4>>2]|0);n[j](i,x,q[b+21784>>2],e,q[b+892>>2],q[a+8>>2],q[c+24>>2],q[c+28>>2]+q[a+12>>2]|0);return}j=(v|0)!=0;c=r[c+154208|0];s=(w(j,160)+b|0)+(c<<2)|0;y=p[s+27954>>1]+(k<<3)|0;z=p[s+27952>>1]+(z<<3)|0;D=y<<2&12|z&3;k=y>>2;s=z>>2;A=w(k,m)+(s<>2]|0;u=q[a+27020>>2]<<4;v=q[a+27016>>2]<<4>>C;z=z&7?-3:0;l:{m:{if((s|0)<(0-z|0)){break m}C=y&7?-3:0;if((k|0)<(0-C|0)|(s+16|0)>(u+z|0)){break m}z=0;if((k+16|0)<=(v+C|0)){break l}}y=c;c=2<>2]](q[b+27792>>2],(y-c|0)-(m<<1)|0,m,m,21,21,s+ -2|0,k+ -2|0,u,v);m=q[b+21780>>2];c=(c+q[b+27792>>2]|0)+(m<<1)|0;z=1}l=(D<<2)+l|0;n[q[l>>2]](g,c,m);if(!d){n[q[l>>2]](f+g|0,c+f|0,q[b+21780>>2])}m=A+q[((w(j,1920)+b|0)+w(t,40)|0)+23420>>2]|0;n:{if(!z){c=q[b+21780>>2];break n}y=m;m=2<>2];n[q[a+8>>2]](q[b+27792>>2],(y-m|0)-(c<<1)|0,c,c,21,21,s+ -2|0,k+ -2|0,u,v);c=q[b+21780>>2];m=(m+q[b+27792>>2]|0)+(c<<1)|0}n[q[l>>2]](h,m,c);if(!d){n[q[l>>2]](f+h|0,f+m|0,q[b+21780>>2])}m=A+q[((w(j,1920)+b|0)+w(t,40)|0)+23424>>2]|0;o:{if(!z){a=q[b+21780>>2];break o}y=m;m=2<>2];n[q[a+8>>2]](q[b+27792>>2],(y-m|0)-(c<<1)|0,c,c,21,21,s+ -2|0,k+ -2|0,u,v);a=q[b+21780>>2];m=(m+q[b+27792>>2]|0)+(a<<1)|0}n[q[l>>2]](i,m,a);if(!d){n[q[l>>2]](f+i|0,f+m|0,q[b+21780>>2])}a=((t<<4)+b|0)+(j<<3)|0;n[x](g,q[b+21780>>2],e,q[b+888>>2],q[a+912>>2],q[a+916>>2]);if(!q[b+884>>2]){break a}a=((t<<5)+b|0)+(j<<4)|0;n[x](h,q[b+21784>>2],e,q[b+892>>2],q[a+1680>>2],q[a+1684>>2]);n[x](i,q[b+21784>>2],e,q[b+892>>2],q[a+1688>>2],q[a+1692>>2]);return}e=q[b+21780>>2];s=q[a+25672>>2];z=(w(k,e)<<1)+(j<<1<>2]<<3)+j|0;g=k;k=q[b+21828>>2];x=g+(x>>k<<3)|0;p:{if(!u){m=l;break p}j=r[c+154208|0];g=(j<<2)+b|0;i=p[g+27954>>1]+(x<<3)|0;y=p[g+27952>>1]+(C<<3)|0;E=i<<2&12|y&3;g=i>>2;h=y>>2;A=w(g,e)+(h<>2]|0;j=q[a+27020>>2]<<4;k=q[a+27016>>2]<<4>>k;y=y&7?-3:0;q:{r:{if((h|0)<(0-y|0)){break r}i=i&7?-3:0;if((g|0)<(0-i|0)|(h+16|0)>(j+y|0)){break r}y=0;if((g+16|0)<=(i+k|0)){break q}}i=2<>2]](q[b+27792>>2],(u-i|0)-(e<<1)|0,e,e,21,21,h+ -2|0,g+ -2|0,j,k);e=q[b+21780>>2];u=(i+q[b+27792>>2]|0)+(e<<1)|0;y=1}i=(E<<2)+l|0;n[q[i>>2]](z,u,e);if(!d){n[q[i>>2]](f+z|0,f+u|0,q[b+21780>>2])}e=A+q[(w(D,40)+b|0)+23420>>2]|0;s:{if(!y){u=q[b+21780>>2];break s}l=2<>2];n[q[a+8>>2]](q[b+27792>>2],u-(e<<1)|0,e,e,21,21,h+ -2|0,g+ -2|0,j,k);u=q[b+21780>>2];e=(l+q[b+27792>>2]|0)+(u<<1)|0}n[q[i>>2]](B,e,u);if(!d){n[q[i>>2]](f+B|0,e+f|0,q[b+21780>>2])}e=A+q[(w(D,40)+b|0)+23424>>2]|0;t:{if(!y){j=q[b+21780>>2];break t}l=2<>2];n[q[a+8>>2]](q[b+27792>>2],u-(e<<1)|0,e,e,21,21,h+ -2|0,g+ -2|0,j,k);j=q[b+21780>>2];e=(l+q[b+27792>>2]|0)+(j<<1)|0}n[q[i>>2]](t,e,j);if(d){break p}n[q[i>>2]](f+t|0,e+f|0,q[b+21780>>2])}if(!v){break a}h=r[c+154208|0];c=(h<<2)+b|0;g=p[c+28114>>1]+(x<<3)|0;j=p[c+28112>>1]+(C<<3)|0;x=g<<2&12|j&3;v=q[b+21780>>2];c=g>>2;e=j>>2;l=w(v,c)+(e<>2]|0;h=q[a+27020>>2]<<4;i=q[a+27016>>2]<<4>>q[b+21828>>2];j=j&7?-3:0;u:{v:{if((e|0)<(0-j|0)){break v}g=g&7?-3:0;if((c|0)<(0-g|0)|(e+16|0)>(h+j|0)){break v}j=0;if((c+16|0)<=(g+i|0)){break u}}g=2<>2]](q[b+27792>>2],(k-g|0)-(v<<1)|0,v,v,21,21,e+ -2|0,c+ -2|0,h,i);v=q[b+21780>>2];k=(g+q[b+27792>>2]|0)+(v<<1)|0;j=1}g=(x<<2)+m|0;n[q[g>>2]](z,k,v);if(!d){n[q[g>>2]](f+z|0,f+k|0,q[b+21780>>2])}v=l+q[(w(u,40)+b|0)+25340>>2]|0;w:{if(!j){k=q[b+21780>>2];break w}m=2<>2];n[q[a+8>>2]](q[b+27792>>2],(v-m|0)-(k<<1)|0,k,k,21,21,e+ -2|0,c+ -2|0,h,i);k=q[b+21780>>2];v=(m+q[b+27792>>2]|0)+(k<<1)|0}n[q[g>>2]](B,v,k);if(!d){n[q[g>>2]](f+B|0,f+v|0,q[b+21780>>2])}v=l+q[(w(u,40)+b|0)+25344>>2]|0;x:{if(!j){a=q[b+21780>>2];break x}k=2<>2];n[q[a+8>>2]](q[b+27792>>2],(v-k|0)-(j<<1)|0,j,j,21,21,e+ -2|0,c+ -2|0,h,i);a=q[b+21780>>2];v=(k+q[b+27792>>2]|0)+(a<<1)|0}n[q[g>>2]](t,v,a);if(d){break a}n[q[g>>2]](f+t|0,f+v|0,q[b+21780>>2])}}function Ho(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;j=q[b+21716>>2];g=q[b+21712>>2];v=q[b+21708>>2];y=q[b+21748>>2];t=Ca-16|0;h=q[b+21720>>2];q[t+8>>2]=h;q[t+12>>2]=q[b+21724>>2];C=q[b+21736>>2];z=q[b+21732>>2];D=q[b+21728>>2];u=q[b+21740>>2];q[t>>2]=u;i=q[b+21744>>2];q[t+4>>2]=i;a:{if(c&2048){break a}b:{if(!(c&7)){break b}d=q[q[a+28220>>2]+56>>2];q[b+21764>>2]=61162;q[b+21768>>2]=65535;q[b+21756>>2]=65535;q[b+21760>>2]=65535;k=d?7:-1;m=k&z;c:{if(m){e=60138;d=65535;break c}q[b+21764>>2]=9962;q[b+21756>>2]=46079;q[b+21760>>2]=13311;e=8938;d=46079}f=b;l=c&128;d:{e:{if((l|0)!=(u&128)){if(l){l=65375;if(!(k&u)){q[b+21768>>2]=24575;d=d&57343;q[b+21756>>2]=d;l=24415}if(i&k){break d}q[b+21768>>2]=l;d=d&65375;break e}if(k&q[q[a+24364>>2]+(h+q[a+27024>>2]<<2)>>2]?k&u:0){break d}q[b+21768>>2]=24415;d=d&57183;break e}if(k&u){break d}q[b+21768>>2]=24415;d=d&57183}q[f+21756>>2]=d}if(!(k&D)){q[b+21756>>2]=d&32767}if(!(k&C)){q[b+21764>>2]=e}if(!(c&1)){break b}f:{if(z&1){q[b+21668>>2]=q[q[b+21704>>2]+q[q[a+26372>>2]+(g<<2)>>2]>>2];break f}q[b+21668>>2]=m?33686018:-1}d=0;while(1){if((d|0)==2){break b}e=d<<2;f=q[e+t>>2];g:{if(f&1){f=d<<4;e=q[b+21704>>2]+q[q[a+26372>>2]+(q[e+(t+8|0)>>2]<<2)>>2]|0;l=d<<1;o[((f|11)+b|0)+21664|0]=r[(e-r[l+y|0]|0)+6|0];l=r[(e-r[(l|1)+y|0]|0)+6|0];f=f+19|0;break g}e=d<<4;l=f&k?2:-1;o[(e+b|0)+21683|0]=l;f=e|11}o[(f+b|0)+21664|0]=l;d=d+1|0;continue}}f=b+27908|0;h:{if(z){d=q[a+25980>>2]+w(g,48)|0;q[b+27828>>2]=q[d+12>>2];if(!q[a+25688>>2]){q[b+27868>>2]=q[d+28>>2];d=q[d+44>>2];break h}q[b+27868>>2]=q[d+20>>2];d=q[d+36>>2];break h}q[b+27868>>2]=1077952576;q[b+27828>>2]=1077952576;d=1077952576}q[f>>2]=d;d=0;while(1){if((d|0)==2){break a}f=d<<2;i:{if(q[f+t>>2]){k=(d<<1)+y|0;l=k;m=b+27824|0;e=d<<4;f=q[a+25980>>2]+w(q[f+(t+8|0)>>2],48)|0;o[m+(e|11)|0]=r[f+r[k+8|0]|0];o[(e+m|0)+19|0]=r[f+r[k+9|0]|0];m=q[q[a+28224>>2]+12>>2]+ -2|0;if(m>>>0<=1){if(!(m-1)){m=b+e|0;o[m+27875|0]=r[(f+r[l+8|0]|0)+16|0];o[m+27883|0]=r[(f+r[k+9|0]|0)+16|0];o[m+27915|0]=r[(f+r[l+8|0]|0)+32|0];e=e+99|0;f=r[(f+r[k+9|0]|0)+32|0];break i}m=b+e|0;o[m+27875|0]=r[(f+r[l+8|0]|0)+14|0];o[m+27883|0]=r[(f+r[k+9|0]|0)+14|0];o[m+27915|0]=r[(f+r[l+8|0]|0)+30|0];e=e+99|0;f=r[(f+r[k+9|0]|0)+30|0];break i}e=d<<3;o[(e+b|0)+27875|0]=r[f+r[k+12|0]|0];e=e+91|0;f=r[f+r[k+13|0]|0];break i}f=d<<4;e=f+b|0;o[e+27915|0]=64;o[e+27923|0]=64;o[e+27883|0]=64;o[e+27875|0]=64;o[e+27843|0]=64;e=f|11;f=64}o[(b+e|0)+27824|0]=f;d=d+1|0;continue}}j:{if(!(c&256)|!q[b+21844>>2]?!(c&120):0){break j}k=D?-1:-2;l=C?-1:-2;m=u?-1:-2;S=z?-1:-16843010;I=i&128;J=u&128;K=C&128;L=z&128;M=D&128;T=c&2304;N=v<<2;U=c&80;A=q[a+26376>>2];V=A+3|0;W=A<<1;O=j<<2;X=O|2;P=h<<2;Y=P|1;G=g<<2;Z=G|3;_=G|2;Q=w(A,3);$=q[b+23412>>2];i=0;while(1){if((i|0)==($|0)){break j}B=12288<<(i<<1);k:{if(!(B&c)){break k}g=w(i,160)+b|0;h=w(i,40)+b|0;d=(i<<2)+a|0;v=q[d+24352>>2];j=q[d+24384>>2];l:{if(z&B){d=v+(q[q[a+26368>>2]+G>>2]+Q<<2)|0;f=q[d+4>>2];e=g+27968|0;q[e>>2]=q[d>>2];q[e+4>>2]=f;f=q[d+12>>2];e=g+27976|0;q[e>>2]=q[d+8>>2];q[e+4>>2]=f;d=r[j+_|0];o[h+28276|0]=d;o[h+28277|0]=d;d=r[j+Z|0];o[h+28278|0]=d;o[h+28279|0]=d;break l}d=g+27976|0;q[d>>2]=0;q[d+4>>2]=0;d=g+27968|0;q[d>>2]=0;q[d+4>>2]=0;q[h+28276>>2]=S}m:{if(U){E=g+28e3|0;H=h+28284|0;d=0;while(1){if((d|0)==2){break m}e=d<<4;f=e+ -1|0;n=d<<2;x=q[n+t>>2];n:{if(x&B){n=q[n+(t+8|0)>>2]<<2;F=q[n+q[a+26368>>2]>>2]+3|0;x=d<<1;R=x+y|0;q[(f<<2)+E>>2]=q[v+(F+w(r[R|0],A)<<2)>>2];e=e|7;x=(x|1)+y|0;q[(e<<2)+E>>2]=q[v+(w(r[x|0],A)+F<<2)>>2];F=f+H|0;f=n|1;o[F|0]=r[j+(f+(r[R|0]&254)|0)|0];n=r[j+(f+(r[x|0]&254)|0)|0];break n}q[(f<<2)+E>>2]=0;e=e|7;q[(e<<2)+E>>2]=0;n=x?-1:-2;o[e+H|0]=n;e=f}o[e+H|0]=n;d=d+1|0;continue}}f=h+28283|0;o:{if(u&B){q[g+27996>>2]=q[(v+(q[q[a+26368>>2]+P>>2]+w(r[y|0],A)<<2)|0)+12>>2];d=r[j+((r[y|0]&254)+Y|0)|0];break o}q[g+27996>>2]=0;d=m}o[f|0]=d}e=h+28280|0;f=e;p:{if(B&C){q[g+27984>>2]=q[v+(q[q[a+26368>>2]+O>>2]+Q<<2)>>2];d=r[j+X|0];break p}q[g+27984>>2]=0;d=l}o[f|0]=d;f=h+28278|0;if((d|r[f|0])<<24>>24<=-1){n=h+28275|0;q:{if(B&D){d=q[b+21752>>2];q[g+27964>>2]=q[v+((q[q[a+26368>>2]+N>>2]+V|0)+(d&W)<<2)>>2];d=r[j+(d&2|N|1)|0];break q}q[g+27964>>2]=0;d=k}o[n|0]=d}r:{if(T){if(q[a+26384>>2]){break r}break k}o[h+28286|0]=254;o[h+28302|0]=254;q[g+28072>>2]=0;q[g+28008>>2]=0;if(!q[a+26384>>2]){break k}}if(q[b+21828>>2]){s:{if(M){break s}d=h+28275|0;j=o[d|0];if((j|0)<0){break s}o[d|0]=j<<1;d=g+27966|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28359|0;o[d|0]=r[d|0]>>>1}t:{if(L){break t}d=h+28276|0;j=o[d|0];if((j|0)>=0){o[d|0]=j<<1;d=g+27970|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28361|0;o[d|0]=r[d|0]>>>1}d=h+28277|0;j=o[d|0];if((j|0)>=0){o[d|0]=j<<1;d=g+27974|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28363|0;o[d|0]=r[d|0]>>>1}d=o[f|0];if((d|0)>=0){o[f|0]=d<<1;d=g+27978|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28365|0;o[d|0]=r[d|0]>>>1}d=h+28279|0;f=o[d|0];if((f|0)<0){break t}o[d|0]=f<<1;d=g+27982|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28367|0;o[d|0]=r[d|0]>>>1}u:{if(K){break u}d=o[e|0];if((d|0)<0){break u}o[e|0]=d<<1;d=g+27986|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28369|0;o[d|0]=r[d|0]>>>1}v:{if(J){break v}d=h+28283|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+27998|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28375|0;o[d|0]=r[d|0]>>>1}d=h+28291|0;e=o[d|0];if((e|0)<0){break v}o[d|0]=e<<1;d=g+28030|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28391|0;o[d|0]=r[d|0]>>>1}if(I){break k}d=h+28299|0;e=o[d|0];if((e|0)>=0){o[d|0]=e<<1;d=g+28062|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28407|0;o[d|0]=r[d|0]>>>1}d=h+28307|0;e=o[d|0];if((e|0)<0){break k}o[d|0]=e<<1;d=g+28094|0;p[d>>1]=p[d>>1]/2;d=(w(i,80)+b|0)+28423|0;o[d|0]=r[d|0]>>>1;break k}w:{if(!M){break w}d=h+28275|0;j=o[d|0];if((j|0)<0){break w}o[d|0]=(j&254)>>>1;d=g+27966|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28359|0;o[d|0]=r[d|0]<<1}x:{if(!L){break x}d=h+28276|0;j=o[d|0];if((j|0)>=0){o[d|0]=(j&254)>>>1;d=g+27970|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28361|0;o[d|0]=r[d|0]<<1}d=h+28277|0;j=o[d|0];if((j|0)>=0){o[d|0]=(j&254)>>>1;d=g+27974|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28363|0;o[d|0]=r[d|0]<<1}d=o[f|0];if((d|0)>=0){o[f|0]=(d&254)>>>1;d=g+27978|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28365|0;o[d|0]=r[d|0]<<1}d=h+28279|0;f=o[d|0];if((f|0)<0){break x}o[d|0]=(f&254)>>>1;d=g+27982|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28367|0;o[d|0]=r[d|0]<<1}y:{if(!K){break y}d=o[e|0];if((d|0)<0){break y}o[e|0]=(d&254)>>>1;d=g+27986|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28369|0;o[d|0]=r[d|0]<<1}z:{if(!J){break z}d=h+28283|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+27998|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28375|0;o[d|0]=r[d|0]<<1}d=h+28291|0;e=o[d|0];if((e|0)<0){break z}o[d|0]=(e&254)>>>1;d=g+28030|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28391|0;o[d|0]=r[d|0]<<1}if(!I){break k}d=h+28299|0;e=o[d|0];if((e|0)>=0){o[d|0]=(e&254)>>>1;d=g+28062|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28407|0;o[d|0]=r[d|0]<<1}d=h+28307|0;e=o[d|0];if((e|0)<0){break k}o[d|0]=(e&254)>>>1;d=g+28094|0;p[d>>1]=s[d>>1]<<1;d=(w(i,80)+b|0)+28423|0;o[d|0]=r[d|0]<<1}i=i+1|0;continue}}q[b+21840>>2]=(u>>>24&1)+(z>>>24&1)}function dd(a,b,c,d,e,f,g,h,i,j,k,l,m,s,t,u,v,x,y){var z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;F=q[b+880>>2];a:{b:{c:{if(!(!y|!x|(F|0)!=2)){z=r[c+154208|0]+b|0;A=(w(o[z+28272|0],384)+b|0)+(o[z+28312|0]<<3)|0;z=q[b+21792>>2];if(q[(A+((z&1)<<2)|0)+3216>>2]!=32){break c}break b}z=q[b+21792>>2];if((F|0)!=1){break b}}K=q[b+21784>>2];t=q[a+25672>>2];s=w(K,k)+(j<>2];F=((w(k,h)<<1)+(j<<1<>1;B=(q[b+21788>>2]<<3)+j|0;g=k;k=q[b+21828>>2];j=g+(z>>k<<3)|0;C=q[u+4>>2];H=q[u>>2];if(!(!x|!y)){C=q[v+4>>2];I=q[v>>2];J=j<<3;E=r[c+154208|0];c=(E<<2)+b|0;j=J+p[c+27954>>1]|0;L=B<<3;y=L+p[c+27952>>1]|0;N=j<<2&12|y&3;v=b+E|0;x=o[v+28272|0];z=j>>2;B=y>>2;u=q[(w(x,40)+b|0)+23416>>2]+(w(z,h)+(B<>2];A=H<<4;c=q[b+27788>>2];g=q[a+27016>>2]<<4>>k;v=o[v+28312|0];G=y&7;k=G?-3:0;d:{e:{if((B|0)<(0-k|0)){break e}M=j&7?-3:0;if((z|0)<(0-M|0)|(B+16|0)>(k+A|0)){break e}k=0;if((z+16|0)<=(g+M|0)){break d}}k=2<>2]](q[b+27792>>2],(u-k|0)-(h<<1)|0,h,h,21,21,B+ -2|0,z+ -2|0,A,g);h=q[b+21780>>2];u=(k+q[b+27792>>2]|0)+(h<<1)|0;k=1}A=h;h=(N<<2)+l|0;n[q[h>>2]](F,u,A);if(!d){n[q[h>>2]](f+F|0,f+u|0,q[b+21780>>2])}if(q[b+21828>>2]){j=(((q[b+21792>>2]&1)-q[(w(x,40)+b|0)+23440>>2]<<1)+j|0)+2|0;if((j|0)>=0){h=((j>>>3|0)+8|0)>=g>>1}else{h=1}k=h|k}y=y>>3;u=y<>2]|0;u=u+q[h+23420>>2]|0;h=q[b+21784>>2];B=j>>3;A=w(h,B);u=u+A|0;if(k){n[q[a+8>>2]](q[b+27792>>2],u,h,h,9,9,y,B,H<<3,g>>1);u=q[b+27792>>2];h=q[b+21784>>2]}z=z+A|0;A=h;h=j&7;n[m](D,u,A,s,G,h);if(k){j=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],z,j,j,9,9,y,B,H<<3,g>>1);z=q[b+27792>>2]}B=c+(K<<4)|0;n[m](i,z,q[b+21784>>2],s,G,h);g=(E<<2)+b|0;j=J+p[g+28114>>1]|0;g=p[g+28112>>1]+L|0;K=j<<2&12|g&3;k=q[b+21780>>2];z=j>>2;E=g>>2;u=q[(w(v,40)+b|0)+25336>>2]+(w(k,z)+(E<>2];A=H<<4;y=q[a+27016>>2]<<4>>q[b+21828>>2];G=g&7;h=G?-3:0;f:{g:{if((E|0)<(0-h|0)){break g}J=j&7?-3:0;if((z|0)<(0-J|0)|(E+16|0)>(h+A|0)){break g}h=0;if((z+16|0)<=(y+J|0)){break f}}h=2<>2]](q[b+27792>>2],(u-h|0)-(k<<1)|0,k,k,21,21,E+ -2|0,z+ -2|0,A,y);k=q[b+21780>>2];u=(h+q[b+27792>>2]|0)+(k<<1)|0;h=1}A=k;k=(K<<2)+l|0;n[q[k>>2]](B,u,A);if(!d){n[q[k>>2]](f+B|0,f+u|0,q[b+21780>>2])}if(q[b+21828>>2]){j=(((q[b+21792>>2]&1)-q[(w(v,40)+b|0)+25360>>2]<<1)+j|0)+2|0;if((j|0)>=0){d=((j>>>3|0)+8|0)>=y>>1}else{d=1}h=d|h}k=q[b+21784>>2];u=j>>3;z=w(k,u);l=g>>3;g=l<>2]|0)|0;f=z+(g+q[f+25344>>2]|0)|0;g=c;if(h){n[q[a+8>>2]](q[b+27792>>2],d,k,k,9,9,l,u,H<<3,y>>1);k=q[b+21784>>2];d=q[b+27792>>2]}A=d;d=j&7;n[m](g,A,k,s,G,d);g=c+(16<>2];n[q[a+8>>2]](q[b+27792>>2],h,f,f,9,9,l,u,H<<3,y>>1);f=q[b+27792>>2]}n[m](j,f,q[b+21784>>2],s,G,d);if(q[b+880>>2]==2){a=q[(((w(x,384)+b|0)+(v<<3)|0)+((q[b+21792>>2]&1)<<2)|0)+3216>>2];d=64-a|0;n[I](F,B,q[b+21780>>2],e,5,a,d,0);n[C](D,c,q[b+21784>>2],s,5,a,d,0);n[C](i,g,q[b+21784>>2],s,5,a,d,0);return}a=b+912|0;d=a+(x<<4)|0;a=a+(v<<4)|0;n[I](F,B,q[b+21780>>2],e,q[b+888>>2],q[d>>2],q[a+8>>2],q[a+12>>2]+q[d+4>>2]|0);d=c;c=b+1680|0;a=c+(x<<5)|0;c=c+(v<<5)|0;n[C](D,d,q[b+21784>>2],s,q[b+892>>2],q[a>>2],q[c+16>>2],q[c+20>>2]+q[a+4>>2]|0);n[C](i,g,q[b+21784>>2],s,q[b+892>>2],q[a+8>>2],q[c+24>>2],q[c+28>>2]+q[a+12>>2]|0);return}g=(y|0)!=0;c=r[c+154208|0];u=(w(g,160)+b|0)+(c<<2)|0;j=p[u+27954>>1]+(j<<3)|0;v=p[u+27952>>1]+(B<<3)|0;A=j<<2&12|v&3;u=o[(c+(w(g,40)+b|0)|0)+28272|0];x=j>>2;z=v>>2;c=q[((w(g,1920)+b|0)+w(u,40)|0)+23416>>2]+(w(x,h)+(z<>2];E=B<<4;k=q[a+27016>>2]<<4>>k;I=v&7;y=I?-3:0;h:{i:{if((z|0)<(0-y|0)){break i}G=j&7?-3:0;if((x|0)<(0-G|0)|(z+16|0)>(y+E|0)){break i}y=0;if((x+16|0)<=(k+G|0)){break h}}y=c;c=2<>2]](q[b+27792>>2],(y-c|0)-(h<<1)|0,h,h,21,21,z+ -2|0,x+ -2|0,E,k);h=q[b+21780>>2];c=(c+q[b+27792>>2]|0)+(h<<1)|0;y=1}x=h;h=(A<<2)+l|0;n[q[h>>2]](F,c,x);if(!d){n[q[h>>2]](f+F|0,c+f|0,q[b+21780>>2])}if(q[b+21828>>2]){j=(((q[b+21792>>2]&1)-q[((w(g,1920)+b|0)+w(u,40)|0)+23440>>2]<<1)+j|0)+2|0;if((j|0)>=0){c=((j>>>3|0)+8|0)>=k>>1}else{c=1}y=c|y}l=v>>3;d=l<>2]|0;d=d+q[c+23420>>2]|0;f=q[b+21784>>2];t=j>>3;c=w(f,t);h=d+c|0;if(y){n[q[a+8>>2]](q[b+27792>>2],h,f,f,9,9,l,t,B<<3,k>>1);h=q[b+27792>>2];f=q[b+21784>>2]}c=c+v|0;d=f;f=j&7;n[m](D,h,d,s,I,f);d=i;if(y){h=c;c=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],h,c,c,9,9,l,t,B<<3,k>>1);c=q[b+27792>>2]}n[m](d,c,q[b+21784>>2],s,I,f);a=((u<<4)+b|0)+(g<<3)|0;n[H](F,q[b+21780>>2],e,q[b+888>>2],q[a+912>>2],q[a+916>>2]);if(!q[b+884>>2]){break a}a=((u<<5)+b|0)+(g<<4)|0;n[C](D,q[b+21784>>2],s,q[b+892>>2],q[a+1680>>2],q[a+1684>>2]);n[C](i,q[b+21784>>2],s,q[b+892>>2],q[a+1688>>2],q[a+1692>>2]);return}v=q[a+25672>>2];u=w(q[b+21784>>2],k)+(j<>2];F=((w(k,h)<<1)+(j<<1<>2]<<3)+j|0;g=k;k=q[b+21828>>2];E=g+(z>>k<<3)|0;j:{if(!x){s=l;t=m;break j}x=r[c+154208|0];g=(x<<2)+b|0;j=p[g+27954>>1]+(E<<3)|0;g=p[g+27952>>1]+(B<<3)|0;K=j<<2&12|g&3;I=o[(b+x|0)+28272|0];D=j>>2;C=g>>2;x=q[(w(I,40)+b|0)+23416>>2]+(w(D,h)+(C<>2];A=H<<4;z=q[a+27016>>2]<<4>>k;G=g&7;k=G?-3:0;k:{l:{if((C|0)<(0-k|0)){break l}J=j&7?-3:0;if((D|0)<(0-J|0)|(C+16|0)>(k+A|0)){break l}k=0;if((D+16|0)<=(z+J|0)){break k}}k=2<>2]](q[b+27792>>2],(x-k|0)-(h<<1)|0,h,h,21,21,C+ -2|0,D+ -2|0,A,z);h=q[b+21780>>2];x=(k+q[b+27792>>2]|0)+(h<<1)|0;k=1}A=h;h=(K<<2)+l|0;n[q[h>>2]](F,x,A);if(!d){n[q[h>>2]](f+F|0,f+x|0,q[b+21780>>2])}if(q[b+21828>>2]){j=(((q[b+21792>>2]&1)-q[(w(I,40)+b|0)+23440>>2]<<1)+j|0)+2|0;if((j|0)>=0){h=((j>>>3|0)+8|0)>=z>>1}else{h=1}k=h|k}l=g>>3;g=l<>2]|0;x=g+q[h+23420>>2]|0;h=q[b+21784>>2];D=j>>3;g=w(h,D);x=x+g|0;if(k){n[q[a+8>>2]](q[b+27792>>2],x,h,h,9,9,l,D,H<<3,z>>1);x=q[b+27792>>2];h=q[b+21784>>2]}g=g+C|0;A=x;x=e>>1;j=j&7;n[m](u,A,h,x,G,j);h=i;if(k){k=g;g=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],k,g,g,9,9,l,D,H<<3,z>>1);g=q[b+27792>>2]}n[m](h,g,q[b+21784>>2],x,G,j)}if(!y){break a}g=r[c+154208|0];c=(g<<2)+b|0;j=p[c+28114>>1]+(E<<3)|0;c=p[c+28112>>1]+(B<<3)|0;B=j<<2&12|c&3;y=o[(b+g|0)+28312|0];k=q[b+21780>>2];l=j>>2;x=c>>2;h=q[(w(y,40)+b|0)+25336>>2]+(w(k,l)+(x<>2];D=z<<4;g=q[a+27016>>2]<<4>>q[b+21828>>2];C=c&7;m=C?-3:0;m:{n:{if((x|0)<(0-m|0)){break n}E=j&7?-3:0;if((l|0)<(0-E|0)|(x+16|0)>(m+D|0)){break n}m=0;if((l+16|0)<=(g+E|0)){break m}}m=h;h=2<>2]](q[b+27792>>2],(m-h|0)-(k<<1)|0,k,k,21,21,x+ -2|0,l+ -2|0,D,g);k=q[b+21780>>2];h=(h+q[b+27792>>2]|0)+(k<<1)|0;m=1}l=k;k=(B<<2)+s|0;n[q[k>>2]](F,h,l);if(!d){n[q[k>>2]](f+F|0,f+h|0,q[b+21780>>2])}if(q[b+21828>>2]){j=(((q[b+21792>>2]&1)-q[(w(y,40)+b|0)+25360>>2]<<1)+j|0)+2|0;if((j|0)>=0){d=((j>>>3|0)+8|0)>=g>>1}else{d=1}m=d|m}k=q[b+21784>>2];h=j>>3;s=w(k,h);f=c>>3;l=f<>2]|0)|0;d=s+(l+q[d+25344>>2]|0)|0;if(m){n[q[a+8>>2]](q[b+27792>>2],c,k,k,9,9,f,h,z<<3,g>>1);k=q[b+21784>>2];c=q[b+27792>>2]}l=c;c=e>>1;e=j&7;n[t](u,l,k,c,C,e);if(m){j=d;d=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],j,d,d,9,9,f,h,z<<3,g>>1);d=q[b+27792>>2]}n[t](i,d,q[b+21784>>2],c,C,e)}}function tD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,t=0,u=0,v=0,x=0,y=0;p=q[b+21796>>2];i=p+ -1|0;e=q[a+27024>>2];j=p-(e<>2])|0;a:{if(!q[a+26384>>2]){k=i;break a}k=q[a+24364>>2];h=q[k+(i<<2)>>2]&128;d=c&128;if(o[b+21792|0]&1){k=i;i=i-((d|0)==(h|0)?0:e)|0;break a}j=d?(e&(q[k+(j<<2)>>2]>>>7&1)+ -1)+j|0:j;k=((d|0)==(h|0)?0:e)+i|0}q[b+21720>>2]=i;q[b+21712>>2]=j;q[b+21724>>2]=k;f=q[b+860>>2];e=q[a+24340>>2];d=o[e+p|0];b:{c:{if((f|0)<(d|0)|((d+o[e+i|0]|0)+1>>1>(f|0)?(i|0)>=0:0)|((d+o[e+j|0]|0)+1>>1>(f|0)?(j|0)>=0:0)){break c}y=1;if(!q[a+26384>>2]){break b}if((d+o[e+k|0]|0)+1>>1>(f|0)?(i|0)>=0:0){break c}h=q[a+27024>>2];if((j|0)<(h|0)|(d+o[e+(j-h|0)|0]|0)+1>>1<=(f|0)){break b}}h=q[a+24364>>2];f=q[h+(k<<2)>>2];e=q[h+(i<<2)>>2];h=q[h+(j<<2)>>2];d=q[a+26380>>2];l=s[d+(j<<1)>>1];d:{if(q[b+868>>2]==2){g=h;h=q[b+832>>2];u=(h|0)==(l|0)?g:0;h=(h|0)==s[d+(k<<1)>>1];m=h?e:0;h=h?f:0;break d}u=(l|0)==65535?0:h;h=s[d+(k<<1)>>1]==65535;m=h?0:e;h=h?0:f}q[b+21740>>2]=m;q[b+21732>>2]=u;q[b+21744>>2]=h;y=0;if(c&7){break b}n=q[a+26376>>2];x=c&376;e:{if(!x){break e}f:{if(u&12288){t=j<<2;g=q[t+q[a+26368>>2]>>2]+w(n,3)<<2;v=a+24352|0;e=g+q[v>>2]|0;d=q[e+4>>2];f=b+27968|0;q[f>>2]=q[e>>2];q[f+4>>2]=d;e=g+q[v>>2]|0;d=q[e+12>>2];f=b+27976|0;q[f>>2]=q[e+8>>2];q[f+4>>2]=d;e=((((l&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30028|0;f=a+24384|0;d=r[e+(o[q[f>>2]+(t|2)|0]<<2)|0];o[b+28277|0]=d;o[b+28276|0]=d;d=r[e+(o[q[f>>2]+(t|3)|0]<<2)|0];o[b+28279|0]=d;o[b+28278|0]=d;break f}d=b+27976|0;q[d>>2]=0;q[d+4>>2]=0;d=b+27968|0;q[d>>2]=0;q[d+4>>2]=0;q[b+28276>>2]=-1}if((c^m)&128){break e}if(m&12288){d=s[q[a+26380>>2]+(i<<1)>>1];f=a+24352|0;g=i<<2;e=q[g+q[a+26368>>2]>>2]+3|0;q[b+27996>>2]=q[q[f>>2]+(e<<2)>>2];q[b+28028>>2]=q[q[f>>2]+(e+n<<2)>>2];q[b+28060>>2]=q[q[f>>2]+(e+(n<<1)<<2)>>2];q[b+28092>>2]=q[q[f>>2]+(e+w(n,3)<<2)>>2];e=((((d&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30028|0;f=a+24384|0;d=r[e+(o[q[f>>2]+(g|1)|0]<<2)|0];o[b+28291|0]=d;o[b+28283|0]=d;d=r[e+(o[q[f>>2]+(g|3)|0]<<2)|0];o[b+28307|0]=d;o[b+28299|0]=d;break e}o[b+28307|0]=255;q[b+28092>>2]=0;q[b+28060>>2]=0;q[b+28028>>2]=0;q[b+27996>>2]=0;o[b+28299|0]=255;o[b+28291|0]=255;o[b+28283|0]=255}g:{if(!(c&12288)){d=b+28e3|0;q[d>>2]=0;q[d+4>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;d=b+28040|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28032|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28064|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28072|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28096|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28104|0;q[d>>2]=0;q[d+4>>2]=0;q[b+28308>>2]=-1;q[b+28300>>2]=-1;q[b+28292>>2]=-1;q[b+28284>>2]=-1;break g}d=((((q[b+832>>2]&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30028|0;g=q[a+24384>>2]+(p<<2)|0;f=r[d+(o[g|0]<<2)|0];e=q[d+(o[g+1|0]<<2)>>2];d=w(r[d+(o[g+2|0]<<2)|0]|q[d+(o[g+3|0]<<2)>>2]<<16&16711680,257);q[b+28308>>2]=d;q[b+28300>>2]=d;d=w(f|e<<16&16711680,257);q[b+28292>>2]=d;q[b+28284>>2]=d;g=q[a+24352>>2]+(q[b+21788>>2]+w(q[b+21792>>2],n)<<4)|0;d=q[g+4>>2];q[b+28e3>>2]=q[g>>2];q[b+28004>>2]=d;d=q[g+12>>2];e=b+28008|0;q[e>>2]=q[g+8>>2];q[e+4>>2]=d;f=g+(n<<2)|0;d=q[f+4>>2];e=b+28032|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28040|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d;f=g+(n<<3)|0;d=q[f+4>>2];e=b+28064|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28072|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d;f=g+w(n,12)|0;d=q[f+4>>2];e=b+28096|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28104|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d}h:{if(q[b+23412>>2]!=2){break h}l=q[a+26376>>2];i:{if(!x){break i}j:{if(u&49152){x=s[q[a+26380>>2]+(j<<1)>>1];t=j<<2;g=q[t+q[a+26368>>2]>>2]+w(l,3)<<2;v=a+24356|0;e=g+q[v>>2]|0;d=q[e+4>>2];f=b+28128|0;q[f>>2]=q[e>>2];q[f+4>>2]=d;e=g+q[v>>2]|0;d=q[e+12>>2];f=b+28136|0;q[f>>2]=q[e+8>>2];q[f+4>>2]=d;e=((((x&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30284|0;f=a+24388|0;d=r[e+(o[q[f>>2]+(t|2)|0]<<2)|0];o[b+28317|0]=d;o[b+28316|0]=d;d=r[e+(o[q[f>>2]+(t|3)|0]<<2)|0];o[b+28319|0]=d;o[b+28318|0]=d;break j}d=b+28136|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28128|0;q[d>>2]=0;q[d+4>>2]=0;q[b+28316>>2]=-1}if((c^m)&128){break i}if(m&49152){d=s[q[a+26380>>2]+(i<<1)>>1];f=a+24356|0;g=i<<2;e=q[g+q[a+26368>>2]>>2]+3|0;q[b+28156>>2]=q[q[f>>2]+(e<<2)>>2];q[b+28188>>2]=q[q[f>>2]+(e+l<<2)>>2];q[b+28220>>2]=q[q[f>>2]+(e+(l<<1)<<2)>>2];q[b+28252>>2]=q[q[f>>2]+(e+w(l,3)<<2)>>2];e=((((d&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30284|0;f=a+24388|0;d=r[e+(o[q[f>>2]+(g|1)|0]<<2)|0];o[b+28331|0]=d;o[b+28323|0]=d;d=r[e+(o[q[f>>2]+(g|3)|0]<<2)|0];o[b+28347|0]=d;o[b+28339|0]=d;break i}o[b+28347|0]=255;q[b+28252>>2]=0;q[b+28220>>2]=0;q[b+28188>>2]=0;q[b+28156>>2]=0;o[b+28339|0]=255;o[b+28331|0]=255;o[b+28323|0]=255}if(!(c&49152)){d=b+28160|0;q[d>>2]=0;q[d+4>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;d=b+28200|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28192|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28224|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28232|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28256|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28264|0;q[d>>2]=0;q[d+4>>2]=0;q[b+28348>>2]=-1;q[b+28340>>2]=-1;q[b+28332>>2]=-1;q[b+28324>>2]=-1;break h}d=((((q[b+832>>2]&31)<<9)+a|0)+(q[b+21832>>2]?80:8)|0)+30284|0;g=q[a+24388>>2]+(p<<2)|0;f=r[d+(o[g|0]<<2)|0];e=q[d+(o[g+1|0]<<2)>>2];d=w(r[d+(o[g+2|0]<<2)|0]|q[d+(o[g+3|0]<<2)>>2]<<16&16711680,257);q[b+28348>>2]=d;q[b+28340>>2]=d;d=w(f|e<<16&16711680,257);q[b+28332>>2]=d;q[b+28324>>2]=d;g=q[a+24356>>2]+(q[b+21788>>2]+w(l,q[b+21792>>2])<<4)|0;d=q[g+4>>2];q[b+28160>>2]=q[g>>2];q[b+28164>>2]=d;d=q[g+12>>2];e=b+28168|0;q[e>>2]=q[g+8>>2];q[e+4>>2]=d;f=g+(l<<2)|0;d=q[f+4>>2];e=b+28192|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28200|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d;f=g+(l<<3)|0;d=q[f+4>>2];e=b+28224|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28232|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d;f=g+w(l,12)|0;d=q[f+4>>2];e=b+28256|0;q[e>>2]=q[f>>2];q[e+4>>2]=d;d=q[f+12>>2];e=b+28264|0;q[e>>2]=q[f+8>>2];q[e+4>>2]=d}d=q[a+25980>>2]+w(p,48)|0;q[b+27836>>2]=q[d>>2];q[b+27844>>2]=q[d+4>>2];q[b+27852>>2]=q[d+8>>2];q[b+27860>>2]=q[d+12>>2];f=s[q[a+26400>>2]+(p<<1)>>1];q[b+21856>>2]=f;if(u){q[b+27828>>2]=q[(q[a+25980>>2]+w(j,48)|0)+12>>2]}if(m){d=q[a+25980>>2]+w(i,48)|0;o[b+27835|0]=r[d+3|0];o[b+27843|0]=r[d+7|0];o[b+27851|0]=r[d+11|0];o[b+27859|0]=r[d+15|0]}d=q[a+28220>>2];if(q[d+4>>2]|!q[d+64>>2]){break b}if(u&16777216){e=j<<1;d=s[e+q[a+26400>>2]>>1]>>>12&4;o[b+27828|0]=d;o[b+27829|0]=d;d=s[e+q[a+26400>>2]>>1]>>>12&8;o[b+27830|0]=d;o[b+27831|0]=d}if(m&16777216){i=s[q[a+26400>>2]+(i<<1)>>1]>>>12&2;o[b+27835|0]=i;o[b+27843|0]=i}if(h&16777216){a=s[q[a+26400>>2]+(k<<1)>>1]>>>12&8;o[b+27851|0]=a;o[b+27859|0]=a}if(!(c&16777216)){break b}k=f>>>12|0;c=k&1;o[b+27844|0]=c;o[b+27845|0]=c;o[b+27837|0]=c;a=k&2;o[b+27847|0]=a;o[b+27836|0]=c;o[b+27846|0]=a;o[b+27839|0]=a;c=k&4;o[b+27861|0]=c;o[b+27838|0]=a;o[b+27860|0]=c;o[b+27853|0]=c;a=k&8;o[b+27863|0]=a;o[b+27852|0]=c;o[b+27862|0]=a;o[b+27855|0]=a;o[b+27854|0]=a}return y}function mb(a,b){var c=0,d=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,s=0;j=Ca-16|0;Ca=j;a:{b:{c:{d:{k=q[b>>2];if(k>>>0>45){break d}e:{switch(k-1|0){default:c=v[b+8>>3];break b;case 0:c=v[b+8>>3]*v[q[a+12>>2]+(q[b+16>>2]<<3)>>3];break b;case 1:c=v[b+8>>3];f=q[b+20>>2];d=+n[f](mb(a,q[b+24>>2]));break a;case 2:c=v[b+8>>3];f=q[b+20>>2];d=+n[f](q[a+36>>2],mb(a,q[b+24>>2]));break a;case 3:c=v[b+8>>3];f=q[b+20>>2];d=+n[f](q[a+36>>2],mb(a,q[b+24>>2]),mb(a,q[b+28>>2]));break a;case 4:c=of(mb(a,q[b+24>>2])*4);Ca=j+16|0;return 1/(c+1);case 5:c=mb(a,q[b+24>>2]);c=of(c*c*-.5);Ca=j+16|0;return c/2.5066282746310002;case 6:c=v[b+8>>3];f=q[a+48>>2];d=mb(a,q[b+24>>2]);f:{if(y(d)<2147483648){a=~~d;break f}a=-2147483648}a=(a|0)<9?a:9;d=v[f+(((a|0)>0?a:0)<<3)>>3];break a;case 7:c=v[b+8>>3];h(+mb(a,q[b+24>>2]));a=e(1)|0;b=e(0)|0;Ca=j+16|0;a=a&2147483647;return c*((a|0)==2146435072&b>>>0>0|a>>>0>2146435072?1:0);case 8:c=v[b+8>>3];h(+mb(a,q[b+24>>2]));a=e(1)|0;b=e(0)|0;Ca=j+16|0;return c*(!b&(a&2147483647)==2146435072?1:0);case 26:c=v[b+8>>3];d=mb(a,q[b+24>>2]);Ca=j+16|0;return c*C(d);case 27:c=v[b+8>>3];d=mb(a,q[b+24>>2]);Ca=j+16|0;return c*D(d);case 28:c=v[b+8>>3];d=mb(a,q[b+24>>2]);Ca=j+16|0;return c*fS(d);case 29:c=v[b+8>>3];d=+va(+mb(a,q[b+24>>2]));break a;case 44:c=v[b+8>>3];d=mb(a,q[b+24>>2]);g=mb(a,q[b+24>>2]);Ca=j+16|0;return c*+((d>0)-(g<0)|0);case 30:c=v[b+8>>3];d=mb(a,q[b+24>>2]);Ca=j+16|0;return c*E(d);case 31:c=v[b+8>>3];d=mb(a,q[b+24>>2]);Ca=j+16|0;return c*(d==0?1:0);case 35:d=v[b+8>>3];g:{if(mb(a,q[b+24>>2])!=0){c=mb(a,q[b+28>>2]);break g}b=q[b+32>>2];if(!b){break g}c=mb(a,b)}c=d*c;break b;case 36:d=v[b+8>>3];h:{if(mb(a,q[b+24>>2])==0){c=mb(a,q[b+28>>2]);break h}b=q[b+32>>2];if(!b){break h}c=mb(a,b)}c=d*c;break b;case 41:m=mb(a,q[b+24>>2]);d=mb(a,q[b+28>>2]);g=mb(a,q[b+32>>2]);c=G;h(+d);f=e(1)|0;i=e(0)|0;f=f&2147483647;if((f|0)==2146435072&i>>>0>0|f>>>0>2146435072){break b}h(+g);f=e(1)|0;i=e(0)|0;f=f&2147483647;if((f|0)==2146435072&i>>>0>0|f>>>0>2146435072){break b}h(+m);f=e(1)|0;i=e(0)|0;if(d>g){break b}f=f&2147483647;if((f|0)==2146435072&i>>>0>0|f>>>0>2146435072){break b}m=v[b+8>>3];c=mb(a,q[b+24>>2]);Ca=j+16|0;return m*(cg?g:c);case 40:c=mb(a,q[b+24>>2]);d=v[b+8>>3];if(!(c>=mb(a,q[b+28>>2]))){c=0}else{c=c<=mb(a,q[b+32>>2])?1:0}c=d*c;break b;case 43:c=mb(a,q[b+24>>2]);d=mb(a,q[b+28>>2]);g=mb(a,q[b+32>>2]);Ca=j+16|0;return c+g*(d-c);case 37:c=mb(a,q[b+24>>2]);b=q[b+28>>2];f=32;i:{if(!b){break i}d=mb(a,b);if(y(d)<2147483648){f=~~d;break i}f=-2147483648}v[j>>3]=c;Ta(a,f,40146,j);break b;case 32:c=mb(a,q[b+24>>2]);j:{if(y(c)<2147483648){f=~~c;break j}f=-2147483648}i=q[a+48>>2];a=(f|0)<9?f:9;a=i+(((a|0)>0?a:0)<<3)|0;c=v[a>>3];h(+c);f=e(1)|0;i=e(0)|0;f=f&2147483647;k=(f|0)==2146435072&i>>>0>0|f>>>0>2146435072;o=a;k:{if(c<0x10000000000000000&c>=0){i=y(c)>=1?c>0?~~A(C(c/4294967296),4294967295)>>>0:~~D((c- +(~~c>>>0>>>0))/4294967296)>>>0:0;a=~~c>>>0;break k}i=0;a=0}f=$R(a,i,1664525,0)+1013904223|0;a=Da;c=k?1013904223:+(f>>>0)+4294967296*+((f>>>0<1013904223?a+1|0:a)>>>0);v[o>>3]=c;Ca=j+16|0;return v[b+8>>3]*(c*5.421010862427522e-20);case 23:c=G;while(1){if(mb(a,q[b+24>>2])==0){break b}c=mb(a,q[b+28>>2]);continue};case 25:break c;case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 33:case 34:case 38:case 39:case 42:break d;case 24:break e}}m=mb(a,q[b+28>>2]);k=q[b+32>>2];if(k){d=mb(a,k);l:{if(y(d)<2147483648){i=~~d;break l}i=-2147483648}i=(i|0)<9?i:9;i=(i|0)>0?i:0}k=i<<3;o=k+q[a+48>>2]|0;p=q[o>>2];o=q[o+4>>2];g=1;while(1){m:{if((f|0)!=1e3){v[k+q[a+48>>2]>>3]=f|0;l=mb(a,q[b+24>>2]);d=c+g*l;if(l==0|c!=d){break m}c=d}a=q[a+48>>2]+(i<<3)|0;q[a>>2]=p;q[a+4>>2]=o;break b}f=f+1|0;g=g*(m/+(f|0));c=d;continue}}g=mb(a,q[b+24>>2]);d=mb(a,q[b+28>>2]);c=G;f=q[b>>2]+ -10|0;if(f>>>0>33){break b}n:{switch(f-1|0){default:c=(g-d*C(g/d))*v[b+8>>3];break b;case 24:c=v[b+8>>3];o:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;a=~~d>>>0;break o}b=-2147483648;a=0}p:{if(y(g)<0x8000000000000000){i=y(g)>=1?g>0?~~A(C(g/4294967296),4294967295)>>>0:~~D((g- +(~~g>>>0>>>0))/4294967296)>>>0:0;f=~~g>>>0;break p}i=-2147483648;f=0}c=c*(+(Vn(f,i,a,b)>>>0)+4294967296*+(Da|0));break b;case 0:c=(g>d?g:d)*v[b+8>>3];break b;case 1:c=(g>3];break b;case 2:c=(g==d?1:0)*v[b+8>>3];break b;case 3:c=(g>d?1:0)*v[b+8>>3];break b;case 4:c=(g>=d?1:0)*v[b+8>>3];break b;case 6:c=(g>3];break b;case 5:c=(g<=d?1:0)*v[b+8>>3];break b;case 7:c=v[b+8>>3]*an(g,d);break b;case 8:c=g*d*v[b+8>>3];break b;case 9:c=g/d*v[b+8>>3];break b;case 10:c=(g+d)*v[b+8>>3];break b;case 11:c=d*v[b+8>>3];break b;case 12:c=v[b+8>>3];b=q[a+48>>2];if(y(g)<2147483648){a=~~g}else{a=-2147483648}a=(a|0)<9?a:9;v[b+(((a|0)>0?a:0)<<3)>>3]=d;c=d*c;break b;case 23:c=v[b+8>>3]*Cn(g,d);break b;case 32:c=v[b+8>>3]*HA(g,d);break b;case 28:h(+g);a=e(1)|0;f=e(0)|0;a=a&2147483647;if((a|0)==2146435072&f>>>0>0|a>>>0>2146435072){break b}h(+d);a=e(1)|0;f=e(0)|0;a=a&2147483647;if((a|0)==2146435072&f>>>0>0|a>>>0>2146435072){break b}c=v[b+8>>3];if(y(g)<2147483648){a=~~g}else{a=-2147483648}if(y(d)<2147483648){b=~~d}else{b=-2147483648}c=c*+(a&b);break b;case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 27:case 30:case 31:break b;case 29:break n}}h(+g);a=e(1)|0;f=e(0)|0;a=a&2147483647;if((a|0)==2146435072&f>>>0>0|a>>>0>2146435072){break b}h(+d);a=e(1)|0;f=e(0)|0;a=a&2147483647;if((a|0)==2146435072&f>>>0>0|a>>>0>2146435072){break b}c=v[b+8>>3];if(y(g)<2147483648){a=~~g}else{a=-2147483648}if(y(d)<2147483648){b=~~d}else{b=-2147483648}c=c*+(a|b);break b}f=q[a+48>>2];k=q[f>>2];o=q[f+4>>2];m=1.7976931348623157e+308;c=-1.7976931348623157e+308;g=-1;f=-1;s=mb(a,q[b+28>>2]);l=-1;q:{while(1){if((f|0)==1024){break q}r:{if((f|0)<=254){v[q[a+48>>2]>>3]=s*+r[(f&255)+90656|0]/255;break r}d=an(.9,+(f+ -255|0));i=q[a+48>>2];d=s*d;d=f&1?-d:d;v[i>>3]=d;if(f&2){v[i>>3]=g+d;break r}v[i>>3]=l+d}d=mb(a,q[b+24>>2]);if(!(d<=0^1|d>c^1)){g=v[q[a+48>>2]>>3];c=d}if(!(d>=0^1|d>2]>>3];m=d}f=f+1|0;if(g>=0^1|l>=0^1){continue}break}f=0;while(1){if((f|0)==1e3){break q}d=(g+l)*.5;v[q[a+48>>2]>>3]=d;if(g==d|l==d){break q}d=mb(a,q[b+24>>2]);if(!!(d<=0)){g=v[q[a+48>>2]>>3]}l=d>=0^1?l:v[q[a+48>>2]>>3];f=f+1|0;h(+d);i=e(1)|0;p=e(0)|0;i=i&2147483647;if((i|0)==2146435072&p>>>0<1|i>>>0<2146435072){continue}break}g=d;l=d}a=q[a+48>>2];q[a>>2]=k;q[a+4>>2]=o;c=m>-c?g:l}Ca=j+16|0;return c}Ca=j+16|0;return c*d}function xu(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;j=Ca-128|0;Ca=j;E=q[a+556>>2];u=q[a+564>>2];b=q[a+560>>2];l=q[a+704>>2];c=b;a:{if(!l){break a}c=b;if(!q[l>>2]){break a}c=q[l+72>>2]+15>>4;c=(b|0)>(c|0)?c:b}m=c;c=q[a+736>>2];if(!(!c|!q[c>>2])){c=q[c+72>>2]+15>>4;m=(m|0)>(c|0)?c:m}l=q[a+584>>2];kj(a,j+124|0,j+120|0);b=w(b,u)<<3;c=b+l|0;k=c+b|0;Q=w(m,E);g=(Q|0)>0?Q:0;B=q[j+124>>2];M=q[j+120>>2];while(1){if((d|0)!=(g|0)){b=q[q[a+548>>2]+(d<<2)>>2];t=b<<2;f=r[b+q[a+580>>2]|0]&8?((q[t+q[a+696>>2]>>2]&7)!=0)<<3:8;o[b+k|0]=f;b:{if((f|0)==8){e=e+1|0;break b}if(!q[q[a+704>>2]>>2]){break b}f=q[a+712>>2];if(!f){break b}h=q[a+564>>2];i=(b|0)/(h|0)|0;b=w(w(i,M)+(b-w(i,h)|0)|0,B)<<2;h=b+q[a+680>>2]|0;b=b+f|0;p[h>>1]=s[b>>1];p[h+2>>1]=s[b+2>>1];o[t+q[a+688>>2]|0]=r[t+q[a+720>>2]|0]}d=d+1|0;continue}break}c:{if(!(!(o[q[a>>2]+572|0]&1)|(e|0)<=((((E|0)>(m|0)?E:m)|0)/2|0))){e=0;i=(m|0)>0?m:0;v=(E|0)>0?E:0;b=0;d:while(1){if((b|0)!=(i|0)){t=b+1|0;y=b+ -1|0;z=w(b,u);f=0;while(1){d=f;while(1){if((d|0)==(v|0)){b=t;continue d}h=d+z|0;g=h+k|0;if(r[g|0]!=8){d=d+1|0;continue}break}e:{if(!d){break e}f=g+ -1|0;if(r[f|0]){break e}o[f|0]=1;f=(e<<3)+l|0;q[f+4>>2]=b;q[f>>2]=d+ -1;e=e+1|0}f:{if(!b){break f}f=(h-u|0)+k|0;if(r[f|0]){break f}o[f|0]=1;f=(e<<3)+l|0;q[f+4>>2]=y;q[f>>2]=d;e=e+1|0}f=d+1|0;if(!(r[g+1|0]|(f|0)>=(E|0))){o[g+1|0]=1;g=(e<<3)+l|0;q[g+4>>2]=b;q[g>>2]=f;e=e+1|0}if((t|0)>=(m|0)){continue}g=(h+u|0)+k|0;if(r[g|0]){continue}o[g|0]=1;g=(e<<3)+l|0;q[g+4>>2]=t;q[g>>2]=d;e=e+1|0;continue}}break}V=a+608|0;while(1){t=c;W=(e|0)>0?e:0;Z=(B|0)>0?B:0;X=w(B,M);b=1;N=0;O=1;while(1){g:{if(N>>>0>9){break g}Y=N>>>0<2;if(!(Y|(O|0)!=0)){break g}P=0;O=0;while(1){if((P|0)!=(W|0)){c=(P<<3)+l|0;y=q[c>>2];z=q[c+4>>2];h:{if((y^N^z)&1){break h}i=y+w(u,z)|0;R=(y|0)<1;d=0;i:{if(R){break i}d=r[(i+k|0)+ -1|0]}S=(y+1|0)>=(E|0);if(!S){d=r[(i+k|0)+1|0]|d}T=(z|0)<1;if(!T){d=r[(i-u|0)+k|0]|d}c=!Y;U=(z+1|0)>=(m|0);if(!U){d=r[(i+u|0)+k|0]|d}if(d&4?0:c){break h}K=w(y+w(z,M)|0,B);c=0;j:{if(R){break j}d=i+ -1|0;if(r[d+k|0]<2){break j}c=q[a+680>>2]+(K-B<<2)|0;q[j+48>>2]=p[c>>1];q[j+52>>2]=p[c+2>>1];q[j+16>>2]=o[q[a+688>>2]+(d<<2)|0];c=1}k:{if(S){break k}d=i+1|0;if(r[d+k|0]<2){break k}b=j+48|c<<3;e=q[a+680>>2]+(B+K<<2)|0;q[b>>2]=p[e>>1];q[b+4>>2]=p[e+2>>1];q[(j+16|c<<2)>>2]=o[q[a+688>>2]+(d<<2)|0];c=c+1|0}if(!(r[(i-u|0)+k|0]<2|T)){d=(j+48|0)+(c<<3)|0;b=q[a+680>>2]+(K-X<<2)|0;q[d>>2]=p[b>>1];q[d+4>>2]=p[b+2>>1];q[(j+16|c<<2)>>2]=o[q[a+688>>2]+(i-q[a+564>>2]<<2)|0];c=c+1|0}l:{m:{if(!(r[(i+u|0)+k|0]<2|U)){d=(j+48|0)+(c<<3)|0;b=q[a+680>>2]+(K+X<<2)|0;q[d>>2]=p[b>>1];q[d+4>>2]=p[b+2>>1];q[(j+16|0)+(c<<2)>>2]=o[q[a+688>>2]+(i+q[a+564>>2]<<2)|0];c=c+1|0;break m}if(!c){break l}}d=0;G=0;H=0;J=0;h=1;n:{if((c|0)<2){break n}while(1){if((d|0)!=(c|0)){e=d<<2;b=q[e+(j+16|0)>>2];f=(j+48|0)+(d<<3)|0;g=q[f+4>>2];f=q[f>>2];h=c;if(!(!d|(b|0)==q[(e+j|0)+12>>2])){break n}J=b+J|0;H=g+H|0;G=f+G|0;d=d+1|0;continue}break}d=(j+48|0)+(c<<3)|0;q[d+4>>2]=(H|0)/(c|0);q[d>>2]=(G|0)/(c|0);q[(j+16|0)+(c<<2)>>2]=(J|0)/(c|0);d=0;b=(c|0)>2;e=b?-99999:0;f=e;b=b?99999:0;v=b;g=e;h=b;while(1){if((d|0)!=(c|0)){C=q[(j+16|0)+(d<<2)>>2];h=(h|0)>(C|0)?C:h;D=(j+48|0)+(d<<3)|0;L=q[D+4>>2];v=(v|0)>(L|0)?L:v;D=q[D>>2];b=(b|0)>(D|0)?D:b;g=(g|0)>(C|0)?g:C;f=(f|0)>(L|0)?f:L;e=(e|0)>(D|0)?e:D;d=d+1|0;continue}break}C=c+1|0;d=(j+48|0)+(C<<3)|0;f=(H-f|0)-v|0;q[d+4>>2]=f;b=(G-e|0)-b|0;q[d>>2]=b;e=(j+16|0)+(C<<2)|0;g=(J-g|0)-h|0;q[e>>2]=g;if((c|0)==4){q[d>>2]=(b|0)/2;q[(d|4)>>2]=(f|0)/2;q[e>>2]=(g|0)/2}h=c+2|0}b=h;e=0;q[(j+16|0)+(b<<2)>>2]=0;c=(j+48|0)+(b<<3)|0;q[c>>2]=0;q[c+4>>2]=0;c=o[q[a+688>>2]+(i<<2)|0];H=K<<2;d=H+q[a+680>>2]|0;G=p[d>>1];f=b+1|0;g=(j+48|0)+(f<<3)|0;J=p[d+2>>1];q[g+4>>2]=J;q[g>>2]=G;q[(j+16|0)+(f<<2)>>2]=c;C=z<<4;L=y<<4;D=b+2|0;_=(i+u|0)+k|0;$=(i-u|0)+k|0;h=i+k|0;aa=h;ba=h+ -1|0;f=1073741824;v=0;while(1){if((e|0)!=(D|0)){g=q[a+672>>2];c=q[g>>2];d=q[g+32>>2];b=(j+48|0)+(e<<3)|0;i=q[b>>2];q[a+608>>2]=i;A=H+q[a+680>>2]|0;p[A>>1]=i;b=q[b+4>>2];q[a+612>>2]=b;p[A+2>>1]=b;b=q[(j+16|0)+(e<<2)>>2];if((b|0)>=0){c=(c+L|0)+w(d,C)|0;d=0;n[q[a+800>>2]](q[a+804>>2],b,1,0,V,y,z,0,0);o:{if(r[ba|0]<2|R){break o}A=q[g+32>>2];b=0;while(1){if((b|0)==16){break o}i=c+w(b,A)|0;x=r[i+ -1|0]-r[i|0]|0;i=x>>31;d=(i^i+x)+d|0;b=b+1|0;continue}}p:{if(r[aa+1|0]<2|S){break p}A=q[g+32>>2];b=0;while(1){if((b|0)==16){break p}i=c+w(b,A)|0;x=r[i+15|0]-r[i+16|0]|0;i=x>>31;d=(i^i+x)+d|0;b=b+1|0;continue}}q:{if(r[$|0]<2|T){break q}A=q[g+32>>2];b=0;while(1){if((b|0)==16){break q}x=r[c+(b-A|0)|0]-r[b+c|0]|0;i=x>>31;d=(i^i+x)+d|0;b=b+1|0;continue}}r:{if(r[_|0]<2|U){break r}b=q[g+32>>2];i=b<<4;A=w(b,15);b=0;while(1){if((b|0)==16){break r}x=r[c+(b+A|0)|0]-r[c+(b+i|0)|0]|0;g=x>>31;d=(g^g+x)+d|0;b=b+1|0;continue}}c=(d|0)>(f|0);v=c?v:e;f=c?f:d}e=e+1|0;continue}break}c=(j+48|0)+(v<<3)|0;b=q[c>>2];q[a+608>>2]=b;c=q[c+4>>2];q[a+612>>2]=c;e=0;while(1){if((e|0)!=(Z|0)){f=e+K|0;d=0;while(1){if((d|0)!=(B|0)){g=q[a+680>>2]+(f+w(d,M)<<2)|0;p[g+2>>1]=c;p[g>>1]=b;d=d+1|0;continue}break}e=e+1|0;continue}break}n[q[a+800>>2]](q[a+804>>2],q[(j+16|0)+(v<<2)>>2],1,0,V,y,z,0,0);if(!((J|0)==q[a+612>>2]?(G|0)==q[a+608>>2]:0)){o[h|0]=4;O=O+1|0;break l}o[h|0]=2}b=0}P=P+1|0;continue}break}N=N+1|0;continue}break}e=0;d=0;if(b){break c}while(1){if((d|0)!=(W|0)){b=(d<<3)+l|0;c=q[b+4>>2];b=q[b>>2];g=w(c,u)+b|0;f=g+k|0;s:{if(!(r[f|0]&14)){break s}o[f|0]=8;t:{if((b|0)<1){break t}h=f+ -1|0;if(r[h|0]){break t}o[h|0]=1;h=t+(e<<3)|0;q[h+4>>2]=c;q[h>>2]=b+ -1;e=e+1|0}u:{if((c|0)<1){break u}h=(g-u|0)+k|0;if(r[h|0]){break u}o[h|0]=1;h=t+(e<<3)|0;q[h+4>>2]=c+ -1;q[h>>2]=b;e=e+1|0}h=b+1|0;if(!(r[f+1|0]|(h|0)>=(E|0))){o[f+1|0]=1;f=t+(e<<3)|0;q[f+4>>2]=c;q[f>>2]=h;e=e+1|0}c=c+1|0;if((c|0)>=(m|0)){break s}f=(g+u|0)+k|0;if(r[f|0]){break s}o[f|0]=1;f=t+(e<<3)|0;q[f+4>>2]=c;q[f>>2]=b;e=e+1|0}d=d+1|0;continue}break}if((e|0)<=(Q|0)){B=q[j+124>>2];M=q[j+120>>2];c=l;l=t;continue}break}q[j+8>>2]=716;q[j+4>>2]=17904;q[j>>2]=18825;Ta(0,0,16110,j);I();F()}t=(m|0)>0?m:0;e=a+608|0;b=0;while(1){d=0;if((b|0)==(t|0)){break c}while(1){if((d|0)>2]){l=w(q[a+564>>2],b)+d|0;m=q[a+704>>2];c=2;v:{if(!m){break v}c=q[m>>2]?1:2}if(!(!(r[l+q[a+580>>2]|0]&8)|r[q[a+696>>2]+(l<<2)|0]&7)){q[a+608>>2]=0;q[a+612>>2]=0;n[q[a+800>>2]](q[a+804>>2],0,c,0,e,d,b,0,0)}d=d+1|0;continue}break}b=b+1|0;continue}}Ca=j+128|0}function ed(a,b,c,d,e,f,g,h,i,j,k,l,m,s,t,u,v,x,y){var z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;B=q[b+880>>2];a:{b:{c:{if(!(!y|!x|(B|0)!=2)){B=r[c+154208|0]+b|0;A=q[b+21792>>2];if(q[(((w(o[B+28272|0],384)+b|0)+(o[B+28312|0]<<3)|0)+((A&1)<<2)|0)+3216>>2]!=32){break c}break b}A=q[b+21792>>2];if((B|0)!=1){break b}}K=q[b+21784>>2];t=k<<1;s=q[a+25672>>2];B=w(K,t)+(j<>2];t=(w(t,h)+(j<<1<>2]<<3)+j|0;C=q[b+21828>>2];j=(A>>C<<3)+k|0;D=q[u+4>>2];F=q[u>>2];if(!(!x|!y)){y=q[v+4>>2];G=q[v>>2];J=j<<3;F=r[c+154208|0];c=(F<<2)+b|0;D=J+p[c+27954>>1]|0;L=g<<3;z=L+p[c+27952>>1]|0;H=D<<2&12|z&3;c=b+F|0;v=o[c+28272|0];k=D>>2;j=z>>2;x=q[(w(v,40)+b|0)+23416>>2]+(w(k,h)+(j<>2];E=I<<4;g=q[b+27788>>2];A=q[a+27016>>2]<<4>>C;u=o[c+28312|0];C=z&7;c=C?-3:0;d:{e:{if((j|0)<(0-c|0)){break e}M=D&7?-3:0;if((k|0)<(0-M|0)|(j+16|0)>(c+E|0)){break e}c=0;if((k+16|0)<=(A+M|0)){break d}}c=2<>2]](q[b+27792>>2],(x-c|0)-(h<<1)|0,h,h,21,21,j+ -2|0,k+ -2|0,E,A);h=q[b+21780>>2];x=(c+q[b+27792>>2]|0)+(h<<1)|0;c=1}j=c;c=(H<<2)+l|0;n[q[c>>2]](t,x,h);if(!d){n[q[c>>2]](f+t|0,f+x|0,q[b+21780>>2])}z=z>>3;h=z<>2]|0;x=h+q[c+23420>>2]|0;h=q[b+21784>>2];c=w(k,h);x=x+c|0;if(j){n[q[a+8>>2]](q[b+27792>>2],x,h,h,9,17,z,k,I<<3,A);x=q[b+27792>>2];h=q[b+21784>>2]}c=c+E|0;H=h;h=D<<1&6;n[m](B,x,H,e,C,h);if(j){j=c;c=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],j,c,c,9,17,z,k,I<<3,A);c=q[b+27792>>2]}k=g+(K<<4)|0;n[m](i,c,q[b+21784>>2],e,C,h);c=(F<<2)+b|0;D=J+p[c+28114>>1]|0;z=L+p[c+28112>>1]|0;K=D<<2&12|z&3;j=q[b+21780>>2];h=D>>2;C=z>>2;x=q[(w(u,40)+b|0)+25336>>2]+(w(j,h)+(C<>2];I=F<<4;A=q[a+27016>>2]<<4>>q[b+21828>>2];E=z&7;c=E?-3:0;f:{g:{if((C|0)<(0-c|0)){break g}J=D&7?-3:0;if((h|0)<(0-J|0)|(C+16|0)>(c+I|0)){break g}c=0;if((h+16|0)<=(A+J|0)){break f}}c=2<>2]](q[b+27792>>2],(x-c|0)-(j<<1)|0,j,j,21,21,C+ -2|0,h+ -2|0,I,A);j=q[b+21780>>2];x=(c+q[b+27792>>2]|0)+(j<<1)|0;c=1}H=j;j=(K<<2)+l|0;n[q[j>>2]](k,x,H);if(!d){n[q[j>>2]](f+k|0,f+x|0,q[b+21780>>2])}l=z>>3;x=l<>2];z=w(h,j);d=(x+q[f+25340>>2]|0)+z|0;x=z+(x+q[f+25344>>2]|0)|0;f=g;if(c){n[q[a+8>>2]](q[b+27792>>2],d,j,j,9,17,l,h,F<<3,A);j=q[b+21784>>2];d=q[b+27792>>2]}H=f;f=D<<1&6;n[m](H,d,j,e,E,f);d=g+(16<>2];n[q[a+8>>2]](q[b+27792>>2],x,c,c,9,17,l,h,F<<3,A);x=q[b+27792>>2]}n[m](j,x,q[b+21784>>2],e,E,f);if(q[b+880>>2]==2){a=q[(((w(v,384)+b|0)+(u<<3)|0)+((q[b+21792>>2]&1)<<2)|0)+3216>>2];c=64-a|0;n[G](t,k,q[b+21780>>2],e,5,a,c,0);n[y](B,g,q[b+21784>>2],e,5,a,c,0);n[y](i,d,q[b+21784>>2],e,5,a,c,0);return}a=b+912|0;c=a+(v<<4)|0;a=a+(u<<4)|0;n[G](t,k,q[b+21780>>2],e,q[b+888>>2],q[c>>2],q[a+8>>2],q[a+12>>2]+q[c+4>>2]|0);c=b+1680|0;a=c+(v<<5)|0;c=c+(u<<5)|0;n[y](B,g,q[b+21784>>2],e,q[b+892>>2],q[a>>2],q[c+16>>2],q[c+20>>2]+q[a+4>>2]|0);n[y](i,d,q[b+21784>>2],e,q[b+892>>2],q[a+8>>2],q[c+24>>2],q[c+28>>2]+q[a+12>>2]|0);return}u=(y|0)!=0;c=r[c+154208|0];k=(w(u,160)+b|0)+(c<<2)|0;x=p[k+27954>>1]+(j<<3)|0;y=p[k+27952>>1]+(g<<3)|0;I=x<<2&12|y&3;A=o[(c+(w(u,40)+b|0)|0)+28272|0];j=x>>2;g=y>>2;k=q[((w(u,1920)+b|0)+w(A,40)|0)+23416>>2]+(w(j,h)+(g<>2];G=z<<4;v=q[a+27016>>2]<<4>>C;C=y&7;c=C?-3:0;h:{i:{if((g|0)<(0-c|0)){break i}E=x&7?-3:0;if((j|0)<(0-E|0)|(g+16|0)>(c+G|0)){break i}c=0;if((j+16|0)<=(v+E|0)){break h}}c=2<>2]](q[b+27792>>2],(k-c|0)-(h<<1)|0,h,h,21,21,g+ -2|0,j+ -2|0,G,v);h=q[b+21780>>2];k=(c+q[b+27792>>2]|0)+(h<<1)|0;c=1}g=c;c=(I<<2)+l|0;n[q[c>>2]](t,k,h);if(!d){n[q[c>>2]](f+t|0,f+k|0,q[b+21780>>2])}f=y>>3;d=f<>2]|0;h=d+q[c+23420>>2]|0;c=q[b+21784>>2];d=w(j,c);h=h+d|0;if(g){n[q[a+8>>2]](q[b+27792>>2],h,c,c,9,17,f,j,z<<3,v);h=q[b+27792>>2];c=q[b+21784>>2]}d=d+k|0;k=h;h=x<<1&6;n[m](B,k,c,e,C,h);c=i;if(g){g=d;d=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],g,d,d,9,17,f,j,z<<3,v);d=q[b+27792>>2]}n[m](c,d,q[b+21784>>2],e,C,h);a=((A<<4)+b|0)+(u<<3)|0;n[F](t,q[b+21780>>2],e,q[b+888>>2],q[a+912>>2],q[a+916>>2]);if(!q[b+884>>2]){break a}a=((A<<5)+b|0)+(u<<4)|0;n[D](B,q[b+21784>>2],e,q[b+892>>2],q[a+1680>>2],q[a+1684>>2]);n[D](i,q[b+21784>>2],e,q[b+892>>2],q[a+1688>>2],q[a+1692>>2]);return}B=k<<1;v=q[a+25672>>2];u=w(B,q[b+21784>>2])+(j<>2];B=(w(B,h)+(j<<1<>2]<<3)+j|0;g=q[b+21828>>2];G=(A>>g<<3)+k|0;j:{if(!x){s=l;t=m;break j}k=r[c+154208|0];j=(k<<2)+b|0;D=p[j+27954>>1]+(G<<3)|0;j=p[j+27952>>1]+(C<<3)|0;K=D<<2&12|j&3;J=o[(b+k|0)+28272|0];x=D>>2;z=j>>2;k=q[(w(J,40)+b|0)+23416>>2]+(w(x,h)+(z<>2];I=F<<4;A=q[a+27016>>2]<<4>>g;E=j&7;g=E?-3:0;k:{l:{if((z|0)<(0-g|0)){break l}L=D&7?-3:0;if((x|0)<(0-L|0)|(z+16|0)>(g+I|0)){break l}g=0;if((x+16|0)<=(A+L|0)){break k}}g=2<>2]](q[b+27792>>2],(k-g|0)-(h<<1)|0,h,h,21,21,z+ -2|0,x+ -2|0,I,A);h=q[b+21780>>2];k=(g+q[b+27792>>2]|0)+(h<<1)|0;g=1}H=h;h=(K<<2)+l|0;n[q[h>>2]](B,k,H);if(!d){n[q[h>>2]](f+B|0,f+k|0,q[b+21780>>2])}l=j>>3;j=l<>2]|0;k=j+q[h+23420>>2]|0;h=q[b+21784>>2];j=w(x,h);k=k+j|0;if(g){n[q[a+8>>2]](q[b+27792>>2],k,h,h,9,17,l,x,F<<3,A);k=q[b+27792>>2];h=q[b+21784>>2]}j=j+z|0;H=k;k=D<<1&6;n[m](u,H,h,e,E,k);h=i;if(g){g=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],j,g,g,9,17,l,x,F<<3,A);j=q[b+27792>>2]}n[m](h,j,q[b+21784>>2],e,E,k)}if(!y){break a}c=r[c+154208|0];g=(c<<2)+b|0;l=p[g+28114>>1]+(G<<3)|0;m=p[g+28112>>1]+(C<<3)|0;z=l<<2&12|m&3;C=o[(b+c|0)+28312|0];j=q[b+21780>>2];g=l>>2;x=m>>2;h=q[(w(C,40)+b|0)+25336>>2]+(w(j,g)+(x<>2];A=y<<4;k=q[a+27016>>2]<<4>>q[b+21828>>2];D=m&7;c=D?-3:0;m:{n:{if((x|0)<(0-c|0)){break n}G=l&7?-3:0;if((g|0)<(0-G|0)|(x+16|0)>(c+A|0)){break n}c=0;if((g+16|0)<=(k+G|0)){break m}}c=2<>2]](q[b+27792>>2],(h-c|0)-(j<<1)|0,j,j,21,21,x+ -2|0,g+ -2|0,A,k);j=q[b+21780>>2];h=(c+q[b+27792>>2]|0)+(j<<1)|0;c=1}x=j;j=(z<<2)+s|0;n[q[j>>2]](B,h,x);if(!d){n[q[j>>2]](f+B|0,f+h|0,q[b+21780>>2])}j=q[b+21784>>2];s=w(g,j);h=m>>3;m=h<>2]|0)|0;f=s+(m+q[f+25344>>2]|0)|0;if(c){n[q[a+8>>2]](q[b+27792>>2],d,j,j,9,17,h,g,y<<3,k);j=q[b+21784>>2];d=q[b+27792>>2]}m=d;d=l<<1&6;n[t](u,m,j,e,D,d);if(c){c=q[b+21784>>2];n[q[a+8>>2]](q[b+27792>>2],f,c,c,9,17,h,g,y<<3,k);f=q[b+27792>>2]}n[t](i,f,q[b+21784>>2],e,D,d)}}function hB(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,y=0,z=0,A=0,B=0,C=0,D=0,E=x(0),F=0;h=Ca-304|0;Ca=h;e=r[b|0];a:{if(!e){break a}b:{while(1){c:{e=e&255;d:{if((e|0)==32|e+ -9>>>0<5){while(1){e=b;b=b+1|0;d=r[e+1|0];if((d|0)==32|d+ -9>>>0<5){continue}break}Nc(a,0,0);while(1){b=q[a+4>>2];e:{if(b>>>0>2]){q[a+4>>2]=b+1;b=r[b|0];break e}b=qb(a)}if((b|0)==32|b+ -9>>>0<5){continue}break}f:{if(!q[a+104>>2]){b=q[a+4>>2];break f}b=q[a+4>>2]+ -1|0;q[a+4>>2]=b}d=b-q[a+8>>2]|0;b=d;d=d>>31;f=b;i=j+q[a+124>>2]|0;b=l+q[a+120>>2]|0;if(b>>>0>>0){i=i+1|0}j=f+b|0;d=d+i|0;l=j;j=j>>>0>>0?d+1|0:d;break d}g:{h:{i:{e=r[b|0];if((e|0)==37){d=r[b+1|0];if((d|0)==42){break i}if((d|0)!=37){break h}}Nc(a,0,0);e=((e|0)==37)+b|0;b=q[a+4>>2];j:{if(b>>>0>2]){q[a+4>>2]=b+1;b=r[b|0];break j}b=qb(a)}if((b|0)!=r[e|0]){if(q[a+104>>2]){q[a+4>>2]=q[a+4>>2]+ -1}A=0;if((b|0)>=0){break a}break c}b=l+1|0;if(b>>>0<1){j=j+1|0}l=b;break d}i=0;e=b+2|0;break g}if(!(r[b+2|0]!=36|d+ -48>>>0>=10)){i=gB(c,r[b+1|0]+ -48|0);e=b+3|0;break g}i=q[c>>2];c=c+4|0;e=b+1|0}A=0;b=0;if(r[e|0]+ -48>>>0<10){while(1){b=(r[e|0]+w(b,10)|0)+ -48|0;d=r[e+1|0];e=e+1|0;if(d+ -48>>>0<10){continue}break}}d=e;g=r[d|0];k:{if((g|0)!=109){break k}m=0;A=(i|0)!=0;g=r[e+1|0];n=0;d=e+1|0}f=(g&255)+ -65|0;if(f>>>0>57){break c}e=d+1|0;g=3;l:{m:{switch(f-1|0){case 38:f=d+2|0;d=r[d+1|0]==104;e=d?f:e;g=d?-2:-1;break l;case 42:f=d+2|0;d=r[d+1|0]==108;e=d?f:e;g=d?3:1;break l;case 50:case 56:g=1;break l;case 10:g=2;break l;case 40:break l;case 0:case 2:case 6:case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:case 21:case 23:case 24:case 26:case 27:case 28:case 29:case 30:case 32:case 41:case 43:case 47:case 48:case 52:case 53:case 55:break c;default:break m}}g=0;e=d}f=r[e|0];d=(f&47)==3;z=d?1:g;s=d?f|32:f;n:{if((s|0)==91){break n}o:{if((s|0)!=110){if((s|0)!=99){break o}b=(b|0)>1?b:1;break n}nn(i,z,l,j);break d}Nc(a,0,0);while(1){d=q[a+4>>2];p:{if(d>>>0>2]){q[a+4>>2]=d+1;d=r[d|0];break p}d=qb(a)}if((d|0)==32|d+ -9>>>0<5){continue}break}q:{if(!q[a+104>>2]){d=q[a+4>>2];break q}d=q[a+4>>2]+ -1|0;q[a+4>>2]=d}f=d-q[a+8>>2]|0;d=f;f=d>>31;k=d;y=j+q[a+124>>2]|0;j=l+q[a+120>>2]|0;if(j>>>0>>0){y=y+1|0}d=j;l=k+d|0;j=f+y|0;j=l>>>0>>0?j+1|0:j}d=b>>31;C=d;y=b;Nc(a,b,d);f=q[a+4>>2];d=q[a+104>>2];r:{if(f>>>0>>0){q[a+4>>2]=f+1;break r}if((qb(a)|0)<0){break c}d=q[a+104>>2]}if(d){q[a+4>>2]=q[a+4>>2]+ -1}s:{t:{d=s+ -88|0;if(d>>>0>32){b=s+ -65|0;if(b>>>0>6|!(1<>2]-q[a+8>>2]|0;if(q[a+120>>2]==(0-d|0)&q[a+124>>2]==(0-((d>>31)+(0>>0)|0)|0)){break b}if(!(!i|(s|0)!=112)){q[i>>2]=y;break s}nn(i,z,y,f);break s}x:{if((s|16)==115){Za(h+32|0,-1,257);o[h+32|0]=0;if((s|0)!=115){break x}o[h+65|0]=0;o[h+46|0]=0;p[h+42>>1]=0;p[h+44>>1]=0;break x}k=r[e+1|0];f=(k|0)==94;Za(h+32|0,f,257);o[h+32|0]=0;d=f?e+2|0:e+1|0;y:{z:{A:{e=r[(f?2:1)+e|0];if((e|0)!=45){if((e|0)==93){break A}g=(k|0)!=94;break y}g=(k|0)!=94;o[h+78|0]=g;break z}g=(k|0)!=94;o[h+126|0]=g}d=d+1|0}e=d;while(1){d=r[e|0];B:{if((d|0)!=45){if(!d){break c}if((d|0)!=93){break B}break x}d=45;k=r[e+1|0];if(!k|(k|0)==93){break B}f=e+1|0;e=r[e+ -1|0];C:{if(e>>>0>=k>>>0){d=k;break C}while(1){e=e+1|0;o[e+(h+32|0)|0]=g;d=r[f|0];if(e>>>0>>0){continue}break}}e=f}o[(d+h|0)+33|0]=g;e=e+1|0;continue}}s=(s|0)==99;g=s?b+1|0:31;D:{E:{k=(z|0)!=1;F:{if(!k){d=i;if(A){d=Nb(g<<2);if(!d){break D}}q[h+296>>2]=0;q[h+300>>2]=0;b=0;while(1){n=d;G:{while(1){d=q[a+4>>2];H:{if(d>>>0>2]){q[a+4>>2]=d+1;d=r[d|0];break H}d=qb(a)}if(!r[(d+h|0)+33|0]){break G}o[h+27|0]=d;d=rB(h+28|0,h+27|0,h+296|0);if((d|0)==-2){continue}if((d|0)==-1){break E}if(n){q[(b<<2)+n>>2]=q[h+28>>2];b=b+1|0}if(!A|(b|0)!=(g|0)){continue}break}g=g<<1|1;d=Lj(n,g<<2);if(d){continue}break E}break}d=h+296|0;f=1;I:{if(!d){break I}f=!q[d>>2]}if(!f){break E}m=0;break F}if(A){b=0;d=Nb(g);if(!d){break D}while(1){m=d;while(1){d=q[a+4>>2];J:{if(d>>>0>2]){q[a+4>>2]=d+1;d=r[d|0];break J}d=qb(a)}if(!r[(d+h|0)+33|0]){n=0;break F}o[b+m|0]=d;b=b+1|0;if((g|0)!=(b|0)){continue}break}n=0;g=g<<1|1;d=Lj(m,g);if(d){continue}break}break c}b=0;if(i){while(1){d=q[a+4>>2];K:{if(d>>>0>2]){q[a+4>>2]=d+1;d=r[d|0];break K}d=qb(a)}if(r[(d+h|0)+33|0]){o[b+i|0]=d;b=b+1|0;continue}else{n=0;m=i;break F}}}while(1){b=q[a+4>>2];L:{if(b>>>0>2]){q[a+4>>2]=b+1;b=r[b|0];break L}b=qb(a)}if(r[(b+h|0)+33|0]){continue}break}m=0;n=0;b=0}M:{if(!q[a+104>>2]){d=q[a+4>>2];break M}d=q[a+4>>2]+ -1|0;q[a+4>>2]=d}d=d-q[a+8>>2]|0;f=d;z=d+q[a+120>>2]|0;d=q[a+124>>2]+(d>>31)|0;d=z>>>0>>0?d+1|0:d;if(!(d|z)|(s?(y|0)!=(z|0)|(d|0)!=(C|0):0)){break b}N:{if(!A){break N}if(!k){q[i>>2]=n;break N}q[i>>2]=m}if(s){break s}if(n){q[(b<<2)+n>>2]=0}if(!m){m=0;break s}o[b+m|0]=0;break s}m=0;break c}m=0;n=0;break c}pn(h,a,z,0);d=q[a+4>>2]-q[a+8>>2]|0;if(q[a+120>>2]==(0-d|0)&q[a+124>>2]==(0-((d>>31)+(0>>0)|0)|0)){break b}if(!i|z>>>0>2){break s}y=q[h+8>>2];f=q[h+12>>2];d=q[h>>2];b=q[h+4>>2];O:{switch(z-1|0){default:D=i,E=LA(d,b,y,f),u[D>>2]=E;break s;case 0:D=i,F=Di(d,b,y,f),v[D>>3]=F;break s;case 1:break O}}q[i>>2]=d;q[i+4>>2]=b;q[i+8>>2]=y;q[i+12>>2]=f}d=q[a+4>>2]-q[a+8>>2]|0;b=d;d=d>>31;f=b;j=j+q[a+124>>2]|0;b=l+q[a+120>>2]|0;if(b>>>0>>0){j=j+1|0}l=f+b|0;j=d+j|0;j=l>>>0>>0?j+1|0:j;B=((i|0)!=0)+B|0}b=e+1|0;e=r[e+1|0];if(e){continue}break a}break}B=B?B:-1}if(!A){break a}Ya(m);Ya(n)}Ca=h+304|0;return B}function xE(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;l=Ca-32|0;Ca=l;k=q[b+21796>>2];C=q[a+26376>>2];i=q[c>>2];z=i&64;u=61440;while(1){if((d|0)!=2){e=w(d,40)+b|0;h=o[e+28276|0];m=o[e+28283|0];g=w(d,160)+b|0;f=r[e+28280|0];j=g+27984|0;a:{if((f|0)!=254){break a}f=r[e+28275|0];j=g+27964|0}e=d<<2;x=e+(l+16|0)|0;y=f<<24>>24;n=m>>>0>h>>>0?h:m;f=n>>>0>y>>>0?y:n;q[x>>2]=f;b:{if((f|0)>=0){x=g+27968|0;A=g+27996|0;if((((f|0)==(h|0))+(n>>>0>=y>>>0)|0)+((f|0)==(m|0))>>>0>=2){N=e+(l+8|0)|0,O=ob(p[A>>1],p[x>>1],p[j>>1])&65535|ob(p[g+27998>>1],p[g+27970>>1],p[j+2>>1])<<16,q[N>>2]=O;break b}if((f|0)==(m|0)){q[e+(l+8|0)>>2]=q[A>>2];break b}if((f|0)==(h|0)){q[e+(l+8|0)>>2]=q[x>>2];break b}q[e+(l+8|0)>>2]=q[j>>2];break b}q[e+(l+8|0)>>2]=0;q[x>>2]=-1;f=12288<<(d<<1)^-1;if(!z){i=f&i;q[c>>2]=i}u=f&u}d=d+1|0;continue}break}m=q[l+16>>2];if(!((m|0)>-1|q[l+20>>2]>-1)){q[l+16>>2]=0;q[l+20>>2]=0;if(!z){i=i|61440;q[c>>2]=i}m=0;u=u|61440}f=q[l+12>>2];j=q[l+8>>2];c:{if(!(f|(z|j))){a=w(m&255,16843009);q[b+28308>>2]=a;q[b+28300>>2]=a;q[b+28292>>2]=a;q[b+28284>>2]=a;a=r[l+20|0];d=b+28e3|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28008|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28032|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28040|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28064|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28072|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28096|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28104|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28160|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28168|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28192|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28200|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28232|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28224|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28264|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28256|0;q[d>>2]=0;q[d+4>>2]=0;a=w(a,16843009);q[b+28348>>2]=a;q[b+28340>>2]=a;q[b+28332>>2]=a;q[b+28324>>2]=a;q[c>>2]=q[c>>2]&-41337|264;break c}B=2;d=i&128;e=c;d:{e:{f:{g:{y=q[b+25372>>2];g=q[y+48>>2];if(r[g+(k<<2)|0]&128){if(d){break g}k=q[b+21788>>2];B=0;d=q[b+21848>>2]+(q[b+21792>>2]&-2)|0;break f}if(!d){break e}n=q[a+27024>>2];k=q[b+21788>>2]+w(n,q[b+21792>>2]&-2)|0;d=q[g+(k<<2)>>2];q[l+24>>2]=d;h=q[g+(k+n<<2)>>2];q[l+28>>2]=h;if((d^h)&128){h=h&-129;q[l+28>>2]=h;d=d&-129;q[l+24>>2]=d}C=w(C,6);B=n<<2|2;n=u|264;if(!(!(h&15)|(z|!(d&15)))){g=i|272;break d}g=i|64;break d}d=q[b+21852>>2]}k=w(d,q[a+27024>>2])+k|0}d=q[g+(k<<2)>>2];q[l+24>>2]=d;q[l+28>>2]=d;n=u|264;g=i|264;if(!(!(d&15)|z)){break d}h:{if(z){break h}g=d&48;if(!g){break h}g=i|g|256;break d}n=q[q[a+28224>>2]+72>>2]?n:n+56|0;g=i|64}q[e>>2]=g;e=k<<2;E=e+q[y+72>>2]|0;h=q[e+q[a+26368>>2]>>2]<<2;x=h+q[y+40>>2]|0;F=e+q[y+68>>2]|0;A=h+q[y+36>>2]|0;if(!(!(o[b+21792|0]&1)|B)){E=E+2|0;F=F+2|0;e=C<<3;x=e+x|0;A=e+A|0}if((d^g)&128){h=0;a=q[l+20>>2];g=(a|0)>0?f:0;e=(m|0)>0?j:0;k=w(a&255,257);m=w(m&255,257);u=0;while(1){i:{j:{k:{if((h|0)!=4){if(o[((h<<1)+b|0)+28553|0]&1?0:z){break i}p[((h<<1)+b|0)+28552>>1]=n;i=r[(h<<2)+154144|0];a=i+b|0;p[a+28312>>1]=k;p[a+28280>>1]=m;p[a+28272>>1]=m;p[a+28320>>1]=k;a=h>>>1|0;if(q[y+100>>2]|r[(l+24|0)+(a<<2)|0]&7){break k}v=h&1;d=w(v,3)+w(a,C)|0;a=v+w(a,B)|0;v=o[a+F|0];l:{if(!v){d=(d<<2)+A|0;v=p[d>>1];a=v>>31;if((a^a+v)>1){break k}d=p[d+2>>1];a=d>>31;if((a^a+d)>=2){break k}break l}if(r[a+E|0]|(v|0)>-1){break k}d=(d<<2)+x|0;v=p[d>>1];a=v>>31;if((a^a+v)>1){break k}d=p[d+2>>1];a=d>>31;if((a^a+d)>1){break k}}u=u+1|0;d=g;a=e;break j}if(u&3|z){break c}q[c>>2]=q[c>>2]&-41337|264;break c}d=f;a=j}i=(i<<2)+b|0;q[i+28112>>2]=d;q[i+27988>>2]=a;q[i+27984>>2]=a;q[i+27956>>2]=a;q[i+27952>>2]=a;q[i+28144>>2]=d;q[i+28116>>2]=d;q[i+28148>>2]=d}h=h+1|0;continue}}if(!(g&8)){J=n&8;K=d&7;u=q[l+20>>2];B=w(u&255,257);v=w(m&255,257);h=0;i=0;while(1){if((h|0)!=4){m:{if(o[((h<<1)+b|0)+28553|0]&1?0:z){break m}D=((h<<1)+b|0)+28552|0;p[D>>1]=n;H=h<<2;k=r[H+154144|0];e=(k<<2)+b|0;g=e+28112|0;q[g>>2]=f;q[e+27988>>2]=j;q[e+27984>>2]=j;q[e+27956>>2]=j;d=e+27952|0;q[d>>2]=j;q[e+28148>>2]=f;q[e+28144>>2]=f;q[e+28116>>2]=f;e=b+k|0;p[e+28280>>1]=v;p[e+28320>>1]=B;p[e+28272>>1]=v;p[e+28312>>1]=B;if(q[y+100>>2]|K){break m}e=o[h+F|0];if(e){if(r[h+E|0]|(e|0)>-1|t[a+25712>>2]<34){break m}}k=h&1;e=e?x:A;n:{if(!J){L=h&2147483646;M=k<<1;d=0;k=0;while(1){if((d|0)==4){break n}G=(w(L+(d>>>1|0)|0,C)+(M|d&1)<<2)+e|0;I=p[G>>1];g=I>>31;o:{if((g^g+I)>1){break o}G=p[G+2>>1];g=G>>31;if((g^g+G)>1){break o}if(!m){q[((r[(d+H|0)+154144|0]<<2)+b|0)+27952>>2]=0}if(!u){q[((r[(d+H|0)+154144|0]<<2)+b|0)+28112>>2]=0}k=k+1|0}d=d+1|0;continue}}k=(w(k+w(h>>>1|0,C)|0,3)<<2)+e|0;D=p[k>>1];e=D>>31;if((e^e+D)>1){break m}k=p[k+2>>1];e=k>>31;if((e^e+k)>1){break m}if(!m){q[d+32>>2]=0;q[d+36>>2]=0;q[d>>2]=0;q[d+4>>2]=0}if(!u){d=g;q[d+32>>2]=0;q[d+36>>2]=0;q[d>>2]=0;q[d+4>>2]=0}i=i+4|0;break m}if(!(k&3)){p[D>>1]=s[D>>1]+ -56}i=i+k|0}h=h+1|0;continue}break}if(i&15|z){break c}q[c>>2]=q[c>>2]&-41337|264;break c}c=w(m&255,16843009);q[b+28308>>2]=c;q[b+28300>>2]=c;q[b+28292>>2]=c;q[b+28284>>2]=c;g=q[l+20>>2];c=w(g&255,16843009);q[b+28348>>2]=c;q[b+28340>>2]=c;q[b+28332>>2]=c;q[b+28324>>2]=c;p:{if(q[y+100>>2]|d&7){break p}c=o[F|0];q:{if(!c){c=p[A>>1];a=c>>31;if((a^a+c)>1){break p}c=p[A+2>>1];a=c>>31;if((a^a+c)<2){break q}break p}if(r[E|0]|(c|0)>-1){break p}d=p[x>>1];c=d>>31;if((c^c+d)>1){break p}d=p[x+2>>1];c=d>>31;if(t[a+25712>>2]<34|(c^c+d)>1){break p}}f=(g|0)>0?f:0;j=(m|0)>0?j:0}q[b+28268>>2]=f;q[b+28264>>2]=f;q[b+28260>>2]=f;q[b+28256>>2]=f;q[b+28236>>2]=f;q[b+28232>>2]=f;q[b+28228>>2]=f;q[b+28224>>2]=f;q[b+28204>>2]=f;q[b+28200>>2]=f;q[b+28196>>2]=f;q[b+28192>>2]=f;q[b+28172>>2]=f;q[b+28168>>2]=f;q[b+28164>>2]=f;q[b+28160>>2]=f;q[b+28108>>2]=j;q[b+28104>>2]=j;q[b+28100>>2]=j;q[b+28096>>2]=j;q[b+28076>>2]=j;q[b+28072>>2]=j;q[b+28068>>2]=j;q[b+28064>>2]=j;q[b+28044>>2]=j;q[b+28040>>2]=j;q[b+28036>>2]=j;q[b+28032>>2]=j;q[b+28012>>2]=j;q[b+28008>>2]=j;q[b+28004>>2]=j;q[b+28e3>>2]=j}Ca=l+32|0}function mB(a,b,c,d,f,g){a=a|0;b=+b;c=c|0;d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;m=Ca-560|0;Ca=m;q[m+44>>2]=0;h(+b);i=e(1)|0;a:{if(G=1,H=(J=e(0)>>>0>4294967295?0:1,K=0,L=(i|0)<=-1,L?J:K),I=(i|0)<-1,I?G:H){D=1;b=-b;h(+b);i=e(1)|0;e(0)|0;E=200032;break a}if(f&2048){D=1;E=200035;break a}D=f&1;E=D?200038:200033}b:{if((i&2146435072)==2146435072){p=D+3|0;nc(a,32,c,p,f&-65537);Lb(a,E,D);d=g>>>5&1;Lb(a,b!=b?d?200059:200063:d?200051:200055,3);break b}A=m+16|0;c:{d:{e:{b=bk(b,m+44|0);b=b+b;if(b!=0){i=q[m+44>>2];q[m+44>>2]=i+ -1;z=g|32;if((z|0)!=97){break e}break c}z=g|32;if((z|0)==97){break c}l=q[m+44>>2];n=(d|0)<0?6:d;break d}l=i+ -29|0;q[m+44>>2]=l;b=b*268435456;n=(d|0)<0?6:d}t=(l|0)<0?m+48|0:m+336|0;k=t;while(1){d=k;if(b<4294967296&b>=0){i=~~b>>>0}else{i=0}q[d>>2]=i;k=k+4|0;b=(b- +(i>>>0))*1e9;if(b!=0){continue}break}f:{if((l|0)<1){i=k;j=t;break f}j=t;while(1){x=(l|0)<29?l:29;i=k+ -4|0;g:{if(i>>>0>>0){break g}d=x;u=0;while(1){v=i;p=0;F=u;u=q[i>>2];s=d&31;if(32<=(d&63)>>>0){l=u<>>32-s;s=u<>>0>>0?p+1|0:p;s=u;u=bS(s,p,1e9,0);F=v;v=$R(u,Da,1e9,0);q[F>>2]=s-v;i=i+ -4|0;if(i>>>0>=j>>>0){continue}break}d=u;if(!d){break g}j=j+ -4|0;q[j>>2]=d}while(1){i=k;if(i>>>0>j>>>0){k=i+ -4|0;if(!q[k>>2]){continue}}break}l=q[m+44>>2]-x|0;q[m+44>>2]=l;k=i;if((l|0)>0){continue}break}}if((l|0)<=-1){B=((n+25|0)/9|0)+1|0;x=(z|0)==102;while(1){u=(l|0)<-9?9:0-l|0;h:{if(j>>>0>=i>>>0){j=q[j>>2]?j:j+4|0;break h}v=1e9>>>u|0;s=-1<>2];q[k>>2]=(d>>>u|0)+l;l=w(v,d&s);k=k+4|0;if(k>>>0>>0){continue}break}j=q[j>>2]?j:j+4|0;if(!l){break h}q[i>>2]=l;i=i+4|0}l=u+q[m+44>>2]|0;q[m+44>>2]=l;d=x?t:j;i=i-d>>2>(B|0)?d+(B<<2)|0:i;if((l|0)<0){continue}break}}k=0;i:{if(j>>>0>=i>>>0){break i}k=w(t-j>>2,9);l=10;d=q[j>>2];if(d>>>0<10){break i}while(1){k=k+1|0;l=w(l,10);if(d>>>0>=l>>>0){continue}break}}d=(n-((z|0)==102?0:k)|0)-((z|0)==103&(n|0)!=0)|0;if((d|0)<(w(i-t>>2,9)+ -9|0)){s=d+9216|0;d=(s|0)/9|0;p=(t+(d<<2)|0)+ -4092|0;l=10;d=s-w(d,9)|0;if((d|0)<=7){while(1){l=w(l,10);d=d+1|0;if((d|0)!=8){continue}break}}v=q[p>>2];s=(v>>>0)/(l>>>0)|0;B=p+4|0;x=v-w(l,s)|0;j:{if(x?0:(B|0)==(i|0)){break j}d=l>>>1|0;C=x>>>0>>0?.5:(i|0)==(B|0)?(d|0)==(x|0)?1:1.5:1.5;b=s&1?9007199254740994:9007199254740992;if(!(!D|r[E|0]!=45)){C=-C;b=-b}d=v-x|0;q[p>>2]=d;if(b+C==b){break j}d=d+l|0;q[p>>2]=d;if(d>>>0>=1e9){while(1){q[p>>2]=0;p=p+ -4|0;if(p>>>0>>0){j=j+ -4|0;q[j>>2]=0}d=q[p>>2]+1|0;q[p>>2]=d;if(d>>>0>999999999){continue}break}}k=w(t-j>>2,9);l=10;d=q[j>>2];if(d>>>0<10){break j}while(1){k=k+1|0;l=w(l,10);if(d>>>0>=l>>>0){continue}break}}d=p+4|0;i=i>>>0>d>>>0?d:i}k:{while(1){x=i;v=0;if(i>>>0<=j>>>0){break k}i=x+ -4|0;if(!q[i>>2]){continue}break}v=1}l:{if((z|0)!=103){z=f&8;break l}i=n?n:1;d=(i|0)>(k|0)&(k|0)>-5;n=(d?k^-1:-1)+i|0;g=(d?-1:-2)+g|0;z=f&8;if(z){break l}i=9;m:{if(!v){break m}s=q[x+ -4>>2];if(!s){break m}d=10;i=0;if((s>>>0)%10){break m}while(1){i=i+1|0;d=w(d,10);if(!((s>>>0)%(d>>>0))){continue}break}}d=w(x-t>>2,9)+ -9|0;if((g|32)==102){z=0;d=d-i|0;d=(d|0)>0?d:0;n=(n|0)<(d|0)?n:d;break l}z=0;d=(d+k|0)-i|0;d=(d|0)>0?d:0;n=(n|0)<(d|0)?n:d}l=n|z;p=(l|0)!=0;d=a;s=c;u=g|32;i=(k|0)>0?k:0;n:{if((u|0)==102){break n}i=k>>31;i=Te(i+k^i,0,A);if((A-i|0)<=1){while(1){i=i+ -1|0;o[i|0]=48;if((A-i|0)<2){continue}break}}B=i+ -2|0;o[B|0]=g;o[i+ -1|0]=(k|0)<0?45:43;i=A-B|0}p=(i+(p+(n+D|0)|0)|0)+1|0;nc(d,32,s,p,f);Lb(a,E,D);nc(a,48,c,p,f^65536);o:{p:{q:{if((u|0)==102){d=m+16|8;k=m+16|9;g=j>>>0>t>>>0?t:j;j=g;while(1){i=Te(q[j>>2],0,k);r:{if((g|0)!=(j|0)){if(i>>>0<=m+16>>>0){break r}while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}break r}if((i|0)!=(k|0)){break r}o[m+24|0]=48;i=d}Lb(a,i,k-i|0);j=j+4|0;if(j>>>0<=t>>>0){continue}break}if(l){Lb(a,200067,1)}if((n|0)<1|j>>>0>=x>>>0){break q}while(1){i=Te(q[j>>2],0,k);if(i>>>0>m+16>>>0){while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}}Lb(a,i,(n|0)<9?n:9);i=n+ -9|0;j=j+4|0;if(j>>>0>=x>>>0){break p}d=(n|0)>9;n=i;if(d){continue}break}break p}s:{if((n|0)<0){break s}g=v?x:j+4|0;d=m+16|8;t=m+16|9;k=j;while(1){i=Te(q[k>>2],0,t);if((t|0)==(i|0)){o[m+24|0]=48;i=d}t:{if((j|0)!=(k|0)){if(i>>>0<=m+16>>>0){break t}while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}break t}Lb(a,i,1);i=i+1|0;if((n|0)<1?!z:0){break t}Lb(a,200067,1)}u=i;i=t-i|0;Lb(a,u,(n|0)>(i|0)?i:n);n=n-i|0;k=k+4|0;if(k>>>0>=g>>>0){break s}if((n|0)>-1){continue}break}}nc(a,48,n+18|0,18,0);Lb(a,B,A-B|0);break o}i=n}nc(a,48,i+9|0,9,0)}break b}t=g&32;s=t?E+9|0:E;u:{if(d>>>0>11){break u}i=12-d|0;if(!i){break u}C=8;while(1){C=C*16;i=i+ -1|0;if(i){continue}break}if(r[s|0]==45){b=-(C+(-b-C));break u}b=b+C-C}i=q[m+44>>2];k=i>>31;i=Te(k^i+k,0,A);if((A|0)==(i|0)){o[m+15|0]=48;i=m+15|0}n=D|2;k=q[m+44>>2];v=i+ -2|0;o[v|0]=g+15;o[i+ -1|0]=(k|0)<0?45:43;i=f&8;j=m+16|0;while(1){g=j;u=t;if(y(b)<2147483648){k=~~b}else{k=-2147483648}o[j|0]=u|r[k+200016|0];b=(b- +(k|0))*16;j=g+1|0;if(!((j-(m+16|0)|0)!=1|(b==0?!((d|0)>0|i):0))){o[g+1|0]=46;j=g+2|0}if(b!=0){continue}break}g=a;i=c;if(!d|((j-m|0)+ -18|0)>=(d|0)){t=((A-(m+16|0)|0)-v|0)+j|0}else{t=((d+A|0)-v|0)+2|0}p=t+n|0;nc(g,32,i,p,f);Lb(a,s,n);nc(a,48,c,p,f^65536);d=j-(m+16|0)|0;Lb(a,m+16|0,d);g=d;d=A-v|0;nc(a,48,t-(g+d|0)|0,0,0);Lb(a,v,d)}nc(a,32,c,p,f^8192);Ca=m+560|0;return((p|0)<(c|0)?c:p)|0}function Uw(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,o=0,t=0,v=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=x(0),J=0,K=x(0),L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=x(0),T=0,U=0,V=0,W=0,X=0,Y=x(0);l=q[g+92>>2];v=1024/(l|0)|0;O=q[g+80>>2];a:{while(1){if((i|0)>=(l|0)){b:{P=b;c:while(1){if((Q|0)>=q[g+16>>2]){break b}H=r[(g+Q|0)+20|0];L=0;while(1){d:{e:{if(L>>>0>1];D=s[(L<<1)+O>>1]-l|0;v=(l<<2)+P|0;j=T<<2;l=q[j+h>>2]+ -1|0;if(l>>>0>=13){l=D<<2;i=0;while(1){if((i|0)==(H|0)){break d}v=Za(v,0,l)+512|0;i=i+1|0;continue}}if((l|0)==12){l=0;m=(D|0)>0?D:0;j=d+j|0;while(1){i=0;if((l|0)==(H|0)){break d}while(1){if((i|0)!=(m|0)){k=w(q[a+5408>>2],1664525)+1013904223|0;q[a+5408>>2]=k;u[(i<<2)+v>>2]=k|0;i=i+1|0;continue}break}I=x(n[q[q[a+5404>>2]+36>>2]](v,v,D));n[q[q[a+5404>>2]+12>>2]](v,v,x(u[j>>2]/x(E(I))),D);v=v+512|0;l=l+1|0;continue}}G=q[(l<<4)+2318100>>2];i=l<<2;M=q[i+111696>>2];N=q[i+110224>>2];A=q[c+16>>2];i=q[c+8>>2];l=l>>>1|0;if(l>>>0<=4){f:{switch(l-1|0){default:B=d+j|0;m=0;while(1){j=D;l=v;if((m|0)==(H|0)){break e}while(1){C=q[c>>2];k=C+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>22&1020)+G|0;o=p[k>>1];t=p[k+2>>1];if((t|0)<=-1){i=i+8|0;i=A>>>0>i>>>0?i:A;k=C+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=(((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>t+32|0)+o<<2)+G|0;t=p[k+2>>1];o=p[k>>1]}i=i+t|0;i=A>>>0>i>>>0?i:A;l=Jw(l,N,s[(o<<1)+M>>1],B);j=j+ -4|0;if(j){continue}break}v=v+512|0;m=m+1|0;continue};case 0:C=d+j|0;k=0;while(1){l=D;m=v;if((k|0)==(H|0)){break e}while(1){z=q[c>>2];j=z+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=(j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7);o=(j>>>22&1020)+G|0;t=p[o>>1];B=M;o=p[o+2>>1];if((o|0)<=-1){j=i+8|0;i=A>>>0>j>>>0?j:A;j=z+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=(j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7);t=(t+(j>>>o+32|0)<<2)+G|0;o=p[t+2>>1];t=p[t>>1]}t=s[(t<<1)+B>>1];B=t>>>8&15;i=i+o|0;i=B+(A>>>0>i>>>0?i:A)|0;i=A>>>0>i>>>0?i:A;m=Iw(m,N,t,B?j<>2];k=C+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>22&1020)+G|0;o=p[k>>1];t=p[k+2>>1];if((t|0)<=-1){i=i+8|0;i=A>>>0>i>>>0?i:A;k=C+(i>>>3|0)|0;k=r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24);k=(((k<<24|k<<8&16711680|(k>>>8&65280|k>>>24))<<(i&7)>>>t+32|0)+o<<2)+G|0;t=p[k+2>>1];o=p[k>>1]}i=i+t|0;i=A>>>0>i>>>0?i:A;j=Hw(j,N,s[(o<<1)+M>>1],B);l=l+ -2|0;if(l){continue}break}v=v+512|0;m=m+1|0;continue};case 2:case 3:break f}}C=d+j|0;k=0;while(1){j=v;l=D;if((k|0)==(H|0)){break e}while(1){B=q[c>>2];m=B+(i>>>3|0)|0;m=r[m|0]|r[m+1|0]<<8|(r[m+2|0]<<16|r[m+3|0]<<24);m=(m<<24|m<<8&16711680|(m>>>8&65280|m>>>24))<<(i&7);o=(m>>>22&1020)+G|0;t=p[o>>1];o=p[o+2>>1];if((o|0)<=-1){i=i+8|0;i=A>>>0>i>>>0?i:A;m=B+(i>>>3|0)|0;m=r[m|0]|r[m+1|0]<<8|(r[m+2|0]<<16|r[m+3|0]<<24);m=(m<<24|m<<8&16711680|(m>>>8&65280|m>>>24))<<(i&7);t=((m>>>o+32|0)+t<<2)+G|0;o=p[t+2>>1];t=p[t>>1]}i=i+o|0;z=A>>>0>i>>>0?i:A;t=s[(t<<1)+M>>1];i=t>>>8&15;B=0;g:{if(!i){break g}B=m<>>32-i<<(t>>>12)}i=i+z|0;i=A>>>0>i>>>0?i:A;j=Gw(j,N,t,B,C);l=l+ -2|0;if(l){continue}break}v=v+512|0;k=k+1|0;continue}}U=d+j|0;B=0;while(1){if((B|0)==(H|0)){break e}C=q[c>>2];l=v;k=D;while(1){j=C+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=(j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7);m=(j>>>22&1020)+G|0;o=p[m>>1];t=p[m+2>>1];if((t|0)<=-1){j=i+8|0;i=A>>>0>j>>>0?j:A;j=C+(i>>>3|0)|0;j=r[j|0]|r[j+1|0]<<8|(r[j+2|0]<<16|r[j+3|0]<<24);j=(j<<24|j<<8&16711680|(j>>>8&65280|j>>>24))<<(i&7);m=((j>>>t+32|0)+o<<2)+G|0;t=p[m+2>>1];o=p[m>>1]}i=i+t|0;i=A>>>0>i>>>0?i:A;h:{if(!o){q[l>>2]=0;q[l+4>>2]=0;break h}m=s[(o<<1)+M>>1];o=m>>>12|0;i=o+i|0;i=A>>>0>i>>>0?i:A;t=-1<<32-o&j<>>8|0;o=0;j=l;while(1){if((o|0)==2){break h}i:{j:{if(V>>>o&1){z=C+(i>>>3|0)|0;z=r[z|0]|r[z+1|0]<<8|(r[z+2|0]<<16|r[z+3|0]<<24);J=(z<<24|z<<8&16711680|(z>>>8&65280|z>>>24))<<(i&7);z=J>>>0<4294901760;F=z<<4;W=F|8;R=F;F=J^-1;z=z?F>>>16|0:F;F=z&65280;z=(F?W:R)+r[(F?z>>>8|0:z)+47648|0]|0;if(31-z>>>0>8){break i}F=35-z|0;R=J;J=32-z|0;q[j>>2]=q[((1<>>z+ -3|0)<<2)+2498448>>2]|t&-2147483648;i=i+J|0;i=F+(A>>>0>i>>>0?i:A)|0;i=A>>>0>i>>>0?i:A;z=1;break j}z=q[((m&15)<<2)+N>>2];q[j>>2]=z|t&-2147483648;z=(z|0)!=0}o=o+1|0;m=m>>>4|0;j=j+4|0;t=t<>2],16,42640,0);o=-1094995529;break a}l=l+8|0;k=k+ -2|0;if(k){continue}break}n[q[q[a+5404>>2]+12>>2]](v,v,u[U>>2],D);v=v+512|0;B=B+1|0;continue}}Q=Q+1|0;P=(H<<9)+P|0;continue c}q[c+8>>2]=i}T=T+1|0;continue}}}}else{l=s[(r[g|0]<<1)+O>>1];Za(((i<<9)+b|0)+(l<<2)|0,0,v-l<<2);i=i+1|0;l=q[g+92>>2];continue}break}if(!e){return 0}o=0;a=q[f>>2];a=(a|0)>0?a:0;l=0;v=0;while(1){if((a|0)==(v|0)){break a}c=(v<<2)+f|0;e=q[c+8>>2];g=(e<<2)+b|0;K=u[g>>2];i=l;while(1){l=i;i=i+1|0;if((e|0)>=s[(i<<1)+O>>1]){continue}break}e=l<<2;k:{if(q[e+h>>2]==13){break k}S=u[d+e>>2];if(S==x(0)){break k}I=x(0-q[c+24>>2]|0);if(K!=x(0)){K=x(K/S);I=x(x(K/x(E(x(E(x(y(K)))))))+(K>x(0)?x(-I):I))}X=g,Y=x(S*x(I*yB(x(y(I))))),u[X>>2]=Y}v=v+1|0;continue}}return o}function dQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;b=b+ -9|0;a:{if(b>>>0>5){c=711;d=712;e=713;f=714;g=715;h=716;i=717;j=718;k=719;l=720;m=721;n=722;o=723;p=724;r=725;s=726;t=727;u=728;v=729;w=730;x=731;y=732;z=733;A=734;B=735;C=736;D=737;E=738;F=739;G=740;H=741;I=742;J=743;K=744;L=745;M=746;N=747;O=748;P=749;Q=750;R=751;S=752;T=753;U=754;V=755;W=756;X=757;Y=758;Z=759;_=760;$=761;aa=762;ba=763;ca=764;da=765;ea=766;fa=767;ga=768;ha=769;ia=770;ja=771;ka=772;la=773;ma=774;na=775;oa=776;pa=777;qa=778;ra=779;sa=780;ta=781;ua=782;va=783;wa=784;xa=785;ya=786;za=787;Aa=788;Ba=789;Ca=790;Da=791;Ea=792;Fa=793;Ga=794;Ha=795;Ia=796;Ja=797;Ka=798;La=799;Ma=800;Na=801;Oa=802;Pa=803;Qa=804;Ra=805;Sa=806;Ta=807;Ua=808;Va=809;Wa=810;Xa=811;Ya=812;Za=813;_a=814;$a=815;ab=816;bb=817;cb=818;db=819;eb=820;fb=821;b=822;break a}b=b<<2;c=q[b+156996>>2];d=q[b+156972>>2];e=q[b+156948>>2];f=q[b+156924>>2];g=q[b+156900>>2];h=q[b+156876>>2];i=q[b+156852>>2];j=q[b+156828>>2];k=q[b+156804>>2];l=q[b+156780>>2];m=q[b+156756>>2];n=q[b+156732>>2];o=q[b+156708>>2];p=q[b+156684>>2];r=q[b+156660>>2];s=q[b+156636>>2];t=q[b+156612>>2];u=q[b+156588>>2];v=q[b+156564>>2];w=q[b+156540>>2];x=q[b+156516>>2];y=q[b+156492>>2];z=q[b+156468>>2];A=q[b+156444>>2];B=q[b+156420>>2];C=q[b+156396>>2];D=q[b+156372>>2];E=q[b+156348>>2];F=q[b+156324>>2];G=q[b+156300>>2];H=q[b+156276>>2];I=q[b+156252>>2];J=q[b+156228>>2];K=q[b+156204>>2];L=q[b+156180>>2];M=q[b+156156>>2];N=q[b+156132>>2];O=q[b+156108>>2];P=q[b+156084>>2];Q=q[b+156060>>2];R=q[b+156036>>2];S=q[b+156012>>2];T=q[b+155988>>2];U=q[b+155964>>2];V=q[b+155940>>2];W=q[b+155916>>2];X=q[b+155892>>2];Y=q[b+155868>>2];Z=q[b+155844>>2];_=q[b+155820>>2];$=q[b+155796>>2];aa=q[b+155772>>2];ba=q[b+155748>>2];ca=q[b+155724>>2];da=q[b+155700>>2];ea=q[b+155676>>2];fa=q[b+155652>>2];ga=q[b+155628>>2];ha=q[b+155604>>2];ia=q[b+155580>>2];ja=q[b+155556>>2];ka=q[b+155532>>2];la=q[b+155508>>2];ma=q[b+155484>>2];na=q[b+155460>>2];oa=q[b+155436>>2];pa=q[b+155412>>2];qa=q[b+155388>>2];ra=q[b+155364>>2];sa=q[b+155340>>2];ta=q[b+155316>>2];ua=q[b+155292>>2];va=q[b+155268>>2];wa=q[b+155244>>2];xa=q[b+155220>>2];ya=q[b+155196>>2];za=q[b+155172>>2];Aa=q[b+155148>>2];Ba=q[b+155124>>2];Ca=q[b+155100>>2];Da=q[b+155076>>2];Ea=q[b+155052>>2];Fa=q[b+155028>>2];Ga=q[b+155004>>2];Ha=q[b+154980>>2];Ia=q[b+154956>>2];Ja=q[b+154932>>2];Ka=q[b+154908>>2];La=q[b+154884>>2];Ma=q[b+154860>>2];Na=q[b+154836>>2];Oa=q[b+154812>>2];Pa=q[b+154788>>2];Qa=q[b+154764>>2];Ra=q[b+154740>>2];Sa=q[b+154716>>2];Ta=q[b+154692>>2];Ua=q[b+154668>>2];Va=q[b+154644>>2];Wa=q[b+154620>>2];Xa=q[b+154596>>2];Ya=q[b+154572>>2];Za=q[b+154548>>2];_a=q[b+154524>>2];$a=q[b+154500>>2];ab=q[b+154476>>2];bb=q[b+154452>>2];cb=q[b+154428>>2];db=q[b+154404>>2];eb=q[b+154380>>2];fb=q[b+154356>>2];b=q[b+154332>>2]}q[a+256>>2]=Y;q[a+192>>2]=ma;q[a+128>>2]=Ca;q[a+64>>2]=Sa;q[a+60>>2]=Ta;q[a+56>>2]=Ua;q[a+52>>2]=Va;q[a+48>>2]=Wa;q[a+44>>2]=Xa;q[a+40>>2]=Ya;q[a+36>>2]=Za;q[a+32>>2]=_a;q[a+28>>2]=$a;q[a+24>>2]=ab;q[a+20>>2]=bb;q[a+16>>2]=cb;q[a+12>>2]=db;q[a+8>>2]=eb;q[a+4>>2]=fb;q[a>>2]=b;q[a+444>>2]=c;q[a+440>>2]=d;q[a+436>>2]=e;q[a+432>>2]=f;q[a+428>>2]=g;q[a+424>>2]=h;q[a+420>>2]=i;q[a+416>>2]=j;q[a+412>>2]=k;q[a+408>>2]=l;q[a+404>>2]=m;q[a+400>>2]=n;q[a+396>>2]=o;q[a+392>>2]=p;q[a+388>>2]=r;q[a+384>>2]=s;q[a+380>>2]=t;q[a+376>>2]=u;q[a+372>>2]=v;q[a+368>>2]=w;q[a+364>>2]=x;q[a+360>>2]=y;q[a+356>>2]=z;q[a+352>>2]=A;q[a+348>>2]=B;q[a+344>>2]=C;q[a+340>>2]=D;q[a+336>>2]=E;q[a+332>>2]=F;q[a+328>>2]=G;q[a+324>>2]=H;q[a+320>>2]=I;q[a+316>>2]=J;q[a+312>>2]=K;q[a+308>>2]=L;q[a+304>>2]=M;q[a+300>>2]=N;q[a+296>>2]=O;q[a+292>>2]=P;q[a+288>>2]=Q;q[a+284>>2]=R;q[a+280>>2]=S;q[a+276>>2]=T;q[a+272>>2]=U;q[a+268>>2]=V;q[a+264>>2]=W;q[a+260>>2]=X;q[a+252>>2]=Z;q[a+248>>2]=_;q[a+244>>2]=$;q[a+240>>2]=aa;q[a+236>>2]=ba;q[a+232>>2]=ca;q[a+228>>2]=da;q[a+224>>2]=ea;q[a+220>>2]=fa;q[a+216>>2]=ga;q[a+212>>2]=ha;q[a+208>>2]=ia;q[a+204>>2]=ja;q[a+200>>2]=ka;q[a+196>>2]=la;q[a+188>>2]=na;q[a+184>>2]=oa;q[a+180>>2]=pa;q[a+176>>2]=qa;q[a+172>>2]=ra;q[a+168>>2]=sa;q[a+164>>2]=ta;q[a+160>>2]=ua;q[a+156>>2]=va;q[a+152>>2]=wa;q[a+148>>2]=xa;q[a+144>>2]=ya;q[a+140>>2]=za;q[a+136>>2]=Aa;q[a+132>>2]=Ba;q[a+124>>2]=Da;q[a+120>>2]=Ea;q[a+116>>2]=Fa;q[a+112>>2]=Ga;q[a+108>>2]=Ha;q[a+104>>2]=Ia;q[a+100>>2]=Ja;q[a+96>>2]=Ka;q[a+92>>2]=La;q[a+88>>2]=Ma;q[a+84>>2]=Na;q[a+80>>2]=Oa;q[a+76>>2]=Pa;q[a+72>>2]=Qa;q[a+68>>2]=Ra}function ue(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;g=Ca-272|0;Ca=g;r=xe(5816);q[g+268>>2]=r;e=-48;a:{if(!r){break a}e=q[r+4>>2];f=q[a>>2];h=q[a+4>>2]-f|0;q[e+5812>>2]=h;i=e+1716|0;if(h>>>0>=4097){Ta(b,48,4286,0);q[e+5812>>2]=4096;h=4096;f=q[a>>2]}Va(i,f,h);f=Ua(a,8);h=Xa(a);i=Xa(a);k=Xa(a);n=Xa(a);j=Xa(a);s=Xa(a);l=q[a+8>>2]+2|0;m=q[a+16>>2];q[a+8>>2]=m>>>0>l>>>0?l:m;m=Ua(a,8);b:{c:{l=Cc(a);if(l>>>0>=32){q[g>>2]=l;Ta(b,16,6440,g);break c}q[e+1680>>2]=24;q[e>>2]=l;q[e+4>>2]=f;q[e+112>>2]=-1;q[e+8>>2]=m;q[e+1712>>2]=h|i<<1|k<<2|n<<3|j<<4|s<<5;h=Za(e+1188|0,16,480);q[e+128>>2]=2;q[e+1184>>2]=0;d:{e:{i=f+ -128|0;if(1<>>0<=16:0){break e}f:{g:{i=f+ -83|0;if(i>>>0>3){i=f+ -118|0;if(i>>>0<=4){break g}if((f|0)==44|(f|0)==100|(f|0)==244){break e}if((f|0)!=110){break f}break e}switch(i-1|0){case 0:case 1:break f;default:break e}}switch(i-1|0){case 0:case 1:case 2:break f;default:break e}}q[e+1700>>2]=8;q[e+1704>>2]=8;q[e+12>>2]=1;break d}f=Cc(a);q[e+12>>2]=f;if(f>>>0>=4){q[g+240>>2]=f;Pc(b,8036,g+240|0);break c}h:{if((f|0)!=3){break h}f=Xa(a);q[e+1708>>2]=f;if(!f){break h}Ta(b,16,10050,0);break c}B=e,C=vb(a)+8|0,q[B+1700>>2]=C;i=vb(a);f=i+8|0;q[e+1704>>2]=f;if((f|0)!=q[e+1700>>2]){Pc(b,11182,0);break c}if(i>>>0>=7){q[g+260>>2]=f;q[g+256>>2]=f;Ta(b,16,12360,g+256|0);break c}B=e,C=Xa(a),q[B+16>>2]=C;f=qo(a,e,0,1,h,e+1284|0);if((f|0)<0){break c}q[e+1184>>2]=f|q[e+1184>>2]}f=vb(a);if(f>>>0>=13){q[g+16>>2]=f;Ta(b,16,13469,g+16|0);break c}q[e+20>>2]=f+4;f=Cc(a);q[e+24>>2]=f;i:{j:{k:{if(f>>>0<=2){l:{switch(f-1|0){default:f=vb(a);if(f>>>0>12){break k}q[e+28>>2]=f+4;break i;case 1:break i;case 0:break l}}B=e,C=Xa(a),q[B+32>>2]=C;B=e,C=uk(a),q[B+36>>2]=C;f=uk(a);q[e+40>>2]=f;if(!(q[e+36>>2]!=-2147483648?(f|0)!=-2147483648:0)){Ta(b,16,16254,0);break c}f=vb(a);q[e+44>>2]=f;if(f>>>0>=256){break j}h=0;while(1){if((h|0)>=(f|0)){break i}f=uk(a);q[((h<<2)+e|0)+152>>2]=f;if((f|0)!=-2147483648){h=h+1|0;f=q[e+44>>2];continue}break}Ta(b,16,18040,0);break c}q[g+32>>2]=f;Ta(b,16,19107,g+32|0);break c}q[g+48>>2]=f;Ta(b,16,15255,g+48|0);break c}q[g+224>>2]=f;Ta(b,16,17240,g+224|0);break c}h=Cc(a);q[e+48>>2]=h;if(q[b+20>>2]==844516691){h=(h|0)>2?h:2;q[e+48>>2]=h}if((h|0)>=17){q[g+64>>2]=h;Ta(b,16,19939,g- -64|0);break c}B=e,C=Xa(a),q[B+52>>2]=C;B=e,C=vb(a)+1|0,q[B+56>>2]=C;B=e,C=vb(a)+1|0,q[B+60>>2]=C;h=Xa(a);q[e+64>>2]=h;f=q[e+60>>2];if(f>>>0>=1073741823){Ta(b,16,20577,0);break c}q[e+60>>2]=w(f,2-h|0);f=e;if(h){h=0}else{h=Xa(a)}q[f+68>>2]=h;m:{f=q[e+56>>2];n:{if(f>>>0>134217726){break n}h=q[e+60>>2];if(h>>>0>134217726){break n}if(!Po(f<<4,h<<4,b)){break m}}Ta(b,16,21077,0);break c}B=e,C=Xa(a),q[B+72>>2]=C;f=Xa(a);q[e+76>>2]=f;o:{if(f){f=vb(a);h=vb(a);i=vb(a);k=vb(a);if(o[b+66|0]&1){q[g+220>>2]=k;q[g+216>>2]=i;q[g+212>>2]=h;q[g+208>>2]=f;Ta(b,48,21649,g+208|0);q[e+88>>2]=0;q[e+92>>2]=0;q[e+80>>2]=0;q[e+84>>2]=0;break o}s=q[e+60>>2]<<4;m=q[e+56>>2]<<4;p:{j=q[e+12>>2];n=j+ -1>>>0<2;p=536870911>>>n|0;if(f>>>0>p>>>0|h>>>0>p>>>0){break p}j=2-q[e+64>>2]<<((j|0)==1);p=536870911/(j>>>0)|0;if(i>>>0>p>>>0|k>>>0>p>>>0|(f+h<>>0>=m>>>0|w(j,i+k|0)>>>0>=s>>>0)){break p}q[e+92>>2]=w(k,j);q[e+88>>2]=w(i,j);q[e+84>>2]=h<>2]=f<>2]=s;q[g+192>>2]=m;q[g+188>>2]=k;q[g+184>>2]=i;q[g+180>>2]=h;q[g+176>>2]=f;Ta(b,16,22338,g+176|0);break c}q[e+76>>2]=0;q[e+80>>2]=0;q[e+92>>2]=0;q[e+84>>2]=0;q[e+88>>2]=0}f=Xa(a);q[e+96>>2]=f;if(f){if((eE(a,b,e)|0)<0){break c}}f=q[a+12>>2]-q[a+8>>2]|0;if((f|0)<=-1){a=q[e+96>>2];q[g+164>>2]=0-f;q[g+160>>2]=a?23657:24276;HD(b,d?24:16,((a<<2)+c|0)+1168|0,g+160|0);if(!d){break c}}i=q[e+1176>>2];if(i|(q[b+568>>2]<1?!q[e+48>>2]:0)){break b}q[e+1180>>2]=15;d=q[e+8>>2];a=0;while(1){if((a|0)==16){break b}if((d|0)==q[(a<<3)+168832>>2]){a=q[(a<<3)+168836>>2]/(w(q[e+60>>2],q[e+56>>2])|0)|0;q[e+1180>>2]=(a|0)<15?a:15;break b}else{a=a+1|0;continue}}}lb(g+268|0);e=-1094995529;break a}if(!q[e+104>>2]){q[e+104>>2]=1}if(o[b+576|0]&1){k=q[e+60>>2];n=q[e+56>>2];j=q[e+48>>2];s=q[e+24>>2];m=q[e+8>>2];p=q[e+4>>2];a=25444;a=q[e+64>>2]?a:q[e+68>>2]?25928:26620;f=q[e+96>>2];t=q[e+72>>2];u=w(q[e+12>>2],5);v=q[e+92>>2];x=q[e+88>>2];y=q[e+84>>2];z=q[e+80>>2];q:{if(!q[e+136>>2]){h=0;d=0;break q}h=q[e+144>>2];d=q[e+140>>2]}f=f?23657:27702;t=t?27202:27702;u=u+168960|0;A=q[e+1700>>2];q[g+152>>2]=i?q[e+1180>>2]:-1;q[g+148>>2]=A;q[g+144>>2]=h;q[g+140>>2]=d;q[g+136>>2]=u;q[g+132>>2]=f;q[g+128>>2]=v;q[g+124>>2]=x;q[g+120>>2]=y;q[g+116>>2]=z;q[g+112>>2]=t;q[g+108>>2]=a;q[g+104>>2]=k;q[g+100>>2]=n;q[g+96>>2]=j;q[g+92>>2]=s;q[g+88>>2]=m;q[g+84>>2]=p;q[g+80>>2]=l;Ta(b,48,24869,g+80|0)}r:{a=(l<<2)+c|0;b=q[a>>2];if(!b){break r}if(se(q[b+4>>2],q[r+4>>2],q[r+8>>2])){break r}lb(g+268|0);e=0;break a}lb((l<<2)+c|0);q[a>>2]=r;e=0}Ca=g+272|0;return e}function $j(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0;h=Ca-80|0;Ca=h;q[h+76>>2]=b;C=h+55|0;z=h+56|0;b=0;a:{b:{c:while(1){d:{if((u|0)<0){break d}if((b|0)>(2147483647-u|0)){q[865816]=61;u=-1;break d}u=b+u|0}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{l=q[h+76>>2];b=l;k=r[b|0];if(k){while(1){r:{s:{i=k&255;t:{if(!i){k=b;break t}if((i|0)!=37){break s}k=b;while(1){if(r[b+1|0]!=37){break t}i=b+2|0;q[h+76>>2]=i;k=k+1|0;j=r[b+2|0];b=i;if((j|0)==37){continue}break}}b=k-l|0;if(a){Lb(a,l,b)}if(b){continue c}x=-1;k=1;i=h;b=q[h+76>>2];if(!(r[b+2|0]!=36|o[q[h+76>>2]+1|0]+ -48>>>0>=10)){x=o[b+1|0]+ -48|0;A=1;k=3}b=k+b|0;q[i+76>>2]=b;k=0;y=o[b|0];j=y+ -32|0;u:{if(j>>>0>31){i=b;break u}i=b;j=1<>2]=i;k=j|k;y=o[b+1|0];j=y+ -32|0;if(j>>>0>31){break u}b=i;j=1<>>0>=10){break x}b=q[h+76>>2];if(r[b+2|0]!=36){break x}q[((o[b+1|0]<<2)+e|0)+ -192>>2]=10;t=q[((o[b+1|0]<<3)+d|0)+ -384>>2];A=1;b=b+3|0;break w}if(A){break b}A=0;t=0;if(a){b=q[c>>2];q[c>>2]=b+4;t=q[b>>2]}b=q[h+76>>2]+1|0}q[m+76>>2]=b;if((t|0)>-1){break v}t=0-t|0;k=k|8192;break v}t=xn(h+76|0);if((t|0)<0){break b}b=q[h+76>>2]}j=-1;y:{if(r[b|0]!=46){break y}if(r[b+1|0]==42){z:{if(o[b+2|0]+ -48>>>0>=10){break z}b=q[h+76>>2];if(r[b+3|0]!=36){break z}q[((o[b+2|0]<<2)+e|0)+ -192>>2]=10;j=q[((o[b+2|0]<<3)+d|0)+ -384>>2];b=b+4|0;q[h+76>>2]=b;break y}if(A){break b}if(a){b=q[c>>2];q[c>>2]=b+4;j=q[b>>2]}else{j=0}b=q[h+76>>2]+2|0;q[h+76>>2]=b;break y}q[h+76>>2]=b+1;j=xn(h+76|0);b=q[h+76>>2]}i=0;while(1){B=i;s=-1;if(o[b|0]+ -65>>>0>57){break a}y=b+1|0;q[h+76>>2]=y;i=o[b|0];b=y;i=r[(i+w(B,58)|0)+199487|0];if(i+ -1>>>0<8){continue}break}if(!i){break a}A:{B:{C:{if((i|0)==19){if((x|0)<=-1){break C}break a}if((x|0)<0){break B}q[(x<<2)+e>>2]=i;b=(x<<3)+d|0;i=q[b+4>>2];q[h+64>>2]=q[b>>2];q[h+68>>2]=i}b=0;if(!a){continue c}break A}if(!a){break e}wn(h- -64|0,i,c,g);y=q[h+76>>2]}m=k&-65537;k=k&8192?m:k;s=0;x=199520;i=z;b=o[y+ -1|0];b=B?(b&15)==3?b&-33:b:b;y=b+ -88|0;if(y>>>0<=32){break r}D:{E:{F:{G:{m=b+ -65|0;if(m>>>0>6){if((b|0)!=83){break f}if(!j){break G}i=q[h+64>>2];break E}switch(m-1|0){case 1:break F;case 0:case 2:break f;default:break q}}b=0;nc(a,32,t,0,k);break D}q[h+12>>2]=0;q[h+8>>2]=q[h+64>>2];q[h+64>>2]=h+8;j=-1;i=h+8|0}b=0;H:{while(1){l=q[i>>2];if(!l){break H}l=zn(h+4|0,l);m=(l|0)<0;if(!(m|l>>>0>j-b>>>0)){i=i+4|0;b=b+l|0;if(j>>>0>b>>>0){continue}break H}break}s=-1;if(m){break a}}nc(a,32,t,b,k);if(!b){b=0;break D}j=0;i=q[h+64>>2];while(1){l=q[i>>2];if(!l){break D}l=zn(h+4|0,l);j=l+j|0;if((j|0)>(b|0)){break D}Lb(a,h+4|0,l);i=i+4|0;if(j>>>0>>0){continue}break}}nc(a,32,t,b,k^8192);b=(t|0)>(b|0)?t:b;continue c}i=b+1|0;q[h+76>>2]=i;k=r[b+1|0];b=i;continue}break}switch(y-1|0){case 28:break i;case 21:break j;case 23:break l;case 22:break m;case 11:case 16:break n;case 10:break o;case 26:break p;case 8:case 12:case 13:case 14:break q;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break f;default:break k}}s=u;if(a){break a}if(!A){break e}b=1;while(1){a=q[(b<<2)+e>>2];if(a){wn((b<<3)+d|0,a,c,g);s=1;b=b+1|0;if((b|0)!=10){continue}break a}break}s=1;if(b>>>0>9){break a}while(1){a=b;b=b+1|0;if(q[(b<<2)+e>>2]?0:(b|0)!=10){continue}break}s=a>>>0<9?-1:1;break a}b=n[f](a,v[h+64>>3],t,j,k,b)|0;continue}b=q[h+64>>2];l=b?b:199530;b=sf(l,0,j);i=b?b:j+l|0;k=m;j=b?b-l|0:j;break f}o[h+55|0]=q[h+64>>2];j=1;l=C;k=m;break f}m=q[h+68>>2];b=m;l=q[h+64>>2];if((b|0)<-1?1:(b|0)<=-1?l>>>0>4294967295?0:1:0){b=0-(b+(0>>0)|0)|0;l=0-l|0;q[h+64>>2]=l;q[h+68>>2]=b;s=1;x=199520;break h}if(k&2048){s=1;x=199521;break h}s=k&1;x=s?199522:199520;break h}l=oB(q[h+64>>2],q[h+68>>2],z);if(!(k&8)){break g}b=z-l|0;j=(j|0)>(b|0)?j:b+1|0;break g}j=j>>>0>8?j:8;k=k|8;b=120}l=nB(q[h+64>>2],q[h+68>>2],z,b&32);if(!(k&8)|!(q[h+64>>2]|q[h+68>>2])){break g}x=(b>>>4|0)+199520|0;s=2;break g}b=0;i=B&255;if(i>>>0>7){continue}I:{switch(i-1|0){default:q[q[h+64>>2]>>2]=u;continue;case 0:q[q[h+64>>2]>>2]=u;continue;case 1:i=q[h+64>>2];q[i>>2]=u;q[i+4>>2]=u>>31;continue;case 2:p[q[h+64>>2]>>1]=u;continue;case 3:o[q[h+64>>2]]=u;continue;case 5:q[q[h+64>>2]>>2]=u;continue;case 4:continue;case 6:break I}}i=q[h+64>>2];q[i>>2]=u;q[i+4>>2]=u>>31;continue}l=q[h+64>>2];b=q[h+68>>2];x=199520}l=Te(l,b,z)}k=(j|0)>-1?k&-65537:k;b=q[h+64>>2];m=q[h+68>>2];J:{if(!(!!(b|m)|j)){l=z;j=0;break J}b=!(b|m)+(z-l|0)|0;j=(j|0)>(b|0)?j:b}}m=i-l|0;j=(j|0)<(m|0)?m:j;i=j+s|0;b=(t|0)<(i|0)?i:t;nc(a,32,b,i,k);Lb(a,x,s);nc(a,48,b,i,k^65536);nc(a,48,j,m,0);Lb(a,l,m);nc(a,32,b,i,k^8192);continue}break}s=0;break a}s=-1}Ca=h+80|0;return s}function RE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0;h=Ca-16|0;Ca=h;n=q[b+21796>>2];q[h>>2]=0;Za(q[a+25980>>2]+w(n,48)|0,0,48);if(q[b+21828>>2]){q[h>>2]=128;j=128}a:{if(q[b+840>>2]==3){d=j|63744;q[h>>2]=d;if(q[b+21844>>2]){Bk(a,b,d);Lo(a,b,d)}Xe(a,b,h);l=q[h>>2]|2048;q[h>>2]=l;break a}l=j|14344;q[h>>2]=l;Bk(a,b,l);k=q[a+24352>>2];t=q[a+24384>>2];i=q[a+26376>>2];q[b+28308>>2]=0;q[b+28300>>2]=0;q[b+28292>>2]=0;q[b+28284>>2]=0;b:{c=q[b+21740>>2];c:{if(c&12288){d=q[b+21720>>2]<<2;e=r[q[b+21748>>2]];g=k+(q[d+q[a+26368>>2]>>2]+w(e,i)<<2)|0;j=g+12|0;d=o[((e&254)+(d|1)|0)+t|0];d:{if(!q[a+26384>>2]){break d}c=c&128;if(q[b+21828>>2]){if(c){break d}c=q[g+12>>2];q[h+4>>2]=c;p[h+6>>1]=(c>>16)/2;d=d<<1;j=h+4|0;break d}if(!c){break d}c=q[g+12>>2];q[h+4>>2]=c;p[h+6>>1]=c>>>15&65534;d=d>>1;j=h+4|0}if(q[j>>2]|d){break c}break b}if(!c){break b}j=165216;d=-1}c=q[b+21732>>2];e:{if(c&12288){e=q[b+21712>>2]<<2;g=k+(q[e+q[a+26368>>2]>>2]+w(i,3)<<2)|0;f=o[(e|2)+t|0];f:{if(!q[a+26384>>2]){break f}c=c&128;if(q[b+21828>>2]){if(c){break f}c=q[g>>2];q[h+8>>2]=c;p[h+10>>1]=(c>>16)/2;f=f<<1;g=h+8|0;break f}if(!c){break f}c=q[g>>2];q[h+8>>2]=c;p[h+10>>1]=c>>>15&65534;f=f>>1;g=h+8|0}if(!(q[g>>2]|f)){break b}break e}if(!c){break b}f=-1;g=165216}m=q[b+21736>>2];g:{if(m&12288){e=q[b+21716>>2]<<2;c=k+(q[e+q[a+26368>>2]>>2]+w(i,3)<<2)|0;e=o[(e|2)+t|0];if(!q[a+26384>>2]){break g}i=m&128;if(q[b+21828>>2]){if(i){break g}c=q[c>>2];q[h+12>>2]=c;p[h+14>>1]=(c>>16)/2;e=e<<1;c=h+12|0;break g}if(!i){break g}c=q[c>>2];q[h+12>>2]=c;p[h+14>>1]=c>>>15&65534;e=e>>1;c=h+12|0;break g}c=165216;e=-1;if(m){break g}m=q[b+21728>>2];if(!(m&12288)){break g}c=k;e=q[b+21708>>2]<<2;k=q[b+21752>>2];i=c+(q[e+q[a+26368>>2]>>2]+(i+(k&i<<1)|0)<<2)|0;c=i+12|0;e=o[(e|k&2|1)+t|0];if(!q[a+26384>>2]){break g}k=m&128;if(q[b+21828>>2]){if(k){break g}c=q[i+12>>2];q[h+12>>2]=c;p[h+14>>1]=(c>>16)/2;e=e<<1;c=h+12|0;break g}if(!k){break g}c=q[i+12>>2];q[h+12>>2]=c;p[h+14>>1]=c>>>15&65534;e=e>>1;c=h+12|0}e=!e+(!f+!d|0)|0;h:{if(e>>>0>=2){d=ob(p[j>>1],p[g>>1],p[c>>1]);c=ob(p[j+2>>1],p[g+2>>1],p[c+2>>1]);break h}if((e|0)==1){if(!d){d=p[j>>1];c=p[j+2>>1];break h}if(!f){d=p[g>>1];c=p[g+2>>1];break h}d=p[c>>1];c=p[c+2>>1];break h}d=ob(p[j>>1],p[g>>1],p[c>>1]);c=ob(p[j+2>>1],p[g+2>>1],p[c+2>>1])}d=d&65535|c<<16;q[b+28108>>2]=d;q[b+28104>>2]=d;q[b+28100>>2]=d;q[b+28096>>2]=d;q[b+28076>>2]=d;q[b+28072>>2]=d;q[b+28068>>2]=d;q[b+28064>>2]=d;q[b+28044>>2]=d;q[b+28040>>2]=d;q[b+28036>>2]=d;q[b+28032>>2]=d;q[b+28012>>2]=d;q[b+28008>>2]=d;q[b+28004>>2]=d;q[b+28e3>>2]=d;break a}d=b+28008|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28e3|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28032|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28040|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28064|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28072|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28096|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28104|0;q[d>>2]=0;q[d+4>>2]=0}d=q[a+26376>>2];g=(w(d,q[b+21792>>2])<<2)+(q[b+21788>>2]<<2)|0;j=q[b+21796>>2]<<2;i:{if(l&12288){f=b+28e3|0;i=q[f+4>>2];c=q[a+24352>>2]+(g<<2)|0;q[c>>2]=q[f>>2];q[c+4>>2]=i;e=b+28008|0;f=q[e+4>>2];q[c+8>>2]=q[e>>2];q[c+12>>2]=f;i=b+28032|0;k=q[i+4>>2];e=c+(d<<2)|0;q[e>>2]=q[i>>2];q[e+4>>2]=k;f=b+28040|0;i=q[f+4>>2];q[e+8>>2]=q[f>>2];q[e+12>>2]=i;i=b+28064|0;k=q[i+4>>2];e=c+(d<<3)|0;q[e>>2]=q[i>>2];q[e+4>>2]=k;f=b+28072|0;i=q[f+4>>2];q[e+8>>2]=q[f>>2];q[e+12>>2]=i;f=b+28096|0;i=q[f+4>>2];c=c+w(d,12)|0;q[c>>2]=q[f>>2];q[c+4>>2]=i;e=b+28104|0;f=q[e+4>>2];q[c+8>>2]=q[e>>2];q[c+12>>2]=f;c=q[b+32848>>2]+(q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]<<1)|0;q[c>>2]=0;q[c+4>>2]=0;q[c+8>>2]=0;q[c+12>>2]=0;c=j+q[a+24384>>2]|0;o[c|0]=r[b+28284|0];o[c+1|0]=r[b+28286|0];o[c+2|0]=r[b+28300|0];o[c+3|0]=r[b+28302|0];break i}c=j+q[a+24384>>2]|0;p[c>>1]=-1;p[c+2>>1]=65535}if(l&49152){e=b+28160|0;f=q[e+4>>2];c=q[a+24356>>2]+(g<<2)|0;q[c>>2]=q[e>>2];q[c+4>>2]=f;g=b+28168|0;e=q[g+4>>2];q[c+8>>2]=q[g>>2];q[c+12>>2]=e;f=b+28192|0;i=q[f+4>>2];g=c+(d<<2)|0;e=g;q[e>>2]=q[f>>2];q[e+4>>2]=i;e=b+28200|0;f=q[e+4>>2];q[g+8>>2]=q[e>>2];q[g+12>>2]=f;f=b+28224|0;i=q[f+4>>2];g=c+(d<<3)|0;e=g;q[e>>2]=q[f>>2];q[e+4>>2]=i;e=b+28232|0;f=q[e+4>>2];q[g+8>>2]=q[e>>2];q[g+12>>2]=f;g=b+28256|0;e=q[g+4>>2];d=c+w(d,12)|0;c=d;q[c>>2]=q[g>>2];q[c+4>>2]=e;c=b+28264|0;g=q[c+4>>2];q[d+8>>2]=q[c>>2];q[d+12>>2]=g;d=q[b+32852>>2]+(q[q[a+26372>>2]+(q[b+21796>>2]<<2)>>2]<<1)|0;q[d>>2]=0;q[d+4>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;d=j+q[a+24388>>2]|0;o[d|0]=r[b+28324|0];o[d+1|0]=r[b+28326|0];o[d+2|0]=r[b+28340|0];o[d+3|0]=r[b+28342|0]}if(!(!(l&64)|q[b+840>>2]!=3)){d=q[a+26416>>2]+(q[b+21796>>2]<<2)|0;o[d+1|0]=s[b+28554>>1]>>>1;o[d+2|0]=s[b+28556>>1]>>>1;o[d+3|0]=s[b+28558>>1]>>>1}q[q[a+24364>>2]+(n<<2)>>2]=q[h>>2];o[q[a+24340>>2]+n|0]=q[b+848>>2];p[q[a+26380>>2]+(n<<1)>>1]=q[b+832>>2];q[b+21648>>2]=1;Ca=h+16|0}function Du(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,s=0,t=0,u=0;d=Ca-160|0;Ca=d;a:{f=q[a+28>>2];i=q[f+24>>2];b:{c:{if(q[i+24>>2]|q[f+64>>2]){break c}Wd(i);h=Zu(a,i);if((h|0)>-1){break c}if((h|0)!=-541478725){break b}}h=-541478725;if(q[f+80>>2]){break b}c=q[a+12>>2];if(o[a+696|0]&1?0:!(q[i+24>>2]|r[c+16|0]&32)){break b}q[d+156>>2]=0;h=n[q[c+92>>2]](a,b,d+156|0,i)|0;c=q[a+12>>2];if(!(r[c+116|0]&4)){e=q[i+20>>2];q[b+120>>2]=q[i+16>>2];q[b+124>>2]=e}d:{if(q[c+8>>2]){break d}if(!q[a+140>>2]){e=q[i+60>>2];q[b+328>>2]=q[i+56>>2];q[b+332>>2]=e}if(r[c+16|0]&2){break d}if(!q[b+92>>2]){c=q[a+192>>2];q[b+92>>2]=q[a+188>>2];q[b+96>>2]=c}if(!q[b+68>>2]){q[b+68>>2]=q[a+92>>2]}if(!q[b+72>>2]){q[b+72>>2]=q[a+96>>2]}if(q[b+80>>2]!=-1){break d}q[b+80>>2]=q[a+112>>2]}p=q[d+156>>2];c=q[q[a+12>>2]+8>>2];e:{if(c>>>0>1){break e}if(c-1){if(r[b+296|0]&4){q[d+156>>2]=0;break e}if(!p){break e}t=b,u=Jl(a,q[b+104>>2],q[b+108>>2],q[b+120>>2],q[b+124>>2]),q[t+320>>2]=u;q[b+324>>2]=Da;break e}f:{if(!p|(h|0)<0){break f}t=b,u=Jl(a,q[b+104>>2],q[b+108>>2],q[b+120>>2],q[b+124>>2]),q[t+320>>2]=u;q[b+324>>2]=Da;if(q[b+80>>2]==-1){q[b+80>>2]=q[a+352>>2]}if(!(q[b+240>>2]|q[b+244>>2])){c=q[a+380>>2];q[b+240>>2]=q[a+376>>2];q[b+244>>2]=c}if(!q[b+352>>2]){q[b+352>>2]=q[a+348>>2]}if(q[b+232>>2]){break f}q[b+232>>2]=q[a+344>>2]}c=Vd(q[f+40>>2],11,d+152|0);g:{if(!c){m=0;break g}m=0;if(q[d+152>>2]<10){break g}e=w(q[f+108>>2],r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24));q[f+56>>2]=e;k=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);q[d+112>>2]=e;q[d+116>>2]=k;Ta(a,48,32950,d+112|0);s=r[c+9|0];m=r[c+8|0]}c=q[d+156>>2];h:{if(!(r[b+296|0]&4)|!c){break h}c=1;if(r[a+67|0]&32){break h}c=0;e=q[f+56>>2]-q[b+76>>2]|0;q[f+56>>2]=(e|0)>0?e:0;q[d+156>>2]=0}e=q[f+56>>2];i:{if(r[a+67|0]&32|(!c|(e|0)<1)){break i}c=q[b+76>>2];if((c|0)<=(e|0)){q[d+156>>2]=0;c=e-c|0;q[f+56>>2]=c;q[d+96>>2]=c;Ta(a,48,33338,d+96|0);break i}j=q[b+64>>2];xm(j,j,e,c-e|0,q[a+348>>2],q[b+80>>2]);j:{k:{if(!q[a+772>>2]){break k}c=q[a+344>>2];if(!c){break k}e=q[f+56>>2];q[d+148>>2]=c;q[d+144>>2]=1;c=q[d+148>>2];q[d+88>>2]=q[d+144>>2];q[d+92>>2]=c;c=q[a+776>>2];q[d+80>>2]=q[a+772>>2];q[d+84>>2]=c;c=Tn(e,e>>31,d+88|0,d+80|0);l=Da;e=q[b+104>>2];g=q[b+108>>2];if(e|(g|0)!=-2147483648){g=g+l|0;j=c+e|0;if(j>>>0>>0){g=g+1|0}q[b+104>>2]=j;q[b+108>>2]=g}e=q[b+112>>2];g=q[b+116>>2];if(e|(g|0)!=-2147483648){g=g+l|0;j=c+e|0;if(j>>>0>>0){g=g+1|0}q[b+112>>2]=j;q[b+116>>2]=g}e=q[b+120>>2];g=q[b+124>>2];if(e|(g|0)!=-2147483648){g=g+l|0;j=c+e|0;if(j>>>0>>0){g=g+1|0}q[b+120>>2]=j;q[b+124>>2]=g}e=q[b+336>>2];j=q[b+340>>2];g=j;if((g|0)<(l|0)?1:(g|0)<=(l|0)?e>>>0>=c>>>0?0:1:0){break j}q[b+336>>2]=e-c;q[b+340>>2]=j-(l+(e>>>0>>0)|0);break j}Ta(a,24,33643,0)}c=q[f+56>>2];q[d+68>>2]=q[b+76>>2];q[d+64>>2]=c;Ta(a,48,34012,d- -64|0);q[b+76>>2]=q[b+76>>2]-q[f+56>>2];q[f+56>>2]=0}l:{if(!k){break l}c=q[b+76>>2];if(r[a+67|0]&32|(!q[d+156>>2]|c>>>0>>0)){break l}if((c|0)==(k|0)){q[d+156>>2]=0;break l}m:{n:{if(!q[a+772>>2]){break n}e=q[a+344>>2];if(!e){break n}q[d+140>>2]=e;q[d+136>>2]=1;e=q[d+140>>2];q[d+56>>2]=q[d+136>>2];q[d+60>>2]=e;e=q[a+776>>2];q[d+48>>2]=q[a+772>>2];q[d+52>>2]=e;t=b,u=Tn(c-k|0,0,d+56|0,d+48|0),q[t+336>>2]=u;q[b+340>>2]=Da;break m}Ta(a,24,34388,0)}q[d+36>>2]=q[b+76>>2];q[d+32>>2]=k;Ta(a,48,34811,d+32|0);q[b+76>>2]=q[b+76>>2]-k}if(!(r[a+67|0]&32)|!q[d+156>>2]){break e}c=Ye(b,9,10);if(!c){break e}e=q[c+4>>2];j=q[f+56>>2];o[e|0]=j;o[e+1|0]=j>>>8;o[e+2|0]=j>>>16;o[e+3|0]=j>>>24;e=q[c+4>>2];o[e+4|0]=k;o[e+5|0]=k>>>8;o[e+6|0]=k>>>16;o[e+7|0]=k>>>24;o[q[c+4>>2]+8|0]=m;o[q[c+4>>2]+9|0]=s;q[f+56>>2]=0}c=q[a+12>>2];o:{if(q[c+8>>2]!=1|(h|0)<0|(q[f+104>>2]|q[i+28>>2]==(h|0))){break o}if(o[c+17|0]&1){break o}Ta(a,24,35132,0);q[f+104>>2]=1}if(!q[d+156>>2]){pc(b)}if(!(o[a+62|0]&1|(q[q[a+12>>2]+8>>2]|(h|0)<0))){h=q[i+28>>2]}if(!(q[a+760>>2]<1|q[a+764>>2]<1)){c=q[a+84>>2];q[d+124>>2]=1;q[d+120>>2]=c;c=q[a+764>>2];q[d+24>>2]=q[a+760>>2];q[d+28>>2]=c;c=q[d+124>>2];q[d+16>>2]=q[d+120>>2];q[d+20>>2]=c;Hj(d+128|0,d+24|0,d+16|0);e=q[d+128>>2];q[a+76>>2]=q[d+132>>2];q[a+80>>2]=e}p:{if(!q[f+64>>2]|p){break p}if((h|0)<=-1){c=q[f+112>>2];q[f+112>>2]=c+1;if((c|0)<21){break p}Ta(a,16,35641,0);q[f+80>>2]=1;h=-558323010;break p}q[f+80>>2]=1}q[f+92>>2]=q[f+92>>2]+h;q:{r:{if((h|0)>=0){a=q[i+28>>2];if((a|0)>(h|0)){break r}}Wd(i);break q}q[i+28>>2]=a-h;q[i+24>>2]=q[i+24>>2]+h;a=q[f+40>>2];q[a+28>>2]=q[a+28>>2]-h;q[i+16>>2]=0;q[i+20>>2]=-2147483648;q[i+8>>2]=0;q[i+12>>2]=-2147483648;q[a+16>>2]=0;q[a+20>>2]=-2147483648;q[a+8>>2]=0;q[a+12>>2]=-2147483648}if(q[b+248>>2]?0:q[d+156>>2]){break a}h=h>>31&h}Ca=d+160|0;return h}q[d+8>>2]=618;q[d+4>>2]=20914;q[d>>2]=35934;Ta(0,0,19766,d);I();F()}function tb(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=Ca-96|0;Ca=l;u=c;v=(g&131071)<<15|f>>>17;j=i&65535;w=j;o=h;k=h;B=k<<15|g>>>17;n=(e^i)&-2147483648;k=e&65535;p=k;s=d;y=k;C=(j&131071)<<15|h>>>17;M=i>>>16&32767;N=e>>>16&32767;a:{b:{if(N+ -1>>>0<=32765){j=0;if(M+ -1>>>0<32766){break b}}m=e&2147483647;j=m;k=d;if(!(!d&(j|0)==2147418112?!(b|c):(j|0)==2147418112&d>>>0<0|j>>>0<2147418112)){x=d;n=e|32768;break a}m=i&2147483647;e=m;d=h;if(!(!d&(e|0)==2147418112?!(f|g):(e|0)==2147418112&d>>>0<0|e>>>0<2147418112)){x=h;n=i|32768;b=f;c=g;break a}if(!(b|k|(j^2147418112|c))){if(!(d|f|(e|g))){n=2147450880;b=0;c=0;break a}n=n|2147418112;b=0;c=0;break a}if(!(d|f|(e^2147418112|g))){d=b|k;e=c|j;b=0;c=0;if(!(d|e)){n=2147450880;break a}n=n|2147418112;break a}if(!(b|k|(c|j))){b=0;c=0;break a}if(!(d|f|(e|g))){b=0;c=0;break a}if((j|0)==65535&k>>>0<=4294967295|j>>>0<65535){j=b;h=!(p|s);i=h<<6;k=z(h?b:s)+32|0;b=z(h?c:p);b=i+((b|0)==32?k:b)|0;Rb(l+80|0,j,c,s,p,b+ -15|0);s=q[l+88>>2];u=q[l+84>>2];y=q[l+92>>2];r=16-b|0;b=q[l+80>>2]}j=r;if((e|0)==65535&d>>>0>4294967295|e>>>0>65535){break b}c=!(o|w);d=c<<6;e=z(c?f:o)+32|0;c=z(c?g:w);c=d+((c|0)==32?e:c)|0;h=c;Rb(l- -64|0,f,g,o,w,c+ -15|0);f=q[l+76>>2];c=f;i=q[l+68>>2];g=i;e=q[l+72>>2];B=e<<15|g>>>17;d=g;f=q[l+64>>2];v=(d&131071)<<15|f>>>17;C=(c&131071)<<15|e>>>17;j=(r-h|0)+16|0}r=j;m=v;h=0;D=$R(m,0,b,h);c=Da;E=c;i=f<<15&-32768;o=0;e=$R(i,o,u,0);d=e+D|0;g=Da+c|0;g=d>>>0>>0?g+1|0:g;c=d;e=0;j=$R(b,h,i,o);d=e+j|0;f=Da+c|0;f=d>>>0>>0?f+1|0:f;v=d;p=f;X=(c|0)==(f|0)&d>>>0>>0|f>>>0>>0;P=$R(m,A,u,O);H=Da;I=s;e=$R(i,o,s,0);d=e+P|0;j=Da+H|0;j=d>>>0>>0?j+1|0:j;Q=d;f=$R(B,0,b,h);d=d+f|0;e=j;j=e+Da|0;R=d;j=d>>>0>>0?j+1|0:j;w=j;d=g+d|0;c=((g|0)==(E|0)&c>>>0>>0|g>>>0>>0)+j|0;D=d;c=d>>>0>>0?c+1|0:c;s=c;g=d;T=$R(m,A,I,S);J=Da;F=y|65536;y=t;i=$R(i,o,F,t);d=i+T|0;f=Da+J|0;f=d>>>0>>0?f+1|0:f;U=d;i=$R(u,O,B,V);d=d+i|0;t=f;j=f+Da|0;j=d>>>0>>0?j+1|0:j;K=d;G=C&2147483647|-2147483648;d=$R(b,h,G,0);b=K+d|0;o=j;k=j+Da|0;C=b;d=b>>>0>>0?k+1|0:k;f=0;b=f+g|0;c=c+C|0;E=b;L=b>>>0>>0?c+1|0:c;j=L;c=b+X|0;if(c>>>0>>0){j=j+1|0}h=c;i=j;r=(r+(M+N|0)|0)+ -16383|0;k=$R(I,S,B,V);b=Da;g=0;j=$R(m,A,F,y);c=j+k|0;f=Da+b|0;f=c>>>0>>0?f+1|0:f;j=c;c=f;A=(b|0)==(c|0)&j>>>0>>0|c>>>0>>0;m=$R(G,W,u,O);b=m+j|0;k=Da+c|0;k=b>>>0>>0?k+1|0:k;m=b;f=b;b=k;c=(c|0)==(b|0)&f>>>0>>0|b>>>0>>0;f=A+c|0;if(f>>>0>>0){g=1}c=b;j=g;A=f;f=0;g=(e|0)==(H|0)&Q>>>0

>>0|e>>>0>>0;e=(e|0)==(w|0)&R>>>0>>0|w>>>0>>0;g=g+e|0;if(g>>>0>>0){f=1}e=g+m|0;k=c+f|0;u=e;c=e;k=c>>>0>>0?k+1|0:k;e=k;b=(b|0)==(e|0)&c>>>0>>0|e>>>0>>0;c=A+b|0;if(c>>>0>>0){j=j+1|0}f=$R(G,W,F,y);b=f+c|0;c=Da+j|0;c=b>>>0>>0?c+1|0:c;j=b;g=$R(G,W,I,S);f=Da;m=$R(B,V,F,y);b=m+g|0;k=Da+f|0;k=b>>>0>>0?k+1|0:k;m=b;b=k;k=(f|0)==(b|0)&m>>>0>>0|b>>>0>>0;f=b+j|0;g=c+k|0;g=f>>>0>>0?g+1|0:g;k=g;j=f;f=e+m|0;g=0;b=g+u|0;if(b>>>0>>0){f=f+1|0}m=b;c=b;b=f;c=(e|0)==(b|0)&c>>>0>>0|b>>>0>>0;e=j+c|0;if(e>>>0>>0){k=k+1|0}u=e;g=b;f=(t|0)==(o|0)&K>>>0>>0|o>>>0>>0;j=f+((t|0)==(J|0)&U>>>0>>0|t>>>0>>0)|0;j>>>0>>0;j=j+((d|0)==(o|0)&C>>>0>>0|d>>>0>>0)|0;e=d;d=d+m|0;g=g+j|0;g=d>>>0>>0?g+1|0:g;t=d;c=g;b=(b|0)==(c|0)&d>>>0>>0|c>>>0>>0;d=b+u|0;if(d>>>0>>0){k=k+1|0}b=c;f=k;k=d;j=0;d=(s|0)==(L|0)&E>>>0>>0|L>>>0>>0;e=d+((s|0)==(w|0)&D>>>0>>0|s>>>0>>0)|0;if(e>>>0>>0){j=1}d=e+t|0;g=b+j|0;g=d>>>0>>0?g+1|0:g;b=d;e=g;b=(c|0)==(e|0)&b>>>0>>0|e>>>0>>0;c=k+b|0;if(c>>>0>>0){f=f+1|0}b=c;c=f;c:{if(c&65536){r=r+1|0;break c}t=p>>>31|0;f=c<<1|b>>>31;b=b<<1|e>>>31;c=f;f=e<<1|d>>>31;d=d<<1|i>>>31;e=f;g=v;f=p<<1|g>>>31;v=g<<1;p=f;f=h;k=i<<1|f>>>31;h=f<<1|t;i=k}if((r|0)>=32767){n=n|2147418112;b=0;c=0;break a}d:{if((r|0)<=0){f=1-r|0;if(f>>>0<=127){g=r+127|0;Rb(l+48|0,v,p,h,i,g);Rb(l+32|0,d,e,b,c,g);Re(l+16|0,v,p,h,i,f);Re(l,d,e,b,c,f);v=(q[l+48>>2]|q[l+56>>2])!=0|(q[l+52>>2]|q[l+60>>2])!=0|(q[l+32>>2]|q[l+16>>2]);p=q[l+36>>2]|q[l+20>>2];h=q[l+40>>2]|q[l+24>>2];i=q[l+44>>2]|q[l+28>>2];d=q[l>>2];e=q[l+4>>2];c=q[l+12>>2];b=q[l+8>>2];break d}b=0;c=0;break a}c=c&65535|r<<16}x=b|x;n=c|n;if(!(!h&(i|0)==-2147483648?!(p|v):(i|0)>-1?1:(i|0)>=-1?h>>>0<=4294967295?0:1:0)){g=n;j=e;b=d+1|0;if(b>>>0<1){j=j+1|0}c=j;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=d+x|0;if(e>>>0>>0){g=g+1|0}x=e;n=g;break a}if(h|v|(i^-2147483648|p)){b=d;c=e;break a}j=n;f=e;b=d&1;c=b+d|0;if(c>>>0>>0){f=f+1|0}b=c;c=f;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=d+x|0;if(e>>>0>>0){j=j+1|0}x=e;n=j}q[a>>2]=b;q[a+4>>2]=c;q[a+8>>2]=x;q[a+12>>2]=n;Ca=l+96|0}function Ve(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;if(!q[a+25716>>2]){m=q[a+26384>>2];y=m+q[b+21792>>2]|0;E=q[b+836>>2];a:{if(!q[b+868>>2]){break a}F=q[a+25672>>2];G=(d|0)>(c|0)?d:c;A=16>>>q[a+25688>>2]|0;H=1-A|0;while(1){m=q[a+26384>>2];if((c|0)==(G|0)){break a}B=c<>2],m)+c|0;q[b+21796>>2]=z;C=q[q[a+24364>>2]+(z<<2)>>2];g=q[a+26384>>2];b:{if(!g){k=q[b+21828>>2];break b}k=C>>>7&1;q[b+21832>>2]=k;q[b+21828>>2]=k}q[b+21792>>2]=m;q[b+21788>>2]=c;e=q[b+21776>>2];i=w(e,w(m,A));l=q[q[a+28224>>2]+12>>2];s=(l|0)==3;f=w(8<>2];t=i+(f+q[n+8>>2]|0)|0;u=i+(f+q[n+4>>2]|0)|0;f=q[b+21772>>2];v=q[n>>2]+(w(f,m)+B<<4)|0;c:{if(k){k=e<<1;q[b+21784>>2]=k;n=f<<1;q[b+21780>>2]=n;if(!(m&1)){break c}e=w(e,H);t=e+t|0;u=e+u|0;v=w(f,-15)+v|0;break c}q[b+21784>>2]=e;q[b+21780>>2]=f;k=e;n=f}i=t-k|0;h=u-k|0;p=v-n|0;D=q[a+25672>>2];x=1;d:{e:{if(!g){break e}e=q[b+21832>>2];if(m&1){if(e){break e}e=p+w(n,15)|0;g=q[e+4>>2];f=q[b+27796>>2]+w(c,96)|0;q[f>>2]=q[e>>2];q[f+4>>2]=g;j=q[e+12>>2];q[f+8>>2]=q[e+8>>2];q[f+12>>2]=j;f:{g:{h:{i:{if(D){g=q[e+20>>2];q[f+16>>2]=q[e+16>>2];q[f+20>>2]=g;g=q[e+28>>2];q[f+24>>2]=q[e+24>>2];q[f+28>>2]=g;if(!s){break i}g=w(k,15);e=g+h|0;j=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=j;j=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=j;j=q[e+20>>2];q[f+48>>2]=q[e+16>>2];q[f+52>>2]=j;j=q[e+28>>2];q[f+56>>2]=q[e+24>>2];q[f+60>>2]=j;e=g+i|0;g=q[e+4>>2];q[f+64>>2]=q[e>>2];q[f+68>>2]=g;g=q[e+12>>2];q[f+72>>2]=q[e+8>>2];q[f+76>>2]=g;g=q[e+20>>2];q[f+80>>2]=q[e+16>>2];q[f+84>>2]=g;g=q[e+28>>2];q[f+88>>2]=q[e+24>>2];q[f+92>>2]=g;break e}if(!s){break h}g=w(k,15);e=g+h|0;j=q[e+4>>2];q[f+16>>2]=q[e>>2];q[f+20>>2]=j;j=q[e+12>>2];q[f+24>>2]=q[e+8>>2];q[f+28>>2]=j;e=g+i|0;g=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=g;g=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=g;break e}if((l|0)!=2){break g}g=w(k,15);e=g+h|0;j=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=j;j=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=j;e=g+i|0;g=q[e+4>>2];q[f+48>>2]=q[e>>2];q[f+52>>2]=g;g=q[e+12>>2];q[f+56>>2]=q[e+8>>2];q[f+60>>2]=g;break e}if((l|0)!=2){break f}e=w(k,15);g=e+h|0;j=q[g+4>>2];q[f+16>>2]=q[g>>2];q[f+20>>2]=j;e=e+i|0;g=q[e+4>>2];q[f+24>>2]=q[e>>2];q[f+28>>2]=g;break e}g=w(k,7);e=g+h|0;j=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=j;j=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=j;e=g+i|0;g=q[e+4>>2];q[f+48>>2]=q[e>>2];q[f+52>>2]=g;g=q[e+12>>2];q[f+56>>2]=q[e+8>>2];q[f+60>>2]=g;break e}e=w(k,7);g=e+h|0;j=q[g+4>>2];q[f+16>>2]=q[g>>2];q[f+20>>2]=j;e=e+i|0;g=q[e+4>>2];q[f+24>>2]=q[e>>2];q[f+28>>2]=g;break e}x=0;if(!e){break d}}g=n<<4;e=g+p|0;j=q[e+4>>2];f=q[((x<<2)+b|0)+27796>>2]+w(q[b+21788>>2],96)|0;q[f>>2]=q[e>>2];q[f+4>>2]=j;x=q[e+12>>2];q[f+8>>2]=q[e+8>>2];q[f+12>>2]=x;j:{k:{l:{m:{n:{o:{if(D){p=q[e+20>>2];q[f+16>>2]=q[e+16>>2];q[f+20>>2]=p;p=q[e+28>>2];q[f+24>>2]=q[e+24>>2];q[f+28>>2]=p;if(!s){break o}e=g+h|0;h=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=h;h=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=h;h=q[e+20>>2];q[f+48>>2]=q[e+16>>2];q[f+52>>2]=h;h=q[e+28>>2];q[f+56>>2]=q[e+24>>2];q[f+60>>2]=h;e=g+i|0;i=q[e+4>>2];q[f+64>>2]=q[e>>2];q[f+68>>2]=i;i=q[e+12>>2];q[f+72>>2]=q[e+8>>2];q[f+76>>2]=i;i=q[e+20>>2];q[f+80>>2]=q[e+16>>2];q[f+84>>2]=i;e=e+24|0;h=88;break j}if(!s){break n}e=g+h|0;h=q[e+4>>2];q[f+16>>2]=q[e>>2];q[f+20>>2]=h;h=q[e+12>>2];q[f+24>>2]=q[e+8>>2];q[f+28>>2]=h;e=g+i|0;i=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=i;e=e+8|0;h=40;break j}if((l|0)!=2){break m}e=h;h=k<<4;e=e+h|0;l=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=l;l=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=l;e=h+i|0;i=q[e+4>>2];q[f+48>>2]=q[e>>2];q[f+52>>2]=i;e=e+8|0;h=56;break j}if((l|0)!=2){break l}e=k<<4;h=e+h|0;l=q[h+4>>2];q[f+16>>2]=q[h>>2];q[f+20>>2]=l;e=e+i|0;break k}e=h;h=k<<3;e=e+h|0;l=q[e+4>>2];q[f+32>>2]=q[e>>2];q[f+36>>2]=l;l=q[e+12>>2];q[f+40>>2]=q[e+8>>2];q[f+44>>2]=l;e=h+i|0;i=q[e+4>>2];q[f+48>>2]=q[e>>2];q[f+52>>2]=i;e=e+8|0;h=56;break j}e=k<<3;h=e+h|0;l=q[h+4>>2];q[f+16>>2]=q[h>>2];q[f+20>>2]=l;e=e+i|0}h=24}f=h+f|0;i=q[e+4>>2];q[f>>2]=q[e>>2];q[f+4>>2]=i}p:{if(tD(a,b,C)){break p}f=q[a+28220>>2]+548|0;e=q[a+24340>>2]+z|0;q[b+852>>2]=r[f+o[e|0]|0];q[b+856>>2]=r[(f+o[e|0]|0)+88|0];if(q[a+26384>>2]){Co(a,b,c,m,v,u,t,n,k);break p}vE(a,b,c,m,v,u,t,n,k)}m=m+1|0;continue}break}c=c+1|0;continue}}q[b+21788>>2]=d;q[b+836>>2]=E;q[b+21792>>2]=y-m;a=q[a+28220>>2]+q[b+848>>2]|0;q[b+852>>2]=r[a+548|0];q[b+856>>2]=r[a+636|0]}}function kE(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,u=0;e=Ca-160|0;Ca=e;f=q[a>>2];q[e+152>>2]=0;q[e+156>>2]=0;q[e+144>>2]=0;q[e+148>>2]=0;Za(e+72|0,0,72);m=(d|0)>=4?(r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24))==875967057:m;q[a+312>>2]=0;q[a+224>>2]=0;q[a+32>>2]=1;k=f+1396|0;We(k);q[f+1652>>2]=-1;a:{if(!d){break a}XB(e+144|0,e+152|0,d);if(!q[e+144>>2]){break a}q[e+68>>2]=0;j=q[f+1716>>2]?0:d;l=f+40|0;i=e+96|0;b:{c:{d:{e:{while(1){g=q[e+68>>2];f:{while(1){if((h|0)>=(j|0)){q[e+68>>2]=g;h=hE(q[f+1720>>2],c,d,e+68|0,b);if((h|0)<0){break c}g=q[e+68>>2];j=h+g|0;break f}g=gE(c,d,h,j);if((g|0)>=(d|0)){break d}h=g;if((g|0)>=(j|0)){continue}break}q[e+68>>2]=g}h=j-g|0;n=c+g|0;o=r[n|0];p=(o&31)+ -1|0;g:{if(p>>>0>4){break g}h:{i:{switch(p-1|0){default:if(o&96){break h}break;case 0:case 1:case 2:break g;case 3:break i}}h=(h|0)<60?h:60;break g}h=(h|0)<1e3?h:1e3}h=Bl(n,h,e+144|0,e+72|0,1);if((h|0)<0){break c}h=g+h|0;q[e+68>>2]=h;if((Lh(i,q[e+80>>2],q[e+76>>2])|0)<0){break b}Tb(i);s=e,u=Zc(i,2),q[s+140>>2]=u;g=Zc(i,5);q[e+116>>2]=g;g=g+ -1|0;if(g>>>0>7){continue}j:{switch(g-1|0){case 5:ue(i,b,l,0);continue;case 6:tk(i,b,l,q[e+84>>2]);continue;case 4:co(k,i,l,b);continue;case 3:break j;case 0:case 1:case 2:continue;default:break e}}break}q[a+224>>2]=1;c=f+1388|0;q[c>>2]=0;q[c+4>>2]=0;c=f+1376|0;q[c>>2]=0;q[c+4>>2]=0}ke(i);s=a,u=r[((gd(i)>>>0)%5|0)+152304|0],q[s+32>>2]=u;if(q[f+1508>>2]>=0){q[a+224>>2]=1}c=to(i);if(c>>>0>=256){q[e+16>>2]=c;Ta(b,16,10011,e+16|0);break b}d=(c<<2)+f|0;if(!q[d+168>>2]){q[e+32>>2]=c;Ta(b,16,11130,e+32|0);break b}c=f+1192|0;lb(c);g=f+1196|0;lb(g);h=f+1200|0;q[h>>2]=0;q[h+4>>2]=0;h=c;c=Jb(q[d+168>>2]);q[h>>2]=c;if(!c){break b}c=q[c+4>>2];q[f+1200>>2]=c;c=q[c>>2];d=q[((c<<2)+f|0)+40>>2];if(!d){q[e+48>>2]=c;Ta(b,16,12281,e+48|0);break b}c=Jb(d);q[g>>2]=c;if(!c){break b}d=q[c+4>>2];q[f+1204>>2]=d;if(!(q[d+48>>2]>1|t[q[f+1200>>2]+20>>2]>1|q[a+32>>2]!=1)){q[a+224>>2]=1}s=f+1372|0,u=Zc(i,q[d+20>>2]),q[s>>2]=u;c=q[d+56>>2]<<4;q[a+328>>2]=c;g=q[d+60>>2]<<4;q[a+332>>2]=g;h=(c-q[d+84>>2]|0)-q[d+80>>2]|0;q[a+320>>2]=h;j=(g-q[d+88>>2]|0)-q[d+92>>2]|0;q[a+324>>2]=j;if(!((j|0)>0?(h|0)>=1:0)){q[a+324>>2]=g;q[a+320>>2]=c}c=q[d+1700>>2]+ -8|0;k:{if(c>>>0<=2){l:{switch(c-1|0){case 0:c=q[d+12>>2];if((c|0)==3){q[a+336>>2]=68;break k}if((c|0)==2){q[a+336>>2]=72;break k}q[a+336>>2]=62;break k;case 1:c=q[d+12>>2];if((c|0)==3){q[a+336>>2]=70;break k}if((c|0)==2){q[a+336>>2]=66;break k}q[a+336>>2]=64;break k;default:break l}}c=q[d+12>>2];if((c|0)==3){q[a+336>>2]=5;break k}if((c|0)==2){q[a+336>>2]=4;break k}q[a+336>>2]=0;break k}q[a+336>>2]=-1}s=b,u=vo(d),q[s+716>>2]=u;q[b+720>>2]=q[d+8>>2];j=3;m:{if(q[d+64>>2]){break m}if(!Tb(i)){break m}j=Tb(i)+1|0}q[f+1728>>2]=j;if(q[e+116>>2]==5){ke(i)}g=f+1352|0;c=q[d+24>>2];if(!c){s=f,u=Zc(i,q[d+28>>2]),q[s+1352>>2]=u;if(!(q[q[f+1200>>2]+8>>2]!=1|q[f+1728>>2]!=3)){s=f+1360|0,u=Rc(i),q[s>>2]=u}c=q[d+24>>2]}n:{if(q[d+32>>2]|(c|0)!=1){break n}s=f+1364|0,u=Rc(i),q[s>>2]=u;if(q[q[f+1200>>2]+8>>2]!=1|q[f+1728>>2]!=3){break n}s=f+1368|0,u=Rc(i),q[s>>2]=u}q[e+60>>2]=2147483647;q[e+64>>2]=2147483647;if((xo(e+60|0,a+316|0,d,g,q[f+1728>>2],q[e+140>>2])|0)<0){break b}o:{if(!(!q[e+140>>2]|q[e+116>>2]==5)){j=0;c=fE(a,i,b);if((c|0)<0){break b}h=0;b=1;if(c){break o}}h=q[f+1384>>2];j=q[f+1372>>2];b=0}q[f+1388>>2]=h;q[f+1392>>2]=j;if(q[e+140>>2]){c=f+1380|0;p:{if(!b){q[f+1376>>2]=q[f+1356>>2];b=q[f+1352>>2];break p}q[f+1376>>2]=0;b=q[f+1728>>2]==2?0:q[e+60>>2]}q[c>>2]=b}b=a;q:{r:{d=q[d+1676>>2];if(!(!d|!q[k>>2])){c=q[f+1400>>2];if(c>>>0<9){break r}c=q[f+1728>>2]==3;break q}c=q[f+1728>>2]==3;break q}c=q[(c<<2)+168796>>2]}q[b+36>>2]=c;s:{t:{u:{g=q[f+1728>>2];b=g+ -1|0;if(b>>>0>2){break u}v:{switch(b-1|0){case 0:break u;case 1:break v;default:break t}}q[a+312>>2]=3;if(!(!d|!q[k>>2])){b=q[f+1400>>2]+ -3|0;if(b>>>0<=3){w:{switch(b-1|0){default:q[a+308>>2]=2;break s;case 0:case 2:break w}}q[a+308>>2]=3;break s}q[a+308>>2]=1;break s}b=q[e+60>>2];c=q[e+64>>2];if((b|0)<(c|0)){q[a+308>>2]=2;break s}if((b|0)>(c|0)){q[a+308>>2]=3;break s}q[a+308>>2]=1;break s}g=2}q[a+312>>2]=g;x:{y:{c=q[f+1372>>2];if((c|0)!=q[f+1760>>2]){break y}z:{b=q[f+1764>>2];if(b>>>0>3){break z}switch(b-1|0){case 0:case 1:break z;default:break y}}if((b|0)==(g|0)){break y}if((b|0)==1){q[a+308>>2]=2;break x}q[a+308>>2]=3;break x}q[a+308>>2]=0}q[f+1760>>2]=c;q[f+1764>>2]=g}Wa(e+144|0);break a}q[e+68>>2]=g}if(m){Wa(e+144|0);break a}q[e>>2]=d;Ta(b,16,13424,e)}Wa(e+144|0)}Ca=e+160|0}function jB(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=Ca-432|0;Ca=g;h=q[b+4>>2];a:{if(h>>>0>2]){q[b+4>>2]=h+1;i=r[h|0];break a}i=qb(b)}b:{c:{while(1){if((i|0)!=48){d:{if((i|0)!=46){break b}h=q[b+4>>2];if(h>>>0>=t[b+104>>2]){break d}q[b+4>>2]=h+1;i=r[h|0];break c}}else{h=q[b+4>>2];if(h>>>0>2]){z=1;q[b+4>>2]=h+1;i=r[h|0]}else{z=1;i=qb(b)}continue}break}i=qb(b)}y=1;if((i|0)!=48){break b}while(1){m=m+ -1|0;h=v+ -1|0;if(h>>>0<4294967295){m=m+1|0}v=h;h=q[b+4>>2];e:{if(h>>>0>2]){q[b+4>>2]=h+1;i=r[h|0];break e}i=qb(b)}if((i|0)==48){continue}break}z=1}h=1073676288;while(1){f:{A=i|32;g:{h:{B=i+ -48|0;if(B>>>0<10){break h}if(A+ -97>>>0>5?(i|0)!=46:0){break f}if((i|0)!=46){break h}if(y){break f}y=1;v=n;m=j;break g}i=(i|0)>57?A+ -87|0:B;i:{if((j|0)<0?1:(j|0)<=0?n>>>0>7?0:1:0){p=i+(p<<4)|0;break i}if((j|0)<0?1:(j|0)<=0?n>>>0>28?0:1:0){xc(g+48|0,i);tb(g+32|0,w,x,o,h,0,0,0,1073414144);w=q[g+32>>2];x=q[g+36>>2];o=q[g+40>>2];h=q[g+44>>2];tb(g+16|0,w,x,o,h,q[g+48>>2],q[g+52>>2],q[g+56>>2],q[g+60>>2]);qc(g,k,l,s,u,q[g+16>>2],q[g+20>>2],q[g+24>>2],q[g+28>>2]);s=q[g+8>>2];u=q[g+12>>2];k=q[g>>2];l=q[g+4>>2];break i}if(!i|E){break i}tb(g+80|0,w,x,o,h,0,0,0,1073610752);qc(g- -64|0,k,l,s,u,q[g+80>>2],q[g+84>>2],q[g+88>>2],q[g+92>>2]);s=q[g+72>>2];u=q[g+76>>2];E=1;k=q[g+64>>2];l=q[g+68>>2]}n=n+1|0;if(n>>>0<1){j=j+1|0}z=1}i=q[b+4>>2];if(i>>>0>2]){q[b+4>>2]=i+1;i=r[i|0]}else{i=qb(b)}continue}break}j:{k:{l:{if(!z){if(!q[b+104>>2]){if(f){break k}break l}c=q[b+4>>2];q[b+4>>2]=c+ -1;if(!f){break l}q[b+4>>2]=c+ -2;if(!y){break k}q[b+4>>2]=c+ -3;break k}if((j|0)<0?1:(j|0)<=0?n>>>0>7?0:1:0){o=n;h=j;while(1){p=p<<4;i=o+1|0;if(i>>>0<1){h=h+1|0}o=i;if((i|0)!=8|h){continue}break}}m:{if((A|0)==112){o=on(b,f);i=Da;h=i;if(o|(h|0)!=-2147483648){break m}if(f){o=0;h=0;if(!q[b+104>>2]){break m}q[b+4>>2]=q[b+4>>2]+ -1;break m}k=0;l=0;Nc(b,0,0);c=0;b=0;break j}o=0;h=0;if(!q[b+104>>2]){break m}q[b+4>>2]=q[b+4>>2]+ -1}if(!p){ld(g+112|0,+(e|0)*0);k=q[g+112>>2];l=q[g+116>>2];c=q[g+120>>2];b=q[g+124>>2];break j}f=y?v:n;m=(y?m:j)<<2|f>>>30;b=o+(f<<2)|0;f=h+m|0;f=b>>>0>>0?f+1|0:f;b=b+ -32|0;j=f+ -1|0;j=b>>>0<4294967264?j+1|0:j;n=b;b=0-d|0;f=n>>>0<=b>>>0?0:1;b=b>>31;if((j|0)>(b|0)?1:(j|0)>=(b|0)?f:0){q[865816]=68;xc(g+160|0,e);tb(g+144|0,q[g+160>>2],q[g+164>>2],q[g+168>>2],q[g+172>>2],-1,-1,-1,2147418111);tb(g+128|0,q[g+144>>2],q[g+148>>2],q[g+152>>2],q[g+156>>2],-1,-1,-1,2147418111);k=q[g+128>>2];l=q[g+132>>2];c=q[g+136>>2];b=q[g+140>>2];break j}b=d+ -226|0;f=n>>>0>>0?0:1;b=b>>31;if((j|0)>(b|0)?1:(j|0)>=(b|0)?f:0){if((p|0)>-1){while(1){qc(g+416|0,k,l,s,u,0,0,0,-1073807360);h=OA(k,l,s,u);f=(h|0)<0;b=f;qc(g+400|0,k,l,s,u,b?k:q[g+416>>2],b?l:q[g+420>>2],b?s:q[g+424>>2],b?u:q[g+428>>2]);j=j+ -1|0;b=n+ -1|0;if(b>>>0<4294967295){j=j+1|0}n=b;s=q[g+408>>2];u=q[g+412>>2];k=q[g+400>>2];l=q[g+404>>2];p=p<<1|(h|0)>-1;if((p|0)>-1){continue}break}}b=d;m=(n-b|0)+32|0;j=j-((b>>31)+(n>>>0>>0)|0)|0;b=m;d=(b|0)>0?b:0;h=c;j=b>>>0<32?j+1|0:j;b=h>>31;c=((j|0)<(b|0)?1:(j|0)<=(b|0)?m>>>0>=h>>>0?0:1:0)?d:h;n:{if((c|0)>=113){xc(g+384|0,e);v=q[g+392>>2];m=q[g+396>>2];w=q[g+384>>2];x=q[g+388>>2];d=0;b=0;break n}ld(g+352|0,kd(1,144-c|0));xc(g+336|0,e);w=q[g+336>>2];x=q[g+340>>2];v=q[g+344>>2];m=q[g+348>>2];rn(g+368|0,q[g+352>>2],q[g+356>>2],q[g+360>>2],q[g+364>>2],w,x,v,m);C=q[g+376>>2];D=q[g+380>>2];d=q[g+372>>2];b=q[g+368>>2]}c=!(p&1)&((re(k,l,s,u,0,0,0,0)|0)!=0&(c|0)<32);Se(g+320|0,c+p|0);tb(g+304|0,w,x,v,m,q[g+320>>2],q[g+324>>2],q[g+328>>2],q[g+332>>2]);qc(g+272|0,q[g+304>>2],q[g+308>>2],q[g+312>>2],q[g+316>>2],b,d,C,D);tb(g+288|0,c?0:k,c?0:l,c?0:s,c?0:u,w,x,v,m);qc(g+256|0,q[g+288>>2],q[g+292>>2],q[g+296>>2],q[g+300>>2],q[g+272>>2],q[g+276>>2],q[g+280>>2],q[g+284>>2]);Vj(g+240|0,q[g+256>>2],q[g+260>>2],q[g+264>>2],q[g+268>>2],b,d,C,D);e=q[g+240>>2];d=q[g+244>>2];c=q[g+248>>2];b=q[g+252>>2];if(!re(e,d,c,b,0,0,0,0)){q[865816]=68}qn(g+224|0,e,d,c,b,n);k=q[g+224>>2];l=q[g+228>>2];c=q[g+232>>2];b=q[g+236>>2];break j}q[865816]=68;xc(g+208|0,e);tb(g+192|0,q[g+208>>2],q[g+212>>2],q[g+216>>2],q[g+220>>2],0,0,0,65536);tb(g+176|0,q[g+192>>2],q[g+196>>2],q[g+200>>2],q[g+204>>2],0,0,0,65536);k=q[g+176>>2];l=q[g+180>>2];c=q[g+184>>2];b=q[g+188>>2];break j}Nc(b,0,0)}ld(g+96|0,+(e|0)*0);k=q[g+96>>2];l=q[g+100>>2];c=q[g+104>>2];b=q[g+108>>2]}q[a>>2]=k;q[a+4>>2]=l;q[a+8>>2]=c;q[a+12>>2]=b;Ca=g+432|0}function AD(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca-112|0;Ca=e;a:{b:{d=yD(a,b,d);c:{if((d|0)<0){break c}h=q[a+28224>>2];d:{if(!h|!q[h+1176>>2]){break d}d=q[a+4>>2];f=q[h+1180>>2];if(q[d+140>>2]>=(f|0)){break d}q[d+140>>2]=f}i=q[a+25692>>2];q[a+25692>>2]=!q[c+68>>2];f=q[a+26388>>2];d=q[b+21824>>2];q[a+26388>>2]=d;g=q[b+34732>>2];q[a+28260>>2]=g;q[a+28240>>2]=q[b+34736>>2];q[a+28248>>2]=q[b+34740>>2];q[a+28252>>2]=q[b+34744>>2];q[a+28256>>2]=q[b+34748>>2];j=q[a+28280>>2];e:{if((j|0)==(g|0)){break e}k=1<>2];l=(g-j|0)+((g|0)<(j|0)?k:0)|0;j=q[h+48>>2];if((l|0)<=(j|0)){break e}g=g+(j^-1)|0;q[a+28280>>2]=(k&g>>31)+g}f:{if(!q[a+26392>>2]){break f}g=q[a+24312>>2];g:{if(g){if(!q[q[g>>2]+248>>2]){break g}d=q[(g+(((f|0)==2)<<2)|0)+8>>2]==q[a+4>>2]?q[a+26388>>2]:d;if(!((d|0)!=(f|0)?(d|0)!=3:0)){break f}if(q[q[a+24312>>2]+88>>2]!=q[a+28260>>2]){break f}if(!((f|0)==1&(d|0)==2|(f|0)==2&(d|0)==1)){b=q[a+4>>2];q[e+84>>2]=d;q[e+80>>2]=f;Ta(b,16,30172,e+80|0);q[a+25692>>2]=i;q[a+26388>>2]=f;d=-1094995529;break c}if((i|0)==q[a+25692>>2]){break f}Pc(q[a+4>>2],30657,0);q[a+25692>>2]=i;q[a+26388>>2]=f;d=-1163346256;break c}q[e+56>>2]=1490;q[e+52>>2]=12455;q[e+48>>2]=29270;Ta(0,0,10109,e+48|0);I();F()}q[e+72>>2]=1491;q[e+68>>2]=12455;q[e+64>>2]=29838;Ta(0,0,10109,e- -64|0);I();F()}k=a+28240|0;h:{i:{j:{k:{l:{m:{n:{while(1){o:{d=q[a+26392>>2];i=q[a+28260>>2];j=q[a+28280>>2];if((i|0)==(j|0)){break o}if(d){break n}if((i|0)==((j+1|0)%(1<>2])|0)){break m}d=0;g=0;g=q[a+29572>>2]?q[a+28364>>2]:g;l=q[a+4>>2];q[e+36>>2]=j;q[e+32>>2]=i;Ta(l,48,31183,e+32|0);p:{if(q[h+52>>2]){break p}while(1){if((d|0)==16){break p}q[((d<<2)+a|0)+28692>>2]=-2147483648;d=d+1|0;continue}}d=$n(a);if((d|0)<=-1){q[a+26392>>2]=0;break c}d=(q[a+28280>>2]+1|0)%(1<>2])|0;q[a+28280>>2]=d;i=q[a+24312>>2];q[i+88>>2]=d;q[i+648>>2]=!q[h+52>>2];q[a+29564>>2]=0;d=go(a);if(r[q[a+4>>2]+580|0]&8?(d|0)<=-1:0){break c}if(!q[a+29572>>2]){continue}d=q[a+28224>>2];q[e+96>>2]=1<>2]+ -1;d=q[d+1704>>2];q[e+108>>2]=-1;d=1<>2]=d;q[e+100>>2]=d;q:{r:{if(!g){break r}d=q[q[a+28364>>2]>>2];i=q[g>>2];if(q[d+68>>2]!=q[i+68>>2]|q[d+72>>2]!=q[i+72>>2]|q[d+80>>2]!=q[i+80>>2]){break r}d=q[q[a+28364>>2]>>2];i=d;j=d+32|0;d=q[g>>2];zk(i,j,d,d+32|0,q[d+80>>2],q[d+68>>2],q[d+72>>2]);q[q[a+28364>>2]+84>>2]=q[g+84>>2]+2;break q}if(q[a+29592>>2]|q[q[a+4>>2]+592>>2]){break q}SB(q[q[a+28364>>2]>>2],e+96|0)}q[q[a+28364>>2]+88>>2]=q[a+28280>>2];continue}break}if(!d){break m}}h=q[a+24312>>2];if(!h){break b}if(!q[q[h>>2]+248>>2]){break a}d=q[a+26388>>2];if(!((d|0)!=(f|0)?(d|0)!=3:0)){q[a+24312>>2]=0;f=(d|0)!=3;q[a+26392>>2]=f;q[a+29600>>2]=q[a+29600>>2]+1;break l}q[a+29600>>2]=0;if((i|0)!=q[h+88>>2]){q[a+24312>>2]=0;f=1;q[a+26392>>2]=1;d=q[a+26388>>2];break l}if(!(r[h+640|0]&4)){break j}q[a+24312>>2]=0;q[a+26392>>2]=1;break k}d=q[a+26388>>2];f=(d|0)!=3;q[a+26392>>2]=f}if((d|0)==3){break k}if(!f){break i}}if(($n(a)|0)>-1){break h}q[a+26392>>2]=0;d=-1094995529;break c}q[a+26392>>2]=0}_n(a,0);q[(q[a+24312>>2]+(((d|0)==2)<<2)|0)+8>>2]=q[a+4>>2]}d=q[a+26388>>2];s:{if((d|0)!=3){d=(d|0)==2;while(1){f=q[a+27016>>2];if((d|0)>=(f|0)){break s}h=q[a+27024>>2];i=q[a+26380>>2]+(w(h,d)<<1)|0;d=d+1|0;Za(i,255,h-((f|0)==(d|0))<<1);continue}}Za(q[a+26380>>2],255,(w(q[a+27016>>2],q[a+27024>>2])<<1)+ -2|0)}d=q[a+24312>>2];d=xo(d+76|0,d+84|0,q[a+28224>>2],k,q[a+26388>>2],q[c+68>>2]);if((d|0)<0){break c}Va(a+28764|0,b+33932|0,w(q[b+34724>>2],12));q[a+29556>>2]=q[b+34724>>2];q[a+29564>>2]=q[b+34728>>2];h=q[c+44>>2]==5;q[a+25720>>2]=h;d=q[a+29804>>2];t:{if((d|0)<0){break t}f=q[a+28260>>2];if(!(q[b+840>>2]==1?(f|0)==(d|0):0)){q[a+29584>>2]=1}g=q[a+29588>>2];u:{if((g|0)<=-1){b=-1<>2]+20>>2]^-1;break u}b=-1<>2]+20>>2]^-1;if((b&g-f)>>>0<=d>>>0){break t}}q[a+29588>>2]=q[a+29584>>2]?d+f&b:f}b=q[a+24312>>2];d=q[b>>2];q[d+84>>2]=h|q[d+84>>2];v:{if(!h){if(!q[c+68>>2]|q[a+29588>>2]!=q[a+28260>>2]){break v}q[a+29588>>2]=-1;q[b+644>>2]=1;break v}q[a+29588>>2]=-1;q[b+644>>2]=1;q[a+29592>>2]=q[a+29592>>2]|1}q[b+644>>2]=q[b+644>>2]|q[a+29592>>2];if(!(!q[a+26392>>2]|q[a+26388>>2]==3)){d=0;if(q[a+29600>>2]<2){break c}}d=xD(a);if((d|0)<0){break c}wD(a);d=0}Ca=e+112|0;return d}q[e+8>>2]=1605;q[e+4>>2]=12455;q[e>>2]=29270;Ta(0,0,10109,e);I();F()}q[e+24>>2]=1606;q[e+20>>2]=12455;q[e+16>>2]=29838;Ta(0,0,10109,e+16|0);I();F()}function CE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0;h=Ca-16|0;Ca=h;n=q[b+21796>>2];q[h>>2]=0;Za(q[a+25980>>2]+w(n,48)|0,0,48);if(q[b+21828>>2]){q[h>>2]=128;j=128}a:{if(q[b+840>>2]==3){d=j|63744;q[h>>2]=d;if(q[b+21844>>2]){yk(a,b,d);Ho(a,b,d)}Xe(a,b,h);l=q[h>>2]|2048;q[h>>2]=l;break a}l=j|14344;q[h>>2]=l;yk(a,b,l);k=q[a+24352>>2];s=q[a+24384>>2];i=q[a+26376>>2];q[b+28308>>2]=0;q[b+28300>>2]=0;q[b+28292>>2]=0;q[b+28284>>2]=0;b:{c=q[b+21740>>2];c:{if(c&12288){d=q[b+21720>>2]<<2;e=r[q[b+21748>>2]];g=k+(q[d+q[a+26368>>2]>>2]+w(e,i)<<2)|0;j=g+12|0;d=o[((e&254)+(d|1)|0)+s|0];d:{if(!q[a+26384>>2]){break d}c=c&128;if(q[b+21828>>2]){if(c){break d}c=q[g+12>>2];q[h+4>>2]=c;p[h+6>>1]=(c>>16)/2;d=d<<1;j=h+4|0;break d}if(!c){break d}c=q[g+12>>2];q[h+4>>2]=c;p[h+6>>1]=c>>>15&65534;d=d>>1;j=h+4|0}if(q[j>>2]|d){break c}break b}if(!c){break b}j=165220;d=-1}c=q[b+21732>>2];e:{if(c&12288){e=q[b+21712>>2]<<2;g=k+(q[e+q[a+26368>>2]>>2]+w(i,3)<<2)|0;f=o[(e|2)+s|0];f:{if(!q[a+26384>>2]){break f}c=c&128;if(q[b+21828>>2]){if(c){break f}c=q[g>>2];q[h+8>>2]=c;p[h+10>>1]=(c>>16)/2;f=f<<1;g=h+8|0;break f}if(!c){break f}c=q[g>>2];q[h+8>>2]=c;p[h+10>>1]=c>>>15&65534;f=f>>1;g=h+8|0}if(!(q[g>>2]|f)){break b}break e}if(!c){break b}f=-1;g=165220}m=q[b+21736>>2];g:{if(m&12288){e=q[b+21716>>2]<<2;c=k+(q[e+q[a+26368>>2]>>2]+w(i,3)<<2)|0;e=o[(e|2)+s|0];if(!q[a+26384>>2]){break g}i=m&128;if(q[b+21828>>2]){if(i){break g}c=q[c>>2];q[h+12>>2]=c;p[h+14>>1]=(c>>16)/2;e=e<<1;c=h+12|0;break g}if(!i){break g}c=q[c>>2];q[h+12>>2]=c;p[h+14>>1]=c>>>15&65534;e=e>>1;c=h+12|0;break g}c=165220;e=-1;if(m){break g}m=q[b+21728>>2];if(!(m&12288)){break g}c=k;e=q[b+21708>>2]<<2;k=q[b+21752>>2];i=c+(q[e+q[a+26368>>2]>>2]+(i+(k&i<<1)|0)<<2)|0;c=i+12|0;e=o[(e|k&2|1)+s|0];if(!q[a+26384>>2]){break g}k=m&128;if(q[b+21828>>2]){if(k){break g}c=q[i+12>>2];q[h+12>>2]=c;p[h+14>>1]=(c>>16)/2;e=e<<1;c=h+12|0;break g}if(!k){break g}c=q[i+12>>2];q[h+12>>2]=c;p[h+14>>1]=c>>>15&65534;e=e>>1;c=h+12|0}e=!e+(!f+!d|0)|0;h:{if(e>>>0>=2){d=ob(p[j>>1],p[g>>1],p[c>>1]);c=ob(p[j+2>>1],p[g+2>>1],p[c+2>>1]);break h}if((e|0)==1){if(!d){d=p[j>>1];c=p[j+2>>1];break h}if(!f){d=p[g>>1];c=p[g+2>>1];break h}d=p[c>>1];c=p[c+2>>1];break h}d=ob(p[j>>1],p[g>>1],p[c>>1]);c=ob(p[j+2>>1],p[g+2>>1],p[c+2>>1])}d=d&65535|c<<16;q[b+28108>>2]=d;q[b+28104>>2]=d;q[b+28100>>2]=d;q[b+28096>>2]=d;q[b+28076>>2]=d;q[b+28072>>2]=d;q[b+28068>>2]=d;q[b+28064>>2]=d;q[b+28044>>2]=d;q[b+28040>>2]=d;q[b+28036>>2]=d;q[b+28032>>2]=d;q[b+28012>>2]=d;q[b+28008>>2]=d;q[b+28004>>2]=d;q[b+28e3>>2]=d;break a}d=b+28008|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28e3|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28032|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28040|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28064|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28072|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28096|0;q[d>>2]=0;q[d+4>>2]=0;d=b+28104|0;q[d>>2]=0;q[d+4>>2]=0}d=q[a+26376>>2];g=(w(d,q[b+21792>>2])<<2)+(q[b+21788>>2]<<2)|0;j=q[b+21796>>2]<<2;i:{if(l&12288){f=b+28e3|0;i=q[f+4>>2];c=q[a+24352>>2]+(g<<2)|0;q[c>>2]=q[f>>2];q[c+4>>2]=i;e=b+28008|0;f=q[e+4>>2];q[c+8>>2]=q[e>>2];q[c+12>>2]=f;i=b+28032|0;k=q[i+4>>2];e=c+(d<<2)|0;q[e>>2]=q[i>>2];q[e+4>>2]=k;f=b+28040|0;i=q[f+4>>2];q[e+8>>2]=q[f>>2];q[e+12>>2]=i;i=b+28064|0;k=q[i+4>>2];e=c+(d<<3)|0;q[e>>2]=q[i>>2];q[e+4>>2]=k;f=b+28072|0;i=q[f+4>>2];q[e+8>>2]=q[f>>2];q[e+12>>2]=i;f=b+28096|0;i=q[f+4>>2];c=c+w(d,12)|0;q[c>>2]=q[f>>2];q[c+4>>2]=i;e=b+28104|0;f=q[e+4>>2];q[c+8>>2]=q[e>>2];q[c+12>>2]=f;c=j+q[a+24384>>2]|0;o[c|0]=r[b+28284|0];o[c+1|0]=r[b+28286|0];o[c+2|0]=r[b+28300|0];o[c+3|0]=r[b+28302|0];break i}c=j+q[a+24384>>2]|0;p[c>>1]=-1;p[c+2>>1]=65535}if(l&49152){e=b+28160|0;f=q[e+4>>2];c=q[a+24356>>2]+(g<<2)|0;q[c>>2]=q[e>>2];q[c+4>>2]=f;g=b+28168|0;e=q[g+4>>2];q[c+8>>2]=q[g>>2];q[c+12>>2]=e;f=b+28192|0;i=q[f+4>>2];g=c+(d<<2)|0;e=g;q[e>>2]=q[f>>2];q[e+4>>2]=i;e=b+28200|0;f=q[e+4>>2];q[g+8>>2]=q[e>>2];q[g+12>>2]=f;f=b+28224|0;i=q[f+4>>2];g=c+(d<<3)|0;e=g;q[e>>2]=q[f>>2];q[e+4>>2]=i;e=b+28232|0;f=q[e+4>>2];q[g+8>>2]=q[e>>2];q[g+12>>2]=f;g=b+28256|0;e=q[g+4>>2];d=c+w(d,12)|0;c=d;q[c>>2]=q[g>>2];q[c+4>>2]=e;c=b+28264|0;g=q[c+4>>2];q[d+8>>2]=q[c>>2];q[d+12>>2]=g;d=j+q[a+24388>>2]|0;o[d|0]=r[b+28324|0];o[d+1|0]=r[b+28326|0];o[d+2|0]=r[b+28340|0];o[d+3|0]=r[b+28342|0]}q[q[a+24364>>2]+(n<<2)>>2]=q[h>>2];o[q[a+24340>>2]+n|0]=q[b+848>>2];p[q[a+26380>>2]+(n<<1)>>1]=q[b+832>>2];q[b+21648>>2]=1;Ca=h+16|0}function df(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;n=Ca+ -64|0;Ca=n;l=q[b+48>>2];i=(l|0)==1?2:1;g=(e|0)==1;k=q[b+310116>>2];f=q[d+92>>2];a:{if(!(!e|!l)){A=f?5:6;x=f?12:24;h=f?2390436:2390372;e=f?2390452:2390388;break a}A=f?6:7;x=f?31:60;h=f?2390404:2390340;e=f?2390420:2390356}y=g?i:1;B=k&1;s=q[h>>2];z=q[e>>2];l=0;b:while(1){c:{d:{e:{e=q[d+8>>2];if(l>>>0>>0){if(r[(d+l|0)+24|0]){h=0;f=d+12|0;i=l+1|0;u=f+i|0;e=r[u|0];if((e|0)==r[f+l|0]){while(1){if(h>>>0>=t[(((e&255)<<2)+b|0)+310112>>2]){break c}m=q[c>>2];e=q[c+8>>2];f=m+(e>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(e&7)>>>21&2044)+s|0;k=p[f>>1];v=r[((w(l,48)+d|0)+h|0)+86416|0];j=q[c+16>>2];f=p[f+2>>1];f:{if((f|0)>-1){break f}e=e+9|0;e=j>>>0>e>>>0?e:j;g=m+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>f+32|0)+k<<2)+s|0;k=p[g>>1];g=p[g+2>>1];if((g|0)>-1){f=g;break f}e=e-f|0;e=j>>>0>e>>>0?e:j;f=m+(e>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);g=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(e&7)>>>g+32|0)+k<<2)+s|0;f=p[g+2>>1];k=p[g>>1]}e=e+f|0;q[c+8>>2]=j>>>0>e>>>0?e:j;e=v+w(k-x|0,y)|0;o[((w(i,48)+d|0)+h|0)+86416|0]=e;e=e<<24>>24;if((e|0)>=0){h=h+1|0;e=r[u|0];continue}break}a=q[a+4>>2];q[n+16>>2]=e&255;Ta(a,16,33613,n+16|0);a=-1094995529;break d}if(e){break e}e=0;while(1){if(e>>>0>=t[(((h&255)<<2)+b|0)+310112>>2]){break c}m=q[c>>2];h=q[c+8>>2];f=m+(h>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(h&7)>>>21&2044)+s|0;k=p[f>>1];v=r[((w(l,48)+d|0)+(e?(e<<1)-B|0:0)|0)+86416|0];j=q[c+16>>2];f=p[f+2>>1];g:{if((f|0)>-1){break g}g=h+9|0;h=j>>>0>g>>>0?g:j;g=m+(h>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(h&7)>>>f+32|0)+k<<2)+s|0;k=p[g>>1];g=p[g+2>>1];if((g|0)>-1){f=g;break g}f=h-f|0;h=j>>>0>f>>>0?f:j;f=m+(h>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);g=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(h&7)>>>g+32|0)+k<<2)+s|0;f=p[g+2>>1];k=p[g>>1]}f=f+h|0;q[c+8>>2]=j>>>0>f>>>0?f:j;f=v+w(k-x|0,y)|0;o[((w(i,48)+d|0)+e|0)+86416|0]=f;f=f<<24>>24;if((f|0)>=0){e=e+1|0;h=r[u|0];continue}break}a=q[a+4>>2];q[n+32>>2]=f&255;Ta(a,16,33613,n+32|0);a=-1094995529;break d}e=1;l=l+1|0;m=w(l,48)+d|0;j=w(Ua(c,A),y);o[m+86416|0]=j;v=d+l|0;while(1){if(e>>>0>=t[((r[v+12|0]<<2)+b|0)+310112>>2]){continue b}u=q[c>>2];h=q[c+8>>2];f=u+(h>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(h&7)>>>21&2044)+z|0;k=p[f>>1];g=q[c+16>>2];f=p[f+2>>1];h:{if((f|0)>-1){break h}i=h+9|0;h=g>>>0>i>>>0?i:g;i=u+(h>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);i=(((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(h&7)>>>f+32|0)+k<<2)+z|0;k=p[i>>1];i=p[i+2>>1];if((i|0)>-1){f=i;break h}f=h-f|0;h=g>>>0>f>>>0?f:g;f=u+(h>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);i=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(h&7)>>>i+32|0)+k<<2)+z|0;f=p[i+2>>1];k=p[i>>1]}f=f+h|0;q[c+8>>2]=g>>>0>f>>>0?f:g;f=w(k-x|0,y)+j|0;o[(e+m|0)+86416|0]=f;e=e+1|0;j=f<<24>>24;if((j|0)>-1){continue}break}a=q[a+4>>2];q[n>>2]=j&255;Ta(a,16,33613,n);a=-1094995529;break d}a=d+86416|0;Va(a,a+w(e,48)|0,48);a=0;break d}while(1){if(h>>>0>=t[(((e&255)<<2)+b|0)+310112>>2]){break c}m=q[c>>2];e=q[c+8>>2];f=m+(e>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(e&7)>>>21&2044)+s|0;k=p[f>>1];v=r[(w(l,48)+d+(h+B>>>1)|0)+86416|0];j=q[c+16>>2];f=p[f+2>>1];i:{if((f|0)>-1){break i}e=e+9|0;e=j>>>0>e>>>0?e:j;g=m+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>f+32|0)+k<<2)+s|0;k=p[g>>1];g=p[g+2>>1];if((g|0)>-1){f=g;break i}e=e-f|0;e=j>>>0>e>>>0?e:j;f=m+(e>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);g=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(e&7)>>>g+32|0)+k<<2)+s|0;f=p[g+2>>1];k=p[g>>1]}e=e+f|0;q[c+8>>2]=j>>>0>e>>>0?e:j;e=v+w(k-x|0,y)|0;o[((w(i,48)+d|0)+h|0)+86416|0]=e;e=e<<24>>24;if((e|0)>=0){h=h+1|0;e=r[u|0];continue}break}a=q[a+4>>2];q[n+48>>2]=e&255;Ta(a,16,33613,n+48|0);a=-1094995529}Ca=n- -64|0;return a}l=i;continue}}function go(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ca-96|0;Ca=d;a:{if(!q[a+28224>>2]){Ta(q[a+4>>2],16,19128,0);h=-1094995529;break a}if(!q[a+29564>>2]){SD(a)}b=q[a+29556>>2];b:{if(b){break b}f=q[a+4>>2];if(!(q[f+576>>2]&2048)){break b}Ta(f,48,19969,0)}k=(b|0)>0?b:0;l=a+28364|0;f=0;c:{d:{e:{while(1){if((f|0)!=(k|0)){b=q[a+4>>2];if(r[b+577|0]&8){c=w(f,12)+a|0;g=c+28764|0;j=q[g+4>>2];g=q[g>>2];q[d+72>>2]=q[c+28772>>2];q[d+64>>2]=g;q[d+68>>2]=j;Ta(b,48,20594,d- -64|0)}f:{g:{c=w(f,12)+a|0;g=c+28764|0;b=q[g>>2];j=b+ -1|0;if(j>>>0>2|!(j-1)){break g}i=Ni(a,q[c+28768>>2],d+88|0);e=fo(a,i,d+92|0);b=q[g>>2];if(e){break g}h:{if((b|0)!=3){break h}b=q[((q[c+28772>>2]<<2)+a|0)+28492>>2];if(!b){break h}e=0;if(q[b+88>>2]==(i|0)){break f}}e=0;Ta(q[a+4>>2],q[a+29572>>2]?16:48,21103,0);h=-1094995529;break f}i:{b=b+ -1|0;j:{if(b>>>0<=5){k:{switch(b-1|0){default:b=q[a+4>>2];if(r[b+577|0]&8){c=q[c+28768>>2];q[d+36>>2]=q[a+29572>>2];q[d+32>>2]=c;Ta(b,48,21715,d+32|0)}Hf(a,i,q[d+88>>2]^3);break f;case 1:b=c+28772|0;c=q[b>>2];if(q[((c<<2)+a|0)+28492>>2]!=(e|0)){ge(a,c,0)}rk(a,q[d+92>>2]);q[((q[b>>2]<<2)+a|0)+28492>>2]=e;if(!e){e=0;break f}q[e+100>>2]=1;q[a+29568>>2]=q[a+29568>>2]+1;break f;case 0:b=Ni(a,q[c+28772>>2],d+88|0);q[d+92>>2]=b;e=q[((b<<2)+a|0)+28492>>2];if(e){ge(a,b,q[d+88>>2]^3);break f}e=0;b=q[a+4>>2];if(!(r[b+577|0]&8)){break f}Ta(b,48,22379,0);break f;case 4:b=q[a+24312>>2];if((b|0)==q[a+28364>>2]){Ta(q[a+4>>2],16,23011,0);rk(a,0);b=q[a+24312>>2]}if(q[b+100>>2]){g=c+28772|0;b=0;while(1){if((b|0)!=32){if(q[((b<<2)+a|0)+28492>>2]==q[a+24312>>2]){if(q[g>>2]!=(b|0)){Ta(q[a+4>>2],16,23661,0)}ge(a,b,0)}b=b+1|0;continue}break}q[d+92>>2]=32;b=q[a+24312>>2]}c=c+28772|0;g=q[c>>2];if(q[((g<<2)+a|0)+28492>>2]!=(b|0)){if(q[b+100>>2]){break e}ge(a,g,0);b=q[a+24312>>2];q[((q[c>>2]<<2)+a|0)+28492>>2]=b;q[b+100>>2]=1;q[a+29568>>2]=q[a+29568>>2]+1;b=q[a+24312>>2]}q[b+640>>2]=q[b+640>>2]|q[a+26388>>2];m=1;break f;case 2:b=q[c+28772>>2];c=(b|0)>16?b:16;while(1){if((b|0)==(c|0)){break j}ge(a,b,0);b=b+1|0;continue};case 3:break k}}while(1){if(q[a+29572>>2]){Hf(a,q[q[a+28364>>2]+88>>2],0);continue}break}b=0;while(1){if((b|0)!=16){ge(a,b,0);b=b+1|0;continue}break}q[d+92>>2]=16;b=0;c=q[a+24312>>2];q[c+88>>2]=0;q[a+29560>>2]=1;q[a+28260>>2]=0;q[c+92>>2]=1;while(1){if((b|0)==16){break i}q[((b<<2)+a|0)+28692>>2]=-2147483648;b=b+1|0;continue}}q[d+24>>2]=735;q[d+20>>2]=11218;q[d+16>>2]=10091;Ta(0,0,8057,d+16|0);I();F()}q[d+92>>2]=c;break f}q[d+92>>2]=16}f=f+1|0;continue}break}if(m){break c}if(!q[a+29572>>2]){b=q[a+24312>>2];break d}b=q[a+24312>>2];e=q[a+28364>>2];if((b|0)!=(e|0)){break d}q[e+640>>2]=q[e+640>>2]|q[a+26388>>2];break c}q[d+56>>2]=704;q[d+52>>2]=11218;q[d+48>>2]=24280;Ta(0,0,8057,d+48|0);I();F()}if(q[b+100>>2]){Ta(q[a+4>>2],16,24957,0);h=-1094995529;break c}if(Hf(a,q[b+88>>2],0)){Ta(q[a+4>>2],16,25448,0);h=-1094995529}b=a;f=q[a+29572>>2];c=1;l:{if(!f){break l}be(a+28368|0,l,f<<2);c=q[a+29572>>2]+1|0}q[b+29572>>2]=c;b=q[a+24312>>2];q[a+28364>>2]=b;q[b+640>>2]=q[b+640>>2]|q[a+26388>>2]}e=q[a+29572>>2];f=q[a+29568>>2];b=q[q[a+28224>>2]+48>>2];if((e+f|0)>(((b|0)>1?b:1)|0)){c=q[a+4>>2];q[d+8>>2]=b;q[d+4>>2]=e;q[d>>2]=f;Ta(c,16,25935,d);b=q[a+29572>>2];m:{if(!(b|!q[a+29568>>2])){b=0;while(1){if(!(q[((b<<2)+a|0)+28492>>2]|(b|0)==16)){b=b+1|0;continue}break}ge(a,b,0);break m}Hf(a,q[q[((b<<2)+a|0)+28360>>2]+88>>2],0)}h=-1094995529}b=0;while(1){if((b|0)>2]){e=q[((b<<2)+a|0)+28364>>2];n:{if(!q[e+648>>2]){break n}e=q[e+88>>2];f=q[a+28224>>2];if((q[q[a+24312>>2]+88>>2]-e&(-1<>2]^-1))<=q[f+48>>2]){break n}Hf(a,e,0)}b=b+1|0;continue}break}no(a);mo(a);e=0;f=0;b=0;while(1){if((b|0)!=256){c=q[((b<<2)+a|0)+27188>>2];if(c){c=q[c+4>>2];i=q[c+24>>2];e=e>>>0>i>>>0?e:i;c=q[c+20>>2];f=f>>>0>c>>>0?f:c}b=b+1|0;continue}break}if(q[a+29568>>2]|(h|0)<0){break a}o:{if(q[a+29572>>2]<3){break o}b=(e|0)>1;if(q[q[a+4>>2]+140>>2]?!(b|(f|0)>2):0){break o}if((f|0)>((q[a+26388>>2]==3?1:2)|0)|b){break a}}if((f|0)>((!q[a+29596>>2]<<1)+(q[a+26388>>2]==3?2:3)|0)){break a}b=q[a+24312>>2];if(q[q[b>>2]+88>>2]!=1){break a}q[b+644>>2]=q[b+644>>2]|1;if(q[q[a+4>>2]+140>>2]){break a}q[a+29592>>2]=q[a+29592>>2]|2}Ca=d+96|0;return q[q[a+4>>2]+580>>2]<<28>>31&h}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0;c=Ca-128|0;Ca=c;d=q[b>>2];b=L(1447)|0;g=U(d|0,b|0)|0;J(b|0);k=+S(g|0,1360,c+96|0);a:{if(k<4294967296&k>=0){b=~~k>>>0;break a}b=0}h=q[b>>2];q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;b:{c:{if(h>>>0<4294967280){i=q[c+96>>2];d:{e:{if(h>>>0>=11){d=h+16&-16;e=rb(d);q[c+120>>2]=d|-2147483648;q[c+112>>2]=e;q[c+116>>2]=h;j=c+112|0;break e}o[c+123|0]=h;j=c+112|0;e=j;if(!h){break d}}Va(e,b+4|0,h)}o[e+h|0]=0;P(i|0);J(g|0);b=r[j+11|0];q[a+180>>2]=q[a+180>>2]+(b<<24>>24<0?q[c+116>>2]:b);e=Y()|0;d=q[a+160>>2];if((e|0)>(d|0)){q[a+160>>2]=e;b=q[a+180>>2];q[a+180>>2]=0;v[a+200>>3]=+(b|0)*1e6/+(e-d|0)}if(r[a+189|0]){b=a+12|0;e=r[j+11|0];d=e<<24>>24<0;yA(b,d?q[c+112>>2]:c+112|0,d?q[c+116>>2]:e);if(!r[a+8|0]){break c}i=a+16|0;while(1){g=r[b+11|0];d=g<<24>>24;e=(d|0)>-1;f:{if(!e){g=q[i>>2];if(g>>>0<=3){break b}d=q[b>>2];break f}if((d&255)>>>0<=3){break b}d=b}f=g;g=r[d+3|0]|(r[d+1|0]<<16|r[d+2|0]<<8);h=g+15|0;if(f>>>0>>0){break b}g:{if(e){e=b;d=i;break g}e=q[b>>2];d=e+4|0}l=r[e+6|0];m=r[e+5|0];n=r[d|0];Qj(c+96|0,b,11,g);g=q[c+100>>2];p=r[c+107|0];f=rb(16);q[f+8>>2]=q[c+104>>2];d=q[c+100>>2];q[f>>2]=q[c+96>>2];q[f+4>>2]=d;q[f+12>>2]=1;e=o[b+11|0]>-1;if(e){d=b}else{d=q[b>>2]}d=o[d|0]+ -8|0;h:{if(d>>>0<=1){e=p<<24>>24<0?g:p;if(d-1){q[c+92>>2]=e;q[c+88>>2]=0;q[c+84>>2]=f;q[f+12>>2]=2;q[c+80>>2]=1580;rm(a,l|(m<<8|n<<16),c+80|0);q[c+80>>2]=1636;e=q[c+84>>2];d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(d|!e){break h}if(o[e+11|0]<=-1){Ya(q[e>>2])}Ya(e);break h}q[c+76>>2]=e;q[c+72>>2]=0;q[c+68>>2]=f;q[f+12>>2]=2;q[c+64>>2]=1580;qm(a,l|(m<<8|n<<16),c- -64|0);q[c+64>>2]=1636;e=q[c+68>>2];d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(d|!e){break h}if(o[e+11|0]<=-1){Ya(q[e>>2])}Ya(e);break h}q[c+20>>2]=o[(e?b:q[b>>2])|0];q[c+16>>2]=1452;K(0,c+16|0)}Qj(c+96|0,b,h,-1);i:{if(o[b+11|0]>=0){o[b+11|0]=0;o[b|0]=0;break i}o[q[b>>2]]=0;q[i>>2]=0;if(o[b+11|0]>-1){break i}Ya(q[a+12>>2]);q[a+20>>2]=0}d=q[c+100>>2];q[b>>2]=q[c+96>>2];q[b+4>>2]=d;q[b+8>>2]=q[c+104>>2];d=q[f+12>>2]+ -1|0;q[f+12>>2]=d;if(d){continue}if(o[f+11|0]<=-1){Ya(q[f>>2])}Ya(f);continue}}j:{b=o[Ym(c+112|0)|0]+ -1|0;if(b>>>0>9){break j}k:{switch(b-1|0){default:i=r[j+11|0];e=q[c+116>>2];d=rb(16);q[d+8>>2]=q[c+120>>2];b=q[c+116>>2];q[d>>2]=q[c+112>>2];q[d+4>>2]=b;q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;q[d+12>>2]=1;b=o[d+11|0]<=-1?q[d>>2]:d;b=r[b+1|0]|r[b+2|0]<<8|(r[b+3|0]<<16|r[b+4|0]<<24);q[c+52>>2]=d;q[c+60>>2]=(i<<24>>24<0?e:i)+ -5;q[c+56>>2]=5;q[d+12>>2]=2;q[c+48>>2]=1580;rm(a,b<<8&16711680|b<<24|(b>>>8&65280|b>>>24),c+48|0);q[c+48>>2]=1636;b=q[c+52>>2];a=q[b+12>>2]+ -1|0;q[b+12>>2]=a;if(!(a|!b)){if(o[b+11|0]<=-1){Ya(q[b>>2])}Ya(b)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d);break b;case 0:i=r[j+11|0];e=q[c+116>>2];d=rb(16);q[d+8>>2]=q[c+120>>2];b=q[c+116>>2];q[d>>2]=q[c+112>>2];q[d+4>>2]=b;q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;q[d+12>>2]=1;b=o[d+11|0]<=-1?q[d>>2]:d;b=r[b+1|0]|r[b+2|0]<<8|(r[b+3|0]<<16|r[b+4|0]<<24);q[c+36>>2]=d;q[c+44>>2]=(i<<24>>24<0?e:i)+ -5;q[c+40>>2]=5;q[d+12>>2]=2;q[c+32>>2]=1580;qm(a,b<<8&16711680|b<<24|(b>>>8&65280|b>>>24),c+32|0);q[c+32>>2]=1636;b=q[c+36>>2];a=q[b+12>>2]+ -1|0;q[b+12>>2]=a;if(!(a|!b)){if(o[b+11|0]<=-1){Ya(q[b>>2])}Ya(b)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d);break b;case 1:case 2:case 3:case 4:case 5:case 6:case 7:break j;case 8:break k}}b=q[a+4>>2];a=L(1232)|0;b=U(b|0,a|0)|0;J(a|0);d=L(1473)|0;l:{if(o[216600]&1){break l}if(!Mc(216600)){break l}s=216596,t=M(2,1796)|0,q[s>>2]=t;Lc(216600)}a=q[54149];T(d|0);q[c+96>>2]=d;O(a|0,b|0,1468,c+96|0);J(d|0);J(b|0);break b}s=c,t=o[Ym(c+112|0)|0],q[s+4>>2]=t;q[c>>2]=1489;K(1,c|0);break b}nf();F()}d=o[b+11|0];e=q[a+16>>2];m:{if((d|0)<=-1){break m}e=d&255}if(e>>>0<13){break b}o[a+8|0]=1;Qj(c+96|0,b,13,-1);n:{if(o[a+23|0]>=0){o[b+11|0]=0;o[b|0]=0;break n}o[q[a+12>>2]]=0;q[a+16>>2]=0;if(o[a+23|0]>-1){break n}Ya(q[a+12>>2]);q[a+20>>2]=0}a=q[c+100>>2];q[b>>2]=q[c+96>>2];q[b+4>>2]=a;q[b+8>>2]=q[c+104>>2]}if(o[j+11|0]<=-1){Ya(q[c+112>>2])}Ca=c+128|0}function wE(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ca-16|0;t=2;x=q[a+26376>>2];l=q[c>>2];j=l&128;z=l&64;m=c;a:{b:{c:{d:{g=q[b+25372>>2];u=q[g+48>>2];f=q[b+21796>>2];if(r[u+(f<<2)|0]&128){if(j){break d}f=q[b+21788>>2];t=0;c=q[b+21848>>2]+(q[b+21792>>2]&-2)|0;break c}if(!j){break b}j=q[a+27024>>2];f=q[b+21788>>2]+w(j,q[b+21792>>2]&-2)|0;e=q[u+(f<<2)>>2];q[i+8>>2]=e;c=q[u+(f+j<<2)>>2];q[i+12>>2]=c;if((c^e)&128){c=c&-129;q[i+12>>2]=c;e=e&-129;q[i+8>>2]=e}x=w(x,6);t=j<<2|2;if(!(!(c&15)|(z|!(e&15)))){v=20744;h=l|61712;break a}v=20744;h=l|61504;break a}c=q[b+21852>>2]}f=w(c,q[a+27024>>2])+f|0}e=q[u+(f<<2)>>2];q[i+8>>2]=e;q[i+12>>2]=e;if(!(!(e&15)|z)){v=20744;h=l|20744;break a}e:{if(z){break e}c=e&48;if(!c){break e}v=20744;h=c|l|61696;break a}v=q[q[a+28224>>2]+72>>2]?20744:20800;h=l|61504}q[m>>2]=h;m=f<<2;A=m+q[g+72>>2]|0;c=q[m+q[a+26368>>2]>>2]<<2;l=c+q[g+40>>2]|0;B=m+q[g+68>>2]|0;u=c+q[g+36>>2]|0;if(!(!(o[b+21792|0]&1)|t)){A=A+2|0;B=B+2|0;c=x<<3;l=c+l|0;u=c+u|0}c=h&128;C=b+21868|0;m=b+22444|0;j=b+22252|0;E=q[g+632>>2]<<4&e>>3;f:{if(q[a+26384>>2]){a=0;if(!c){break f}a=q[b+21792>>2]&1;C=((a<<7)+b|0)+21996|0;a=w(a,384)+b|0;m=a+22828|0;j=a+22636|0}a=c}g:{if((a|0)!=(e&128)){h=a>>>6^2;while(1){if((d|0)==4){break g}if(!(o[((d<<1)+b|0)+28553|0]&1?0:z)){p[((d<<1)+b|0)+28552>>1]=v;y=r[(d<<2)+154144|0];n=y+b|0;p[n+28320>>1]=0;p[n+28312>>1]=0;k=d>>>1|0;h:{if(r[(i+8|0)+(k<<2)|0]&7){p[n+28280>>1]=0;p[n+28272>>1]=0;c=(y<<2)+b|0;a=c+27984|0;q[a>>2]=0;q[a+4>>2]=0;a=c+27952|0;q[a>>2]=0;q[a+4>>2]=0;a=0;break h}e=d&1;c=e+w(k,t)|0;a=o[c+B|0];i:{if((a|0)>=0){f=a&255;c=j;a=u;break i}f=o[c+A|0];c=m;a=l}c=q[(f+E<<2)+c>>2];g=q[(c<<2)+C>>2];c=w(c,257);p[n+28280>>1]=c;p[n+28272>>1]=c;n=(y<<2)+b|0;a=a+(w(e,3)+w(k,x)<<2)|0;f=(p[a+2>>1]<>8;c=p[a>>1];a=w(c,g)+128>>8;g=e<<16|a&65535;q[n+27988>>2]=g;q[n+27984>>2]=g;q[n+27956>>2]=g;q[n+27952>>2]=g;a=a-c&65535|e-f<<16}c=(y<<2)+b|0;q[c+28148>>2]=a;q[c+28144>>2]=a;q[c+28116>>2]=a;q[c+28112>>2]=a}d=d+1|0;continue}}if(!(h&8)){y=v&8;n=e&7;c=0;while(1){if((c|0)==4){break g}j:{if(o[((c<<1)+b|0)+28553|0]&1?0:z){break j}p[((c<<1)+b|0)+28552>>1]=v;k=c<<2;g=r[k+154144|0];i=g+b|0;p[i+28320>>1]=0;p[i+28312>>1]=0;if(n){p[i+28280>>1]=0;p[i+28272>>1]=0;e=(g<<2)+b|0;a=e+28144|0;q[a>>2]=0;q[a+4>>2]=0;a=e+27984|0;q[a>>2]=0;q[a+4>>2]=0;a=e+27952|0;q[a>>2]=0;q[a+4>>2]=0;a=e+28112|0;q[a>>2]=0;q[a+4>>2]=0;break j}t=c&1;a=C;h=o[c+B|0];k:{if((h|0)>=0){f=j;h=h&255;e=u;break k}f=m;h=o[c+A|0];e=l}d=a;a=q[(h+E<<2)+f>>2];D=q[d+(a<<2)>>2];a=w(a,257);p[i+28280>>1]=a;p[i+28272>>1]=a;if(!y){g=c&2147483646;h=t<<1;d=0;while(1){if((d|0)==4){break j}t=(r[(d+k|0)+154144|0]<<2)+b|0;i=(w(g+(d>>>1|0)|0,x)+(h|d&1)<<2)+e|0;f=w(D,p[i>>1])+128>>>8|0;p[t+27952>>1]=f;a=w(D,p[i+2>>1])+128>>>8|0;p[t+27954>>1]=a;q[t+28112>>2]=f-s[i>>1]&65535|a-s[i+2>>1]<<16;d=d+1|0;continue}}k=(g<<2)+b|0;a=w(t+w(c>>>1|0,x)|0,12)+e|0;h=p[a+2>>1];f=w(h,D)+128>>8;e=p[a>>1];a=w(e,D)+128>>8;g=f<<16|a&65535;q[k+27988>>2]=g;q[k+27984>>2]=g;q[k+27956>>2]=g;q[k+27952>>2]=g;a=a-e&65535|f-h<<16;q[k+28112>>2]=a;q[k+28144>>2]=a;q[k+28116>>2]=a;q[k+28148>>2]=a}c=c+1|0;continue}}f=0;q[b+28348>>2]=0;q[b+28340>>2]=0;q[b+28332>>2]=0;q[b+28324>>2]=0;a=0;if(!(e&7)){d=r[B|0];a=d<<24>>24;if((a|0)<0){d=o[A|0];j=m}e=q[j+(d+E<<2)>>2];c=q[(e<<2)+C>>2];a=(a|0)>-1?u:l;j=p[a+2>>1];m=w(c,j)+128>>8;f=c;c=p[a>>1];a=w(f,c)+128>>8;d=m<<16|a&65535;f=w(e,16843009);a=a-c&65535|m-j<<16}q[b+28308>>2]=f;q[b+28300>>2]=f;q[b+28292>>2]=f;q[b+28284>>2]=f;q[b+28268>>2]=a;q[b+28264>>2]=a;q[b+28260>>2]=a;q[b+28256>>2]=a;q[b+28236>>2]=a;q[b+28232>>2]=a;q[b+28228>>2]=a;q[b+28224>>2]=a;q[b+28204>>2]=a;q[b+28200>>2]=a;q[b+28196>>2]=a;q[b+28192>>2]=a;q[b+28172>>2]=a;q[b+28168>>2]=a;q[b+28164>>2]=a;q[b+28160>>2]=a;q[b+28108>>2]=d;q[b+28104>>2]=d;q[b+28100>>2]=d;q[b+28096>>2]=d;q[b+28076>>2]=d;q[b+28072>>2]=d;q[b+28068>>2]=d;q[b+28064>>2]=d;q[b+28044>>2]=d;q[b+28040>>2]=d;q[b+28036>>2]=d;q[b+28032>>2]=d;q[b+28012>>2]=d;q[b+28008>>2]=d;q[b+28004>>2]=d;q[b+28e3>>2]=d}}function en(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,x=0,z=0,A=0,B=0,D=0;h=Ca-560|0;Ca=h;g=c;c=(c+ -3|0)/24|0;t=(c|0)>0?c:0;n=g+w(t,-24)|0;o=q[(e<<2)+202496>>2];j=d+ -1|0;if((o+j|0)>=0){g=d+o|0;c=t-j|0;while(1){v[(h+320|0)+(i<<3)>>3]=(c|0)<0?0:+q[(c<<2)+202512>>2];c=c+1|0;i=i+1|0;if((g|0)!=(i|0)){continue}break}}l=n+ -24|0;g=0;u=(o|0)>0?o:0;i=(d|0)<1;while(1){a:{if(i){f=0;break a}k=g+j|0;c=0;f=0;while(1){f=f+v[(c<<3)+a>>3]*v[(h+320|0)+(k-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}v[(g<<3)+h>>3]=f;c=(g|0)==(u|0);g=g+1|0;if(!c){continue}break}D=23-l|0;x=24-l|0;g=o;b:{while(1){f=v[(g<<3)+h>>3];c=0;i=g;r=(g|0)<1;if(!r){while(1){j=(h+480|0)+(c<<2)|0;m=f;f=f*5.960464477539063e-8;c:{if(y(f)<2147483648){k=~~f;break c}k=-2147483648}f=+(k|0);m=m+f*-16777216;d:{if(y(m)<2147483648){k=~~m;break d}k=-2147483648}q[j>>2]=k;i=i+ -1|0;f=v[(i<<3)+h>>3]+f;c=c+1|0;if((g|0)!=(c|0)){continue}break}}f=kd(f,l);f=f+C(f*.125)*-8;e:{if(y(f)<2147483648){k=~~f;break e}k=-2147483648}f=f- +(k|0);f:{g:{h:{z=(l|0)<1;i:{if(!z){i=(g<<2)+h|0;j=q[i+476>>2];c=j>>x;s=i;i=j-(c<>2]=i;k=c+k|0;j=i>>D;break i}if(l){break h}j=q[((g<<2)+h|0)+476>>2]>>23}if((j|0)<1){break f}break g}j=2;if(!!(f>=.5)){break g}j=0;break f}c=0;i=0;if(!r){while(1){A=(h+480|0)+(c<<2)|0;r=q[A>>2];s=16777215;j:{k:{if(!i){if(!r){break k}s=16777216;i=1}q[A>>2]=s-r;break j}i=0}c=c+1|0;if((g|0)!=(c|0)){continue}break}}l:{if(z){break l}c=l+ -1|0;if(c>>>0>1){break l}if(c-1){c=(g<<2)+h|0;q[c+476>>2]=q[c+476>>2]&8388607;break l}c=(g<<2)+h|0;q[c+476>>2]=q[c+476>>2]&4194303}k=k+1|0;if((j|0)!=2){break f}f=1-f;j=2;if(!i){break f}f=f-kd(1,l)}if(f==0){i=0;m:{c=g;if((c|0)<=(o|0)){break m}while(1){c=c+ -1|0;i=q[(h+480|0)+(c<<2)>>2]|i;if((c|0)>(o|0)){continue}break}if(!i){break m}n=l;while(1){n=n+ -24|0;g=g+ -1|0;if(!q[(h+480|0)+(g<<2)>>2]){continue}break}break b}c=1;while(1){i=c;c=c+1|0;if(!q[(h+480|0)+(o-i<<2)>>2]){continue}break}i=g+i|0;while(1){j=d+g|0;g=g+1|0;v[(h+320|0)+(j<<3)>>3]=q[(t+g<<2)+202512>>2];c=0;f=0;if((d|0)>=1){while(1){f=f+v[(c<<3)+a>>3]*v[(h+320|0)+(j-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}v[(g<<3)+h>>3]=f;if((g|0)<(i|0)){continue}break}g=i;continue}break}f=kd(f,0-l|0);n:{if(!!(f>=16777216)){a=(h+480|0)+(g<<2)|0;m=f;f=f*5.960464477539063e-8;o:{if(y(f)<2147483648){c=~~f;break o}c=-2147483648}f=m+ +(c|0)*-16777216;p:{if(y(f)<2147483648){d=~~f;break p}d=-2147483648}q[a>>2]=d;g=g+1|0;break n}if(y(f)<2147483648){c=~~f}else{c=-2147483648}n=l}q[(h+480|0)+(g<<2)>>2]=c}f=kd(1,n);if((g|0)>=0){c=g;while(1){v[(c<<3)+h>>3]=f*+q[(h+480|0)+(c<<2)>>2];f=f*5.960464477539063e-8;a=0;d=(c|0)>0;c=c+ -1|0;if(d){continue}break}i=g;while(1){d=u>>>0>>0?u:a;l=g-i|0;c=0;f=0;while(1){f=f+v[(c<<3)+205280>>3]*v[(c+i<<3)+h>>3];n=(c|0)!=(d|0);c=c+1|0;if(n){continue}break}v[(h+160|0)+(l<<3)>>3]=f;i=i+ -1|0;c=(a|0)!=(g|0);a=a+1|0;if(c){continue}break}}q:{if(e>>>0>3){break q}r:{s:{switch(e-1|0){case 2:t:{if((g|0)<1){break t}d=(h+160|0)+(g<<3)|0;f=v[d>>3];c=g;while(1){m=f;a=c+ -1|0;e=(h+160|0)+(a<<3)|0;B=v[e>>3];f=B+f;v[(h+160|0)+(c<<3)>>3]=m+(B-f);v[e>>3]=f;e=(c|0)>1;c=a;if(e){continue}break}if((g|0)<2){break t}f=v[d>>3];c=g;while(1){m=f;a=c+ -1|0;d=(h+160|0)+(a<<3)|0;p=v[d>>3];f=p+f;v[(h+160|0)+(c<<3)>>3]=m+(p-f);v[d>>3]=f;d=(c|0)>2;c=a;if(d){continue}break}p=0;while(1){p=p+v[(h+160|0)+(g<<3)>>3];a=(g|0)>2;g=g+ -1|0;if(a){continue}break}}f=v[h+160>>3];if(j){break r}v[b>>3]=f;a=q[h+172>>2];c=q[h+168>>2];v[b+16>>3]=p;q[b+8>>2]=c;q[b+12>>2]=a;break q;default:f=0;if((g|0)>=0){while(1){f=f+v[(h+160|0)+(g<<3)>>3];a=(g|0)>0;g=g+ -1|0;if(a){continue}break}}v[b>>3]=j?-f:f;break q;case 0:case 1:break s}}f=0;if((g|0)>=0){c=g;while(1){f=f+v[(h+160|0)+(c<<3)>>3];a=(c|0)>0;c=c+ -1|0;if(a){continue}break}}v[b>>3]=j?-f:f;f=v[h+160>>3]-f;c=1;if((g|0)>=1){while(1){f=f+v[(h+160|0)+(c<<3)>>3];a=(c|0)!=(g|0);c=c+1|0;if(a){continue}break}}v[b+8>>3]=j?-f:f;break q}v[b>>3]=-f;f=v[h+168>>3];v[b+16>>3]=-p;v[b+8>>3]=-f}Ca=h+560|0;return k&7}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ca-96|0;Ca=f;c=q[b>>2];a=q[q[c+24312>>2]>>2];d=q[a+32>>2];q[b+21772>>2]=d;q[b+21776>>2]=q[a+36>>2];j=q[b+868>>2];e=q[b+21788>>2];a=vD(b,d);a:{if((a|0)<0){break a}q[b+21816>>2]=-1;b:{c:{d:{if(q[c+26044>>2]==(w(q[b+21772>>2],12)+(12<>2])|0)){if(q[c+25716>>2]){q[b+868>>2]=0}q[b+21820>>2]=q[c+26384>>2]?1:q[c+26388>>2]!=3;e:{if(r[q[c+4>>2]+696|0]&2|q[c+26388>>2]!=3){break e}a=q[c+25628>>2];g=q[a+604>>2];if(!g){break e}d=q[b+21800>>2]+w(q[c+27020>>2],q[b+21804>>2])|0;if((d|0)<0){break e}h=q[c+27028>>2];d=(d|0)<(h|0)?d:h+ -1|0;if(!d|(r[g+q[(q[a+572>>2]+(d<<2)|0)+ -4>>2]|0]&254)==112){break e}q[a+600>>2]=1}if(q[q[c+28220>>2]+4>>2]){break c}g=b+4|0;while(1){a=q[b+21812>>2];if((q[b+21788>>2]+w(q[c+27020>>2],q[b+21792>>2])|0)>=(a|0)){c=q[c+4>>2];q[f+16>>2]=a;Ta(c,16,40547,f+16|0);od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2],q[b+21792>>2],14);a=-1094995529;break a}f:{a=Jo(c,b);g:{if((a|0)<=-1){d=q[b+21792>>2];break g}If(c,b);if(!q[c+26384>>2]){break f}q[b+21792>>2]=q[b+21792>>2]+1;a=Jo(c,b);if((a|0)>=0){If(c,b)}d=q[b+21792>>2]+ -1|0;q[b+21792>>2]=d;if((a|0)>-1){break f}}c=q[c+4>>2];e=q[b+21788>>2];q[f+4>>2]=d;q[f>>2]=e;Ta(c,16,41292,f);od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2],q[b+21792>>2],14);break a}a=q[b+21788>>2]+1|0;q[b+21788>>2]=a;h:{if((a|0)>2]){break h}Ve(c,b,e,a);q[b+21788>>2]=0;Yn(c,b);e=q[b+21792>>2];a=e+1|0;q[b+21792>>2]=a;i:{if(!q[c+26384>>2]){if(q[c+26388>>2]==3){break i}a=e+2|0;q[b+21792>>2]=a;break i}a=e+2|0;q[b+21792>>2]=a;if((a|0)>=q[c+27016>>2]){break i}Xn(c,b);a=q[b+21792>>2]}e=0;if((a|0)>2]){break h}e=q[g+12>>2]-q[g+8>>2]|0;if(!(r[q[c+4>>2]+582|0]&4|(e|0)<1?e:0)){od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2]+ -1|0,a,112);break b}od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2],a,112);a=-1094995529;break a}h=q[g+12>>2]-q[g+8>>2]|0;if((h|0)>0|q[b+21816>>2]>0){continue}break}a=q[b+21788>>2];d=q[b+21804>>2];g=q[b+21800>>2];if(h){break d}od(b,g,d,a+ -1|0,q[b+21792>>2],112);a=q[b+21788>>2];if((a|0)<=(e|0)){break b}Ve(c,b,e,a);break b}q[f+88>>2]=2588;q[f+84>>2]=12455;q[f+80>>2]=40288;Ta(0,0,10109,f+80|0);I();F()}od(b,g,d,a,q[b+21792>>2],14);a=-1094995529;break a}a=b+4|0;yj(a);h=b+32856|0;a=Ol(h,q[b+4>>2]+(q[a+8>>2]/8|0)|0,((q[a+12>>2]-q[a+8>>2]|0)+7|0)/8|0);if((a|0)<0){break a}SE(c,b);a=q[b+21792>>2];k=c+25709|0;while(1){d=q[b+21788>>2]+w(q[c+27020>>2],a)|0;a=q[b+21812>>2];if((d|0)>=(a|0)){c=q[c+4>>2];q[f+64>>2]=a;Ta(c,16,40547,f- -64|0);od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2],q[b+21792>>2],14);a=-1094995529;break a}d=Oo(c,b);j:{if((d|0)<0){break j}If(c,b);if(!q[c+26384>>2]){break j}q[b+21792>>2]=q[b+21792>>2]+1;d=Oo(c,b);if((d|0)>=0){If(c,b)}q[b+21792>>2]=q[b+21792>>2]+ -1}l=uD(h);a=q[b+32872>>2];i=q[b+32876>>2];g=i+2|0;if(!(!(r[k|0]&64)|a>>>0<=g>>>0)){od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2]+ -1|0,q[b+21792>>2],112);a=q[b+21788>>2];if((a|0)<(e|0)){break b}Ve(c,b,e,a+1|0);break b}if(a>>>0>g>>>0){g=q[c+4>>2];q[f+48>>2]=i-a;Ta(g,48,40826,f+48|0)}k:{l:{if((d|0)<=-1){a=q[b+32872>>2];d=q[b+32876>>2];break l}a=q[b+32872>>2];d=q[b+32876>>2];if(a>>>0<=d+4>>>0){break k}}c=q[c+4>>2];e=q[b+21792>>2];g=q[b+21788>>2];q[f+40>>2]=d-a;q[f+32>>2]=g;q[f+36>>2]=e;Ta(c,16,41005,f+32|0);od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2],q[b+21792>>2],14);a=-1094995529;break a}a=q[b+21788>>2]+1|0;q[b+21788>>2]=a;m:{if((a|0)>2]){break m}Ve(c,b,e,a);q[b+21788>>2]=0;Yn(c,b);a=q[b+21792>>2];q[b+21792>>2]=a+1;if(!q[c+26384>>2]){e=0;if(q[c+26388>>2]==3){break m}q[b+21792>>2]=a+2;break m}a=a+2|0;q[b+21792>>2]=a;e=0;if((a|0)>=q[c+27016>>2]){break m}Xn(c,b)}a=q[b+21792>>2];if((a|0)>2]?!l:0){continue}break}od(b,q[b+21800>>2],q[b+21804>>2],q[b+21788>>2]+ -1|0,a,112);a=q[b+21788>>2];if((a|0)<=(e|0)){break b}Ve(c,b,e,a)}q[b+868>>2]=j;a=0}Ca=f+96|0;return a|0}function pb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;k=Ca-12656|0;Ca=k;q[a>>2]=b;a:{if(c+1>>>0<1501){h=q[a+12>>2];q[k+648>>2]=q[a+8>>2];q[k+652>>2]=h;i=q[a>>2];h=q[a+4>>2];q[k+648>>2]=0;q[k+640>>2]=i;q[k+644>>2]=h;x=k+640|0;u=k+656|0;break a}q[k+120>>2]=287;q[k+116>>2]=7663;q[k+112>>2]=9544;Ta(0,0,3799,k+112|0);I();F()}B=(c|0)>0?c:0;C=w(b,3);c=0;b:{while(1){if((c|0)!=(B|0)){l=r[c+d|0];o[(t<<3)+u|0]=l;if((l|0)>(b|0)){if(!((C|0)>=(l|0)?l>>>0<=32:0)){q[k+80>>2]=l;Ta(0,16,11944,k+80|0);break b}c:{d:{e:{f:{g:{h=g+ -1|0;if(h>>>0>3){break g}i=w(c,f)+e|0;switch(h-1|0){case 0:break e;case 1:break g;case 2:break d;default:break f}}j=q[((t<<3)+u|0)+4>>2];break c}j=r[i|0];q[((t<<3)+u|0)+4>>2]=j;break c}j=s[i>>1];q[((t<<3)+u|0)+4>>2]=j;break c}j=q[i>>2];q[((t<<3)+u|0)+4>>2]=j}h=l&255;i=h&31;if(32<=(h&63)>>>0){h=1<>>32-i;i=1<>>0>j>>>0?0:1:0){q[k+100>>2]=c;q[k+96>>2]=j;Ta(0,16,13159,k+96|0);break b}h=(t<<3)+u|0;q[h+4>>2]=j<<32-l;p[h+2>>1]=c;t=t+1|0}c=c+1|0;continue}break}q[k+128>>2]=u;q[k+132>>2]=((t<<3)+u|0)+ -8;y=1;h:while(1){if(y){y=y+ -1|0;c=(k+128|0)+(y<<3)|0;j=q[c+4>>2];m=q[c>>2];while(1){if(m>>>0>=j>>>0){continue h}v=j+ -8|0;if(m>>>0>>0){n=(j-m>>4<<3)+m|0;i:{j:{if(((q[m+4>>2]>>>1)-(q[j+4>>2]>>>1)|0)>=1){if(((q[j+4>>2]>>>1)-(q[n+4>>2]>>>1)|0)>=1){i=q[n>>2];h=q[n+4>>2];c=q[m+4>>2];q[n>>2]=q[m>>2];q[n+4>>2]=c;break j}i=q[j>>2];h=q[j+4>>2];c=q[m+4>>2];q[j>>2]=q[m>>2];q[j+4>>2]=c;break j}h=1;if(((q[m+4>>2]>>>1)-(q[n+4>>2]>>>1)|0)<1){break i}i=q[n>>2];h=q[n+4>>2];c=q[m+4>>2];q[n>>2]=q[m>>2];q[n+4>>2]=c}q[m>>2]=i;q[m+4>>2]=h;h=0}l=j+ -16|0;if(((q[n+4>>2]>>>1)-(q[j+4>>2]>>>1)|0)>=1){i=q[j>>2];h=q[j+4>>2];c=q[n+4>>2];q[j>>2]=q[n>>2];q[j+4>>2]=c;q[n>>2]=i;q[n+4>>2]=h;h=0}c=m+8|0;if((l|0)==(m|0)){continue h}z=q[n>>2];A=q[n+4>>2];i=q[v+4>>2];q[n>>2]=q[v>>2];q[n+4>>2]=i;q[v>>2]=z;q[v+4>>2]=A;k:while(1){if(c>>>0<=l>>>0){while(1){if(!(c>>>0>l>>>0|((q[c+4>>2]>>>1)-(q[v+4>>2]>>>1)|0)>=0)){c=c+8|0;continue}break}while(1){if(c>>>0>l>>>0){continue k}if(((q[l+4>>2]>>>1)-(q[v+4>>2]>>>1)|0)>=1){l=l+ -8|0;continue}break}z=q[l>>2];A=q[l+4>>2];i=q[c+4>>2];q[l>>2]=q[c>>2];q[l+4>>2]=i;q[c>>2]=z;q[c+4>>2]=A;l=l+ -8|0;c=c+8|0;continue}break}z=q[c>>2];A=q[c+4>>2];i=q[v+4>>2];q[c>>2]=q[v>>2];q[c+4>>2]=i;q[v>>2]=z;q[v+4>>2]=A;l:{if(!h){break l}h=m;if((n|0)!=(c+ -8|0)?(c|0)!=(n|0):0){break l}while(1){m:{if(h>>>0>=j>>>0){break m}i=h+8|0;if(((q[h+4>>2]>>>1)-(q[i+4>>2]>>>1)|0)>0){break m}h=i;continue}break}if((h|0)==(j|0)){continue h}}n:{if((j-c|0)<(c-m|0)){h=m;i=l;m=c+8|0;break n}h=c+8|0;i=j;j=l}c=(k+128|0)+(y<<3)|0;q[c+4>>2]=i;q[c>>2]=h;y=y+1|0;continue}break}if(((q[m+4>>2]>>>1)-(q[j+4>>2]>>>1)|0)<1){continue}i=q[j>>2];h=q[j+4>>2];c=q[m+4>>2];q[j>>2]=q[m>>2];q[j+4>>2]=c;q[m>>2]=i;q[m+4>>2]=h;continue}break}c=0;while(1){if((c|0)!=(B|0)){l=r[c+d|0];o[(t<<3)+u|0]=l;if(!(!l|(l|0)>(b|0))){if(!((C|0)>=(l|0)?l>>>0<=32:0)){q[k+48>>2]=l;Ta(0,16,11944,k+48|0);break b}o:{p:{q:{r:{s:{h=g+ -1|0;if(h>>>0>3){break s}i=w(c,f)+e|0;switch(h-1|0){case 2:break p;case 0:break q;case 1:break s;default:break r}}j=q[((t<<3)+u|0)+4>>2];break o}j=r[i|0];q[((t<<3)+u|0)+4>>2]=j;break o}j=s[i>>1];q[((t<<3)+u|0)+4>>2]=j;break o}j=q[i>>2];q[((t<<3)+u|0)+4>>2]=j}h=l&255;i=h&31;if(32<=(h&63)>>>0){h=1<>>32-i;i=1<>>0>j>>>0?0:1:0){q[k+68>>2]=c;q[k+64>>2]=j;Ta(0,16,13159,k- -64|0);break b}h=(t<<3)+u|0;q[h+4>>2]=j<<32-l;p[h+2>>1]=c;t=t+1|0}c=c+1|0;continue}break}d=Rl(x,b,t,u,4);c=q[x+8>>2];b=q[x+12>>2];if((c|0)!=(b|0)){q[k+36>>2]=b;q[k+32>>2]=c;Ta(0,16,14912,k+32|0)}if((d|0)>-1){b=q[x+4>>2];q[a>>2]=q[x>>2];q[a+4>>2]=b;b=q[x+12>>2];q[a+8>>2]=q[x+8>>2];q[a+12>>2]=b;break b}q[k+24>>2]=346;q[k+20>>2]=7663;q[k+16>>2]=15960;Ta(0,0,3799,k+16|0);I();F()}Ca=k+12656|0}function Zs(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,s=0;h=Ca-32|0;Ca=h;q[a+27036>>2]=0;q[a+27040>>2]=0;g=q[a+4>>2];a:{if(r[g+65|0]&128){break a}q[a+29576>>2]=0;if(q[a+26392>>2]){break a}q[a+24312>>2]=0;We(a+29692|0)}e=q[a+27048>>2];b:{if((e|0)!=4){break b}c:{if((c|0)>=9){d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);if((d|0)!=16777216){break c}d=16777216;f=r[b+5|0]|r[b+6|0]<<8|(r[b+7|0]<<16|r[b+8|0]<<24);if((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))>>>0<=c>>>0){break c}q[a+27044>>2]=0;break b}if((c|0)<4){break b}d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24)}f=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24);if(f>>>0<2|f>>>0>c>>>0){break b}q[a+27044>>2]=1}f=0;l=a+25640|0;e=Al(l,b,c,g,q[a+27044>>2],e,q[g+16>>2],q[g+64>>2]&1);d:{if((e|0)<=-1){Ta(g,16,24826,0);f=e;break d}if(o[g+696|0]&1){f=Xs(a);if((f|0)<0){break d}}m=a+29988|0;p=a+29692|0;j=a+27060|0;e:{while(1){if((k|0)>2]){e=q[l>>2]+w(k,72)|0;d=q[e+68>>2];f:{if(!(d|q[g+732>>2]<8)){d=0;if(q[e+44>>2]!=6){break f}}q[a+27032>>2]=d;d=q[e+44>>2];q[a+27036>>2]=d;g:{h:{i=d+ -1|0;if(i>>>0>18){break h}i:{switch(i-1|0){case 3:if((r[q[e+8>>2]+1|0]&252)==152){Ta(q[a+4>>2],16,25419,0);q[a+28760>>2]=-2147483648;d=-1;break e}if(!s){xl(a)}s=1;q[a+29596>>2]=1;default:q[a+27040>>2]=1;d=CD(a,e);if(d){break g}j:{if(q[a+29576>>2]!=1){break j}if(!(!(q[g+696>>2]&1)|(k|0)<(f|0)|(q[a+29604>>2]|!q[a+24312>>2]))){q[a+29604>>2]=1}d=q[a+4>>2];i=q[d+592>>2];if(!i){break j}d=n[q[i+24>>2]](d,b,c)|0;if((d|0)<0){break e}}i=q[g+592>>2];if(i){d=1}else{d=q[a+25632>>2]}if((d|0)!=q[a+25636>>2]){break f}k:{if(q[q[a+4>>2]+592>>2]){d=n[q[i+32>>2]](g,q[e+20>>2],q[e+16>>2])|0;q[a+25636>>2]=0;break k}d=pk(a)}if(!(r[q[a+4>>2]+580|0]&8)|(d|0)>-1){break f}break e;case 0:case 1:case 2:Pc(g,25910,0);break f;case 4:d=co(p,e+24|0,j,g);q[a+29596>>2]=q[a+29596>>2]?1:q[a+29804>>2]!=-1;if(r[g+578|0]&128){Ws(m,q[a+4>>2])}if(!(r[q[a+4>>2]+580|0]&8)|(d|0)>-1){break f}break e;case 5:q[h+24>>2]=q[e+40>>2];d=q[e+36>>2];q[h+16>>2]=q[e+32>>2];q[h+20>>2]=d;d=q[e+28>>2];q[h+8>>2]=q[e+24>>2];q[h+12>>2]=d;d=q[g+592>>2];l:{if(!d){break l}d=q[d+28>>2];if(!d){break l}d=n[d](g,q[e+44>>2],q[e+20>>2],q[e+16>>2])|0;if((d|0)<0){break e}}if((ue(h+8|0,g,j,0)|0)>-1){break f}Ta(q[a+4>>2],48,26562,0);Lh(h+8|0,q[e+20>>2]+1|0,q[e+16>>2]+ -1|0);if((ue(h+8|0,g,j,0)|0)>-1){break f}ue(e+24|0,g,j,1);break f;case 7:case 8:case 9:case 10:case 11:case 17:break f;case 12:case 13:case 14:case 15:case 16:break h;case 6:break i}}d=q[g+592>>2];m:{if(!d){break m}d=q[d+28>>2];if(!d){break m}d=n[d](g,8,q[e+20>>2],q[e+16>>2])|0;if((d|0)<0){break e}}d=tk(e+24|0,g,j,q[e+12>>2]);if((d|0)>-1|!(r[q[a+4>>2]+580|0]&8)){break f}break e}q[h+4>>2]=q[e+12>>2];q[h>>2]=d;Ta(g,48,27170,h);break f}e=q[a+25628>>2]+w(q[a+25636>>2],34768)|0;q[e+23404>>2]=0;q[e+23408>>2]=0;if((d|0)>-1){break f}Ta(q[a+4>>2],16,27675,0)}k=k+1|0;continue}break}n:{d=pk(a);if((d|0)<=-1){if(r[q[a+4>>2]+580|0]&8){break e}break n}if(q[q[a+25628>>2]+600>>2]){break n}d=0;break e}d=0;b=q[a+24312>>2];if(!b){break e}b=q[b>>2];q[b+348>>2]=q[b+348>>2]|8}o:{if(!q[a+29576>>2]|q[a+26388>>2]!=3|(!q[a+29688>>2]|q[a+28224>>2]!=q[q[((q[q[a+28220>>2]>>2]<<2)+a|0)+27060>>2]+4>>2])){break o}f=q[a+25628>>2];if(q[q[a+24972>>2]+248>>2]){b=!q[f+23404>>2]}else{b=0}he(f+696|0,q[a+24312>>2]);p:{if(b){e=a+24972|0;he(f+728|0,e);q[f+23452>>2]=e;e=q[a+24972>>2];g=q[e+4>>2];q[f+23416>>2]=q[e>>2];q[f+23420>>2]=g;q[f+23424>>2]=q[e+8>>2];e=q[a+24972>>2];j=q[e+36>>2];g=f+23428|0;q[g>>2]=q[e+32>>2];q[g+4>>2]=j;q[f+23436>>2]=q[e+40>>2];q[f+23440>>2]=q[a+25612>>2];break p}e=f+728|0;if(q[f+23404>>2]){he(e,q[f+23452>>2]);break p}he(e,0)}if(q[f+23408>>2]){he(f+760|0,q[f+25372>>2])}q[f+820>>2]=q[f+23404>>2];zu(f+24|0);if(!b){break o}Za(f+23416|0,0,40)}f=(d|0)<0?d:c}Ca=h+32|0;return f}function Xo(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ca+ -64|0;Ca=e;d=nb(40);q[e+60>>2]=d;i=q[b+8>>2];q[e+56>>2]=i;a:{if(!d){c=-48;break a}j=d,k=mO(i,e+56|0),v[j+8>>3]=k;f=q[e+56>>2];if((f|0)!=q[b+8>>2]){q[d>>2]=0;q[b+8>>2]=f;q[a>>2]=d;break a}q[d+8>>2]=0;q[d+12>>2]=1072693248;b:{c:{h=q[b+16>>2];if(!h){break c}while(1){g=q[h+(c<<2)>>2];if(!g){break c}if(cb(f,g)){j=b,l=ub(g)+f|0,q[j+8>>2]=l;q[d+16>>2]=c;q[d>>2]=1;q[a>>2]=d;break b}else{c=c+1|0;continue}}}c=0;while(1){if((c|0)!=4){g=q[(c<<4)+47184>>2];if(cb(f,g)){j=b,l=ub(g)+f|0,q[j+8>>2]=l;b=(c<<4)+47192|0;c=q[b+4>>2];q[d+8>>2]=q[b>>2];q[d+12>>2]=c;c=0;q[d>>2]=0;q[a>>2]=d;break a}else{c=c+1|0;continue}}break}c=ee(f,40);q[b+8>>2]=c;if(!c){q[e>>2]=i;Ta(b,16,6997,e);q[b+8>>2]=q[e+56>>2];yb(q[e+60>>2]);c=-28;break a}q[b+8>>2]=c+1;if(r[f|0]==40){Wa(e+60|0);c=cg(e+60|0,b);if((c|0)<0){break a}c=q[b+8>>2];if(r[c|0]!=41){q[e+16>>2]=i;Ta(b,16,8531,e+16|0);yb(q[e+60>>2]);c=-28;break a}q[b+8>>2]=c+1;q[a>>2]=q[e+60>>2];break b}c=cg(d+24|0,b);if((c|0)<=-1){yb(q[e+60>>2]);break a}c=q[b+8>>2];d=r[c|0];d:{if((d|0)!=44){break d}q[b+8>>2]=c+1;cg(q[e+60>>2]+28|0,b);c=q[b+8>>2];d=r[c|0];if((d|0)!=44){break d}q[b+8>>2]=c+1;cg(q[e+60>>2]+32|0,b);c=q[b+8>>2];d=r[c|0]}if((d|0)!=41){q[e+48>>2]=i;Ta(b,16,10477,e+48|0);yb(q[e+60>>2]);c=-28;break a}q[b+8>>2]=c+1;c=q[e+60>>2];q[c>>2]=2;d=q[e+56>>2];e:{if(cb(d,11669)){q[c+20>>2]=71;break e}if(cb(d,12820)){q[c+20>>2]=72;break e}if(cb(d,14571)){q[c+20>>2]=73;break e}if(cb(d,15653)){q[c+20>>2]=74;break e}if(cb(d,16714)){q[c+20>>2]=75;break e}if(cb(d,17559)){q[c+20>>2]=76;break e}if(cb(d,18398)){q[c+20>>2]=77;break e}if(cb(d,19641)){q[c+20>>2]=78;break e}if(cb(d,20179)){q[c+20>>2]=79;break e}if(cb(d,20753)){q[c+20>>2]=80;break e}if(cb(d,21350)){q[c+20>>2]=81;break e}if(cb(d,22025)){q[c+20>>2]=82;break e}if(cb(d,22660)){q[c+20>>2]=83;break e}if(cb(d,23289)){q[c>>2]=5;break e}if(cb(d,23967)){q[c>>2]=6;break e}if(cb(d,24565)){q[c>>2]=10;break e}if(cb(d,25241)){q[c>>2]=11;break e}if(cb(d,25724)){q[c>>2]=12;break e}if(cb(d,26241)){q[c>>2]=13;break e}if(cb(d,26853)){q[c>>2]=15;break e}if(cb(d,27458)){q[c>>2]=14;break e}if(cb(d,27878)){q[c>>2]=16;break e}if(cb(d,28493)){q[c>>2]=17;break e}if(cb(d,28963)){q[c>>2]=7;break e}if(cb(d,29504)){q[c>>2]=8;break e}if(cb(d,29995)){q[c>>2]=9;break e}if(cb(d,30426)){q[c>>2]=23;break e}if(cb(d,30850)){q[c>>2]=24;break e}if(cb(d,31398)){q[c>>2]=25;break e}if(cb(d,31832)){q[c>>2]=26;break e}if(cb(d,32164)){q[c>>2]=27;break e}if(cb(d,32720)){q[c>>2]=28;break e}if(cb(d,33218)){q[c>>2]=29;break e}if(cb(d,33590)){q[c>>2]=30;break e}if(cb(d,33895)){q[c>>2]=31;break e}if(cb(d,34236)){q[c>>2]=32;break e}if(cb(d,34670)){q[c>>2]=18;break e}if(cb(d,35011)){q[c>>2]=38;break e}if(cb(d,35396)){q[c>>2]=33;break e}if(cb(d,35860)){q[c>>2]=34;break e}if(cb(d,36153)){q[c>>2]=35;break e}if(cb(d,36535)){q[c>>2]=36;break e}if(cb(d,36850)){q[c>>2]=37;break e}if(cb(d,37112)){q[c>>2]=39;break e}if(cb(d,37418)){q[c>>2]=40;break e}if(cb(d,37786)){q[c>>2]=41;break e}if(cb(d,38208)){q[c>>2]=42;break e}if(cb(d,38476)){q[c>>2]=43;break e}if(cb(d,38660)){q[c>>2]=44;break e}if(!cb(d,38982)){f:{g=q[b+24>>2];if(!g){break f}f=0;while(1){h=q[g+(f<<2)>>2];if(!h){break f}if(cb(d,h)){b=q[q[b+20>>2]+(f<<2)>>2];q[c+16>>2]=f;q[c>>2]=3;q[c+20>>2]=b;break e}else{f=f+1|0;continue}}}g:{g=q[b+32>>2];if(!g){break g}f=0;while(1){h=q[g+(f<<2)>>2];if(!h){break g}if(cb(d,h)){b=q[q[b+28>>2]+(f<<2)>>2];q[c+16>>2]=f;q[c>>2]=4;q[c+20>>2]=b;break e}else{f=f+1|0;continue}}}q[e+32>>2]=i;Ta(b,16,39207,e+32|0);yb(q[e+60>>2]);c=-28;break a}q[c>>2]=45}q[a>>2]=c}c=0}Ca=e- -64|0;return c}function qc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0;k=Ca-112|0;Ca=k;n=h;m=i&2147483647;l=c+ -1|0;j=b+ -1|0;if(j>>>0<4294967295){l=l+1|0}o=j;s=(j|0)==-1&(l|0)==-1;p=e&2147483647;j=p;r=d;l=(c|0)==(l|0)&o>>>0>>0|l>>>0>>0;o=d+l|0;if(o>>>0>>0){j=j+1|0}l=o+ -1|0;j=j+ -1|0;j=l>>>0<4294967295?j+1|0:j;a:{b:{if(!((l|0)==-1&(j|0)==2147418111?s:(j|0)==2147418111&l>>>0>4294967295|j>>>0>2147418111)){l=g+ -1|0;j=f+ -1|0;if(j>>>0<4294967295){l=l+1|0}o=j;s=(j|0)!=-1|(l|0)!=-1;j=m;l=(g|0)==(l|0)&o>>>0>>0|l>>>0>>0;o=l+n|0;if(o>>>0>>0){j=j+1|0}l=o+ -1|0;j=j+ -1|0;j=l>>>0<4294967295?j+1|0:j;if((l|0)==-1&(j|0)==2147418111?s:(j|0)==2147418111&l>>>0<4294967295|j>>>0<2147418111){break b}}if(!(!r&(p|0)==2147418112?!(b|c):(p|0)==2147418112&r>>>0<0|p>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!n&(m|0)==2147418112?!(f|g):(m|0)==2147418112&n>>>0<0|m>>>0<2147418112)){i=i|32768;break a}if(!(b|r|(p^2147418112|c))){j=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:j;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|n|(m^2147418112|g))){break a}if(!(b|r|(c|p))){if(f|n|(g|m)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|n|(g|m)){break b}f=b;g=c;h=d;i=e;break a}j=(n|0)==(r|0)&(m|0)==(p|0)?(c|0)==(g|0)&f>>>0>b>>>0|g>>>0>c>>>0:(m|0)==(p|0)&n>>>0>r>>>0|m>>>0>p>>>0;p=j?f:b;l=j?g:c;n=j?i:e;r=n;t=j?h:d;o=t;n=n&65535;e=j?e:i;u=e;d=j?d:h;s=e>>>16&32767;m=r>>>16&32767;if(!m){e=!(n|o);h=e<<6;i=z(e?p:o)+32|0;e=z(e?l:n);e=h+((e|0)==32?i:e)|0;Rb(k+96|0,p,l,o,n,e+ -15|0);o=q[k+104>>2];n=q[k+108>>2];p=q[k+96>>2];m=16-e|0;l=q[k+100>>2]}f=j?b:f;g=j?c:g;b=d;c=u&65535;if(s){e=b}else{i=b;e=!(b|c);h=e<<6;j=z(e?f:b)+32|0;b=z(e?g:c);b=h+((b|0)==32?j:b)|0;Rb(k+80|0,f,g,i,c,b+ -15|0);s=16-b|0;f=q[k+80>>2];g=q[k+84>>2];e=q[k+88>>2];c=q[k+92>>2]}c=c<<3|e>>>29;h=e<<3|g>>>29;i=c|524288;b=o;j=n<<3|b>>>29;n=b<<3|l>>>29;o=j;t=d^t;j=r^u;b=f;c=g<<3|b>>>29;b=b<<3;e=c;f=m-s|0;d=b;c:{if(!f){break c}if(f>>>0>127){h=0;i=0;c=0;d=1;break c}Rb(k- -64|0,b,e,h,i,128-f|0);Re(k+48|0,b,e,h,i,f);h=q[k+56>>2];i=q[k+60>>2];c=q[k+52>>2];d=q[k+48>>2]|((q[k+64>>2]|q[k+72>>2])!=0|(q[k+68>>2]|q[k+76>>2])!=0)}g=c;e=n;n=o|524288;b=p;c=l<<3|b>>>29;f=b<<3;d:{if((j|0)<-1?1:(j|0)<=-1?t>>>0>4294967295?0:1:0){j=f;l=d;b=j-d|0;p=e-h|0;d=(c|0)==(g|0)&j>>>0>>0|c>>>0>>0;f=p-d|0;c=c-((j>>>0>>0)+g|0)|0;g=(n-((e>>>0>>0)+i|0)|0)-(p>>>0>>0)|0;if(!(b|f|(c|g))){f=0;g=0;h=0;i=0;break a}if((g|0)==524287&f>>>0>4294967295|g>>>0>524287){break d}h=b;d=!(f|g);e=d<<6;i=z(d?b:f)+32|0;b=z(d?c:g);b=e+((b|0)==32?i:b)|0;b=b+ -12|0;Rb(k+32|0,h,c,f,g,b);m=m-b|0;f=q[k+40>>2];g=q[k+44>>2];b=q[k+32>>2];c=q[k+36>>2];break d}c=c+g|0;b=d;f=b+f|0;if(f>>>0>>0){c=c+1|0}b=f;f=(c|0)==(g|0)&b>>>0>>0|c>>>0>>0;j=i+n|0;d=e+h|0;if(d>>>0>>0){j=j+1|0}e=d;d=f+e|0;if(d>>>0>>0){j=j+1|0}f=d;g=j;if(!(j&1048576)){break d}j=f<<31;b=b&1|((c&1)<<31|b>>>1);c=j|c>>>1;m=m+1|0;f=(g&1)<<31|f>>>1;g=g>>>1|0}h=0;i=r&-2147483648;if((m|0)>=32767){i=i|2147418112;f=0;g=0;break a}d=0;e:{if((m|0)>0){d=m;break e}Rb(k+16|0,b,c,f,g,m+127|0);Re(k,b,c,f,g,1-m|0);b=q[k>>2]|((q[k+16>>2]|q[k+24>>2])!=0|(q[k+20>>2]|q[k+28>>2])!=0);c=q[k+4>>2];f=q[k+8>>2];g=q[k+12>>2]}j=f<<29;m=(c&7)<<29|b>>>3;j=c>>>3|j;c=j;n=b&7;b=n>>>0>4;e=b+m|0;if(e>>>0>>0){c=c+1|0}l=e;b=e;e=c;b=(j|0)==(c|0)&b>>>0>>0|c>>>0>>0;f=h|((g&7)<<29|f>>>3);g=i|g>>>3&65535;c=d<<16;b=f+b|0;c=c|g;c=b>>>0>>0?c+1|0:c;d=b;f=(n|0)==4;b=f?l&1:0;f=e;e=0;j=f+e|0;f=b+l|0;if(f>>>0>>0){j=j+1|0}g=j;b=(e|0)==(j|0)&f>>>0>>0|j>>>0>>0;d=d+b|0;if(d>>>0>>0){c=c+1|0}h=d;i=c}q[a>>2]=f;q[a+4>>2]=g;q[a+8>>2]=h;q[a+12>>2]=i;Ca=k+112|0}function hf(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=w(c,6);D=e<<3;i=D+a|0;f=q[i+4>>2];k=q[i>>2];h=(c<<5)+a|0;d=q[h>>2];g=k+d|0;q[h>>2]=q[a>>2]-g;m=q[h+4>>2];q[a>>2]=g+q[a>>2];g=(c<<4)+a|0;d=k-d|0;q[i+4>>2]=q[g+4>>2]-d;q[g+4>>2]=d+q[g+4>>2];d=m-f|0;q[i>>2]=q[g>>2]-d;q[g>>2]=d+q[g>>2];d=f+m|0;q[h+4>>2]=q[a+4>>2]-d;q[a+4>>2]=d+q[a+4>>2];E=c<<2;F=(E|1)<<3;o=F+a|0;i=q[a+8>>2];G=(e|1)<<3;k=G+a|0;d=q[k>>2];u=d;v=d>>31;d=q[b+4>>2];y=d;n=d>>31;d=$R(u,v,d,n);f=Da;e=q[k+4>>2];x=e;z=e>>31;m=(c<<3)+b|0;g=q[m+ -4>>2];e=g;A=e;r=e>>31;e=$R(x,z,e,r);h=(d-e|0)+1073741824|0;d=f-(Da+(d>>>0>>0)|0)|0;e=h;s=((e>>>0<1073741824?d+1|0:d)&2147483647)<<1|e>>>31;d=q[o>>2];B=d;p=d>>31;d=$R(d,p,y,n);h=Da;t=i;e=q[o+4>>2];l=e;i=e>>31;e=0-g|0;f=e;g=e>>31;e=$R(l,i,e,g);j=(d-e|0)+1073741824|0;d=h-(Da+(d>>>0>>0)|0)|0;e=j;e=((e>>>0<1073741824?d+1|0:d)&2147483647)<<1|e>>>31;d=s+e|0;q[o>>2]=t-d;q[a+8>>2]=d+q[a+8>>2];H=c<<1;I=(H|1)<<3;j=I+a|0;d=s-e|0;q[k+4>>2]=q[j+4>>2]-d;q[j+4>>2]=d+q[j+4>>2];h=q[j>>2];e=$R(B,p,f,g);d=Da;f=e;e=$R(y,n,l,i);g=f+e|0;d=Da+d|0;d=g>>>0>>0?d+1|0:d;e=g+1073741824|0;if(e>>>0<1073741824){d=d+1|0}f=(d&2147483647)<<1|e>>>31;g=f;e=$R(u,v,A,r);d=Da;l=k;k=$R(y,n,x,z);e=k+e|0;d=Da+d|0;d=e>>>0>>0?d+1|0:d;k=e+1073741824|0;if(k>>>0<1073741824){d=d+1|0}k=(d&2147483647)<<1|k>>>31;d=g-k|0;q[l>>2]=h-d;q[j>>2]=d+q[j>>2];d=f+k|0;q[o+4>>2]=q[a+12>>2]-d;q[a+12>>2]=d+q[a+12>>2];y=c+ -1|0;while(1){g=a+16|0;C=g+(E<<3)|0;p=C;l=q[a+16>>2];e=g+D|0;c=q[e>>2];j=c;u=c>>31;c=q[b+8>>2];t=c;o=c>>31;c=$R(j,u,c,o);h=Da;d=q[e+4>>2];v=d;x=d>>31;k=m+ -8|0;f=q[k>>2];d=f;z=d;A=d>>31;d=$R(v,x,d,A);i=(c-d|0)+1073741824|0;d=h-(Da+(c>>>0>>0)|0)|0;c=i;r=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=q[p>>2];s=c;B=c>>31;c=$R(c,B,t,o);i=Da;J=l;d=q[p+4>>2];p=d;l=d>>31;d=0-f|0;h=d;f=d>>31;d=$R(p,l,d,f);n=(c-d|0)+1073741824|0;d=i-(Da+(c>>>0>>0)|0)|0;c=n;d=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=r+d|0;q[C>>2]=J-c;q[a+16>>2]=c+q[a+16>>2];n=g+(H<<3)|0;c=r-d|0;q[e+4>>2]=q[n+4>>2]-c;q[n+4>>2]=c+q[n+4>>2];c=e;i=q[n>>2];e=$R(s,B,h,f);d=Da;f=e;e=$R(t,o,p,l);f=f+e|0;d=Da+d|0;d=f>>>0>>0?d+1|0:d;e=f+1073741824|0;if(e>>>0<1073741824){d=d+1|0}h=(d&2147483647)<<1|e>>>31;f=h;e=$R(j,u,z,A);d=Da;l=c;c=$R(t,o,v,x);e=c+e|0;d=Da+d|0;d=e>>>0>>0?d+1|0:d;c=e+1073741824|0;if(c>>>0<1073741824){d=d+1|0}d=(d&2147483647)<<1|c>>>31;c=f-d|0;q[l>>2]=i-c;q[n>>2]=c+q[n>>2];c=d+h|0;q[C+4>>2]=q[a+20>>2]-c;q[a+20>>2]=c+q[a+20>>2];t=g+F|0;l=t;i=q[a+24>>2];e=g+G|0;c=q[e>>2];u=c;v=c>>31;c=q[b+12>>2];o=c;n=c>>31;c=$R(u,v,c,n);f=Da;d=q[e+4>>2];x=d;z=d>>31;m=q[m+ -12>>2];d=m;A=d;r=d>>31;d=$R(x,z,d,r);h=(c-d|0)+1073741824|0;d=f-(Da+(c>>>0>>0)|0)|0;c=h;s=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=q[l>>2];B=c;p=c>>31;c=$R(c,p,o,n);h=Da;C=i;d=q[l+4>>2];l=d;i=d>>31;d=0-m|0;f=d;m=d>>31;d=$R(l,i,d,m);j=(c-d|0)+1073741824|0;d=h-(Da+(c>>>0>>0)|0)|0;c=j;d=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=s+d|0;q[t>>2]=C-c;q[a+24>>2]=c+q[a+24>>2];j=g+I|0;c=s-d|0;q[e+4>>2]=q[j+4>>2]-c;q[j+4>>2]=c+q[j+4>>2];c=e;h=q[j>>2];e=$R(B,p,f,m);d=Da;f=e;e=$R(o,n,l,i);m=f+e|0;d=Da+d|0;d=m>>>0>>0?d+1|0:d;e=m+1073741824|0;if(e>>>0<1073741824){d=d+1|0}f=(d&2147483647)<<1|e>>>31;m=f;e=$R(u,v,A,r);d=Da;l=c;c=$R(o,n,x,z);e=c+e|0;d=Da+d|0;d=e>>>0>>0?d+1|0:d;c=e+1073741824|0;if(c>>>0<1073741824){d=d+1|0}d=(d&2147483647)<<1|c>>>31;c=m-d|0;q[l>>2]=h-c;q[j>>2]=c+q[j>>2];c=d+f|0;q[t+4>>2]=q[a+28>>2]-c;q[a+28>>2]=c+q[a+28>>2];b=b+8|0;m=k;a=g;y=y+ -1|0;if(y){continue}break}}function Rj(a,b){var c=x(0),d=0,g=0,h=0,i=x(0),l=0,m=0,n=x(0),o=x(0),p=x(0),q=0,r=x(0),s=0,t=x(0),v=x(0),w=x(0),z=x(0);i=x(1);a:{b:{l=(j(a),e(0));c:{if((l|0)==1065353216){break c}m=(j(b),e(0));g=m&2147483647;if(!g){break c}d=l&2147483647;if(!(g>>>0<2139095041?d>>>0<=2139095040:0)){return x(a+b)}q=0;d:{if((l|0)>-1){break d}q=2;if(g>>>0>1266679807){break d}q=0;if(g>>>0<1065353216){break d}h=150-(g>>>23|0)|0;s=g>>>h|0;q=0;if((g|0)!=s<>>0>=1065353217){return(m|0)>-1?b:x(0)}return(m|0)>-1?x(0):x(-b)}return(m|0)>-1?a:x(x(1)/a)}if((m|0)==1073741824){return x(a*a)}if(!((m|0)!=1056964608|(l|0)<0)){return x(E(a))}c=x(y(a));if(!((d|1073741824)!=2139095040?d:0)){i=(m|0)<0?x(x(1)/c):c;if((l|0)>-1){break c}if(!(h|d+ -1065353216)){a=x(i-i);return x(a/a)}return(h|0)==1?x(-i):i}if(!((l|0)>-1|h>>>0>1)){if(h-1){a=x(a-a);return x(a/a)}i=x(-1)}f:{if(g>>>0>=1291845633){if(d>>>0<=1065353207){return(m|0)<0?x(x(i*x(1.0000000150474662e+30))*x(1.0000000150474662e+30)):x(x(i*x(1.0000000031710769e-30))*x(1.0000000031710769e-30))}if(d>>>0>=1065353224){return(m|0)>0?x(x(i*x(1.0000000150474662e+30))*x(1.0000000150474662e+30)):x(x(i*x(1.0000000031710769e-30))*x(1.0000000031710769e-30))}a=x(c+x(-1));c=x(a*x(1.44268798828125));n=x(x(a*x(7052607543300837e-21))+x(x(x(a*a)*x(x(.5)-x(a*x(x(a*x(-.25))+x(.3333333432674408)))))*x(-1.4426950216293335)));a=(f(0,(j(x(c+n)),e(0))&-4096),k());r=x(a-c);break f}g=d>>>0<8388608;d=g?(j(x(c*x(16777216))),e(0)):d;l=d&8388607;h=l|1065353216;g=(d>>23)+(g?-151:-127)|0;d=0;g:{if(l>>>0<1885298){break g}if(l>>>0<6140887){d=1;break g}h=h+ -8388608|0;g=g+1|0}l=d<<2;r=u[l+205616>>2];n=(f(0,h),k());o=u[l+205600>>2];p=x(n-o);t=x(x(1)/x(o+n));c=x(p*t);a=(f(0,(j(c),e(0))&-4096),k());v=x(a*a);w=a;z=p;p=(f(0,((h>>1&-536875008|536870912)+(d<<21)|0)+4194304|0),k());n=x(t*x(x(z-x(a*p))-x(a*x(n-x(p-o)))));p=x(x(c+a)*n);a=x(c*c);o=x(p+x(x(a*a)*x(x(a*x(x(a*x(x(a*x(x(a*x(x(a*x(.20697501301765442))+x(.23066075146198273)))+x(.2727281153202057)))+x(.3333333432674408)))+x(.4285714328289032)))+x(.6000000238418579))));a=(f(0,(j(x(x(v+x(3))+o)),e(0))&-4096),k());p=x(w*a);c=x(x(n*a)+x(c*x(o-x(x(a+x(-3))-v))));a=(f(0,(j(x(p+c)),e(0))&-4096),k());o=x(a*x(.9619140625));n=x(u[l+205608>>2]+x(x(x(c-x(a-p))*x(.9617967009544373))+x(a*x(-.00011736857413779944))));c=x(g|0);a=(f(0,(j(x(x(r+x(o+n))+c)),e(0))&-4096),k());r=x(x(x(a-c)-r)-o)}o=(f(0,m&-4096),k());c=x(a*o);a=x(x(x(n-r)*b)+x(x(b-o)*a));b=x(c+a);h=(j(b),e(0));if((h|0)>=1124073473){break b}d=1124073472;h:{i:{if((h|0)==1124073472){if(!(x(a+x(4.299566569443414e-8))>x(b-c))){break i}break b}d=h&2147483647;if(!(a<=x(b-c)^1|(h|0)!=-1021968384)|d>>>0>=1125515265){break a}g=0;if(d>>>0<1056964609){break h}}m=(8388608>>>(d>>>23|0)+ -126|0)+h|0;d=m>>>23&255;g=(m&8388607|8388608)>>>150-d|0;g=(h|0)<0?0-g|0:g;c=x(c-(f(0,m&-8388608>>d+ -127),k()));h=(j(x(a+c)),e(0))}b=(f(0,h&-32768),k());n=x(b*x(.693145751953125));c=x(x(b*x(14286065379565116e-22))+x(x(a-x(b-c))*x(.6931471824645996)));a=x(n+c);b=x(a*a);b=x(a-x(b*x(x(b*x(x(b*x(x(b*x(x(b*x(4.138136944220605e-8))+x(-16533901998627698e-22)))+x(661375597701408e-19)))+x(-.0027777778450399637)))+x(.1666666716337204))));p=x(x(a*b)/x(b+x(-2)));b=x(c-x(a-n));a=x(x(a-x(p-x(b+x(a*b))))+x(1));h=(j(a),e(0))+(g<<23)|0;j:{if((h|0)<=8388607){a=CA(a,g);break j}a=(f(0,h),k())}i=x(i*a)}return i}return x(x(i*x(1.0000000150474662e+30))*x(1.0000000150474662e+30))}return x(x(i*x(1.0000000031710769e-30))*x(1.0000000031710769e-30))}function Zd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;l=(c<<4)+a|0;k=q[l>>2];j=w(c,6);I=j<<3;t=I+a|0;i=q[t+4>>2];h=q[l+4>>2];f=q[a+4>>2];n=q[t>>2];m=(c<<5)+a|0;e=q[m>>2];g=n+e|0;d=q[a>>2];q[m>>2]=d-g;u=q[m+4>>2];q[a>>2]=d+g;d=n-e|0;q[t+4>>2]=h-d;q[l+4>>2]=d+h;d=u-i|0;q[t>>2]=k-d;q[l>>2]=d+k;d=i+u|0;q[m+4>>2]=f-d;q[a+4>>2]=d+f;x=q[a+12>>2];J=c<<1;K=(J|1)<<3;o=K+a|0;u=q[o>>2];C=q[o+4>>2];L=c<<2;M=(L|1)<<3;p=M+a|0;i=p;r=q[a+8>>2];N=(j|1)<<3;n=N+a|0;d=q[n>>2];y=d;z=d>>31;d=q[b+4>>2];D=d;s=d>>31;d=$R(y,z,d,s);f=Da;e=q[n+4>>2];A=e;E=e>>31;j=(c<<3)+b|0;g=q[j+ -4>>2];e=g;G=e;v=e>>31;e=$R(A,E,e,v);k=(d-e|0)+1073741824|0;d=f-(Da+(d>>>0>>0)|0)|0;e=k;l=((e>>>0<1073741824?d+1|0:d)&2147483647)<<1|e>>>31;d=q[i>>2];t=d;m=d>>31;d=$R(d,m,D,s);k=Da;e=q[i+4>>2];i=e;h=e>>31;e=0-g|0;f=e;g=e>>31;e=$R(i,h,e,g);F=(d-e|0)+1073741824|0;d=k-(Da+(d>>>0>>0)|0)|0;e=F;e=((e>>>0<1073741824?d+1|0:d)&2147483647)<<1|e>>>31;d=l+e|0;q[p>>2]=r-d;q[a+8>>2]=d+r;d=l-e|0;q[n+4>>2]=C-d;q[o+4>>2]=d+C;e=u;g=$R(t,m,f,g);d=Da;f=g;g=$R(D,s,i,h);f=f+g|0;d=Da+d|0;d=f>>>0>>0?d+1|0:d;g=f+1073741824|0;if(g>>>0<1073741824){d=d+1|0}h=(d&2147483647)<<1|g>>>31;f=h;g=$R(y,z,G,v);d=Da;k=n;i=e;e=$R(D,s,A,E);n=e+g|0;d=Da+d|0;d=n>>>0>>0?d+1|0:d;e=n+1073741824|0;if(e>>>0<1073741824){d=d+1|0}e=(d&2147483647)<<1|e>>>31;d=f-e|0;q[k>>2]=i-d;q[o>>2]=d+u;d=e+h|0;q[p+4>>2]=x-d;q[a+12>>2]=d+x;D=c+ -1|0;while(1){g=a+16|0;H=g+(J<<3)|0;u=q[H>>2];s=q[H+4>>2];x=q[a+20>>2];B=g+(L<<3)|0;k=B;F=q[a+16>>2];e=g+I|0;c=q[e>>2];r=c;y=c>>31;c=q[b+8>>2];o=c;p=c>>31;c=$R(r,y,c,p);h=Da;d=q[e+4>>2];z=d;A=d>>31;n=j+ -8|0;f=q[n>>2];d=f;E=d;G=d>>31;d=$R(z,A,d,G);m=(c-d|0)+1073741824|0;d=h-(Da+(c>>>0>>0)|0)|0;c=m;v=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=q[k>>2];l=c;t=c>>31;c=$R(c,t,o,p);m=Da;d=q[k+4>>2];k=d;i=d>>31;d=0-f|0;h=d;f=d>>31;d=$R(k,i,d,f);C=(c-d|0)+1073741824|0;d=m-(Da+(c>>>0>>0)|0)|0;c=C;d=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=v+d|0;q[B>>2]=F-c;q[a+16>>2]=c+F;c=v-d|0;q[e+4>>2]=s-c;q[H+4>>2]=c+s;c=u;f=$R(l,t,h,f);d=Da;h=f;f=$R(o,p,k,i);h=h+f|0;d=Da+d|0;d=h>>>0>>0?d+1|0:d;f=h+1073741824|0;if(f>>>0<1073741824){d=d+1|0}i=(d&2147483647)<<1|f>>>31;h=i;f=$R(r,y,E,G);d=Da;r=e;k=c;c=$R(o,p,z,A);e=c+f|0;d=Da+d|0;d=e>>>0>>0?d+1|0:d;c=e+1073741824|0;if(c>>>0<1073741824){d=d+1|0}d=(d&2147483647)<<1|c>>>31;c=h-d|0;q[r>>2]=k-c;q[H>>2]=c+u;c=d+i|0;q[B+4>>2]=x-c;q[a+20>>2]=c+x;B=g+K|0;u=q[B>>2];x=q[B+4>>2];C=q[a+28>>2];o=g+M|0;i=o;r=q[a+24>>2];e=g+N|0;c=q[e>>2];y=c;z=c>>31;c=q[b+12>>2];p=c;s=c>>31;c=$R(y,z,c,s);f=Da;d=q[e+4>>2];A=d;E=d>>31;j=q[j+ -12>>2];d=j;G=d;v=d>>31;d=$R(A,E,d,v);k=(c-d|0)+1073741824|0;d=f-(Da+(c>>>0>>0)|0)|0;c=k;l=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=q[i>>2];t=c;m=c>>31;c=$R(c,m,p,s);k=Da;d=q[i+4>>2];i=d;h=d>>31;d=0-j|0;f=d;j=d>>31;d=$R(i,h,d,j);F=(c-d|0)+1073741824|0;d=k-(Da+(c>>>0>>0)|0)|0;c=F;d=((c>>>0<1073741824?d+1|0:d)&2147483647)<<1|c>>>31;c=l+d|0;q[o>>2]=r-c;q[a+24>>2]=c+r;c=l-d|0;q[e+4>>2]=x-c;q[B+4>>2]=c+x;c=u;j=$R(t,m,f,j);d=Da;f=j;j=$R(p,s,i,h);f=f+j|0;d=Da+d|0;d=f>>>0>>0?d+1|0:d;j=f+1073741824|0;if(j>>>0<1073741824){d=d+1|0}h=(d&2147483647)<<1|j>>>31;f=h;j=$R(y,z,G,v);d=Da;k=e;i=c;c=$R(p,s,A,E);e=c+j|0;d=Da+d|0;d=e>>>0>>0?d+1|0:d;c=e+1073741824|0;if(c>>>0<1073741824){d=d+1|0}d=(d&2147483647)<<1|c>>>31;c=f-d|0;q[k>>2]=i-c;q[B>>2]=c+u;c=d+h|0;q[o+4>>2]=C-c;q[a+28>>2]=c+C;b=b+8|0;j=n;a=g;D=D+ -1|0;if(D){continue}break}}function an(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,B=0;c=1;h(+b);j=e(1)|0;d=e(0)|0;r=j;a:{b:{l=j&2147483647;c:{if(!(d|l)){break c}h(+a);k=e(1)|0;w=e(0)|0;s=k;if((k|0)==1072693248?!w:0){break c}d:{k=s&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&(w|0)!=0|l>>>0>2146435072)){if(!d|(l|0)!=2146435072){break d}}return a+b}e:{f:{g:{n=0;h:{if((s|0)>-1){break h}n=2;if(l>>>0>1128267775){break h}n=0;if(l>>>0<1072693248){break h}t=l>>>20|0;if(l>>>0<1094713344){break g}i=1075-t|0;t=d>>>i|0;n=0;if((d|0)!=t<>>d|0;n=0;if((l|0)!=i<>>0>=1072693248){return(j|0)>-1?b:0}return(j|0)>-1?0:-b}if((l|0)==1072693248){if((j|0)>-1){return a}return 1/a}if((j|0)==1073741824){return a*a}if((j|0)!=1071644672|(s|0)<0){break e}return E(a)}c=y(a);if(!(((k|1073741824)!=2146435072?k:0)|w)){c=(j|0)<0?1/c:c;if((s|0)>-1){break c}if(!(k+ -1072693248|i)){a=c-c;return a/a}return(i|0)==1?-c:c}p=1;if(!((s|0)>-1|i>>>0>1)){if(i-1){a=a-a;return a/a}p=-1}i:{if(l>>>0>=1105199105){if(l>>>0>=1139802113){if(k>>>0<=1072693247){return(j|0)<0?H:0}return(j|0)>0?H:0}if(k>>>0<=1072693246){return(j|0)<0?p*1e+300*1e+300:p*1e-300*1e-300}if(k>>>0>=1072693249){return(j|0)>0?p*1e+300*1e+300:p*1e-300*1e-300}a=c+ -1;c=a*1.4426950216293335;o=a*1.9259629911266175e-8+a*a*(.5-a*(a*-.25+.3333333333333333))*-1.4426950408889634;h(+(c+o));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a-c;break i}a=c*9007199254740992;d=k>>>0<1048576;c=d?a:c;h(+a);i=e(1)|0;e(0)|0;i=d?i:k;k=i&1048575;j=k|1072693248;i=(i>>20)+(d?-1076:-1023)|0;l=0;j:{if(k>>>0<235663){break j}if(k>>>0<767610){l=1;break j}j=j+ -1048576|0;i=i+1|0}k=l<<3;u=v[k+205584>>3];h(+c);e(1)|0;f(0,e(0)|0);f(1,j|0);o=+g();m=v[k+205552>>3];q=o-m;x=1/(m+o);c=q*x;h(+c);d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();A=a;z=a*a;B=q;f(0,0);f(1,((j>>1|536870912)+(l<<18)|0)+524288|0);q=+g();o=x*(B-a*q-a*(o-(q-m)));m=(c+a)*o;a=c*c;m=m+a*a*(a*(a*(a*(a*(a*.20697501780033842+.23066074577556175)+.272728123808534)+.33333332981837743)+.4285714285785502)+.5999999999999946);h(+(z+3+m));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();q=A*a;c=o*a+c*(m-(a+ -3-z));h(+(q+c));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a*.9617967009544373;o=v[k+205568>>3]+((c-(a-q))*.9617966939259756+a*-7.028461650952758e-9);c=+(i|0);h(+(u+(m+o)+c));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a-c-u-m}f(0,0);f(1,r|0);u=+g();c=a*u;a=(o-m)*b+(b-u)*a;b=c+a;h(+b);j=e(1)|0;r=e(0)|0;k:{i=j;d=j;if((d|0)>=1083179008){if(r|d+ -1083179008){break b}if(!(a+8.008566259537294e-17>b-c)){break k}break b}if((d&2147482624)>>>0<1083231232){break k}if(r|d+1064252416){break a}if(!(a<=b-c)){break k}break a}l=0;j=d&2147483647;if(j>>>0>=1071644673){i=d+(1048576>>>(j>>>20|0)+ -1022|0)|0;j=i>>>20&2047;r=(i&1048575|1048576)>>>1043-j|0;l=(d|0)<0?0-r|0:r;f(0,0);f(1,i&-1048576>>j+ -1023);c=c- +g();h(+(a+c));d=e(1)|0;e(0)|0}else{d=i}f(0,0);f(1,d|0);b=+g();o=b*.6931471824645996;c=(a-(b-c))*.6931471805599453+b*-1.904654299957768e-9;a=o+c;b=a*a;b=a-b*(b*(b*(b*(b*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);m=a*b/(b+ -2);b=c-(a-o);a=a-(m-(b+a*b))+1;h(+a);d=e(1)|0;i=e(0)|0;d=(l<<20)+d|0;l:{if((d|0)<=1048575){a=kd(a,l);break l}f(0,i|0);f(1,d|0);a=+g()}c=p*a}return c}return p*1e+300*1e+300}return p*1e-300*1e-300}function zD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,r=0,s=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;f=Ca-160|0;Ca=f;a:{if(!(!q[a+25720>>2]|q[c+44>>2]==5)){Ta(q[a+4>>2],16,37245,0);d=-1094995529;break a}d=q[b+21808>>2];h=q[a+27028>>2];g=d>>>0>>0;e=d;j=q[a+26384>>2];if(j){i=1}else{i=q[a+26388>>2]!=3}if(!(e<>>0>>0?g:0)){Ta(q[a+4>>2],16,37682,0);d=-1094995529;break a}g=q[a+27020>>2];e=(d>>>0)/(g>>>0)|0;d=d-w(e,g)|0;q[b+21800>>2]=d;q[b+21788>>2]=d;d=e;e=q[a+26388>>2];d=d<<((e|0)!=3|(j|0)!=0);q[b+21804>>2]=d;q[b+21792>>2]=d;if((e|0)==2){d=d+1|0;q[b+21804>>2]=d;q[b+21792>>2]=d}d=YD(a,b);if((d|0)<0){break a}b:{if(q[q[a+28220>>2]+32>>2]!=2|q[b+840>>2]!=3){break b}ok(a,b,-1);if(!q[a+26384>>2]){break b}ok(a,b,0);ok(a,b,1)}if(!(q[b+21844>>2]|q[b+840>>2]!=3)){zE(a,b)}if(!q[a+29604>>2]){yE(a,b)}h=q[a+4>>2];d=q[h+724>>2];c:{d:{if((d|0)>47){break d}e:{f:{g:{if((d|0)>=32){if(q[a+27036>>2]==5){break g}break d}if((d|0)<24){break f}}if(q[b+840>>2]==1){break e}break d}if((d|0)>=16){if(q[b+840>>2]!=3){break e}break d}if((d|0)<8){break c}}if(q[c+68>>2]){break c}}q[b+868>>2]=0}h:{if(q[b+868>>2]!=1|q[a+25632>>2]<2){break h}if(o[h+64|0]&1){q[b+868>>2]=2;break h}q[a+25716>>2]=1}d=q[b+876>>2];e=q[b+872>>2];g=(e|0)>(d|0)?d:e;d=q[a+28220>>2];e=q[d+44>>2];e=(e|0)>0?e:0;d=q[d+48>>2];q[b+860>>2]=(w(q[q[a+28224>>2]+1700>>2],6)-(g+((e|0)>(d|0)?e:d)|0)|0)+ -33;e=q[a+29576>>2];d=e+1|0;q[a+29576>>2]=d;q[b+832>>2]=d;g=q[b+21804>>2];if(d>>>0>=e>>>0){p[(((e&31)<<1)+a|0)+29616>>1]=g}i:{if((e|0)<31){break i}e=p[(((d&31)<<1)+a|0)+29616>>1];if((g|0)<(e|0)|(e+3|0)<(g|0)){break i}q[f+84>>2]=32;q[f+80>>2]=d;Ta(h,24,37962,f+80|0)}e=0;j:while(1){if((e|0)!=2){m=q[b+832>>2]&31;n=((e<<2)+b|0)+23404|0;r=q[b+23412>>2];g=0;while(1){k:{if((g|0)!=16){h=(f+96|0)+(g<<2)|0;q[h>>2]=60;if(e>>>0>=r>>>0|g>>>0>=t[n>>2]){break k}j=q[q[q[((w(e,1920)+b|0)+w(g,40)|0)+23452>>2]>>2]+248>>2];if(!j){break k}d=0;k=q[a+29572>>2];i=(k|0)>0?k:0;j=q[j>>2];while(1){l:{if((d|0)!=(i|0)){if((j|0)!=q[q[q[q[((d<<2)+a|0)+28364>>2]>>2]+248>>2]>>2]){break l}q[h>>2]=d}d=0;i=q[a+29568>>2];i=(i|0)>0?i:0;while(1){if((d|0)==(i|0)){break k}l=q[((d<<2)+a|0)+28492>>2];if(!l|(j|0)!=q[q[q[l>>2]+248>>2]>>2]){d=d+1|0;continue}else{q[h>>2]=d+k;break k}}}d=d+1|0;continue}}g=((m<<9)+a|0)+(e<<8)|0;d=g+30028|0;q[d>>2]=-1;q[d+4>>2]=-1;d=0;while(1){if((d|0)!=16){h=d<<2;q[(h+g|0)+30036>>2]=q[((w(e,1920)+b|0)+w(d,40)|0)+23440>>2]&3|q[h+(f+96|0)>>2]<<2;d=d+1|0;continue}break}d=g+30100|0;q[d>>2]=-1;q[d+4>>2]=-1;d=16;while(1){if((d|0)!=48){q[(g+(d<<2)|0)+30044>>2]=q[((w(e,1920)+b|0)+w(d,40)|0)+23440>>2]&3|q[(f+96|0)+((d<<1)+ -32&-4)>>2]<<2;d=d+1|0;continue}break}e=e+1|0;continue j}g=g+1|0;continue}}break}d=0;g=q[a+4>>2];if(!(o[g+576|0]&1)){break a}h=q[b+832>>2];k=q[b+21788>>2];j=q[a+27020>>2];m=q[b+21792>>2];e=q[a+26388>>2];n=Dj(q[b+836>>2]);r=q[b+844>>2];i=q[c+44>>2]==5;l=q[b+23408>>2];c=q[a+28260>>2];a=q[a+24312>>2];u=q[a+80>>2];v=q[b+876>>2];x=q[b+872>>2];y=q[b+868>>2];z=q[b+848>>2];A=q[b+23404>>2];B=q[a+76>>2];a=37001;s=q[b+880>>2];if((s|0)==1){a=q[b+884>>2]?39634:37001}q[f+68>>2]=q[b+836>>2]==3?q[b+21844>>2]?39864:40026:37001;q[f- -64>>2]=a;q[f+60>>2]=s;q[f+56>>2]=v;q[f+52>>2]=x;q[f+48>>2]=y;q[f+44>>2]=z;q[f+40>>2]=l;q[f+36>>2]=A;q[f+32>>2]=u;q[f+28>>2]=B;q[f+24>>2]=c;q[f+20>>2]=i?39483:37001;q[f+16>>2]=r?39322:37001;q[f+12>>2]=n;q[f+8>>2]=k+w(j,m);q[f+4>>2]=(e|0)==3?38575:(e|0)==1?38879:39140;q[f>>2]=h;Ta(g,48,38335,f)}Ca=f+160|0;return d}function Yw(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=Ca-48|0;Ca=v;w=d+ -90|0;y=1;while(1){a:{h=0;if((z|0)>=q[e+16>>2]){break a}b:while(1){A=r[e|0];c:while(1){if((h|0)<(A|0)){l=k<<2;m=q[l+g>>2];d:{e:{f:{l=q[f+l>>2];if(l){l=l+ -13|0;if(l>>>0>2){break d}switch(l-1|0){case 0:case 1:break f;default:break e}}l=(h|0)>(m|0)?h:m;m=(l+k|0)-h|0;while(1)if((k|0)==(m|0)){h=l;k=m;continue c}else{q[(k<<2)+b>>2]=0;k=k+1|0;continue}}l=(h|0)>(m|0)?h:m;m=(l+k|0)-h|0;while(1)if((k|0)==(m|0)){h=l;k=m;continue b}else{s=q[583589];t=q[c>>2];j=q[c+8>>2];h=t+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=s+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>23&508)|0;o=p[h>>1];n=q[c+16>>2];h=p[h+2>>1];g:{if((h|0)>-1){break g}i=j+7|0;j=n>>>0>i>>>0?i:n;i=t+(j>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);i=s+(((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(j&7)>>>h+32|0)+o<<2)|0;o=p[i>>1];i=p[i+2>>1];if((i|0)>-1){h=i;break g}h=j-h|0;j=n>>>0>h>>>0?h:n;h=t+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);i=s+(((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>i+32|0)+o<<2)|0;h=p[i+2>>1];o=p[i>>1]}h=h+j|0;q[c+8>>2]=n>>>0>h>>>0?h:n;x=(o+x|0)+ -60|0;h=(x|0)<100?x:100;h=(h|0)>-155?h:-155;if((h|0)!=(x|0)){i=q[a+4>>2];q[v+20>>2]=h;q[v+16>>2]=x;Pc(i,41610,v+16|0)}q[(k<<2)+b>>2]=q[(0-h<<2)+2421344>>2];k=k+1|0;continue}}l=(h|0)>(m|0)?h:m;m=(l+k|0)-h|0;while(1)if((k|0)==(m|0)){h=l;k=m;continue b}else{h:{if((y|0)>=1){h=Ua(c,9)+ -256|0;break h}s=q[583589];t=q[c>>2];j=q[c+8>>2];h=t+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=s+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>23&508)|0;o=p[h>>1];n=q[c+16>>2];h=p[h+2>>1];i:{if((h|0)>-1){break i}i=j+7|0;j=n>>>0>i>>>0?i:n;i=t+(j>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);i=s+(((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(j&7)>>>h+32|0)+o<<2)|0;o=p[i>>1];i=p[i+2>>1];if((i|0)>-1){h=i;break i}h=j-h|0;j=n>>>0>h>>>0?h:n;h=t+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);i=s+(((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>i+32|0)+o<<2)|0;h=p[i+2>>1];o=p[i>>1]}h=h+j|0;q[c+8>>2]=n>>>0>h>>>0?h:n;h=o+ -60|0}w=h+w|0;h=(w|0)<155?w:155;h=(h|0)>-100?h:-100;if((h|0)!=(w|0)){i=q[a+4>>2];q[v+36>>2]=h;q[v+32>>2]=w;Pc(i,41849,v+32|0)}y=y+ -1|0;u[(k<<2)+b>>2]=-u[(h<<2)+2421344>>2];k=k+1|0;continue}}l=(h|0)>(m|0)?h:m;m=(l+k|0)-h|0;t=q[583589];while(1){if((k|0)==(m|0)){h=l;k=m;continue c}s=q[c>>2];j=q[c+8>>2];h=s+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=t+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>23&508)|0;o=p[h>>1];n=q[c+16>>2];h=p[h+2>>1];j:{if((h|0)>-1){break j}i=j+7|0;j=n>>>0>i>>>0?i:n;i=s+(j>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);i=t+(((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(j&7)>>>h+32|0)+o<<2)|0;o=p[i>>1];i=p[i+2>>1];if((i|0)>-1){h=i;break j}h=j-h|0;j=n>>>0>h>>>0?h:n;h=s+(j>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);i=t+(((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(j&7)>>>i+32|0)+o<<2)|0;h=p[i+2>>1];o=p[i>>1]}h=h+j|0;q[c+8>>2]=n>>>0>h>>>0?h:n;d=(d+o|0)+ -60|0;if(d>>>0>=256){a=q[a+4>>2];q[v>>2]=d;Ta(a,16,42201,v);B=-1094995529;break a}else{u[(k<<2)+b>>2]=-u[(d<<2)+2420944>>2];k=k+1|0;continue}}}break}break}z=z+1|0;continue}break}Ca=v+48|0;return B}function tn(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,u=0,v=0;m=Ca-16|0;Ca=m;a:{b:{c:{d:{e:{f:{if(b>>>0<=36){while(1){f=q[a+4>>2];g:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break g}f=qb(a)}if((f|0)==32|f+ -9>>>0<5){continue}break}j=f+ -43|0;h:{if(j>>>0>2|!(j-1)){break h}p=(f|0)==45?-1:0;f=q[a+4>>2];if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break h}f=qb(a)}i:{if(!(b&-17|(f|0)!=48)){f=q[a+4>>2];j:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break j}f=qb(a)}if((f|32)==120){b=16;f=q[a+4>>2];k:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break k}f=qb(a)}if(r[f+200225|0]<16){break e}if(!q[a+104>>2]){d=0;e=0;if(c){break a}break b}b=q[a+4>>2];q[a+4>>2]=b+ -1;if(!c){break b}q[a+4>>2]=b+ -2;d=0;e=0;break a}if(b){break i}b=8;break e}b=b?b:10;if(b>>>0>r[f+200225|0]){break i}if(q[a+104>>2]){q[a+4>>2]=q[a+4>>2]+ -1}d=0;e=0;Nc(a,0,0);q[865816]=28;break a}if((b|0)!=10){break e}c=f+ -48|0;if(c>>>0<=9){b=0;while(1){b=w(b,10)+c|0;c=q[a+4>>2];l:{if(c>>>0>2]){q[a+4>>2]=c+1;f=r[c|0];break l}f=qb(a)}c=f+ -48|0;if(b>>>0<429496729?c>>>0<=9:0){continue}break}g=b}if(c>>>0>9){break f}i=$R(g,0,10,0);b=Da;while(1){h=b;b=c+i|0;if(b>>>0>>0){h=h+1|0}g=b;j=(h|0)==429496729&b>>>0>=2576980378|h>>>0>429496729;b=q[a+4>>2];m:{if(b>>>0>2]){q[a+4>>2]=b+1;f=r[b|0];break m}f=qb(a)}c=f+ -48|0;if(j|c>>>0>9){break f}i=$R(g,h,10,0);b=Da;if((b|0)==-1&i>>>0<=(c^-1)>>>0|b>>>0<4294967295){continue}break}b=10;break d}q[865816]=28;d=0;e=0;break a}b=10;if(c>>>0<=9){break d}break c}if(b+ -1&b){c=r[f+200225|0];if(b>>>0>c>>>0){while(1){g=w(b,g)+c|0;n=g>>>0<=119304646;j=b;f=q[a+4>>2];n:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break n}f=qb(a)}c=r[f+200225|0];if(j>>>0>c>>>0?n:0){continue}break}}if(b>>>0<=c>>>0){break d}k=b;while(1){l=$R(g,h,k,0);j=Da;i=j;c=c&255;if((i|0)==-1&l>>>0>(c^-1)>>>0|i>>>0>4294967295){break d}h=j;f=c+l|0;if(f>>>0>>0){h=h+1|0}g=f;j=b;f=q[a+4>>2];o:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break o}f=qb(a)}c=r[f+200225|0];if(j>>>0<=c>>>0){break d}bd(m,k,0,g,h);if(!(q[m+8>>2]|q[m+12>>2])){continue}break}break d}l=o[(w(b,23)>>>5&7)+200481|0];j=l;c=j;i=c&31;if(32<=(c&63)>>>0){n=-1>>>i|0}else{k=-1>>>i|0;n=(1<>>i}i=n;s=k;c=r[f+200225|0];if(b>>>0>c>>>0){while(1){g=g<>>0<=134217727;v=b;f=q[a+4>>2];p:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break p}f=qb(a)}c=r[f+200225|0];if(v>>>0>c>>>0?u:0){continue}break}}if(!s&i>>>0>>0|s>>>0<0|b>>>0<=c>>>0){break d}while(1){i=c&255;f=g;c=j;g=c&31;if(32<=(c&63)>>>0){h=f<>>32-g|h<>2];q:{if(c>>>0>2]){q[a+4>>2]=c+1;f=r[c|0];break q}f=qb(a)}if((h|0)==(k|0)&g>>>0>n>>>0|h>>>0>k>>>0){break d}c=r[f+200225|0];if(b>>>0>c>>>0){continue}break}}if(b>>>0<=r[f+200225|0]){break c}while(1){c=b;f=q[a+4>>2];r:{if(f>>>0>2]){q[a+4>>2]=f+1;f=r[f|0];break r}f=qb(a)}if(c>>>0>r[f+200225|0]){continue}break}q[865816]=68;p=d&1?0:p;g=d;h=e}if(q[a+104>>2]){q[a+4>>2]=q[a+4>>2]+ -1}s:{if((e|0)==(h|0)&g>>>0>>0|h>>>0>>0){break s}if(!(p|d&1)){q[865816]=68;e=e+ -1|0;a=d+ -1|0;if(a>>>0<4294967295){e=e+1|0}d=a;break a}if((e|0)==(h|0)&g>>>0<=d>>>0|h>>>0>>0){break s}q[865816]=68;break a}a=p;c=a^g;d=c-a|0;b=a>>31;e=(b^h)-(b+(c>>>0>>0)|0)|0;break a}d=0;e=0;Nc(a,0,0)}Ca=m+16|0;Da=e;return d}function BD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=Ca-160|0;Ca=f;a:{if(!(q[a+29576>>2]|q[a+25628>>2]!=(b|0))){d=1;if(q[a+29604>>2]){break a}}g=b+4|0;o=b,p=cd(g),q[o+21808>>2]=p;h=Cc(g);b:{if(h>>>0>=10){a=q[a+4>>2];q[f+4>>2]=q[b+21808>>2];q[f>>2]=h;Ta(a,16,22431,f);d=-1094995529;break b}e=h>>>0>4;q[b+844>>2]=e;l=r[(e?h+ -5|0:h)+152304|0];q[b+836>>2]=l;e=l&3;q[b+840>>2]=e;if(!((e|0)==1|q[c+44>>2]!=5)){Ta(q[a+4>>2],16,23098,0);d=-1094995529;break b}h=bo(g);q[b+27776>>2]=h;if(h>>>0>=256){a=q[a+4>>2];q[f+16>>2]=h;Ta(a,16,23741,f+16|0);d=-1094995529;break b}e=q[((h<<2)+a|0)+27188>>2];if(!e){a=q[a+4>>2];q[f+32>>2]=h;Ta(a,16,24345,f+32|0);d=-1094995529;break b}i=q[e+4>>2];h=q[i>>2];e=q[((h<<2)+a|0)+27060>>2];if(!e){a=q[a+4>>2];q[f+48>>2]=h;Ta(a,16,25122,f+48|0);d=-1094995529;break b}j=q[e+4>>2];h=Ua(g,q[j+20>>2]);q[b+34732>>2]=h;c:{if(d){break c}e=q[a+28260>>2];if((e|0)==(h|0)){break c}a=q[a+4>>2];q[f+132>>2]=h;q[f+128>>2]=e;Ta(a,16,25490,f+128|0);d=-1094995529;break b}q[b+21832>>2]=0;k=3;d:{if(q[j+64>>2]){break d}if(!(q[j+72>>2]|(l|0)!=3)){Ta(q[a+4>>2],16,26028,0);d=-1;break b}if(!Xa(g)){break d}k=Xa(g)+1|0}q[b+21824>>2]=k;e=(k|0)!=3;q[b+21828>>2]=e;d=q[b+34732>>2];if(e){d=d<<1|1;e=q[j+20>>2]+1|0}else{e=q[j+20>>2]}q[b+34752>>2]=d;q[b+34756>>2]=1<>2]==5){cd(g)}e=q[j+24>>2];if(!e){o=b,p=Ua(g,q[j+28>>2]),q[o+34736>>2]=p;if(!((k|0)!=3|q[i+8>>2]!=1)){o=b,p=oc(g),q[o+34740>>2]=p}e=q[j+24>>2]}e:{if(q[j+32>>2]|(e|0)!=1){break e}o=b,p=oc(g),q[o+34744>>2]=p;if((k|0)!=3|q[i+8>>2]!=1){break e}o=b+34748|0,p=oc(g),q[o>>2]=p}q[b+21836>>2]=0;if(q[i+60>>2]){o=b,p=bo(g),q[o+21836>>2]=p}n=b+23412|0;m=b+23404|0;l=m;d=g;h=i;e=q[b+840>>2];if((e|0)==3){o=b,p=Xa(g),q[o+21844>>2]=p;e=q[b+840>>2]}d=yo(n,l,d,h,e,k,q[a+4>>2]);if((d|0)<0){break b}f:{if(q[b+840>>2]==1){break f}d=UD(b,q[a+4>>2]);if((d|0)>-1){break f}q[b+23404>>2]=0;q[b+23408>>2]=0;break b}q[b+880>>2]=0;h=b+880|0;d=0;while(1){if((d|0)!=2){e=(d<<2)+b|0;q[e+904>>2]=0;q[e+896>>2]=0;d=d+1|0;continue}break}g:{h:{if(q[i+28>>2]){d=2;if(q[b+840>>2]==2){break h}}if(q[i+32>>2]!=1){break g}d=3;if(q[b+840>>2]!=3){break g}}d=Ao(g,j,m,d,h,k,q[a+4>>2]);if((d|0)<0){break b}}q[b+34728>>2]=0;i:{if(!q[c+68>>2]){break i}if((RD(b,g,c,q[a+4>>2])|0)>-1){break i}d=-1094995529;if(r[q[a+4>>2]+580|0]&8){break b}}if(!(!q[i+4>>2]|q[b+840>>2]==1)){c=Cc(g);if(c>>>0>=3){a=q[a+4>>2];q[f+112>>2]=c;Ta(a,16,26688,f+112|0);d=-1094995529;break b}q[b+33928>>2]=c}q[b+864>>2]=0;c=q[i+36>>2]+oc(g)|0;if(c>>>0>w(q[j+1700>>2],6)+3>>>0){a=q[a+4>>2];q[f+64>>2]=c;Ta(a,16,27254,f- -64|0);d=-1094995529;break b}q[b+848>>2]=c;c=c+i|0;q[b+852>>2]=r[c+548|0];q[b+856>>2]=r[c+636|0];c=q[b+836>>2];if((c|0)==6){Xa(g);c=q[b+836>>2]}if(c+ -5>>>0<=1){oc(g)}d=0;q[b+876>>2]=0;q[b+868>>2]=1;q[b+872>>2]=0;if(!q[i+52>>2]){break b}c=Cc(g);if(c>>>0>=3){a=q[a+4>>2];q[f+80>>2]=c;Ta(a,16,27721,f+80|0);d=-1094995529;break b}c=(c|0)==2?2:c^1;q[b+868>>2]=c;if(!c){break b}e=oc(g);c=oc(g);if(!(c+6>>>0<13?e+6>>>0<=12:0)){a=q[a+4>>2];q[f+100>>2]=c;q[f+96>>2]=e;Ta(a,16,28256,f+96|0);d=-1094995529;break b}q[b+876>>2]=c<<1;q[b+872>>2]=e<<1}Ca=f+160|0;return d}q[f+152>>2]=1733;q[f+148>>2]=12455;q[f+144>>2]=21788;Ta(0,0,10109,f+144|0);I();F()}function jw(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=0,p=0,r=0,s=0,t=x(0),v=x(0),y=x(0),z=x(0),A=x(0),B=0,C=0,D=x(0),E=x(0),F=x(0),G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;e=Ca-784|0;Ca=e;q[e+76>>2]=e+608;q[e+72>>2]=e+432;q[e+68>>2]=e+256;q[e+64>>2]=e+80;m=q[a+24>>2];p=a+85744|0;f=a+84112|0;g=a+82480|0;j=a+80848|0;i=q[a+40>>2];if(i){i=w(i,136);k=i+a|0;Va(j,k+80848|0,136);h=a+81664|0;Va(h,h+i|0,136);Va(g,k+82480|0,136);h=a+83296|0;Va(h,h+i|0,136);Va(f,k+84112|0,136);h=a+84928|0;Va(h,h+i|0,136);Va(p,k+85744|0,136);k=a+86560|0;Va(k,i+k|0,136)}h=(m|0)<3;s=a+134002|0;B=a+133968|0;i=a+76|0;k=q[a+44>>2];m=q[a+12>>2];a:{b:{if(d){Hh(e+76|0,i,m,k,1);Hh(e+72|0,a+246|0,q[a+28>>2],q[a+44>>2],1);if(q[a+48>>2]){Hh(e+68|0,a+416|0,q[a+16>>2],q[a+44>>2],0);Hh(e- -64|0,a+586|0,q[a+16>>2],q[a+44>>2],0)}if(q[a+760>>2]){break a}Yd(j);Yd(a+81664|0);Yd(g);Yd(a+83296|0);Yd(f);Yd(a+84928|0);Yd(p);Yd(a+86560|0);break b}Gh(e+76|0,i,m,k,1);Gh(e+72|0,a+246|0,q[a+28>>2],q[a+44>>2],1);if(q[a+48>>2]){Gh(e+68|0,a+416|0,q[a+16>>2],q[a+44>>2],0);Gh(e- -64|0,a+586|0,q[a+16>>2],q[a+44>>2],0)}if(!q[a+760>>2]){break a}Xd(j);Xd(a+81664|0);Xd(g);Xd(a+83296|0);Xd(f);Xd(a+84928|0);Xd(p);Xd(a+86560|0)}hw(s,B)}B=d?97328:97424;G=h?2370064:2375952;i=d<<2;H=i+96272|0;I=i+97520|0;J=i+97496|0;K=q[e+68>>2];L=q[e+64>>2];M=q[e+72>>2];N=q[e+76>>2];k=a+52|0;i=0;c:while(1){if((i|0)>2]){f=0;p=q[J>>2];m=(p|0)>0?p:0;p=i+1|0;while(1)if((f|0)==(m|0)){r=k+(p<<2)|0;O=k+(i<<2)|0;g=0;f=q[H>>2];P=(f|0)>0?f:0;while(1){if((g|0)==(P|0)){i=p;continue c}j=q[r>>2];m=q[O>>2];C=o[g+B|0]<<2;f=C+(w(i,136)+a|0)|0;h=f+80848|0;v=u[h>>2];q[e+32>>2]=q[h>>2];h=f+82480|0;y=u[h>>2];q[e+36>>2]=q[h>>2];h=f+84112|0;z=u[h>>2];q[e+40>>2]=q[h>>2];h=f+85744|0;A=u[h>>2];q[e+44>>2]=q[h>>2];j=j-m|0;l=x(x(1)/x((j?j:1)|0));h=q[a+48>>2];d:{if(!h){break d}s=f+81664|0;if(!(!d&g>>>0<2?0:!((d|0)!=0&g+ -9>>>0<5))){u[e+48>>2]=-u[s>>2];u[e+52>>2]=-u[f+83296>>2];u[e+56>>2]=-u[f+84928>>2];u[e+60>>2]=-u[f+86560>>2];break d}q[e+48>>2]=q[s>>2];q[e+52>>2]=q[f+83296>>2];q[e+56>>2]=q[f+84928>>2];q[e+60>>2]=q[f+86560>>2]}f=(w(p,136)+a|0)+C|0;u[e>>2]=l*x(u[f+80848>>2]-v);u[e+4>>2]=l*x(u[f+82480>>2]-y);u[e+8>>2]=l*x(u[f+84112>>2]-z);u[e+12>>2]=l*x(u[f+85744>>2]-A);if(h){u[e+16>>2]=l*x(u[f+81664>>2]-u[e+48>>2]);u[e+20>>2]=l*x(u[f+83296>>2]-u[e+52>>2]);u[e+24>>2]=l*x(u[f+84928>>2]-u[e+56>>2]);u[e+28>>2]=l*x(u[f+86560>>2]-u[e+60>>2])}if(j){m=m<<3;f=g<<8;n[q[((((h|0)!=0)<<2)+a|0)+134060>>2]]((m+(f+b|0)|0)+8|0,(m+(c+f|0)|0)+8|0,e+32|0,e,j)}g=g+1|0;continue}}else{g=w(i,34);j=((o[(g+N|0)+f|0]+w(q[a+8>>2],23)<<7)+G|0)+(o[(g+M|0)+f|0]<<4)|0;v=u[j+908>>2];y=u[j+904>>2];z=u[j+900>>2];A=u[j+896>>2];if(!(!q[a+48>>2]|(f|0)>=q[I>>2])){j=a+f|0;h=j+134002|0;s=o[(g+K|0)+f|0]+(o[h|0]<<3)|0;r=s<<2;D=u[r+2381840>>2];E=u[r+2383888>>2];r=o[(g+L|0)+f|0];g=j+133968|0;j=r+(o[g|0]<<3)|0;r=j<<2;l=u[r+2381840>>2];t=u[r+2383888>>2];o[g|0]=j&63;o[h|0]=s&63;g=(w(p,136)+a|0)+(f<<2)|0;u[g+84928>>2]=y*t;u[g+81664>>2]=A*t;F=x(x(t*D)-x(l*E));u[g+86560>>2]=v*F;u[g+83296>>2]=z*F;t=x(x(l*D)+x(t*E));v=x(v*t);z=x(z*t);A=x(A*l);y=x(y*l)}g=(w(p,136)+a|0)+(f<<2)|0;u[g+85744>>2]=v;u[g+84112>>2]=y;u[g+82480>>2]=z;u[g+80848>>2]=A;f=f+1|0;continue}}break}Ca=e+784|0}function Xh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=q[448145];f=q[448147];Yh(a);Zh(a- -64|0);Zh(a+96|0);k=q[a>>2];d=q[a+96>>2];c=q[a+64>>2];b=d+c|0;q[a+64>>2]=k-b;i=q[a+100>>2];e=q[a+36>>2];c=d-c|0;q[a+100>>2]=e-c;q[a>>2]=b+k;k=q[a+32>>2];b=q[a+68>>2];d=b-i|0;q[a+96>>2]=k-d;q[a+36>>2]=c+e;c=q[a+4>>2];b=b+i|0;q[a+68>>2]=c-b;q[a+32>>2]=d+k;q[a+4>>2]=b+c;n=q[a+16>>2];b=q[a+112>>2];c=$R(1518500224,0,b,b>>31)+1073741824|0;b=Da;b=c>>>0<1073741824?b+1|0:b;i=c;c=q[a+116>>2];c=$R(c,c>>31,1518500224,0);k=b;p=Da;d=i;b=c;g=k-(p+(d>>>0>>0)|0)|0;b=d-b|0;o=(g&2147483647)<<1|b>>>31;d=q[a+80>>2];b=d>>31;m=d;d=b;b=$R(m,b,1518500224,0);g=Da;e=q[a+84>>2];r=e;h=e>>31;e=$R(e,h,-1518500224,-1);j=(b-e|0)+1073741824|0;b=g-(Da+(b>>>0>>0)|0)|0;e=j;e=((e>>>0<1073741824?b+1|0:b)&2147483647)<<1|e>>>31;b=o+e|0;q[a+80>>2]=n-b;s=q[a+20>>2];t=q[a+48>>2];j=q[a+52>>2];g=o-e|0;q[a+116>>2]=j-g;q[a+16>>2]=b+n;d=$R(m,d,-1518500224,-1);b=Da;e=d;d=$R(r,h,1518500224,0);e=e+d|0;b=Da+b|0;b=e>>>0>>0?b+1|0:b;d=e+1073741824|0;if(d>>>0<1073741824){b=b+1|0}h=a;m=t;e=(b&2147483647)<<1|d>>>31;n=e;b=k+p|0;d=c+i|0;if(d>>>0>>0){b=b+1|0}c=d;b=(b&2147483647)<<1|c>>>31;c=n-b|0;q[h+112>>2]=m-c;q[a+52>>2]=g+j;b=b+e|0;q[a+84>>2]=s-b;q[a+48>>2]=c+t;q[a+20>>2]=b+s;z=q[a+12>>2];w=q[a+44>>2];k=q[a+40>>2];x=q[a+8>>2];b=q[a+104>>2];m=b;s=b>>31;i=l;u=i>>31;b=$R(b,s,i,u);g=Da;d=q[a+108>>2];t=d;n=d>>31;e=f;v=e>>31;d=$R(d,n,e,v);h=(b-d|0)+1073741824|0;b=g-(Da+(b>>>0>>0)|0)|0;d=h;h=((d>>>0<1073741824?b+1|0:b)&2147483647)<<1|d>>>31;b=q[a+72>>2];p=b;o=b>>31;b=$R(b,o,i,u);d=Da;c=q[a+76>>2];r=c;j=c>>31;c=0-e|0;g=c;f=c>>31;c=$R(r,j,c,f);y=(b-c|0)+1073741824|0;b=d-(Da+(b>>>0>>0)|0)|0;c=y;c=((c>>>0<1073741824?b+1|0:b)&2147483647)<<1|c>>>31;b=h+c|0;q[a+72>>2]=x-b;h=h-c|0;q[a+108>>2]=w-h;q[a+8>>2]=b+x;d=a;c=k;f=$R(p,o,g,f);b=Da;g=f;f=$R(i,u,r,j);g=g+f|0;b=Da+b|0;b=g>>>0>>0?b+1|0:b;f=g+1073741824|0;if(f>>>0<1073741824){b=b+1|0}j=(b&2147483647)<<1|f>>>31;g=j;f=$R(e,v,m,s);b=Da;m=d;o=c;c=$R(i,u,t,n);d=c+f|0;b=Da+b|0;b=d>>>0>>0?b+1|0:b;c=d+1073741824|0;if(c>>>0<1073741824){b=b+1|0}b=(b&2147483647)<<1|c>>>31;c=g-b|0;q[m+104>>2]=o-c;q[a+44>>2]=h+w;b=b+j|0;q[a+76>>2]=z-b;q[a+40>>2]=c+k;q[a+12>>2]=b+z;w=q[a+28>>2];y=q[a+60>>2];k=q[a+56>>2];m=q[a+24>>2];b=q[a+120>>2];s=b;t=b>>31;b=$R(b,t,e,v);f=Da;d=q[a+124>>2];n=d;p=d>>31;d=$R(d,p,i,u);g=(b-d|0)+1073741824|0;b=f-(Da+(b>>>0>>0)|0)|0;d=g;g=((d>>>0<1073741824?b+1|0:b)&2147483647)<<1|d>>>31;b=q[a+88>>2];o=b;r=b>>31;b=$R(b,r,e,v);d=Da;c=q[a+92>>2];h=c;j=c>>31;c=0-l|0;l=c;f=c>>31;c=$R(h,j,c,f);x=(b-c|0)+1073741824|0;b=d-(Da+(b>>>0>>0)|0)|0;c=x;c=((c>>>0<1073741824?b+1|0:b)&2147483647)<<1|c>>>31;b=g+c|0;q[a+88>>2]=m-b;g=g-c|0;q[a+124>>2]=y-g;q[a+24>>2]=b+m;d=a;c=k;f=$R(o,r,l,f);b=Da;l=f;f=$R(e,v,h,j);l=l+f|0;b=Da+b|0;b=l>>>0>>0?b+1|0:b;f=l+1073741824|0;if(f>>>0<1073741824){b=b+1|0}l=(b&2147483647)<<1|f>>>31;f=l;i=$R(i,u,s,t);b=Da;j=d;h=c;c=$R(e,v,n,p);d=c+i|0;b=Da+b|0;b=d>>>0>>0?b+1|0:b;c=d+1073741824|0;if(c>>>0<1073741824){b=b+1|0}b=(b&2147483647)<<1|c>>>31;c=f-b|0;q[j+120>>2]=h-c;q[a+60>>2]=g+y;b=b+l|0;q[a+92>>2]=w-b;q[a+56>>2]=c+k;q[a+28>>2]=b+w}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a+ -8|0;c=q[a+ -4>>2];a=c&-8;f=d+a|0;b:{if(c&1){break b}if(!(c&3)){break a}c=q[d>>2];d=d-c|0;if(d>>>0>>0<=255){e=q[d+8>>2];c=c>>>3|0;b=q[d+12>>2];if((b|0)==(e|0)){i=3463372,j=q[865843]&eS(-2,c),q[i>>2]=j;break b}q[e+12>>2]=b;q[b+8>>2]=e;break b}h=q[d+24>>2];c=q[d+12>>2];c:{if((d|0)!=(c|0)){b=q[d+8>>2];q[b+12>>2]=c;q[c+8>>2]=b;break c}d:{e=d+20|0;b=q[e>>2];if(b){break d}e=d+16|0;b=q[e>>2];if(b){break d}c=0;break c}while(1){g=e;c=b;e=c+20|0;b=q[e>>2];if(b){continue}e=c+16|0;b=q[c+16>>2];if(b){continue}break}q[g>>2]=0}if(!h){break b}e=q[d+28>>2];b=(e<<2)+3463676|0;e:{if(q[b>>2]==(d|0)){q[b>>2]=c;if(c){break e}i=3463376,j=q[865844]&eS(-2,e),q[i>>2]=j;break b}q[h+(q[h+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break b}}q[c+24>>2]=h;b=q[d+16>>2];if(b){q[c+16>>2]=b;q[b+24>>2]=c}b=q[d+20>>2];if(!b){break b}q[c+20>>2]=b;q[b+24>>2]=c;break b}c=q[f+4>>2];if((c&3)!=3){break b}q[865845]=a;q[f+4>>2]=c&-2;q[d+4>>2]=a|1;q[a+d>>2]=a;return}if(f>>>0<=d>>>0){break a}c=q[f+4>>2];if(!(c&1)){break a}f:{if(!(c&2)){if(q[865849]==(f|0)){q[865849]=d;a=q[865846]+a|0;q[865846]=a;q[d+4>>2]=a|1;if(q[865848]!=(d|0)){break a}q[865845]=0;q[865848]=0;return}if(q[865848]==(f|0)){q[865848]=d;a=q[865845]+a|0;q[865845]=a;q[d+4>>2]=a|1;q[a+d>>2]=a;return}a=(c&-8)+a|0;g:{if(c>>>0<=255){b=q[f+8>>2];c=c>>>3|0;e=q[f+12>>2];if((b|0)==(e|0)){i=3463372,j=q[865843]&eS(-2,c),q[i>>2]=j;break g}q[b+12>>2]=e;q[e+8>>2]=b;break g}h=q[f+24>>2];c=q[f+12>>2];h:{if((f|0)!=(c|0)){b=q[f+8>>2];q[b+12>>2]=c;q[c+8>>2]=b;break h}i:{e=f+20|0;b=q[e>>2];if(b){break i}e=f+16|0;b=q[e>>2];if(b){break i}c=0;break h}while(1){g=e;c=b;e=c+20|0;b=q[e>>2];if(b){continue}e=c+16|0;b=q[c+16>>2];if(b){continue}break}q[g>>2]=0}if(!h){break g}e=q[f+28>>2];b=(e<<2)+3463676|0;j:{if(q[b>>2]==(f|0)){q[b>>2]=c;if(c){break j}i=3463376,j=q[865844]&eS(-2,e),q[i>>2]=j;break g}q[h+(q[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}q[c+24>>2]=h;b=q[f+16>>2];if(b){q[c+16>>2]=b;q[b+24>>2]=c}b=q[f+20>>2];if(!b){break g}q[c+20>>2]=b;q[b+24>>2]=c}q[d+4>>2]=a|1;q[a+d>>2]=a;if(q[865848]!=(d|0)){break f}q[865845]=a;return}q[f+4>>2]=c&-2;q[d+4>>2]=a|1;q[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;c=(a<<3)+3463412|0;b=q[865843];a=1<>2]}q[c+8>>2]=d;q[a+12>>2]=d;q[d+12>>2]=c;q[d+8>>2]=a;return}q[d+16>>2]=0;q[d+20>>2]=0;c=d;e=a>>>8|0;b=0;l:{if(!e){break l}b=31;if(a>>>0>16777215){break l}b=e;e=e+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(g|(e|h))|0;b=(b<<1|a>>>b+21&1)+28|0}q[c+28>>2]=b;g=(b<<2)+3463676|0;m:{n:{e=q[865844];c=1<>2]=d;q[d+24>>2]=g;break o}e=a<<((b|0)==31?0:25-(b>>>1|0)|0);c=q[g>>2];while(1){b=c;if((q[c+4>>2]&-8)==(a|0)){break n}c=e>>>29|0;e=e<<1;g=b+(c&4)|0;c=q[g+16>>2];if(c){continue}break}q[g+16>>2]=d;q[d+24>>2]=b}q[d+12>>2]=d;q[d+8>>2]=d;break m}a=q[b+8>>2];q[a+12>>2]=d;q[b+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=b;q[d+8>>2]=a}a=q[865851]+ -1|0;q[865851]=a;if(a){break a}d=3463828;while(1){a=q[d>>2];d=a+8|0;if(a){continue}break}q[865851]=-1}}function lx(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=Ca-1088|0;Ca=c;Za(c+48|0,0,1024);a:{if(b>>>0>64){break a}q[c+1084>>2]=0;d=Bj(a,b,1,c+1084|0);if((d|0)<0){break a}h=Bj(a,b,2,c+1084|0);if((h|0)<0){break a}f=Bj(a,b,3,c+1084|0);if((f|0)<0){break a}q[c+1084>>2]=0;i=(f|0)>3;k=!h;e=1;b:{if(!(d&1)){e=0;break b}g=r[a+1|0];o[c+58|0]=1;o[c+57|0]=g;o[c+56|0]=0;q[c+48>>2]=4;q[c+52>>2]=0;g=r[c+43|0]|r[c+44|0]<<8|(r[c+45|0]<<16|r[c+46|0]<<24);o[c+59|0]=g;o[c+60|0]=g>>>8;o[c+61|0]=g>>>16;o[c+62|0]=g>>>24;q[c+1084>>2]=1;o[c+63|0]=r[c+47|0];d=d+ -1|0}j=f+ -2|0;g=i&k;c:{d:{if((d|0)>=4){e=ne(c+48|0,a,e,64,0,128,0,1)+q[c+1084>>2]|0;q[c+1084>>2]=e;d=d+ -2|0;break d}if((d|0)<2){break c}}e=ne(c+48|0,a,e,1,0,2,0,1)+q[c+1084>>2]|0;q[c+1084>>2]=e;d=d+ -2|0}f=g?j:f;g=g?2:h;while(1){if((d|0)>=2){e=ne(c+48|0,a,e,-1,-1,-1,-1,1)+q[c+1084>>2]|0;q[c+1084>>2]=e;d=d+ -2|0;continue}break}if((g|0)>=2){e=ne(c+48|0,a,e,512,0,1024,0,1)+q[c+1084>>2]|0;q[c+1084>>2]=e;g=g+ -2|0}while(1){if((g|0)<2){e:{while(1){if((f|0)>=4){e=ne(c+48|0,a,e,-1,-1,-1,-1,3)+q[c+1084>>2]|0;q[c+1084>>2]=e;f=f+ -2|0;continue}break}if((f|0)>=2){e=ne(c+48|0,a,e,16,0,32,0,3)+q[c+1084>>2]|0;q[c+1084>>2]=e;f=f+ -2|0}if(f){f=r[(w(e,3)+a|0)+1|0];d=(c+48|0)+(e<<4)|0;o[d+10|0]=3;o[d+9|0]=f;o[d+8|0]=0;q[d>>2]=256;q[d+4>>2]=0;f=r[c+38|0]|r[c+39|0]<<8|(r[c+40|0]<<16|r[c+41|0]<<24);o[d+11|0]=f;o[d+12|0]=f>>>8;o[d+13|0]=f>>>16;o[d+14|0]=f>>>24;o[d+15|0]=r[c+42|0];e=e+1|0;q[c+1084>>2]=e}f:{if((e|0)>=(b|0)){break f}d=w(e,3)+a|0;if(r[d+2|0]!=4){break f}f=r[d+1|0];d=(c+48|0)+(e<<4)|0;o[d+10|0]=4;o[d+9|0]=f;o[d+8|0]=3;q[d>>2]=8;q[d+4>>2]=0;f=r[c+33|0]|r[c+34|0]<<8|(r[c+35|0]<<16|r[c+36|0]<<24);o[d+11|0]=f;o[d+12|0]=f>>>8;o[d+13|0]=f>>>16;o[d+14|0]=f>>>24;o[d+15|0]=r[c+37|0];e=e+1|0;q[c+1084>>2]=e}while(1){if((e|0)>=(b|0)){break e}d=w(e,3)+a|0;if(r[d+2|0]!=4){break e}f=r[d+1|0];d=(c+48|0)+(e<<4)|0;o[d+10|0]=4;o[d+9|0]=f;o[d+8|0]=3;q[d>>2]=-1;q[d+4>>2]=-1;f=r[c+28|0]|r[c+29|0]<<8|(r[c+30|0]<<16|r[c+31|0]<<24);o[d+11|0]=f;o[d+12|0]=f>>>8;o[d+13|0]=f>>>16;o[d+14|0]=f>>>24;o[d+15|0]=r[c+32|0];e=e+1|0;q[c+1084>>2]=e;continue}}}else{e=ne(c+48|0,a,e,-1,-1,-1,-1,2)+q[c+1084>>2]|0;q[c+1084>>2]=e;g=g+ -2|0;continue}break}b=e;while(1){h=(b|0)>1?b:1;b=0;d=1;while(1){if((d|0)!=(h|0)){f=(d<<4)+c|0;i=f+32|0;k=q[i>>2];g=(c+48|0)+(d<<4)|0;l=q[g>>2];i=q[i+4>>2];j=q[g+4>>2];if((i|0)==(j|0)&k>>>0>l>>>0|i>>>0>j>>>0){b=q[g>>2];i=q[g+4>>2];k=q[f+36>>2];q[g>>2]=q[f+32>>2];q[g+4>>2]=k;k=q[g+8>>2];j=q[g+12>>2];l=q[f+44>>2];q[g+8>>2]=q[f+40>>2];q[g+12>>2]=l;q[f+40>>2]=k;q[f+44>>2]=j;q[f+32>>2]=b;q[f+36>>2]=i;b=d}d=d+1|0;continue}break}d=0;if((b|0)>0){continue}break}q[c+1084>>2]=h;f=(e|0)>0?e:0;e=0;g=0;while(1){if((d|0)!=(f|0)){h=w(d,3)+a|0;b=(c+48|0)+(d<<4)|0;o[h|0]=r[b+8|0];o[h+1|0]=r[b+9|0];o[h+2|0]=r[b+10|0];j=e;e=q[b>>2];b=q[b+4>>2];h=(e|0)==-1&(b|0)==-1;e=j|(h?0:e);g=(h?0:b)|g;d=d+1|0;continue}break}q[c+1084>>2]=f}Ca=c+1088|0;Da=g;return e}function rw(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Ca-80|0;Ca=g;k=q[b+8>>2];q[g+72>>2]=q[b+16>>2];e=q[b+12>>2];f=g- -64|0;q[f>>2]=q[b+8>>2];q[f+4>>2]=e;e=q[b+4>>2];q[g+56>>2]=q[b>>2];q[g+60>>2]=e;l=c;a:{b:{c:{d:{e:{f:{g:{j=Xa(g+56|0);if(j){e=Xa(g+56|0);q[c+4>>2]=e;if(e){e=Ua(g+56|0,3);if((e|0)>5){break g}q[c+8>>2]=(e|0)>2;q[c+16>>2]=o[e+96242|0];q[c+12>>2]=o[e+96236|0]}e=Xa(g+56|0);q[c+20>>2]=e;if(e){e=Ua(g+56|0,3);q[c+24>>2]=e;if((e|0)>=6){q[g+32>>2]=e;Ta(a,16,6003,g+32|0);break b}q[c+28>>2]=o[e+96236|0]}m=c,n=Xa(g+56|0),q[m+32>>2]=n}f=Xa(g+56|0);q[c+36>>2]=f;q[c+40>>2]=q[c+44>>2];e=Ua(g+56|0,2);q[c+52>>2]=-1;e=o[(e+(f<<2)|0)+96248|0];q[c+44>>2]=e;h:{if(q[c+36>>2]){f=1;while(1){if((f|0)>(e|0)){break h}h=(f<<2)+c|0;e=Ua(g+56|0,5);q[h+52>>2]=e;if((e|0)>=q[h+48>>2]){f=f+1|0;e=q[c+44>>2];continue}break}Ta(a,16,7596,0);break b}i=(e|0)>0?e+1|0:1;h=e+47648|0;f=1;while(1){if((f|0)==(i|0)){break h}q[((f<<2)+c|0)+52>>2]=(f<<5>>>r[h|0]|0)+ -1;f=f+1|0;continue}}i:{if(q[c+4>>2]){h=c+76|0;f=0;while(1){if((f|0)>=(e|0)){break i}e=Xa(g+56|0);if(qw(a,g+56|0,c,h,q[((e<<1)+q[c+8>>2]<<2)+96256>>2],f,e)){break b}f=f+1|0;e=q[c+44>>2];continue}}Za(c+76|0,0,170)}j:{if(q[c+20>>2]){h=c+246|0;f=0;while(1){if((f|0)>=(e|0)){break j}e=Xa(g+56|0);if(pw(a,g+56|0,c,h,e?5:4,f,e)){break b}f=f+1|0;e=q[c+44>>2];continue}}Za(c+246|0,0,170)}if(q[c+32>>2]){e=Ua(g+56|0,4);if((e|0)==15){e=Ua(g+56|0,8)+15|0}f=e<<3;while(1){if((f|0)>=8){f=(f-ow(g+56|0,c,Ua(g+56|0,2))|0)+ -2|0;continue}break}if((f|0)<0){break f}f=q[g+64>>2]+f|0;e=q[g+72>>2];q[g+64>>2]=e>>>0>f>>>0?f:e;e=q[c+44>>2]}q[c+48>>2]=q[c+48>>2]&1;k:{l:{if(e){f=e;if(q[((e<<2)+c|0)+52>>2]<31){break l}break k}f=q[c+40>>2]}m:{if((f|0)<1){break m}f=f+ -1|0;if((f|0)==(e|0)){break m}if(q[c+4>>2]){h=w(e,34);e=c+76|0;Va(h+e|0,e+w(f,34)|0,34)}if(q[c+20>>2]){e=c+246|0;Va(e+w(q[c+44>>2],34)|0,e+w(f,34)|0,34)}if(!q[c+48>>2]){break m}e=c+416|0;f=w(f,34);Va(e+w(q[c+44>>2],34)|0,f+e|0,34);e=c+586|0;Va(e+w(q[c+44>>2],34)|0,e+f|0,34)}n:{if(!q[c+4>>2]){break n}f=0;e=q[c+12>>2];h=(e|0)>0?e:0;while(1){if((f|0)==(h|0)){break n}e=(w(q[c+44>>2],34)+c|0)+f|0;f=f+1|0;e=o[e+76|0];i=e>>31;if((i^e+i)<=(q[c+8>>2]<<3|7)){continue}break}Ta(a,16,10801,0);break b}o:{if(!q[c+20>>2]){break o}f=0;e=q[c+12>>2];h=(e|0)>0?e:0;while(1){if((f|0)==(h|0)){break o}e=(w(q[c+44>>2],34)+c|0)+f|0;f=f+1|0;if(r[e+246|0]<8){continue}break}Ta(a,16,11906,0);break b}e=q[c+44>>2]+1|0;q[c+44>>2]=e;q[((e<<2)+c|0)+52>>2]=31}q[c+760>>2]=q[c+756>>2];if(!q[c+4>>2]){if(!q[c+20>>2]){break c}break e}e=1;if(q[c+12>>2]==34){break d}if(q[c+20>>2]){break e}e=0;break d}q[g+48>>2]=e;Ta(a,16,3688,g+48|0);break b}q[g+16>>2]=f;Ta(a,16,9505,g+16|0);break b}e=q[c+28>>2]==34}q[l+756>>2]=e}if(!q[c+48>>2]){Za(c+416|0,0,340)}if(j){q[c>>2]=1}e=q[g+64>>2]-k|0;if((e|0)<=(d|0)){Mb(b,e);d=e;break a}q[g+4>>2]=e;q[g>>2]=d;Ta(a,16,13055,g)}q[c>>2]=0;Mb(b,d);Za(c+76|0,0,680)}Ca=g+80|0;return d}function Bi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+b|0;a:{b:{c=q[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=q[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=q[865848]){if(c>>>0<=255){e=c>>>3|0;c=q[a+8>>2];d=q[a+12>>2];if((d|0)==(c|0)){i=3463372,j=q[865843]&eS(-2,e),q[i>>2]=j;break b}q[c+12>>2]=d;q[d+8>>2]=c;break b}h=q[a+24>>2];c=q[a+12>>2];c:{if((c|0)!=(a|0)){d=q[a+8>>2];q[d+12>>2]=c;q[c+8>>2]=d;break c}d:{d=a+20|0;e=q[d>>2];if(e){break d}d=a+16|0;e=q[d>>2];if(e){break d}c=0;break c}while(1){g=d;c=e;d=c+20|0;e=q[d>>2];if(e){continue}d=c+16|0;e=q[c+16>>2];if(e){continue}break}q[g>>2]=0}if(!h){break b}d=q[a+28>>2];e=(d<<2)+3463676|0;e:{if(q[e>>2]==(a|0)){q[e>>2]=c;if(c){break e}i=3463376,j=q[865844]&eS(-2,d),q[i>>2]=j;break b}q[h+(q[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}q[c+24>>2]=h;d=q[a+16>>2];if(d){q[c+16>>2]=d;q[d+24>>2]=c}d=q[a+20>>2];if(!d){break b}q[c+20>>2]=d;q[d+24>>2]=c;break b}c=q[f+4>>2];if((c&3)!=3){break b}q[865845]=b;q[f+4>>2]=c&-2;q[a+4>>2]=b|1;q[f>>2]=b;return}c=q[f+4>>2];f:{if(!(c&2)){if(q[865849]==(f|0)){q[865849]=a;b=q[865846]+b|0;q[865846]=b;q[a+4>>2]=b|1;if(q[865848]!=(a|0)){break a}q[865845]=0;q[865848]=0;return}if(q[865848]==(f|0)){q[865848]=a;b=q[865845]+b|0;q[865845]=b;q[a+4>>2]=b|1;q[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=c>>>3|0;c=q[f+8>>2];d=q[f+12>>2];if((d|0)==(c|0)){i=3463372,j=q[865843]&eS(-2,e),q[i>>2]=j;break g}q[c+12>>2]=d;q[d+8>>2]=c;break g}h=q[f+24>>2];c=q[f+12>>2];h:{if((f|0)!=(c|0)){d=q[f+8>>2];q[d+12>>2]=c;q[c+8>>2]=d;break h}i:{d=f+20|0;e=q[d>>2];if(e){break i}d=f+16|0;e=q[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=q[d>>2];if(e){continue}d=c+16|0;e=q[c+16>>2];if(e){continue}break}q[g>>2]=0}if(!h){break g}d=q[f+28>>2];e=(d<<2)+3463676|0;j:{if(q[e>>2]==(f|0)){q[e>>2]=c;if(c){break j}i=3463376,j=q[865844]&eS(-2,d),q[i>>2]=j;break g}q[h+(q[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}q[c+24>>2]=h;d=q[f+16>>2];if(d){q[c+16>>2]=d;q[d+24>>2]=c}d=q[f+20>>2];if(!d){break g}q[c+20>>2]=d;q[d+24>>2]=c}q[a+4>>2]=b|1;q[a+b>>2]=b;if(q[865848]!=(a|0)){break f}q[865845]=b;return}q[f+4>>2]=c&-2;q[a+4>>2]=b|1;q[a+b>>2]=b}if(b>>>0<=255){c=b>>>3|0;b=(c<<3)+3463412|0;d=q[865843];c=1<>2]}q[b+8>>2]=a;q[c+12>>2]=a;q[a+12>>2]=b;q[a+8>>2]=c;return}q[a+16>>2]=0;q[a+20>>2]=0;d=a;e=b>>>8|0;c=0;l:{if(!e){break l}c=31;if(b>>>0>16777215){break l}g=e+1048320>>>16&8;e=e<>>16&4;f=e<>>16&2;c=(f<>>15|0)-(e|(c|g))|0;c=(c<<1|b>>>c+21&1)+28|0}q[d+28>>2]=c;e=(c<<2)+3463676|0;m:{d=q[865844];g=1<>2]=a;break n}d=b<<((c|0)==31?0:25-(c>>>1|0)|0);c=q[e>>2];while(1){e=c;if((q[c+4>>2]&-8)==(b|0)){break m}c=d>>>29|0;d=d<<1;g=e+(c&4)|0;c=q[g+16>>2];if(c){continue}break}q[g+16>>2]=a}q[a+24>>2]=e;q[a+12>>2]=a;q[a+8>>2]=a;return}b=q[e+8>>2];q[b+12>>2]=a;q[e+8>>2]=a;q[a+24>>2]=0;q[a+12>>2]=e;q[a+8>>2]=b}}function uj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Ca+ -64|0;Ca=h;k=q[d+8>>2];o[d+12|0]=r[k+(d+12|0)|0];q[d+92>>2]=q[b+28>>2];o[d+87940|0]=r[(d+k|0)+87932|0];a:{b:{c:{j=Ua(c,2);if(j>>>0>3){break c}d:{e:{switch(j-1|0){default:b=Ua(c,2);e=1<=5){a=q[a+4>>2];q[h>>2]=e;Ta(a,16,31487,h);c=-1;break a}q[d+8>>2]=e;if(!b){q[d+92>>2]=0}b=0;o[d+87932|0]=0;f=d+87932|0;o[f+e|0]=16;e=e+ -1|0;g=(e|0)>0?e:0;e=q[d+8>>2];i=((e>>>1|0)+16>>>0)/(e>>>0)|0;while(1){if((b|0)!=(g|0)){e=b+1|0;o[e+f|0]=i+r[b+f|0];b=e;continue}break}l=d,m=Xa(c),o[l+13|0]=m;b=q[d+8>>2];b=b>>>0>1?b:1;c=1;while(1){if((b|0)==(c|0)){break c}c=c+1|0;o[(d+c|0)+12|0]=r[d+13|0];continue};case 0:b=0;g=Ua(c,2);e=Ua(c,2);o[d+87932|0]=0;f=e+1|0;q[d+8>>2]=f;i=f;f=d+87932|0;o[i+f|0]=g+16;g=(e|0)>0?e:0;while(1){e=q[d+8>>2];if((b|0)!=(g|0)){e=r[f+(e-b|0)|0];i=Ua(c,2);o[f+(q[d+8>>2]+(b^-1)|0)|0]=(e-(i<<1)|0)+ -2;b=b+1|0;continue}break}b=0;e=Ua(c,o[e+105200|0]);while(1){if(b>>>0>=t[d+8>>2]){break d}f=Xa(c);o[((q[d+8>>2]-b|0)+d|0)+12|0]=f;b=b+1|0;continue};case 1:l=d,m=Ua(c,2),o[l+87932|0]=m;e=Ua(c,2);b=e+1|0;q[d+8>>2]=b;f=d+87932|0;o[f+b|0]=16;b=0;g=(e|0)>0?e:0;while(1){if((b|0)!=(g|0)){e=b+1|0;l=e+f|0,m=(r[b+f|0]+(Ua(c,2)<<1)|0)+2|0,o[l|0]=m;b=e;continue}break}e=Ua(c,o[q[d+8>>2]+105200|0]);b=0;f=q[d+8>>2];f=(f|0)>0?f:0;g=d+13|0;while(1){if((b|0)==(f|0)){break d}l=b+g|0,m=Xa(c),o[l|0]=m;b=b+1|0;continue};case 2:break e}}l=d,m=Ua(c,2),o[l+87932|0]=m;g=Ua(c,2);e=Ua(c,2);f=Ua(c,2);i=e+f|0;b=i+1|0;if((i|0)>=5){a=q[a+4>>2];q[h+48>>2]=b;Ta(a,16,31865,h+48|0);c=-1;break a}q[d+8>>2]=b;o[(b+d|0)+87932|0]=g+16;b=0;e=(e|0)>0?e:0;while(1)if((b|0)==(e|0)){b=0;g=(f|0)>0?f:0;e=d+87932|0;while(1){f=q[d+8>>2];if((b|0)!=(g|0)){f=r[e+(f-b|0)|0];i=Ua(c,2);o[e+(q[d+8>>2]+(b^-1)|0)|0]=(f-(i<<1)|0)+ -2;b=b+1|0;continue}break}e=Ua(c,o[f+105200|0]);b=0;f=q[d+8>>2];f=(f|0)>0?f:0;g=d+13|0;while(1){if((b|0)==(f|0)){break d}l=b+g|0,m=Xa(c),o[l|0]=m;b=b+1|0;continue}}else{g=d+87932|0;i=r[g+b|0];b=b+1|0;l=b+g|0,m=((Ua(c,2)<<1)+i|0)+2|0,o[l|0]=m;continue}}q[d>>2]=j;f:{if((e|0)>-1){b=q[d+8>>2];f=b+1|0;if(e>>>0>f>>>0){break f}break b}q[h+40>>2]=731;q[h+36>>2]=20855;q[h+32>>2]=32296;Ta(0,0,19708,h+32|0);I();F()}a=q[a+4>>2];q[h+16>>2]=e;Ta(a,16,32847,h+16|0);c=-1;break a}q[d>>2]=j;b=q[d+8>>2];f=b+1|0;e=0}c=1;g:{while(1){if((c|0)==(f|0)){break g}g=c+d|0;c=c+1|0;if(r[g+87931|0]>2],16,33297,0);c=-1;break a}o[d+87941|0]=r[d+87932|0];a=b>>>0>1?2:1;q[d+20>>2]=a;o[a+(d+87941|0)|0]=r[(d+87932|0)+b|0];if(b>>>0>=2){h:{if(!j){c=b>>>1|0;break h}c=1;if(j&1){c=(b-((e|0)>2?e:2)|0)+1|0;break h}if(e>>>0<=1){if(e-1){break h}c=b+ -1|0;break h}c=e+ -1|0}o[d+87942|0]=r[(c+d|0)+87932|0]}a=d+14568|0;f=q[a>>2];q[a>>2]=-1;c=0;q[d+14564>>2]=(f|0)!=(k|0)?-1:0;if(!(!e|!(j&1))){q[d+14568>>2]=(b-e|0)+1;break a}if((j|0)!=2|(e|0)<2){break a}q[d+14568>>2]=e+ -1}Ca=h- -64|0;return c}function rl(a,b,c){var d=0,e=0,f=0;d=Ca-16|0;Ca=d;e=b+ -9|0;f=e>>>0<8;q[a+124>>2]=f?153:154;q[a+128>>2]=f?155:156;a:{b:{c:{if(e>>>0>5){break c}d:{switch(e-1|0){default:q[a+116>>2]=157;q[a+112>>2]=158;q[a+104>>2]=159;q[a+100>>2]=160;q[a+96>>2]=161;q[a+92>>2]=162;q[a+88>>2]=163;q[a+84>>2]=164;q[a+68>>2]=165;q[a+56>>2]=166;q[a+52>>2]=167;q[a+48>>2]=168;q[a+44>>2]=169;q[a+40>>2]=170;q[a+36>>2]=171;q[a+32>>2]=172;q[a+16>>2]=173;q[a+12>>2]=174;q[a+8>>2]=175;q[a+4>>2]=176;q[a>>2]=177;q[a+28>>2]=178;q[a+24>>2]=179;q[a+20>>2]=180;b=(c|0)<2;q[a+120>>2]=b?181:182;q[a+108>>2]=b?183:184;q[a+72>>2]=b?185:186;q[a+64>>2]=b?187:188;q[a+60>>2]=b?189:190;b=b?191:192;break b;case 0:q[a+116>>2]=193;q[a+112>>2]=194;q[a+104>>2]=195;q[a+100>>2]=196;q[a+96>>2]=197;q[a+92>>2]=198;q[a+88>>2]=199;q[a+84>>2]=200;q[a+68>>2]=201;q[a+56>>2]=202;q[a+52>>2]=203;q[a+48>>2]=204;q[a+44>>2]=205;q[a+40>>2]=206;q[a+36>>2]=207;q[a+32>>2]=208;q[a+16>>2]=209;q[a+12>>2]=210;q[a+8>>2]=211;q[a+4>>2]=212;q[a>>2]=213;q[a+28>>2]=214;q[a+24>>2]=215;q[a+20>>2]=216;b=(c|0)<2;q[a+120>>2]=b?217:218;q[a+108>>2]=b?219:220;q[a+72>>2]=b?221:222;q[a+64>>2]=b?223:224;q[a+60>>2]=b?225:226;b=b?227:228;break b;case 2:q[a+116>>2]=229;q[a+112>>2]=230;q[a+104>>2]=231;q[a+100>>2]=232;q[a+96>>2]=233;q[a+92>>2]=234;q[a+88>>2]=235;q[a+84>>2]=236;q[a+68>>2]=237;q[a+56>>2]=238;q[a+52>>2]=239;q[a+48>>2]=240;q[a+44>>2]=241;q[a+40>>2]=242;q[a+36>>2]=243;q[a+32>>2]=244;q[a+16>>2]=245;q[a+12>>2]=246;q[a+8>>2]=247;q[a+4>>2]=248;q[a>>2]=249;q[a+28>>2]=250;q[a+24>>2]=251;q[a+20>>2]=252;b=(c|0)<2;q[a+120>>2]=b?253:254;q[a+108>>2]=b?255:256;q[a+72>>2]=b?257:258;q[a+64>>2]=b?259:260;q[a+60>>2]=b?261:262;b=b?263:264;break b;case 1:case 3:break c;case 4:break d}}q[a+116>>2]=265;q[a+112>>2]=266;q[a+104>>2]=267;q[a+100>>2]=268;q[a+96>>2]=269;q[a+92>>2]=270;q[a+88>>2]=271;q[a+84>>2]=272;q[a+68>>2]=273;q[a+56>>2]=274;q[a+52>>2]=275;q[a+48>>2]=276;q[a+44>>2]=277;q[a+40>>2]=278;q[a+36>>2]=279;q[a+32>>2]=280;q[a+16>>2]=281;q[a+12>>2]=282;q[a+8>>2]=283;q[a+4>>2]=284;q[a>>2]=285;q[a+28>>2]=286;q[a+24>>2]=287;q[a+20>>2]=288;b=(c|0)<2;q[a+120>>2]=b?289:290;q[a+108>>2]=b?291:292;q[a+72>>2]=b?293:294;q[a+64>>2]=b?295:296;q[a+60>>2]=b?297:298;b=b?299:300;break b}if((b|0)>=9){break a}q[a+116>>2]=301;q[a+112>>2]=302;q[a+104>>2]=303;q[a+100>>2]=304;q[a+96>>2]=305;q[a+92>>2]=306;q[a+88>>2]=307;q[a+84>>2]=308;q[a+68>>2]=309;q[a+56>>2]=310;q[a+52>>2]=311;q[a+48>>2]=312;q[a+44>>2]=313;q[a+40>>2]=314;q[a+36>>2]=315;q[a+32>>2]=316;q[a+16>>2]=317;q[a+12>>2]=318;q[a+8>>2]=319;q[a+4>>2]=320;q[a>>2]=321;q[a+28>>2]=322;q[a+24>>2]=323;q[a+20>>2]=324;b=(c|0)<2;q[a+120>>2]=b?325:326;q[a+108>>2]=b?327:328;q[a+72>>2]=b?329:330;q[a+64>>2]=b?331:332;q[a+60>>2]=b?333:334;b=b?335:336}q[a+132>>2]=337;q[a+80>>2]=0;q[a+76>>2]=b;Ca=d+16|0;return}q[d+8>>2]=150;q[d+4>>2]=7872;q[d>>2]=6270;Ta(0,0,4066,d);I();F()}function Sf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;j=w(e,13);c=c-((f&2147483646)<<1)|0;i=f>>1<<1;f=b;while(1){if((l|0)!=13){g=c+ -2|0;p[f>>1]=(s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[g>>1]|0,-5)|0)|0)+ -10230;p[f+2>>1]=(s[c+8>>1]+((s[g>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0)|0)+ -10230;p[f+4>>1]=(s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0)|0)+ -10230;p[f+6>>1]=(s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0)|0)+ -10230;p[f+8>>1]=(s[c+14>>1]+((s[c+4>>1]+w(s[c+10>>1]+s[c+8>>1]|0,20)|0)+w(s[c+12>>1]+s[c+6>>1]|0,-5)|0)|0)+ -10230;p[f+10>>1]=(s[c+16>>1]+((s[c+6>>1]+w(s[c+12>>1]+s[c+10>>1]|0,20)|0)+w(s[c+14>>1]+s[c+8>>1]|0,-5)|0)|0)+ -10230;p[f+12>>1]=(s[c+18>>1]+((s[c+8>>1]+w(s[c+14>>1]+s[c+12>>1]|0,20)|0)+w(s[c+16>>1]+s[c+10>>1]|0,-5)|0)|0)+ -10230;p[f+14>>1]=(s[c+20>>1]+((s[c+10>>1]+w(s[c+16>>1]+s[c+14>>1]|0,20)|0)+w(s[c+18>>1]+s[c+12>>1]|0,-5)|0)|0)+ -10230;l=l+1|0;c=c+i|0;f=(e<<1)+f|0;continue}break}c=((j<<1)+b|0)+w(e,-22)|0;f=0;z=w(e,3)<<1;u=e<<1;A=0-u<<1;B=0-e<<1;C=w(e,10)<<1;D=w(e,9)<<1;E=e<<4;F=w(e,7)<<1;G=w(e,6)<<1;H=w(e,5)<<1;I=e<<3;J=(d&-2)<<1;b=d>>1;K=w(b,3)<<1;L=b<<3;M=w(b,5)<<1;N=w(b,6)<<1;O=w(b,7)<<1;while(1){if((f|0)!=8){P=p[c+C>>1];o=p[c+D>>1];q=p[c+E>>1];r=p[c+F>>1];t=p[c+G>>1];l=p[c+H>>1];e=p[c+I>>1];v=p[c+z>>1];d=v+10230|0;x=p[c+u>>1];i=x+10230|0;g=p[c>>1]+10230|0;y=p[(u<<1)+c>>1];j=y+10230|0;m=p[c+B>>1]+10230|0;h=(((d+p[c+A>>1]|0)+w(i+g|0,20)|0)+w(j+m|0,-5)|0)+10742|0;n=h>>10;p[a>>1]=(s[a>>1]+(n>>>0<1024?n:(h>>31^-1)&1023)|0)+1>>>1;h=(b<<1)+a|0;k=h;Q=s[h>>1];h=m;m=e+10742|0;h=((h+m|0)+w(i+j|0,20)|0)+w(d+g|0,-5)|0;n=h>>10;p[k>>1]=(Q+(n>>>0<1024?n:(h>>31^-1)&1023)|0)+1>>>1;h=a+J|0;k=i;i=e+10230|0;e=(((g+l|0)+w(d+j|0,20)|0)+w(k+i|0,-5)|0)+10742|0;g=e>>10;p[h>>1]=(s[h>>1]+(g>>>0<1024?g:(e>>31^-1)&1023)|0)+1>>>1;e=a+K|0;h=e;k=s[e>>1];e=t+10230|0;g=j;j=l+10230|0;g=(((e+x|0)+w(d+i|0,20)|0)+w(g+j|0,-5)|0)+10742|0;t=g>>10;p[h>>1]=(k+(t>>>0<1024?t:(g>>31^-1)&1023)|0)+1>>>1;g=a+L|0;h=g;k=s[g>>1];g=r+10230|0;d=(((g+y|0)+w(i+j|0,20)|0)+w(d+e|0,-5)|0)+10742|0;r=d>>10;p[h>>1]=(k+(r>>>0<1024?r:(d>>31^-1)&1023)|0)+1>>>1;d=a+M|0;h=d;k=s[d>>1];d=q+10230|0;i=(((d+v|0)+w(e+j|0,20)|0)+w(i+g|0,-5)|0)+10742|0;q=i>>10;p[h>>1]=(k+(q>>>0<1024?q:(i>>31^-1)&1023)|0)+1>>>1;i=a+N|0;h=i;k=s[i>>1];i=o+10230|0;j=((i+m|0)+w(e+g|0,20)|0)+w(d+j|0,-5)|0;o=j>>10;p[h>>1]=(k+(o>>>0<1024?o:(j>>31^-1)&1023)|0)+1>>>1;j=a+O|0;d=(((l+P|0)+w(d+g|0,20)|0)+w(e+i|0,-5)|0)+20972|0;e=d>>10;p[j>>1]=(s[j>>1]+(e>>>0<1024?e:(d>>31^-1)&1023)|0)+1>>>1;f=f+1|0;c=c+2|0;a=a+2|0;continue}break}}function xD(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca-48|0;Ca=e;c=q[a+28224>>2];f=q[a+24312>>2];b=q[f>>2];q[b+208>>2]=0;q[b+212>>2]=0;d=b;h=q[c+1676>>2];a:{b:{if(!(!h|!q[a+29692>>2])){c=0;g=q[a+29696>>2];j=g+ -1|0;c:{if(j>>>0>7){break c}d:{e:{f:{g:{h:{i:{switch(j-2|0){case 0:case 1:break i;case 5:break d;case 4:break e;case 2:case 3:break f;default:break h}}if(q[a+26384>>2]){break h}if(q[a+26388>>2]==3){break g}}c=1;q[b+212>>2]=1;break c}c=q[a+29580>>2];q[b+212>>2]=c;break c}q[b+208>>2]=1;break c}q[b+208>>2]=2;break c}q[b+208>>2]=4}if(g>>>0>4){break a}g=q[a+29700>>2];if(!(g&3)){break a}c=g>>>1&1;break b}c=1;if(q[a+26384>>2]){break b}c=q[a+26388>>2]!=3}q[d+212>>2]=c}q[a+29580>>2]=c;d=q[f+76>>2];g=q[f+80>>2];j:{if((d|0)!=(g|0)){q[b+216>>2]=(d|0)<(g|0);break j}if(!(!h|!q[a+29692>>2])){c=q[a+29696>>2]+ -3|0;if(!(c>>>0>2|!(c-1))){q[b+216>>2]=1;break j}q[b+216>>2]=0;break j}if(c){q[b+216>>2]=1;break j}q[b+216>>2]=0}k:{if(!q[a+29940>>2]|t[a+29952>>2]>6|q[a+29960>>2]+ -1>>>0>1){break k}b=Gy(b);if(!b){break k}c=q[a+29952>>2];l:{if(c>>>0>6){break l}m:{switch(c-1|0){default:q[b>>2]=4;break l;case 0:q[b>>2]=7;break l;case 1:q[b>>2]=6;break l;case 2:if(q[a+29964>>2]){q[b>>2]=5;break l}q[b>>2]=1;break l;case 3:q[b>>2]=2;break l;case 4:q[b>>2]=3;break l;case 5:break m}}q[b>>2]=0}if(q[a+29960>>2]==2){q[b+4>>2]=1}if((c|0)!=5){break k}if(q[a+29968>>2]){q[b+8>>2]=1;break k}q[b+8>>2]=2}n:{if(!q[a+29972>>2]){break n}c=q[a+29976>>2];if(q[a+29984>>2]?0:!(c|q[a+29980>>2])){break n}b=Ye(q[f>>2],6,36);if(!b){break n}UO(q[b+4>>2],+(w(c,360)|0)*152587890625e-16);JO(q[b+4>>2],q[a+29980>>2],q[a+29984>>2])}o:{if(!q[a+29788>>2]){break o}b=Ye(q[f>>2],7,1);if(!b){break o}o[q[b+4>>2]]=r[a+29792|0];q[a+29788>>2]=0}b=a+29796|0;c=q[b>>2];if(c){if(!Gk(q[f>>2],1,c)){lb(b)}q[a+29796>>2]=0;b=q[a+4>>2];q[b+848>>2]=q[b+848>>2]|2}b=0;p:{if(q[a+29784>>2]<1){break p}c=Ye(q[f>>2],18,16);b=-48;if(!c){break p}g=q[c+4>>2];j=q[a+29784>>2];q[g>>2]=j;b=0;c=0;while(1){if((c|0)==(j|0)){q[a+29784>>2]=0}else{f=q[a+4>>2];q[e+40>>2]=30;q[e+44>>2]=1;d=q[f+764>>2];q[e+24>>2]=q[f+760>>2];q[e+28>>2]=d;q[e+16>>2]=30;q[e+20>>2]=1;h=w(c,24)+a|0;d=q[h+29716>>2];q:{if((nk(e+24|0,e+16|0)|0)!=1){break q}i=d;d=(d|0)/2|0;if((i-(d<<1)|0)!=1){break q}q[e+32>>2]=50;q[e+36>>2]=1;i=q[f+764>>2];q[e+8>>2]=q[f+760>>2];q[e+12>>2]=i;q[e>>2]=50;q[e+4>>2]=1;if(!nk(e+8|0,e)){b=b|128;break q}b=b|8388608}i=q[h+29728>>2];f=(i|0)/10|0;c=c+1|0;k=q[h+29732>>2]<<30|b;b=(d>>>0)/10|0;k=k|b<<28|d-w(b,10)<<24;b=q[h+29720>>2];d=(b|0)/10|0;k=k|d<<20|b-w(d,10)<<16;b=q[h+29724>>2];d=(b|0)/10|0;b=i-w(f,10)|(k|d<<12|b-w(d,10)<<8)|f<<4;q[g+(c<<2)>>2]=b;continue}break}b=0}Ca=e+48|0;return b}function rt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0;j=8-f|0;i=8-e|0;g=w(j,i);k=c>>1;i=w(f,i);j=w(e,j);a:{f=w(e,f);if(f){e=0;d=(d|0)>0?d:0;n=k+1<<1;o=k+2<<1;q=k+3<<1;r=k+4<<1;t=k+5<<1;m=k+6<<1;v=k+7<<1;x=k+8<<1;while(1){if((d|0)==(e|0)){break a}u=k<<1;c=u+b|0;h=b+n|0;p[a>>1]=(s[a>>1]+((((w(s[b>>1],g)+w(j,s[b+2>>1])|0)+w(i,s[c>>1])|0)+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+2>>1],g)+w(j,s[b+4>>1])|0)+w(i,s[h>>1])|0;h=b+o|0;p[a+2>>1]=(s[a+2>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+4>>1],g)+w(j,s[b+6>>1])|0)+w(i,s[h>>1])|0;h=b+q|0;p[a+4>>1]=(s[a+4>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+6>>1],g)+w(j,s[b+8>>1])|0)+w(i,s[h>>1])|0;h=b+r|0;p[a+6>>1]=(s[a+6>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+8>>1],g)+w(j,s[b+10>>1])|0)+w(i,s[h>>1])|0;h=b+t|0;p[a+8>>1]=(s[a+8>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+10>>1],g)+w(j,s[b+12>>1])|0)+w(i,s[h>>1])|0;h=b+m|0;p[a+10>>1]=(s[a+10>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;l=(w(s[b+12>>1],g)+w(j,s[b+14>>1])|0)+w(i,s[h>>1])|0;h=b+v|0;p[a+12>>1]=(s[a+12>>1]+((l+w(f,s[h>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+14>>1]=(s[a+14>>1]+((((w(s[b+14>>1],g)+w(j,s[b+16>>1])|0)+w(i,s[h>>1])|0)+w(f,s[b+x>>1])|0)+32>>>6|0)|0)+1>>>1;e=e+1|0;a=a+u|0;b=c;continue}}c=i+j|0;if(!c){c=0;d=(d|0)>0?d:0;while(1){if((c|0)==(d|0)){break a}p[a>>1]=(s[a>>1]+(w(s[b>>1],g)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+(w(s[b+2>>1],g)+32>>>6|0)|0)+1>>>1;p[a+4>>1]=(s[a+4>>1]+(w(s[b+4>>1],g)+32>>>6|0)|0)+1>>>1;p[a+6>>1]=(s[a+6>>1]+(w(s[b+6>>1],g)+32>>>6|0)|0)+1>>>1;p[a+8>>1]=(s[a+8>>1]+(w(s[b+8>>1],g)+32>>>6|0)|0)+1>>>1;p[a+10>>1]=(s[a+10>>1]+(w(s[b+10>>1],g)+32>>>6|0)|0)+1>>>1;p[a+12>>1]=(s[a+12>>1]+(w(s[b+12>>1],g)+32>>>6|0)|0)+1>>>1;p[a+14>>1]=(s[a+14>>1]+(w(s[b+14>>1],g)+32>>>6|0)|0)+1>>>1;c=c+1|0;e=k<<1;b=e+b|0;a=a+e|0;continue}}f=0;e=(d|0)>0?d:0;d=i?k:1;i=d+1<<1;j=d+2<<1;n=d+3<<1;o=d+4<<1;q=d+5<<1;r=d+6<<1;t=d+7<<1;while(1){if((e|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+((w(s[b>>1],g)+w(c,s[(d<<1)+b>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+((w(s[b+2>>1],g)+w(c,s[b+i>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+4>>1]=(s[a+4>>1]+((w(s[b+4>>1],g)+w(c,s[b+j>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+6>>1]=(s[a+6>>1]+((w(s[b+6>>1],g)+w(c,s[b+n>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+8>>1]=(s[a+8>>1]+((w(s[b+8>>1],g)+w(c,s[b+o>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+10>>1]=(s[a+10>>1]+((w(s[b+10>>1],g)+w(c,s[b+q>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+12>>1]=(s[a+12>>1]+((w(s[b+12>>1],g)+w(c,s[b+r>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+14>>1]=(s[a+14>>1]+((w(s[b+14>>1],g)+w(c,s[b+t>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;m=k<<1;b=m+b|0;a=a+m|0;continue}}}function Oe(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Ca+ -64|0;Ca=h;a:{b:{c:{d:{e:{f:{g:{h:{i:{l=q[b+12>>2];if(l){j:{if(e){k=v[b+32>>3];i=+(e|0);j=(+(f>>>0)+4294967296*+(g|0))*d;if(v[b+24>>3]*i>j^1?!(k*i>3];d=d!=0?f|g?H:G:G}c=q[b>>2];j=v[b+24>>3];v[h+40>>3]=k;v[h+32>>3]=j;q[h+24>>2]=c;v[h+16>>3]=d;Ta(a,16,7392,h+16|0);b=-68;break a}i=+(e|0);k=(+(f>>>0)+4294967296*+(g|0))*d/i;if(!(k<-1.5|k>4294967295.5)){j=dS(k*256);k:{if(y(j)<0x8000000000000000){e=~~j>>>0;break k}e=0}if(!(e&255)){break h}}q[h+8>>2]=q[b>>2];v[h>>3]=k;Ta(a,16,38213,h);b=-68;break a}b=-28;a=l+ -1|0;if(a>>>0>17){break a}l:{switch(a-1|0){case 10:d=dS(d/i);m:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;a=~~d>>>0;break m}b=-2147483648;a=0}m=c,n=$R(a,b,f,g),q[m>>2]=n;break b;case 3:case 5:case 6:case 8:case 9:case 14:break a;case 11:break l;case 4:case 12:break c;case 1:break d;case 2:break e;case 7:break f;case 0:case 13:case 15:break g;default:break h}}d=dS(d/i);n:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;a=~~d>>>0;break n}b=-2147483648;a=0}m=c,n=$R(a,b,f,g),q[m>>2]=n;break b}d=dS(d/i);o:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;a=~~d>>>0;break o}b=-2147483648;a=0}m=c,n=$R(a,b,f,g),q[m>>2]=n;break b}d=d/i;if(!((f|0)!=1|(g|0)!=0|d!=0x8000000000000000)){q[c>>2]=-1;q[c+4>>2]=2147483647;break b}a=c;d=dS(d);p:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break p}b=-2147483648;e=0}m=a,n=$R(e,b,f,g),q[m>>2]=n;q[c+4>>2]=Da;break b}d=d/i;if(!((f|0)!=1|(g|0)!=0|d!=0x10000000000000000)){q[c>>2]=-1;q[c+4>>2]=-1;break b}if(!!(d>0x8000000000000000)){a=c;d=dS(d+ -0x8000000000000000);q:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break q}b=-2147483648;e=0}m=a,n=$R(e,b^-2147483648,f,g),q[m>>2]=n;q[c+4>>2]=Da;break b}a=c;d=dS(d);r:{if(y(d)<0x8000000000000000){b=y(d)>=1?d>0?~~A(C(d/4294967296),4294967295)>>>0:~~D((d- +(~~d>>>0>>>0))/4294967296)>>>0:0;e=~~d>>>0;break r}b=-2147483648;e=0}m=a,n=$R(e,b,f,g),q[m>>2]=n;q[c+4>>2]=Da;break b}u[c>>2]=j/i;break b}v[c>>3]=j/i;break b}if(fS(d)==d){q[c+4>>2]=e;if(y(j)<2147483648){a=~~j}else{a=-2147483648}q[c>>2]=a;break b}Gj(h+56|0,j/i,16777216);a=q[h+60>>2];q[c>>2]=q[h+56>>2];q[c+4>>2]=a}b=0}Ca=h- -64|0;return b}function EA(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0;g=Ca-1104|0;Ca=g;q[g+32>>2]=g+1100;q[g+36>>2]=g+1096;q[g+40>>2]=g+1095;a:{if((Gi(d,35017,g+32|0)|0)==2){k=q[g+1100>>2];k=Oe(a,c,e,1,q[g+1096>>2],k,k>>31);if((k|0)>-1){break a}}while(1){q[g+816>>2]=1;q[g+820>>2]=0;b:{if(q[c+12>>2]){m=0;l=0;break b}m=0;h=r[d|0];l=h+ -43|0;f=0;c:{if(l>>>0>2){break c}f=0;if(!(l-1)){break c}d=d+1|0;f=h}l=f;while(1){d:{e:{if((m|0)==255){break e}f=r[d+m|0];h=f+ -43|0;if(h>>>0>2){if(!f){break e}break d}if(!(h-1)){break d}}o[(g+832|0)+m|0]=0;break b}o[(g+832|0)+m|0]=f;m=m+1|0;continue}}n=m?g+832|0:d;f=Fi(b,n,q[c+44>>2],0,0,0);f:{if(!(!f|q[f+12>>2]!=10)){v[g+824>>3]=+t[f+16>>2]+4294967296*+q[f+20>>2];h=1;break f}f=0;h=0;g:{j=q[c+44>>2];if(!j){break g}while(1){f=uf(b,f);if(!f){f=h;break g}if(q[f+12>>2]!=10){continue}p=q[f+44>>2];if(!p){continue}if(Sb(p,j)){continue}if(h>>>0>=58){q[g+16>>2]=j;Ta(a,16,35403,g+16|0);k=-1163346256;h=0;break f}else{q[(g+48|0)+(h<<2)>>2]=q[f>>2];v[(g+304|0)+(h<<3)>>3]=+t[f+16>>2]+4294967296*+q[f+20>>2];h=h+1|0;continue}}}q[(g+48|0)+(f<<2)>>2]=35866;h=(g+304|0)+(f<<3)|0;j=q[c+12>>2];i=+t[c+16>>2]+4294967296*+q[c+20>>2];h:{if(!(j>>>0>10|!(1<>3]}v[h>>3]=i;h=f+1|0;q[(g+48|0)+(h<<2)>>2]=36157;j=q[c+36>>2];p=q[c+32>>2];s=f+2|0;q[(g+48|0)+(s<<2)>>2]=36538;h=(g+304|0)+(h<<3)|0;q[h>>2]=p;q[h+4>>2]=j;j=q[c+28>>2];h=(g+304|0)+(s<<3)|0;q[h>>2]=q[c+24>>2];q[h+4>>2]=j;h=f+3|0;q[(g+48|0)+(h<<2)>>2]=8752;h=(g+304|0)+(h<<3)|0;q[h>>2]=0;q[h+4>>2]=0;h=f+4|0;q[(g+48|0)+(h<<2)>>2]=36856;h=(g+304|0)+(h<<3)|0;q[h>>2]=0;q[h+4>>2]=-1074790400;f=f+5|0;q[(g+48|0)+(f<<2)>>2]=0;f=(g+304|0)+(f<<3)|0;q[f>>2]=0;q[f+4>>2]=0;f=$o(g+824|0,n,g+48|0,g+304|0,0,a);h=1;if((f|0)>-1){break f}q[g>>2]=d;Ta(a,16,37119,g);k=f;h=0}f=1;i:{if(!h){break i}j:{if(q[c+12>>2]){break j}Nz(c,e,g+816|0);f=l+ -43|0;if(f>>>0>2){break j}k:{switch(f-1|0){default:h=g;i=v[g+824>>3];l:{if(y(i)<0x8000000000000000){l=y(i)>=1?i>0?~~A(C(i/4294967296),4294967295)>>>0:~~D((i- +(~~i>>>0>>>0))/4294967296)>>>0:0;f=~~i>>>0;break l}l=-2147483648;f=0}v[h+824>>3]=+((f|q[g+816>>2])>>>0)+4294967296*+(q[g+820>>2]|l);break j;case 0:break j;case 1:break k}}n=q[g+820>>2];h=g;f=q[g+816>>2];i=v[g+824>>3];m:{if(y(i)<0x8000000000000000){l=y(i)>=1?i>0?~~A(C(i/4294967296),4294967295)>>>0:~~D((i- +(~~i>>>0>>>0))/4294967296)>>>0:0;j=~~i>>>0;break m}l=-2147483648;j=0}v[h+824>>3]=+((f&(j^-1))>>>0)+4294967296*+((l^-1)&n)}f=1;h=Oe(a,c,e,v[g+824>>3],1,1,0);if((h|0)<0){k=h;break i}d=d+m|0;if(!m){k=0;break i}f=r[d|0];k=f?k:0;f=!f}if(!f){continue}break}}Ca=g+1104|0;return k}function ax(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=x(0),k=0,l=0,m=0,n=0,o=0,s=0,t=0,v=0,y=x(0),z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=c,F=Xa(b)<<1,q[E+148704>>2]=F;i=Ua(b,3);q[c+148708>>2]=i;while(1){if((g|0)<=(i|0)){i=2;f=(g<<2)+c|0;d=f+148712|0;E=d,F=(Xa(b)|0)!=0,q[E>>2]=F;E=f+148744|0,F=Ua(b,4),q[E>>2]=F;h=e+1|0;f=h;a:{if(q[d>>2]!=1){break a}i=Ua(b,2);f=(i|0)==3?e+2|0:h}e=f;q[((g<<2)+c|0)+148776>>2]=i;g=g+1|0;i=q[c+148708>>2];continue}break}d=(Xa(b)|0)!=0;f=q[c+148704>>2];q[c+148704>>2]=(d|f>>>0>1)+f;v=Ua(b,1);f=Ua(b,2);b:{g=me(a,c+288|0,b,0);if(g){break b}y=u[(f<<2)+96208>>2];B=(e|0)>0?e:0;C=(v|0)!=0;while(1){if((l|0)==(B|0)){g=0;break b}c:{if(!l){f=0;m=1;j=x(1);break c}m=1;j=y;d:{e:{if(q[c+148704>>2]==3){break e}m=Xa(b);if(m){break e}m=0;f=0;break d}h=q[583589];d=q[b>>2];g=q[b+8>>2];a=d+(g>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);a=h+((a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(g&7)>>>23&508)|0;i=p[a>>1];f=q[b+16>>2];a=p[a+2>>1];f:{if((a|0)>-1){break f}e=g+7|0;g=f>>>0>e>>>0?e:f;e=d+(g>>>3|0)|0;e=r[e|0]|r[e+1|0]<<8|(r[e+2|0]<<16|r[e+3|0]<<24);e=h+(((e<<24|e<<8&16711680|(e>>>8&65280|e>>>24))<<(g&7)>>>a+32|0)+i<<2)|0;i=p[e>>1];e=p[e+2>>1];if((e|0)>-1){a=e;break f}a=g-a|0;g=f>>>0>a>>>0?a:f;a=d+(g>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);e=h+(((a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(g&7)>>>e+32|0)+i<<2)|0;a=p[e+2>>1];i=p[e>>1]}a=a+g|0;q[b+8>>2]=f>>>0>a>>>0?a:f;f=i+ -60|0}j=Rj(j,x(0-f|0))}g:{if(q[c+148704>>2]!=3){o=0;a=q[c+304>>2];D=(a|0)>0?a:0;i=0;while(1){if((o|0)==(D|0)){break g}g=0;s=q[583589];z=r[c+288|0];e=i;while(1){if((g|0)!=(z|0)){A=e<<2;if(q[(A+c|0)+6160>>2]){h:{if(m){break h}t=q[b>>2];h=q[b+8>>2];a=t+(h>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);a=((a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(h&7)>>>23&508)+s|0;n=p[a>>1];k=q[b+16>>2];a=p[a+2>>1];i:{if((a|0)>-1){break i}d=h+7|0;h=k>>>0>d>>>0?d:k;d=(h>>>3|0)+t|0;d=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);d=(((d<<24|d<<8&16711680|(d>>>8&65280|d>>>24))<<(h&7)>>>a+32|0)+n<<2)+s|0;n=p[d>>1];d=p[d+2>>1];if((d|0)>-1){a=d;break i}a=h-a|0;h=k>>>0>a>>>0?a:k;a=(h>>>3|0)+t|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);d=(((a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(h&7)>>>d+32|0)+n<<2)+s|0;a=p[d+2>>1];n=p[d>>1]}a=a+h|0;q[b+8>>2]=k>>>0>a>>>0?a:k;a=n+ -60|0;if(!a){break h}f=a+f|0;j=x(Rj(y,x(0-(f>>C)|0))*x((v?1-(f<<1&2)|0:1)|0))}u[((w(l,480)+c|0)+A|0)+148808>>2]=j}e=e+1|0;g=g+1|0;continue}break}o=o+1|0;i=i+z|0;continue}}u[(w(l,480)+c|0)+148808>>2]=j}l=l+1|0;continue}}return g}function yD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=Ca+ -64|0;Ca=f;a:{b:{c:{if(!c){g=q[a+28220>>2];break c}d=a+28212|0;lb(d);q[a+28220>>2]=0;e=d;d=Jb(q[((q[b+27776>>2]<<2)+a|0)+27188>>2]);q[e>>2]=d;if(!d){break b}g=q[d+4>>2];q[a+28220>>2]=g}d=q[a+28224>>2];d:{if((d|0)==q[q[((q[g>>2]<<2)+a|0)+27060>>2]+4>>2]){break d}d=a+28216|0;lb(d);q[a+28224>>2]=0;e=d;d=Jb(q[((q[q[a+28220>>2]>>2]<<2)+a|0)+27060>>2]);q[e>>2]=d;if(!d){break b}d=q[d+4>>2];q[a+28224>>2]=d;e:{f:{if(q[a+27020>>2]!=q[d+56>>2]|q[a+27016>>2]!=q[d+60>>2]){break f}g=q[a+29612>>2];if((g|0)!=q[d+1700>>2]){break f}i=0;if(q[a+29608>>2]==q[d+12>>2]){break e}}g=q[d+1700>>2];i=1}if(q[a+27056>>2]==q[d+12>>2]?q[a+27052>>2]==(g|0):0){break d}i=1}g:{if(!q[a+25700>>2]){e=q[a+4>>2];g=0;break g}g=1;e=q[a+4>>2];h=q[d+56>>2];if(q[e+100>>2]!=h<<4){break g}j=q[d+60>>2];if(q[e+104>>2]!=j<<4|q[a+29612>>2]!=q[d+1700>>2]|(q[a+29608>>2]!=q[d+12>>2]|(h|0)!=q[a+27020>>2])){break g}g=q[a+27016>>2]!=(j|0)}e=q[e+112>>2];h:{if((e|0)!=-1){h=e+ -12|0;if(h>>>0<=2){e=q[(h<<2)+169572>>2]}h=e;e=Wn(a,0);j=e+ -12|0;if(j>>>0<=2){e=q[(j<<2)+169572>>2]}if((e|0)==(h|0)){break h}}g=1}if(c){c=q[a+4>>2];e=q[d+104>>2];q[f+56>>2]=q[d+100>>2];q[f+60>>2]=e;e=q[c+192>>2];q[f+48>>2]=q[c+188>>2];q[f+52>>2]=e;g=nk(f+56|0,f+48|0)?1:g}i:{if(q[a+29604>>2]){break i}e=vo(d);c=q[a+4>>2];q[c+716>>2]=e;q[c+720>>2]=q[d+8>>2];q[c+300>>2]=q[d+48>>2];c=q[d+56>>2];q[a+27020>>2]=c;e=q[d+60>>2];q[a+27016>>2]=e;q[a+27024>>2]=c+1;q[a+26376>>2]=c<<2;q[a+27028>>2]=w(c,e);h=q[d+12>>2];q[a+25680>>2]=e<<4;q[a+25676>>2]=c<<4;q[a+25688>>2]=(h|0)<2;sD(a);j:{if(!q[d+108>>2]){break j}c=q[a+4>>2];q[c+328>>2]=q[d+112>>2]<1?1:2;if(!q[d+116>>2]){break j}e=q[d+128>>2];q[c+316>>2]=q[d+120>>2];q[c+320>>2]=q[d+124>>2];h=q[c+324>>2];q[c+324>>2]=e;i=(e|0)==(h|0)?i:1}if(!q[a+30004>>2]){break i}c=q[a+30008>>2];if(c>>>0<=18){c=q[(c<<2)+89072>>2]}else{c=0}if(!c){break i}c=q[a+30008>>2];if((c|0)==2){break i}q[q[a+4>>2]+320>>2]=c}c=q[a+4>>2];q[c+332>>2]=q[d+132>>2];e=q[a+25700>>2];if(!(g|i)){d=0;if(e){break a}}q[a+25700>>2]=0;if(q[a+25628>>2]!=(b|0)){b=q[a+25676>>2];d=q[c+100>>2];e=q[a+25680>>2];i=q[c+104>>2];q[f+32>>2]=q[a+29576>>2]+1;q[f+28>>2]=i;q[f+24>>2]=e;q[f+20>>2]=d;q[f+16>>2]=b;Ta(c,16,31638,f+16|0);d=-1094995529;break a}if(e){jj(a)}d=0;b=Wn(a,1);if((b|0)<0){d=b;break a}e=q[a+4>>2];q[e+112>>2]=b;i=q[a+25676>>2];h=q[a+25680>>2];q[f+8>>2]=b>>>0<=195?q[w(b,152)+59184>>2]:0;q[f>>2]=i;q[f+4>>2]=h;Ta(e,40,31994,f);b=ED(a);if((b|0)>-1){break a}Ta(q[a+4>>2],16,32499,0);d=b;break a}d=-48}Ca=f- -64|0;return d}function Gc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=w(e,13);c=c-((f&2147483646)<<1)|0;h=f>>1<<1;f=b;while(1){if((k|0)!=13){g=c+ -2|0;p[f>>1]=(s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[g>>1]|0,-5)|0)|0)+ -10230;p[f+2>>1]=(s[c+8>>1]+((s[g>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0)|0)+ -10230;p[f+4>>1]=(s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0)|0)+ -10230;p[f+6>>1]=(s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0)|0)+ -10230;p[f+8>>1]=(s[c+14>>1]+((s[c+4>>1]+w(s[c+10>>1]+s[c+8>>1]|0,20)|0)+w(s[c+12>>1]+s[c+6>>1]|0,-5)|0)|0)+ -10230;p[f+10>>1]=(s[c+16>>1]+((s[c+6>>1]+w(s[c+12>>1]+s[c+10>>1]|0,20)|0)+w(s[c+14>>1]+s[c+8>>1]|0,-5)|0)|0)+ -10230;p[f+12>>1]=(s[c+18>>1]+((s[c+8>>1]+w(s[c+14>>1]+s[c+12>>1]|0,20)|0)+w(s[c+16>>1]+s[c+10>>1]|0,-5)|0)|0)+ -10230;p[f+14>>1]=(s[c+20>>1]+((s[c+10>>1]+w(s[c+16>>1]+s[c+14>>1]|0,20)|0)+w(s[c+18>>1]+s[c+12>>1]|0,-5)|0)|0)+ -10230;k=k+1|0;c=c+h|0;f=(e<<1)+f|0;continue}break}c=((i<<1)+b|0)+w(e,-22)|0;f=0;y=w(e,3)<<1;t=e<<1;z=0-t<<1;A=0-e<<1;B=w(e,10)<<1;C=w(e,9)<<1;D=e<<4;E=w(e,7)<<1;F=w(e,6)<<1;G=w(e,5)<<1;H=e<<3;I=(d&-2)<<1;b=d>>1;J=w(b,3)<<1;K=b<<3;L=w(b,5)<<1;M=w(b,6)<<1;N=w(b,7)<<1;while(1){if((f|0)!=8){O=p[c+B>>1];n=p[c+C>>1];o=p[c+D>>1];q=p[c+E>>1];r=p[c+F>>1];k=p[c+G>>1];e=p[c+H>>1];u=p[c+y>>1];d=u+10230|0;v=p[c+t>>1];h=v+10230|0;g=p[c>>1]+10230|0;x=p[(t<<1)+c>>1];i=x+10230|0;l=p[c+A>>1]+10230|0;j=(((d+p[c+z>>1]|0)+w(h+g|0,20)|0)+w(i+l|0,-5)|0)+10742|0;m=j>>10;p[a>>1]=m>>>0<1024?m:(j>>31^-1)&1023;j=l;l=e+10742|0;j=((j+l|0)+w(h+i|0,20)|0)+w(d+g|0,-5)|0;m=j>>10;p[(b<<1)+a>>1]=m>>>0<1024?m:(j>>31^-1)&1023;j=h;h=e+10230|0;e=(((g+k|0)+w(d+i|0,20)|0)+w(j+h|0,-5)|0)+10742|0;g=e>>10;p[a+I>>1]=g>>>0<1024?g:(e>>31^-1)&1023;e=r+10230|0;j=i;i=k+10230|0;g=(((e+v|0)+w(d+h|0,20)|0)+w(j+i|0,-5)|0)+10742|0;r=g>>10;p[a+J>>1]=r>>>0<1024?r:(g>>31^-1)&1023;g=q+10230|0;d=(((g+x|0)+w(h+i|0,20)|0)+w(d+e|0,-5)|0)+10742|0;q=d>>10;p[a+K>>1]=q>>>0<1024?q:(d>>31^-1)&1023;d=o+10230|0;h=(((d+u|0)+w(e+i|0,20)|0)+w(h+g|0,-5)|0)+10742|0;o=h>>10;p[a+L>>1]=o>>>0<1024?o:(h>>31^-1)&1023;h=n+10230|0;i=((h+l|0)+w(e+g|0,20)|0)+w(d+i|0,-5)|0;n=i>>10;p[a+M>>1]=n>>>0<1024?n:(i>>31^-1)&1023;d=(((k+O|0)+w(d+g|0,20)|0)+w(e+h|0,-5)|0)+20972|0;e=d>>10;p[a+N>>1]=e>>>0<1024?e:(d>>31^-1)&1023;f=f+1|0;c=c+2|0;a=a+2|0;continue}break}}function Hv(a,b){var c=0,d=x(0),e=0,g=0,h=0,i=x(0),j=0,l=0,m=0,n=0,o=0,p=x(0),s=0;j=Ca-16|0;Ca=j;a:{b:{if(!(!q[a+48>>2]|(b|0)!=1)){g=q[a+188>>2]?12:24;e=1;while(1){if(e>>>0<=t[a+104>>2]){l=a+e|0;b=0;while(1){if(b>>>0>2]){h=(w(e,48)+a|0)+b|0;c=r[h+86512|0];c:{if(q[a+188>>2]){i=c>>>0<122?(f(0,(c<<23)+1124073472|0),k()):x(H);c=g-r[h+174480|0]|0;if(c+126>>>0<=254){d=(f(0,(c<<23)+1065353216|0),k());break c}d=x(H);if((c|0)>128){break c}d=x(0);if((c|0)<-149){break c}d=(f(0,1<>>0<244?+(f(0,(c<<22&1065353216)+1124073472|0),k()):H)*v[((c&1)<<3)+105216>>3];m=r[h+174480|0];c=g-m|0;h=c>>1;d:{if(h+126>>>0<=254){d=(f(0,(h<<23)+1065353216|0),k());break d}d=x(H);if((c|0)>257){break d}d=x(0);if((c|0)<-298){break d}d=(f(0,1<>3]*+d)}c=(w(e,192)+a|0)+(b<<2)|0;h=c+174768|0;p=d;if(!!(+i>1e20)){Ta(0,16,35085,0);i=x(1)}d=x(i/x(d+x(1)));u[h>>2]=p*d;u[c+86800>>2]=d;b=b+1|0;continue}break}e=e+1|0;continue}break}g=q[a+116>>2]+1|0;e=1;while(1){if((e|0)==(g|0)){break a}h=q[a+310120>>2];b=0;while(1){if((b|0)!=(h|0)){l=(w(e,5)+a|0)+b|0;c=r[l+87952|0];e:{if(133-c>>>0<=254){d=(f(0,1124073472-(c<<23)|0),k());break e}d=x(0);if(c>>>0>156){break e}d=(f(0,1<<156-c),k())}c=r[l+175920|0];f:{if(138-c>>>0<=254){i=(f(0,1166016512-(c<<23)|0),k());break f}i=x(0);if(c>>>0>161){break f}i=(f(0,1<<161-c),k())}if(!(+d<=1e20)){break b}c=(w(e,20)+a|0)+(b<<2)|0;d=x(d/x(i+x(1)));u[c+175936>>2]=i*d;u[c+87968>>2]=d;b=b+1|0;continue}break}e=e+1|0;continue}}l=(b|0)==1?2:1;g:while(1){if((h|0)==(l|0)){break a}c=w(h,87968)+a|0;m=c;e=1;while(1){if(e>>>0>t[c+104>>2]){m=q[c+116>>2]+1|0;e=1}else{n=c+e|0;b=0;while(1){if(b>>>0>2]){g=r[((c+w(e,48)|0)+b|0)+86512|0];d=g>>>0<123?(f(0,(g<<23)+1115684864|0),k()):x(H);h:{if(q[m+188>>2]){break h}d=x((g>>>0<246?+(f(0,(g<<22&1065353216)+1115684864|0),k()):H)*v[((g&1)<<3)+105216>>3])}g=((c+w(e,192)|0)+(b<<2)|0)+86800|0;u[g>>2]=d;if(!!(+d>1e20)){Ta(0,16,35085,0);q[g>>2]=1065353216}b=b+1|0;continue}break}e=e+1|0;continue}break}while(1){i:{if((e|0)!=(m|0)){n=q[a+310120>>2];b=0;while(1){if((b|0)==(n|0)){break i}s=((c+w(e,20)|0)+(b<<2)|0)+87968|0;g=r[((c+w(e,5)|0)+b|0)+87952|0];j:{if(132-g>>>0<=254){d=(f(0,1115684864-(g<<23)|0),k());break j}d=x(0);if(g>>>0>155){break j}d=(f(0,1<<155-g),k())}u[s>>2]=d;b=b+1|0;continue}}h=h+1|0;continue g}e=e+1|0;continue}}}q[j+8>>2]=107;q[j+4>>2]=35907;q[j>>2]=35619;Ta(0,0,19708,j);I();F()}Ca=j+16|0}function Wf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;h=w(e,13);c=c-((f&2147483646)<<1)|0;i=f>>1<<1;f=b;while(1){if((l|0)!=13){n=c+ -2|0;p[f>>1]=s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[n>>1]|0,-5)|0);p[f+2>>1]=s[c+8>>1]+((s[n>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0);p[f+4>>1]=s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0);p[f+6>>1]=s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0);p[f+8>>1]=s[c+14>>1]+((s[c+4>>1]+w(s[c+10>>1]+s[c+8>>1]|0,20)|0)+w(s[c+12>>1]+s[c+6>>1]|0,-5)|0);p[f+10>>1]=s[c+16>>1]+((s[c+6>>1]+w(s[c+12>>1]+s[c+10>>1]|0,20)|0)+w(s[c+14>>1]+s[c+8>>1]|0,-5)|0);p[f+12>>1]=s[c+18>>1]+((s[c+8>>1]+w(s[c+14>>1]+s[c+12>>1]|0,20)|0)+w(s[c+16>>1]+s[c+10>>1]|0,-5)|0);p[f+14>>1]=s[c+20>>1]+((s[c+10>>1]+w(s[c+16>>1]+s[c+14>>1]|0,20)|0)+w(s[c+18>>1]+s[c+12>>1]|0,-5)|0);l=l+1|0;c=c+i|0;f=(e<<1)+f|0;continue}break}c=((h<<1)+b|0)+w(e,-22)|0;n=0;y=0-e<<1;z=w(e,3)<<1;r=e<<1;A=0-r<<1;B=w(e,10)<<1;C=w(e,9)<<1;D=e<<4;E=w(e,7)<<1;F=w(e,6)<<1;G=w(e,5)<<1;H=e<<3;I=(d&-2)<<1;b=d>>1;J=w(b,3)<<1;K=b<<3;L=w(b,5)<<1;M=w(b,6)<<1;N=w(b,7)<<1;while(1){if((n|0)!=8){O=p[c+B>>1];v=p[c+C>>1];t=p[c+D>>1];l=p[c+E>>1];d=p[c+F>>1];e=p[c+G>>1];f=p[c+H>>1];h=p[c+z>>1];x=h+512|0;j=p[c+r>>1];o=p[c>>1];i=p[(r<<1)+c>>1];q=p[c+y>>1];g=((x+p[c+A>>1]|0)+w(j+o|0,20)|0)+w(i+q|0,-5)|0;k=g>>10;p[a>>1]=(s[a>>1]+(k>>>0<512?k:(g>>31^-1)&511)|0)+1>>>1;g=(b<<1)+a|0;m=g;u=s[g>>1];g=q;q=f+512|0;g=((g+q|0)+w(i+j|0,20)|0)+w(h+o|0,-5)|0;k=g>>10;p[m>>1]=(u+(k>>>0<512?k:(g>>31^-1)&511)|0)+1>>>1;g=a+I|0;m=g;u=s[g>>1];g=o;o=e+512|0;g=((g+o|0)+w(h+i|0,20)|0)+w(f+j|0,-5)|0;k=g>>10;p[m>>1]=(u+(k>>>0<512?k:(g>>31^-1)&511)|0)+1>>>1;g=a+J|0;m=g;k=s[g>>1];j=(((d+j|0)+w(f+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;g=j>>10;p[m>>1]=(k+(g>>>0<512?g:(j>>31^-1)&511)|0)+1>>>1;j=a+K|0;h=(((i+l|0)+w(e+f|0,20)|0)+w(d+h|0,-5)|0)+512|0;i=h>>10;p[j>>1]=(s[j>>1]+(i>>>0<512?i:(h>>31^-1)&511)|0)+1>>>1;h=a+L|0;g=h;m=s[h>>1];f=((t+x|0)+w(d+e|0,20)|0)+w(f+l|0,-5)|0;h=f>>10;p[g>>1]=(m+(h>>>0<512?h:(f>>31^-1)&511)|0)+1>>>1;f=a+M|0;g=f;h=s[f>>1];e=((q+v|0)+w(d+l|0,20)|0)+w(e+t|0,-5)|0;f=e>>10;p[g>>1]=(h+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=a+N|0;f=e;g=s[e>>1];d=((o+O|0)+w(l+t|0,20)|0)+w(d+v|0,-5)|0;e=d>>10;p[f>>1]=(g+(e>>>0<512?e:(d>>31^-1)&511)|0)+1>>>1;n=n+1|0;c=c+2|0;a=a+2|0;continue}break}}function Uj(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=Ca-48|0;Ca=j;h(+a);d=e(1)|0;m=e(0)|0;a:{b:{i=d;d=i;k=i&2147483647;c:{if(k>>>0<=1074752122){if((d&1048575)==598523){break c}if(k>>>0<=1073928572){if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -1.5707963267341256;c=a+ -6.077100506506192e-11;v[b>>3]=c;v[b+8>>3]=a-c+ -6.077100506506192e-11;d=1;break a}a=a+1.5707963267341256;c=a+6.077100506506192e-11;v[b>>3]=c;v[b+8>>3]=a-c+6.077100506506192e-11;d=-1;break a}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -3.1415926534682512;c=a+ -1.2154201013012384e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -1.2154201013012384e-10;d=2;break a}a=a+3.1415926534682512;c=a+1.2154201013012384e-10;v[b>>3]=c;v[b+8>>3]=a-c+1.2154201013012384e-10;d=-2;break a}if(k>>>0<=1075594811){if(k>>>0<=1075183036){if((k|0)==1074977148){break c}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -4.712388980202377;c=a+ -1.8231301519518578e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -1.8231301519518578e-10;d=3;break a}a=a+4.712388980202377;c=a+1.8231301519518578e-10;v[b>>3]=c;v[b+8>>3]=a-c+1.8231301519518578e-10;d=-3;break a}if((k|0)==1075388923){break c}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -6.2831853069365025;c=a+ -2.430840202602477e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -2.430840202602477e-10;d=4;break a}a=a+6.2831853069365025;c=a+2.430840202602477e-10;v[b>>3]=c;v[b+8>>3]=a-c+2.430840202602477e-10;d=-4;break a}if(k>>>0>1094263290){break b}}n=a*.6366197723675814+6755399441055744+ -6755399441055744;c=a+n*-1.5707963267341256;l=n*6.077100506506192e-11;a=c-l;v[b>>3]=a;h(+a);d=e(1)|0;e(0)|0;i=k>>>20|0;m=(i-(d>>>20&2047)|0)<17;if(y(n)<2147483648){d=~~n}else{d=-2147483648}d:{if(m){break d}l=c;a=n*6.077100506303966e-11;c=c-a;l=n*2.0222662487959506e-21-(l-c-a);a=c-l;v[b>>3]=a;o=i;h(+a);i=e(1)|0;e(0)|0;if((o-(i>>>20&2047)|0)<50){break d}l=c;a=n*2.0222662487111665e-21;c=c-a;l=n*8.4784276603689e-32-(l-c-a);a=c-l;v[b>>3]=a}v[b+8>>3]=c-a-l;break a}if(k>>>0>=2146435072){a=a-a;v[b>>3]=a;v[b+8>>3]=a;d=0;break a}f(0,m|0);f(1,i&1048575|1096810496);a=+g();d=0;while(1){o=d;d=(j+16|0)+(d<<3)|0;if(y(a)<2147483648){p=~~a}else{p=-2147483648}c=+(p|0);v[d>>3]=c;a=(a-c)*16777216;d=1;if(!o){continue}break}v[j+32>>3]=a;e:{if(a!=0){d=2;break e}o=1;while(1){d=o;o=d+ -1|0;if(v[(j+16|0)+(d<<3)>>3]==0){continue}break}}d=en(j+16|0,j,(k>>>20|0)+ -1046|0,d+1|0,1);a=v[j>>3];if((i|0)<-1?1:(i|0)<=-1?m>>>0>4294967295?0:1:0){v[b>>3]=-a;v[b+8>>3]=-v[j+8>>3];d=0-d|0;break a}v[b>>3]=a;i=q[j+12>>2];q[b+8>>2]=q[j+8>>2];q[b+12>>2]=i}Ca=j+48|0;return d}function qt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0;j=8-f|0;h=8-e|0;g=w(j,h);h=w(f,h);j=w(e,j);a:{f=w(e,f);if(f){e=0;l=(d|0)>0?d:0;m=c+8|0;n=c+7|0;p=c+6|0;q=c+5|0;s=c+4|0;t=c+3|0;u=c+2|0;v=c+1|0;while(1){if((e|0)==(l|0)){break a}d=b+c|0;i=b+v|0;o[a|0]=(r[a|0]+((((w(r[b|0],g)+w(j,r[b+1|0])|0)+w(h,r[d|0])|0)+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+1|0],g)+w(j,r[b+2|0])|0)+w(h,r[i|0])|0;i=b+u|0;o[a+1|0]=(r[a+1|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+2|0],g)+w(j,r[b+3|0])|0)+w(h,r[i|0])|0;i=b+t|0;o[a+2|0]=(r[a+2|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+3|0],g)+w(j,r[b+4|0])|0)+w(h,r[i|0])|0;i=b+s|0;o[a+3|0]=(r[a+3|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+4|0],g)+w(j,r[b+5|0])|0)+w(h,r[i|0])|0;i=b+q|0;o[a+4|0]=(r[a+4|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+5|0],g)+w(j,r[b+6|0])|0)+w(h,r[i|0])|0;i=b+p|0;o[a+5|0]=(r[a+5|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;k=(w(r[b+6|0],g)+w(j,r[b+7|0])|0)+w(h,r[i|0])|0;i=b+n|0;o[a+6|0]=(r[a+6|0]+((k+w(f,r[i|0])|0)+32>>>6|0)|0)+1>>>1;o[a+7|0]=(r[a+7|0]+((((w(r[b+7|0],g)+w(j,r[b+8|0])|0)+w(h,r[i|0])|0)+w(f,r[b+m|0])|0)+32>>>6|0)|0)+1>>>1;e=e+1|0;a=a+c|0;b=d;continue}}e=h+j|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+(w(r[b|0],g)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+(w(r[b+1|0],g)+32>>>6|0)|0)+1>>>1;o[a+2|0]=(r[a+2|0]+(w(r[b+2|0],g)+32>>>6|0)|0)+1>>>1;o[a+3|0]=(r[a+3|0]+(w(r[b+3|0],g)+32>>>6|0)|0)+1>>>1;o[a+4|0]=(r[a+4|0]+(w(r[b+4|0],g)+32>>>6|0)|0)+1>>>1;o[a+5|0]=(r[a+5|0]+(w(r[b+5|0],g)+32>>>6|0)|0)+1>>>1;o[a+6|0]=(r[a+6|0]+(w(r[b+6|0],g)+32>>>6|0)|0)+1>>>1;o[a+7|0]=(r[a+7|0]+(w(r[b+7|0],g)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}h=h?c:1;j=h+7|0;l=h+6|0;m=h+5|0;n=h+4|0;p=h+3|0;q=h+2|0;s=h+1|0;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+((w(r[b|0],g)+w(e,r[b+h|0])|0)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+((w(r[b+1|0],g)+w(e,r[b+s|0])|0)+32>>>6|0)|0)+1>>>1;o[a+2|0]=(r[a+2|0]+((w(r[b+2|0],g)+w(e,r[b+q|0])|0)+32>>>6|0)|0)+1>>>1;o[a+3|0]=(r[a+3|0]+((w(r[b+3|0],g)+w(e,r[b+p|0])|0)+32>>>6|0)|0)+1>>>1;o[a+4|0]=(r[a+4|0]+((w(r[b+4|0],g)+w(e,r[b+n|0])|0)+32>>>6|0)|0)+1>>>1;o[a+5|0]=(r[a+5|0]+((w(r[b+5|0],g)+w(e,r[b+m|0])|0)+32>>>6|0)|0)+1>>>1;o[a+6|0]=(r[a+6|0]+((w(r[b+6|0],g)+w(e,r[b+l|0])|0)+32>>>6|0)|0)+1>>>1;o[a+7|0]=(r[a+7|0]+((w(r[b+7|0],g)+w(e,r[b+j|0])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function hd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0;i=Ca-304|0;Ca=i;q[i+4>>2]=q[b+32860>>2];q[i>>2]=q[b+32856>>2];q[i+16>>2]=q[b+32872>>2];d=d<<2;t=d+165712|0;n=b+32904|0;j=q[b+21828>>2];d=d+w(j,56)|0;l=n+q[d+165600>>2]|0;m=n+q[d+165488>>2]|0;a:{if((h|0)==64){d=0;while(1){if((d|0)!=63){if(_a(i,m+r[(w(j,63)+d|0)+165776|0]|0)){q[(i+48|0)+(k<<2)>>2]=d;k=k+1|0;if(_a(i,l+r[d+130592|0]|0)){break a}}d=d+1|0;continue}break}q[(i+48|0)+(k<<2)>>2]=63;k=k+1|0;break a}j=h+ -1|0;s=(j|0)>0?j:0;d=0;while(1){if((d|0)!=(s|0)){if(_a(i,d+m|0)){q[(i+48|0)+(k<<2)>>2]=d;k=k+1|0;if(_a(i,d+l|0)){break a}}d=d+1|0;continue}break}if((j|0)<0){break a}q[(i+48|0)+(k<<2)>>2]=j;k=k+1|0}d=q[t>>2];b:{if((h|0)==64){e=r[e+154016|0]+b|0;h=w(k,257);p[e+27832>>1]=h;p[e+27824>>1]=h;break b}o[(r[e+154016|0]+b|0)+27824|0]=k}n=d+n|0;c:{if(!q[a+25672>>2]){d=0;while(1){k=k+ -1|0;m=r[q[(i+48|0)+(k<<2)>>2]+f|0];u=(m<<1)+c|0;d:{if(!_a(i,n+r[d+165909|0]|0)){l=q[(m<<2)+g>>2];a=q[i>>2];e=a<<1;q[i>>2]=e;if(!(a&32767)){sc(i);e=q[i>>2]}a=r[d+165936|0];d=e;h=q[i+4>>2];e=h<<17;d=d-e|0;j=d>>31;e=d+(e&j)|0;q[i>>2]=e;d=(d>>>31|32)+(j^0-l)|0;break d}e=n+r[d+165920|0]|0;a=r[d+165944|0];d=2;e:{while(1){f:{if((d|0)==15){e=0;while(1){g:{h=1;j=zc(i);d=e;if(d>>>0>22){break g}e=d+1|0;if(j){continue}}break}while(1){if(!d){break f}d=d+ -1|0;h=zc(i)+(h<<1)|0;continue}}if(!_a(i,e)){break e}d=d+1|0;continue}break}d=h+14|0}h=q[i>>2];e=h<<1;q[i>>2]=e;j=i;if(!(h&32767)){sc(i);e=q[i>>2]}t=e;h=q[i+4>>2];e=h<<17;s=t-e|0;l=s>>31;e=s+(e&l)|0;q[j>>2]=e;d=w(q[(m<<2)+g>>2],(l^0-d)-l|0)+32|0}p[u>>1]=d>>>6;d=a&255;if(k){continue}break}break c}d=0;while(1){k=k+ -1|0;m=r[q[(i+48|0)+(k<<2)>>2]+f|0];u=(m<<2)+c|0;h:{if(!_a(i,n+r[d+165909|0]|0)){l=q[(m<<2)+g>>2];a=q[i>>2];e=a<<1;q[i>>2]=e;if(!(a&32767)){sc(i);e=q[i>>2]}a=r[d+165936|0];d=e;h=q[i+4>>2];e=h<<17;d=d-e|0;j=d>>31;e=d+(e&j)|0;q[i>>2]=e;d=(d>>>31|32)+(j^0-l)|0;break h}e=n+r[d+165920|0]|0;a=r[d+165944|0];d=2;i:{while(1){j:{if((d|0)==15){e=0;while(1){k:{h=1;j=zc(i);d=e;if(d>>>0>22){break k}e=d+1|0;if(j){continue}}break}while(1){if(!d){break j}d=d+ -1|0;h=zc(i)+(h<<1)|0;continue}}if(!_a(i,e)){break i}d=d+1|0;continue}break}d=h+14|0}h=q[i>>2];e=h<<1;q[i>>2]=e;j=i;if(!(h&32767)){sc(i);e=q[i>>2]}t=e;h=q[i+4>>2];e=h<<17;s=t-e|0;l=s>>31;e=s+(e&l)|0;q[j>>2]=e;d=w(q[(m<<2)+g>>2],(l^0-d)-l|0)+32|0}q[u>>2]=d>>6;d=a&255;if(k){continue}break}}q[b+32856>>2]=e;q[b+32860>>2]=h;q[b+32872>>2]=q[i+16>>2];Ca=i+304|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=d>>1;A=s[(1-e<<1)+a>>1];q=A+2|0;D=s[(3-e<<1)+a>>1];E=s[(2-e<<1)+a>>1];k=D+(q+(E<<1)|0)>>>2|0;g=s[a-(d&-2)>>1];I=g+2|0;h=(I+(A<<1)|0)+E>>>2|0;j=e^-1;t=(q+s[((b?j:0-e|0)<<1)+a>>1]|0)+(g<<1)>>>2|0;q=s[(7-e<<1)+a>>1];F=s[(5-e<<1)+a>>1];G=s[(6-e<<1)+a>>1];B=(q+(F+(G<<1)|0)|0)+2>>>2|0;H=s[(4-e<<1)+a>>1];z=((H+(F<<1)|0)+G|0)+2>>>2|0;A=c?s[(8-e<<1)+a>>1]:q;c=(j<<1)+a|0;g=a+ -2|0;K=s[(b?c:g)>>1];L=s[c>>1];m=s[g>>1];b=(e<<1)+a|0;n=s[b+ -2>>1];c=w(e,14)+a|0;M=s[c+ -2>>1];C=e<<3;u=C+a|0;l=s[u+ -2>>1];o=((d&2147483646)<<1)+a|0;v=s[o+ -2>>1];g=w(e,6)+a|0;r=s[g+ -2>>1];f=(l+(v+(r<<1)|0)|0)+2>>>2|0;j=w(e,10)+a|0;x=s[j+ -2>>1];i=(x+((l<<1)+r|0)|0)+2>>>2|0;J=w(e,12);e=J+a|0;y=s[e+ -2>>1];l=(y+(l+(x<<1)|0)|0)+2>>>2|0;p[e>>1]=(l+((i<<1)+f|0)|0)+2>>>2;p[c>>1]=((l<<1)+i+((M+(x+(y<<1)|0)|0)+2>>>2)|0)+2>>>2;l=n+2|0;r=(l+(v<<1)|0)+r>>>2|0;n=(v+(m+(n<<1)|0)|0)+2>>>2|0;v=n+2|0;x=((r<<1)+v|0)+f>>>2|0;p[(J|2)+a>>1]=x;p[u>>1]=x;f=((r+(f<<1)|0)+i|0)+2>>>2|0;p[c+2>>1]=f;p[j>>1]=f;f=(l+K|0)+(m<<1)>>>2|0;m=(m+I|0)+(L<<1)>>>2|0;i=(v+(f<<1)|0)+m>>>2|0;p[e+4>>1]=i;p[(C|2)+a>>1]=i;p[o>>1]=i;i=(r+(f+(n<<1)|0)|0)+2>>>2|0;p[c+4>>1]=i;p[j+2>>1]=i;p[g>>1]=i;i=t+2|0;f=(i+f|0)+(m<<1)>>>2|0;p[c+6>>1]=f;p[j+4>>1]=f;p[g+2>>1]=f;p[b>>1]=f;n=t+1|0;f=n+m>>>1|0;p[e+6>>1]=f;p[(C|4)+a>>1]=f;p[(d<<1|2)+a>>1]=f;p[a>>1]=f;d=t<<1;t=h+2|0;d=m+(d+t|0)>>>2|0;p[c+8>>1]=d;p[j+6>>1]=d;p[g+4>>1]=d;p[b+2>>1]=d;d=h+n>>>1|0;p[e+8>>1]=d;p[(C|6)+a>>1]=d;p[o+4>>1]=d;p[a+2>>1]=d;d=k+(i+(h<<1)|0)>>>2|0;p[c+10>>1]=d;p[j+8>>1]=d;p[g+6>>1]=d;p[b+4>>1]=d;d=(h+k|0)+1>>>1|0;p[e+10>>1]=d;p[u+8>>1]=d;p[o+6>>1]=d;p[a+4>>1]=d;d=(((D<<1)+E|0)+H|0)+2>>>2|0;h=d+(t+(k<<1)|0)>>>2|0;p[c+12>>1]=h;p[j+10>>1]=h;p[g+8>>1]=h;p[b+6>>1]=h;h=(d+k|0)+1>>>1|0;p[e+12>>1]=h;p[u+10>>1]=h;p[o+8>>1]=h;p[a+6>>1]=h;y=c;c=(((H<<1)+D|0)+F|0)+2>>>2|0;k=(c+(k+(d<<1)|0)|0)+2>>>2|0;p[y+14>>1]=k;p[j+12>>1]=k;p[g+10>>1]=k;p[b+8>>1]=k;y=e;e=(c+d|0)+1>>>1|0;p[y+14>>1]=e;p[u+12>>1]=e;p[o+10>>1]=e;p[a+8>>1]=e;d=((d+(c<<1)|0)+z|0)+2>>>2|0;p[j+14>>1]=d;p[g+12>>1]=d;p[b+10>>1]=d;d=(c+z|0)+1>>>1|0;p[u+14>>1]=d;p[o+12>>1]=d;p[a+10>>1]=d;c=((c+(z<<1)|0)+B|0)+2>>>2|0;p[g+14>>1]=c;p[b+12>>1]=c;c=(z+B|0)+1>>>1|0;p[o+14>>1]=c;p[a+12>>1]=c;c=b;b=(((q<<1)+G|0)+A|0)+2>>>2|0;p[c+14>>1]=(b+((B<<1)+z|0)|0)+2>>>2;p[a+14>>1]=(b+B|0)+1>>>1}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;c=d>>1;g=c^-1;F=s[((b?g:0-c|0)<<1)+a>>1];g=(g<<1)+a|0;f=a+ -2|0;G=s[(b?g:f)>>1];H=s[(7-c<<1)+a>>1];z=s[(6-c<<1)+a>>1];t=s[(5-c<<1)+a>>1];u=s[(4-c<<1)+a>>1];v=s[(3-c<<1)+a>>1];x=s[(2-c<<1)+a>>1];A=s[(1-c<<1)+a>>1];I=s[g>>1];g=d&-2;B=s[a-g>>1];y=s[f>>1];b=a+g|0;C=s[b+ -2>>1];n=(g<<1)+a|0;o=s[n+ -2>>1];g=w(c,6)+a|0;q=s[g+ -2>>1];r=c<<3;k=r+a|0;l=s[k+ -2>>1];f=w(c,10)+a|0;m=s[f+ -2>>1];D=w(c,12);h=D+a|0;i=s[h+ -2>>1];c=w(c,14)+a|0;j=s[c+ -2>>1];e=((m+(i<<1)|0)+j|0)+2>>>2|0;j=(i+w(j,3)|0)+2>>>2|0;p[c>>1]=(j+e|0)+1>>>1;i=(i+(l+(m<<1)|0)|0)+2>>>2|0;E=(i+e|0)+1>>>1|0;p[c+4>>1]=E;p[c+2>>1]=((i+j|0)+(e<<1)|0)+2>>>2;p[h>>1]=E;j=e;e=(m+((l<<1)+q|0)|0)+2>>>2|0;m=(j+(e+(i<<1)|0)|0)+2>>>2|0;p[c+6>>1]=m;p[(D|2)+a>>1]=m;m=(e+i|0)+1>>>1|0;p[c+8>>1]=m;p[h+4>>1]=m;p[f>>1]=m;j=i;i=(l+((q<<1)+o|0)|0)+2>>>2|0;l=(j+(i+(e<<1)|0)|0)+2>>>2|0;p[c+10>>1]=l;p[h+6>>1]=l;p[f+2>>1]=l;l=(e+i|0)+1>>>1|0;p[c+12>>1]=l;p[h+8>>1]=l;p[f+4>>1]=l;p[k>>1]=l;j=c;c=q;q=C+2|0;c=c+(q+(o<<1)|0)>>>2|0;e=(e+(c+(i<<1)|0)|0)+2>>>2|0;p[j+14>>1]=e;p[h+10>>1]=e;p[f+6>>1]=e;p[(r|2)+a>>1]=e;e=(c+i|0)+1>>>1|0;p[h+12>>1]=e;p[f+8>>1]=e;p[(r|4)+a>>1]=e;p[g>>1]=e;j=h;h=(((C<<1)+y|0)+o|0)+2>>>2|0;o=h+2|0;e=i+(o+(c<<1)|0)>>>2|0;p[j+14>>1]=e;p[f+10>>1]=e;p[(r|6)+a>>1]=e;p[g+2>>1]=e;e=(c+h|0)+1>>>1|0;p[f+12>>1]=e;p[k+8>>1]=e;p[g+4>>1]=e;p[n>>1]=e;e=f;f=c;c=(q+G|0)+(y<<1)>>>2|0;f=(f+(c+(h<<1)|0)|0)+2>>>2|0;p[e+14>>1]=f;p[k+10>>1]=f;p[g+6>>1]=f;p[(d<<1|2)+a>>1]=f;d=h;h=c+1|0;d=d+h>>>1|0;p[k+12>>1]=d;p[g+8>>1]=d;p[n+4>>1]=d;p[b>>1]=d;e=k;k=B+2|0;d=(k+y|0)+(I<<1)>>>2|0;f=d+(o+(c<<1)|0)>>>2|0;p[e+14>>1]=f;p[g+10>>1]=f;p[n+6>>1]=f;p[b+2>>1]=f;f=d+h>>>1|0;p[g+12>>1]=f;p[n+8>>1]=f;p[b+4>>1]=f;p[a>>1]=f;e=g;g=A+2|0;f=(g+F|0)+(B<<1)>>>2|0;h=f+2|0;c=(h+c|0)+(d<<1)>>>2|0;p[e+14>>1]=c;p[n+10>>1]=c;p[b+6>>1]=c;p[a+2>>1]=c;c=f<<1;f=(k+(A<<1)|0)+x>>>2|0;k=f+2|0;c=d+(c+k|0)>>>2|0;p[n+12>>1]=c;p[b+8>>1]=c;p[a+4>>1]=c;c=(g+(x<<1)|0)+v>>>2|0;d=c+(h+(f<<1)|0)>>>2|0;p[n+14>>1]=d;p[b+10>>1]=d;p[a+6>>1]=d;d=(((v<<1)+x|0)+u|0)+2>>>2|0;g=d+(k+(c<<1)|0)>>>2|0;p[b+12>>1]=g;p[a+8>>1]=g;h=b;b=(((u<<1)+v|0)+t|0)+2>>>2|0;c=(b+(c+(d<<1)|0)|0)+2>>>2|0;p[h+14>>1]=c;g=(((t<<1)+u|0)+z|0)+2>>>2|0;p[a+14>>1]=(b+(g<<1)+((((z<<1)+t|0)+H|0)+2>>>2)|0)+2>>>2;p[a+12>>1]=(g+(d+(b<<1)|0)|0)+2>>>2;p[a+10>>1]=c}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=d>>1;j=s[(2-e<<1)+a>>1];f=j+2|0;v=s[(1-e<<1)+a>>1];x=v+2|0;y=s[a-(d&-2)>>1];B=(x+s[((b?e^-1:0-e|0)<<1)+a>>1]|0)+(y<<1)|0;b=s[(7-e<<1)+a>>1];q=b;t=s[(4-e<<1)+a>>1];l=s[(3-e<<1)+a>>1];o=t+(f+(l<<1)|0)>>>2|0;m=l+(x+(j<<1)|0)>>>2|0;i=(f+y|0)+(v<<1)>>>2|0;r=B>>>2|0;f=s[(5-e<<1)+a>>1];j=s[(6-e<<1)+a>>1];n=((f+(j<<1)|0)+b|0)+2>>>2|0;g=(j+(t+(f<<1)|0)|0)+2>>>2|0;h=(f+(l+(t<<1)|0)|0)+2>>>2|0;if(c){q=s[(8-e<<1)+a>>1]}f=b<<1;C=((j+f|0)+q|0)+2>>>2|0;a:{if(!c){c=b;l=b;t=b;j=b;v=b;x=b;y=b;B=f;q=f;D=f;z=f;E=f;k=f;break a}q=s[(14-e<<1)+a>>1];f=s[(15-e<<1)+a>>1];y=(q+w(f,3)|0)+2>>>2|0;j=s[(12-e<<1)+a>>1];u=s[(10-e<<1)+a>>1];c=u+2|0;l=s[(11-e<<1)+a>>1];t=j+(c+(l<<1)|0)>>>2|0;D=t<<1;A=s[(8-e<<1)+a>>1];k=s[(9-e<<1)+a>>1];c=(A+c|0)+(k<<1)>>>2|0;E=c<<1;z=s[(13-e<<1)+a>>1];x=(f+(z+(q<<1)|0)|0)+2>>>2|0;f=x<<1;v=(q+(j+(z<<1)|0)|0)+2>>>2|0;B=v<<1;j=(z+(l+(j<<1)|0)|0)+2>>>2|0;q=j<<1;l=(l+(k+(u<<1)|0)|0)+2>>>2|0;z=l<<1;b=(k+((A<<1)+b|0)|0)+2>>>2|0;k=b<<1}u=o+2|0;A=(u+i|0)+(m<<1)>>>2|0;p[a+2>>1]=A;F=r;r=m+2|0;p[a>>1]=(F+r|0)+(i<<1)>>>2;m=(e<<1)+a|0;p[m>>1]=A;i=h+(r+(o<<1)|0)>>>2|0;p[a+4>>1]=i;p[m+2>>1]=i;o=((d&2147483646)<<1)+a|0;p[o>>1]=i;i=g+(u+(h<<1)|0)>>>2|0;p[a+6>>1]=i;p[m+4>>1]=i;p[(d<<1|2)+a>>1]=i;d=w(e,6)+a|0;p[d>>1]=i;h=(n+(h+(g<<1)|0)|0)+2>>>2|0;p[a+8>>1]=h;p[m+6>>1]=h;p[o+4>>1]=h;p[d+2>>1]=h;r=e<<3;i=r+a|0;p[i>>1]=h;g=((g+(n<<1)|0)+C|0)+2>>>2|0;p[a+10>>1]=g;p[m+8>>1]=g;p[o+6>>1]=g;p[d+4>>1]=g;p[(r|2)+a>>1]=g;h=w(e,10)+a|0;p[h>>1]=g;g=((n+(C<<1)|0)+b|0)+2>>>2|0;p[a+12>>1]=g;p[m+10>>1]=g;p[o+8>>1]=g;p[d+6>>1]=g;p[(r|4)+a>>1]=g;p[h+2>>1]=g;u=w(e,12);n=u+a|0;p[n>>1]=g;k=((k+C|0)+c|0)+2>>>2|0;p[a+14>>1]=k;p[m+12>>1]=k;p[o+10>>1]=k;p[d+8>>1]=k;p[(r|6)+a>>1]=k;p[h+4>>1]=k;p[(u|2)+a>>1]=k;a=w(e,14)+a|0;p[a>>1]=k;b=((b+E|0)+l|0)+2>>>2|0;p[m+14>>1]=b;p[o+12>>1]=b;p[d+10>>1]=b;p[i+8>>1]=b;p[h+6>>1]=b;p[n+4>>1]=b;p[a+2>>1]=b;b=((c+z|0)+t|0)+2>>>2|0;p[o+14>>1]=b;p[d+12>>1]=b;p[i+10>>1]=b;p[h+8>>1]=b;p[n+6>>1]=b;p[a+4>>1]=b;b=((l+D|0)+j|0)+2>>>2|0;p[d+14>>1]=b;p[i+12>>1]=b;p[h+10>>1]=b;p[n+8>>1]=b;p[a+6>>1]=b;b=((q+t|0)+v|0)+2>>>2|0;p[i+14>>1]=b;p[h+12>>1]=b;p[n+10>>1]=b;p[a+8>>1]=b;b=((j+B|0)+x|0)+2>>>2|0;p[h+14>>1]=b;p[n+12>>1]=b;p[a+10>>1]=b;b=((f+v|0)+y|0)+2>>>2|0;p[n+14>>1]=b;p[a+14>>1]=(w(y,3)+x|0)+2>>>2;p[a+12>>1]=b}function Ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=d>>1;t=s[(1-e<<1)+a>>1];o=t+2|0;v=s[(3-e<<1)+a>>1];x=s[(2-e<<1)+a>>1];y=v+(o+(x<<1)|0)>>>2|0;h=s[a-(d&-2)>>1];D=h+2|0;E=(D+(t<<1)|0)+x>>>2|0;k=e^-1;F=(o+s[((b?k:0-e|0)<<1)+a>>1]|0)+(h<<1)>>>2|0;o=s[(7-e<<1)+a>>1];z=s[(5-e<<1)+a>>1];A=s[(6-e<<1)+a>>1];G=(o+(z+(A<<1)|0)|0)+2>>>2|0;B=s[(4-e<<1)+a>>1];C=((B+(z<<1)|0)+A|0)+2>>>2|0;t=c?s[(8-e<<1)+a>>1]:o;c=(k<<1)+a|0;h=a+ -2|0;L=s[(b?c:h)>>1];M=s[c>>1];q=s[h>>1];b=(e<<1)+a|0;H=s[b+ -2>>1];k=((d&2147483646)<<1)+a|0;f=s[k+ -2>>1];c=w(e,6)+a|0;i=s[c+ -2>>1];I=w(e,12);l=I+a|0;j=s[l+ -2>>1];u=e<<3;r=u+a|0;n=s[r+ -2>>1];h=w(e,10)+a|0;m=s[h+ -2>>1];g=(j+(n+(m<<1)|0)|0)+2>>>2|0;e=w(e,14)+a|0;J=s[e+ -2>>1];K=(J+(m+(j<<1)|0)|0)+2>>>2|0;p[e>>1]=((((j+w(J,3)|0)+2>>>2|0)+g|0)+(K<<1)|0)+2>>>2;m=(m+(i+(n<<1)|0)|0)+2>>>2|0;j=((m+(g<<1)|0)+K|0)+2>>>2|0;p[e+2>>1]=j;p[l>>1]=j;j=g;g=(n+(f+(i<<1)|0)|0)+2>>>2|0;n=(j+(g+(m<<1)|0)|0)+2>>>2|0;p[e+4>>1]=n;p[(I|2)+a>>1]=n;p[h>>1]=n;j=m;n=H+2|0;m=i+(n+(f<<1)|0)>>>2|0;i=(j+(m+(g<<1)|0)|0)+2>>>2|0;p[e+6>>1]=i;p[l+4>>1]=i;p[h+2>>1]=i;p[r>>1]=i;j=g;i=(f+(q+(H<<1)|0)|0)+2>>>2|0;g=i+2|0;f=j+(g+(m<<1)|0)>>>2|0;p[e+8>>1]=f;p[l+6>>1]=f;p[h+4>>1]=f;p[(u|2)+a>>1]=f;p[c>>1]=f;j=i<<1;i=(n+L|0)+(q<<1)>>>2|0;f=(m+(j+i|0)|0)+2>>>2|0;p[e+10>>1]=f;p[l+8>>1]=f;p[h+6>>1]=f;p[(u|4)+a>>1]=f;p[c+2>>1]=f;p[k>>1]=f;q=(q+D|0)+(M<<1)>>>2|0;f=q+(g+(i<<1)|0)>>>2|0;p[e+12>>1]=f;p[l+10>>1]=f;p[h+8>>1]=f;p[(u|6)+a>>1]=f;p[c+4>>1]=f;p[(d<<1|2)+a>>1]=f;p[b>>1]=f;g=e;e=F+2|0;d=(e+i|0)+(q<<1)>>>2|0;p[g+14>>1]=d;p[l+12>>1]=d;p[h+10>>1]=d;p[r+8>>1]=d;p[c+6>>1]=d;p[k+4>>1]=d;p[b+2>>1]=d;p[a>>1]=d;g=l;l=E+2|0;d=q+(l+(F<<1)|0)>>>2|0;p[g+14>>1]=d;p[h+12>>1]=d;p[r+10>>1]=d;p[c+8>>1]=d;p[k+6>>1]=d;p[b+4>>1]=d;p[a+2>>1]=d;d=(e+(E<<1)|0)+y>>>2|0;p[h+14>>1]=d;p[r+12>>1]=d;p[c+10>>1]=d;p[k+8>>1]=d;p[b+6>>1]=d;p[a+4>>1]=d;e=(((v<<1)+x|0)+B|0)+2>>>2|0;d=e+(l+(y<<1)|0)>>>2|0;p[r+14>>1]=d;p[c+12>>1]=d;p[k+10>>1]=d;p[b+8>>1]=d;p[a+6>>1]=d;g=c;d=(((B<<1)+v|0)+z|0)+2>>>2|0;c=(d+((e<<1)+y|0)|0)+2>>>2|0;p[g+14>>1]=c;p[k+12>>1]=c;p[b+10>>1]=c;p[a+8>>1]=c;c=((e+(d<<1)|0)+C|0)+2>>>2|0;p[k+14>>1]=c;p[b+12>>1]=c;p[a+10>>1]=c;c=b;b=((d+(C<<1)|0)+G|0)+2>>>2|0;p[c+14>>1]=b;p[a+14>>1]=((G<<1)+C+((((o<<1)+A|0)+t|0)+2>>>2)|0)+2>>>2;p[a+12>>1]=b}function xw(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca-32|0;Ca=f;a:{b=q[a+16>>2];b:{if(b>>>0>=170){q[a+16>>2]=b+ -170;b=q[a+4>>2];j=q[b>>2];d=b+4|0;q[a+4>>2]=d;c=q[a+8>>2];b=q[a+12>>2];c:{if((c|0)!=(b|0)){break c}i=q[a>>2];if(d>>>0>i>>>0){h=c-d|0;e=h>>2;c=((d-i>>2)+1|0)/-2<<2;g=c+d|0;b=a;if(h){be(g,d,h);d=q[a+4>>2]}q[b+4>>2]=c+d;c=g+(e<<2)|0;q[a+8>>2]=c;break c}b=b-i|0;e=b?b>>1:1;if(e>>>0>=1073741824){break a}b=e<<2;h=rb(b);g=b+h|0;e=h+(e&-4)|0;b=e;if((c|0)!=(d|0)){b=e;while(1){q[b>>2]=q[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}i=q[a>>2]}q[a+12>>2]=g;q[a+8>>2]=b;q[a+4>>2]=e;q[a>>2]=h;if(!i){c=b;break c}Ya(i);c=q[a+8>>2]}q[c>>2]=j;q[a+8>>2]=q[a+8>>2]+4;break b}d=q[a+8>>2];b=q[a+4>>2];i=d-b>>2;c=q[a+12>>2];e=c-q[a>>2]|0;if(i>>>0>2>>>0){if((c|0)!=(d|0)){l=f,m=rb(4080),q[l+8>>2]=m;nw(a,f+8|0);break b}l=f,m=rb(4080),q[l+8>>2]=m;am(a,f+8|0);b=q[a+4>>2];j=q[b>>2];d=b+4|0;q[a+4>>2]=d;c=q[a+8>>2];b=q[a+12>>2];d:{if((c|0)!=(b|0)){break d}i=q[a>>2];if(d>>>0>i>>>0){h=c-d|0;e=h>>2;c=((d-i>>2)+1|0)/-2<<2;g=c+d|0;b=a;if(h){be(g,d,h);d=q[a+4>>2]}q[b+4>>2]=c+d;c=g+(e<<2)|0;q[a+8>>2]=c;break d}b=b-i|0;e=b?b>>1:1;if(e>>>0>=1073741824){break a}b=e<<2;h=rb(b);g=b+h|0;e=h+(e&-4)|0;b=e;if((c|0)!=(d|0)){b=e;while(1){q[b>>2]=q[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}i=q[a>>2]}q[a+12>>2]=g;q[a+8>>2]=b;q[a+4>>2]=e;q[a>>2]=h;if(!i){c=b;break d}Ya(i);c=q[a+8>>2]}q[c>>2]=j;q[a+8>>2]=q[a+8>>2]+4;break b}q[f+24>>2]=a+12;q[f+20>>2]=0;h=e?e>>1:1;if(h>>>0>=1073741824){break a}e=h<<2;g=rb(e);q[f+8>>2]=g;c=(i<<2)+g|0;q[f+16>>2]=c;k=e+g|0;q[f+20>>2]=k;q[f+12>>2]=c;j=rb(4080);e:{if((i|0)!=(h|0)){break e}if(c>>>0>g>>>0){c=(((c-g>>2)+1|0)/-2<<2)+c|0;q[f+12>>2]=c;q[f+16>>2]=c;break e}b=k-g|0;c=b?b>>1:1;if(c>>>0>=1073741824){break a}b=c<<2;e=rb(b);q[f+8>>2]=e;k=b+e|0;q[f+20>>2]=k;c=e+(c&-4)|0;q[f+16>>2]=c;q[f+12>>2]=c;Ya(g);d=q[a+8>>2];b=q[a+4>>2];g=e}q[c>>2]=j;e=c+4|0;q[f+16>>2]=e;if((b|0)!=(d|0)){while(1){d=d+ -4|0;am(f+8|0,d);b=q[a+4>>2];if((d|0)!=(b|0)){continue}break}d=q[a+8>>2];k=q[f+20>>2];e=q[f+16>>2];g=q[f+8>>2];c=q[f+12>>2]}j=q[a>>2];q[a>>2]=g;q[f+8>>2]=j;q[a+4>>2]=c;q[f+12>>2]=b;q[a+8>>2]=e;q[f+16>>2]=d;c=q[a+12>>2];q[a+12>>2]=k;q[f+20>>2]=c;if((b|0)!=(d|0)){q[f+16>>2]=(((d-b|0)+ -4>>>2^-1)<<2)+d}if(!j){break b}Ya(j)}Ca=f+32|0;return}oe(1504);F()}function _f(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=w(e,13);c=c-(f<<1)|0;h=b;while(1){if((g|0)!=13){n=c+ -1|0;p[h>>1]=r[c+3|0]+((r[c+ -2|0]+w(r[c+1|0]+r[c|0]|0,20)|0)+w(r[c+2|0]+r[n|0]|0,-5)|0);p[h+2>>1]=r[c+4|0]+((r[n|0]+w(r[c+2|0]+r[c+1|0]|0,20)|0)+w(r[c+3|0]+r[c|0]|0,-5)|0);p[h+4>>1]=r[c+5|0]+((r[c|0]+w(r[c+3|0]+r[c+2|0]|0,20)|0)+w(r[c+4|0]+r[c+1|0]|0,-5)|0);p[h+6>>1]=r[c+6|0]+((r[c+1|0]+w(r[c+4|0]+r[c+3|0]|0,20)|0)+w(r[c+5|0]+r[c+2|0]|0,-5)|0);p[h+8>>1]=r[c+7|0]+((r[c+2|0]+w(r[c+5|0]+r[c+4|0]|0,20)|0)+w(r[c+6|0]+r[c+3|0]|0,-5)|0);p[h+10>>1]=r[c+8|0]+((r[c+3|0]+w(r[c+6|0]+r[c+5|0]|0,20)|0)+w(r[c+7|0]+r[c+4|0]|0,-5)|0);p[h+12>>1]=r[c+9|0]+((r[c+4|0]+w(r[c+7|0]+r[c+6|0]|0,20)|0)+w(r[c+8|0]+r[c+5|0]|0,-5)|0);p[h+14>>1]=r[c+10|0]+((r[c+5|0]+w(r[c+8|0]+r[c+7|0]|0,20)|0)+w(r[c+9|0]+r[c+6|0]|0,-5)|0);g=g+1|0;c=c+f|0;h=(e<<1)+h|0;continue}break}c=((i<<1)+b|0)+w(e,-22)|0;y=w(d,7);z=w(d,6);A=w(d,5);B=d<<2;C=w(d,3);D=d<<1;n=0;E=0-e<<1;F=w(e,3)<<1;t=e<<1;G=0-t<<1;H=w(e,10)<<1;I=w(e,9)<<1;J=e<<4;K=w(e,7)<<1;L=w(e,6)<<1;M=w(e,5)<<1;N=e<<3;while(1){if((n|0)!=8){O=p[c+H>>1];v=p[c+I>>1];u=p[c+J>>1];h=p[c+K>>1];b=p[c+L>>1];e=p[c+M>>1];f=p[c+N>>1];g=p[c+F>>1];x=g+512|0;k=p[c+t>>1];l=p[c>>1];i=p[(t<<1)+c>>1];q=p[c+E>>1];j=((x+p[c+G>>1]|0)+w(k+l|0,20)|0)+w(i+q|0,-5)|0;m=j>>10;o[a|0]=(r[a|0]+((m>>>0>255?j>>31^-1:m)&255)|0)+1>>>1;j=q;q=f+512|0;j=((j+q|0)+w(i+k|0,20)|0)+w(g+l|0,-5)|0;m=j>>10;s=a+d|0;o[s|0]=(r[s|0]+((m>>>0>255?j>>31^-1:m)&255)|0)+1>>>1;m=e+512|0;j=((m+l|0)+w(g+i|0,20)|0)+w(f+k|0,-5)|0;l=j>>10;s=a+D|0;o[s|0]=(r[s|0]+((l>>>0>255?j>>31^-1:l)&255)|0)+1>>>1;l=(((b+k|0)+w(f+g|0,20)|0)+w(e+i|0,-5)|0)+512|0;k=l>>10;j=a+C|0;o[j|0]=(r[j|0]+((k>>>0>255?l>>31^-1:k)&255)|0)+1>>>1;i=(((h+i|0)+w(e+f|0,20)|0)+w(b+g|0,-5)|0)+512|0;g=i>>10;k=a+B|0;o[k|0]=(r[k|0]+((g>>>0>255?i>>31^-1:g)&255)|0)+1>>>1;g=((u+x|0)+w(b+e|0,20)|0)+w(f+h|0,-5)|0;f=g>>10;i=a+A|0;o[i|0]=(r[i|0]+((f>>>0>255?g>>31^-1:f)&255)|0)+1>>>1;f=((q+v|0)+w(b+h|0,20)|0)+w(e+u|0,-5)|0;e=f>>10;g=a+z|0;o[g|0]=(r[g|0]+((e>>>0>255?f>>31^-1:e)&255)|0)+1>>>1;e=((m+O|0)+w(h+u|0,20)|0)+w(b+v|0,-5)|0;b=e>>10;f=a+y|0;o[f|0]=(r[f|0]+((b>>>0>255?e>>31^-1:b)&255)|0)+1>>>1;n=n+1|0;c=c+2|0;a=a+1|0;continue}break}}function Kf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;u=w(e,13);c=c-((f&2147483646)<<1)|0;o=f>>1<<1;v=e<<2;f=b;while(1){if((m|0)!=13){j=s[c+6>>1];k=s[c+2>>1];i=s[c>>1];l=s[c+4>>1];h=s[c+ -2>>1];q[f>>2]=j+((s[c+ -4>>1]+w(k+i|0,20)|0)+w(l+h|0,-5)|0);g=(h+w(k+l|0,20)|0)+w(i+j|0,-5)|0;h=s[c+8>>1];q[f+4>>2]=g+h;g=(i+w(j+l|0,20)|0)+w(h+k|0,-5)|0;i=s[c+10>>1];q[f+8>>2]=g+i;g=(k+w(h+j|0,20)|0)+w(i+l|0,-5)|0;k=s[c+12>>1];q[f+12>>2]=g+k;g=(l+w(h+i|0,20)|0)+w(j+k|0,-5)|0;l=s[c+14>>1];q[f+16>>2]=g+l;g=(j+w(i+k|0,20)|0)+w(h+l|0,-5)|0;j=s[c+16>>1];q[f+20>>2]=g+j;g=(h+w(k+l|0,20)|0)+w(i+j|0,-5)|0;h=s[c+18>>1];q[f+24>>2]=g+h;q[f+28>>2]=s[c+20>>1]+((i+w(j+l|0,20)|0)+w(h+k|0,-5)|0);m=m+1|0;c=c+o|0;f=f+v|0;continue}break}c=((u<<2)+b|0)+w(e,-44)|0;l=0;v=0-e<<2;B=w(e,3)<<2;y=e<<1;C=0-y<<2;D=w(e,10)<<2;E=w(e,9)<<2;F=e<<5;G=w(e,7)<<2;H=w(e,6)<<2;I=w(e,5)<<2;z=e<<2;J=z<<2;K=(d&-2)<<1;b=d>>1;L=w(b,3)<<1;M=b<<3;N=w(b,5)<<1;O=w(b,6)<<1;P=w(b,7)<<1;while(1){if((l|0)!=8){Q=q[c+D>>2];u=q[c+E>>2];k=q[c+F>>2];j=q[c+G>>2];d=q[c+H>>2];e=q[c+I>>2];f=q[c+J>>2];h=q[c+B>>2];A=h+512|0;m=q[c+z>>2];o=q[c>>2];i=q[(y<<2)+c>>2];t=q[c+v>>2];g=((A+q[c+C>>2]|0)+w(m+o|0,20)|0)+w(i+t|0,-5)|0;n=g>>10;p[a>>1]=(s[a>>1]+(n>>>0<16384?n:(g>>31^-1)&16383)|0)+1>>>1;g=(b<<1)+a|0;r=g;x=s[g>>1];g=t;t=f+512|0;g=((g+t|0)+w(i+m|0,20)|0)+w(h+o|0,-5)|0;n=g>>10;p[r>>1]=(x+(n>>>0<16384?n:(g>>31^-1)&16383)|0)+1>>>1;g=a+K|0;r=g;x=s[g>>1];g=o;o=e+512|0;g=((g+o|0)+w(h+i|0,20)|0)+w(f+m|0,-5)|0;n=g>>10;p[r>>1]=(x+(n>>>0<16384?n:(g>>31^-1)&16383)|0)+1>>>1;g=a+L|0;r=g;n=s[g>>1];m=(((d+m|0)+w(f+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;g=m>>10;p[r>>1]=(n+(g>>>0<16384?g:(m>>31^-1)&16383)|0)+1>>>1;m=a+M|0;h=(((i+j|0)+w(e+f|0,20)|0)+w(d+h|0,-5)|0)+512|0;i=h>>10;p[m>>1]=(s[m>>1]+(i>>>0<16384?i:(h>>31^-1)&16383)|0)+1>>>1;h=a+N|0;g=h;r=s[h>>1];f=((k+A|0)+w(d+e|0,20)|0)+w(f+j|0,-5)|0;h=f>>10;p[g>>1]=(r+(h>>>0<16384?h:(f>>31^-1)&16383)|0)+1>>>1;f=a+O|0;g=f;h=s[f>>1];e=((u+t|0)+w(d+j|0,20)|0)+w(e+k|0,-5)|0;f=e>>10;p[g>>1]=(h+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=a+P|0;f=e;g=s[e>>1];d=((o+Q|0)+w(j+k|0,20)|0)+w(d+u|0,-5)|0;e=d>>10;p[f>>1]=(g+(e>>>0<16384?e:(d>>31^-1)&16383)|0)+1>>>1;l=l+1|0;c=c+4|0;a=a+2|0;continue}break}}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;e=d>>1;m=s[(2-e<<1)+a>>1];k=m+2|0;t=s[(1-e<<1)+a>>1];j=t+2|0;g=s[a-(d&-2)>>1];n=(j+s[((b?e^-1:0-e|0)<<1)+a>>1]|0)+(g<<1)|0;b=s[(7-e<<1)+a>>1];u=b;v=s[(4-e<<1)+a>>1];x=s[(3-e<<1)+a>>1];o=v+(k+(x<<1)|0)>>>2|0;q=x+(j+(m<<1)|0)>>>2|0;g=(g+k|0)+(t<<1)>>>2|0;n=n>>>2|0;k=s[(5-e<<1)+a>>1];m=s[(6-e<<1)+a>>1];r=((k+(m<<1)|0)+b|0)+2>>>2|0;h=(m+(v+(k<<1)|0)|0)+2>>>2|0;i=(k+(x+(v<<1)|0)|0)+2>>>2|0;k=b<<1;y=((m+k|0)+(c?s[(8-e<<1)+a>>1]:b)|0)+2>>>2|0;a:{if(!c){c=b;x=b;v=b;m=k;A=k;t=k;break a}v=s[(12-e<<1)+a>>1];m=s[(10-e<<1)+a>>1];u=m+2|0;c=s[(11-e<<1)+a>>1];x=v+(u+(c<<1)|0)>>>2|0;k=x<<1;j=s[(8-e<<1)+a>>1];t=s[(9-e<<1)+a>>1];u=(j+u|0)+(t<<1)>>>2|0;A=u<<1;v=(s[(13-e<<1)+a>>1]+(c+(v<<1)|0)|0)+2>>>2|0;c=(c+(t+(m<<1)|0)|0)+2>>>2|0;m=c<<1;b=(t+((j<<1)+b|0)|0)+2>>>2|0;t=b<<1}l=g+1|0;p[a>>1]=l+n>>>1;j=(e<<1)+a|0;z=q+2|0;p[j>>1]=(z+n|0)+(g<<1)>>>2;l=q+l>>>1|0;p[a+2>>1]=l;n=((d&2147483646)<<1)+a|0;p[n>>1]=l;B=o+2|0;l=(g+B|0)+(q<<1)>>>2|0;p[j+2>>1]=l;g=w(e,6)+a|0;p[g>>1]=l;f=(o+q|0)+1>>>1|0;p[a+4>>1]=f;p[(d<<1|2)+a>>1]=f;l=e<<3;q=l+a|0;p[q>>1]=f;f=i+(z+(o<<1)|0)>>>2|0;p[j+4>>1]=f;p[g+2>>1]=f;d=w(e,10)+a|0;p[d>>1]=f;f=(i+o|0)+1>>>1|0;p[a+6>>1]=f;p[n+4>>1]=f;p[(l|2)+a>>1]=f;z=w(e,12);o=z+a|0;p[o>>1]=f;f=h+((i<<1)+B|0)>>>2|0;p[j+6>>1]=f;p[g+4>>1]=f;p[d+2>>1]=f;e=w(e,14)+a|0;p[e>>1]=f;f=(h+i|0)+1>>>1|0;p[a+8>>1]=f;p[n+6>>1]=f;p[(l|4)+a>>1]=f;p[(z|2)+a>>1]=f;i=(r+(i+(h<<1)|0)|0)+2>>>2|0;p[j+8>>1]=i;p[g+6>>1]=i;p[d+4>>1]=i;p[e+2>>1]=i;i=(h+r|0)+1>>>1|0;p[a+10>>1]=i;p[n+8>>1]=i;p[(l|6)+a>>1]=i;p[o+4>>1]=i;h=((h+(r<<1)|0)+y|0)+2>>>2|0;p[j+10>>1]=h;p[g+8>>1]=h;p[d+6>>1]=h;p[e+4>>1]=h;h=(r+y|0)+1>>>1|0;p[a+12>>1]=h;p[n+10>>1]=h;p[q+8>>1]=h;p[o+6>>1]=h;r=((r+(y<<1)|0)+b|0)+2>>>2|0;p[j+12>>1]=r;p[g+10>>1]=r;p[d+8>>1]=r;p[e+6>>1]=r;f=a;a=(b+y|0)+1>>>1|0;p[f+14>>1]=a;p[n+12>>1]=a;p[q+10>>1]=a;p[o+8>>1]=a;a=((t+y|0)+u|0)+2>>>2|0;p[j+14>>1]=a;p[g+12>>1]=a;p[d+10>>1]=a;p[e+8>>1]=a;a=(b+u|0)+1>>>1|0;p[n+14>>1]=a;p[q+12>>1]=a;p[o+10>>1]=a;a=((b+A|0)+c|0)+2>>>2|0;p[g+14>>1]=a;p[d+12>>1]=a;p[e+10>>1]=a;a=(c+u|0)+1>>>1|0;p[q+14>>1]=a;p[o+12>>1]=a;a=((m+u|0)+x|0)+2>>>2|0;p[d+14>>1]=a;p[e+12>>1]=a;p[o+14>>1]=(c+x|0)+1>>>1;p[e+14>>1]=((c+k|0)+v|0)+2>>>2}function fw(){var a=0,b=0,c=x(0),d=0,e=0,f=x(0),g=0,h=x(0),i=x(0),j=x(0),k=x(0),l=0,m=x(0),n=x(0),p=0,q=0,r=0,s=x(0),t=0,v=0,y=0,z=x(0);while(1)if((b|0)==8){while(1)if((l|0)==46){b=0;while(1){if((b|0)==30){b=0}else{if(b>>>0<=9){d=+o[b+97856|0]*.125}else{d=+x(x(b|0)+x(-6.5))}a=0;while(1){if((a|0)!=3){e=w(b,24)+(a<<3)|0;g=d*(+u[(a<<2)+97904>>2]*-3.141592653589793);y=e+2367668|0,z=x(ce(g)),u[y>>2]=z;y=e+2367664|0,z=x(db(g)),u[y>>2]=z;a=a+1|0;continue}break}a=b<<3;d=d*-1.225221089959176;y=a+2366868|0,z=x(ce(d)),u[y>>2]=z;y=a+2366864|0,z=x(db(d)),u[y>>2]=z;b=b+1|0;continue}break}while(1){a:{if((b|0)!=50){if(b>>>0<=31){d=+o[b+97872|0]/24}else{d=+x(x(b|0)+x(-26.5))}a=0;while(1){if((a|0)==3){break a}e=w(b,24)+(a<<3)|0;g=d*(+u[(a<<2)+97904>>2]*-3.141592653589793);y=e+2368868|0,z=x(ce(g)),u[y>>2]=z;y=e+2368864|0,z=x(db(g)),u[y>>2]=z;a=a+1|0;continue}}Fh(2366352,97920,8);Fh(2364816,97952,12);Fh(2365584,97984,8);Fh(2366096,98016,4);return}a=b<<3;d=d*-1.225221089959176;y=a+2367268|0,z=x(ce(d)),u[y>>2]=z;y=a+2367264|0,z=x(db(d)),u[y>>2]=z;b=b+1|0;continue}}else{c=u[(l<<2)+97600>>2];f=x(c*c);j=x(x(1.4142135381698608)/x(E(x(f+x(1)))));k=x(c*j);h=x(j-k);i=x(c+x(x(1)/c));i=x(i*i);m=x(f+x(-1));s=x(c+c);b=0;while(1){if((b|0)!=8){a=(l<<7)+(b<<4)|0;e=b<<2;c=x(u[e+97824>>2]*x(.5));f=x(x(h*c)*x(.7071067690849304));n=x(f-c);y=a+2370076|0,z=x(j*qe(n)),u[y>>2]=z;c=x(c+f);y=a+2370072|0,z=x(k*qe(c)),u[y>>2]=z;y=a+2370068|0,z=x(j*Qe(n)),u[y>>2]=z;y=a+2370064|0,z=x(k*Qe(c)),u[y>>2]=z;c=x(.05000000074505806);c=b>>>0<=4?u[e+97792>>2]:c;f=x(GA(x(s*c),m)*x(.5));f=f>2]=d*g;p=+qe(f);u[a+2375960>>2]=p*-1.4142135623730951*g;g=+Qe(c);u[a+2375956>>2]=p*1.4142135623730951*g;u[a+2375952>>2]=d*g;b=b+1|0;continue}break}l=l+1|0;continue}}else{t=b<<6;a=b<<2;c=x(u[a+97536>>2]*x(.25));j=x(u[a+97568>>2]*x(.25));a=0;while(1){if((a|0)!=8){v=(a<<3)+t|0;e=a<<2;k=x(c+x(u[e+97536>>2]*x(.5)));f=x(j+x(u[e+97568>>2]*x(.5)));e=0;while(1){if((e|0)!=8){q=e+v<<2;r=e<<2;h=x(k+u[r+97536>>2]);m=h;d=+h;h=x(f+u[r+97568>>2]);i=x(1/Cn(d,+h));u[q+2383888>>2]=m*i;u[q+2381840>>2]=h*i;e=e+1|0;continue}break}a=a+1|0;continue}break}b=b+1|0;continue}}function Of(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;u=w(e,13);c=c-((f&2147483646)<<1)|0;o=f>>1<<1;v=e<<2;f=b;while(1){if((m|0)!=13){j=s[c+6>>1];k=s[c+2>>1];i=s[c>>1];l=s[c+4>>1];h=s[c+ -2>>1];q[f>>2]=j+((s[c+ -4>>1]+w(k+i|0,20)|0)+w(l+h|0,-5)|0);g=(h+w(k+l|0,20)|0)+w(i+j|0,-5)|0;h=s[c+8>>1];q[f+4>>2]=g+h;g=(i+w(j+l|0,20)|0)+w(h+k|0,-5)|0;i=s[c+10>>1];q[f+8>>2]=g+i;g=(k+w(h+j|0,20)|0)+w(i+l|0,-5)|0;k=s[c+12>>1];q[f+12>>2]=g+k;g=(l+w(h+i|0,20)|0)+w(j+k|0,-5)|0;l=s[c+14>>1];q[f+16>>2]=g+l;g=(j+w(i+k|0,20)|0)+w(h+l|0,-5)|0;j=s[c+16>>1];q[f+20>>2]=g+j;g=(h+w(k+l|0,20)|0)+w(i+j|0,-5)|0;h=s[c+18>>1];q[f+24>>2]=g+h;q[f+28>>2]=s[c+20>>1]+((i+w(j+l|0,20)|0)+w(h+k|0,-5)|0);m=m+1|0;c=c+o|0;f=f+v|0;continue}break}c=((u<<2)+b|0)+w(e,-44)|0;l=0;v=0-e<<2;B=w(e,3)<<2;y=e<<1;C=0-y<<2;D=w(e,10)<<2;E=w(e,9)<<2;F=e<<5;G=w(e,7)<<2;H=w(e,6)<<2;I=w(e,5)<<2;z=e<<2;J=z<<2;K=(d&-2)<<1;b=d>>1;L=w(b,3)<<1;M=b<<3;N=w(b,5)<<1;O=w(b,6)<<1;P=w(b,7)<<1;while(1){if((l|0)!=8){Q=q[c+D>>2];u=q[c+E>>2];k=q[c+F>>2];j=q[c+G>>2];d=q[c+H>>2];e=q[c+I>>2];f=q[c+J>>2];h=q[c+B>>2];A=h+512|0;m=q[c+z>>2];o=q[c>>2];i=q[(y<<2)+c>>2];t=q[c+v>>2];g=((A+q[c+C>>2]|0)+w(m+o|0,20)|0)+w(i+t|0,-5)|0;n=g>>10;p[a>>1]=(s[a>>1]+(n>>>0<4096?n:(g>>31^-1)&4095)|0)+1>>>1;g=(b<<1)+a|0;r=g;x=s[g>>1];g=t;t=f+512|0;g=((g+t|0)+w(i+m|0,20)|0)+w(h+o|0,-5)|0;n=g>>10;p[r>>1]=(x+(n>>>0<4096?n:(g>>31^-1)&4095)|0)+1>>>1;g=a+K|0;r=g;x=s[g>>1];g=o;o=e+512|0;g=((g+o|0)+w(h+i|0,20)|0)+w(f+m|0,-5)|0;n=g>>10;p[r>>1]=(x+(n>>>0<4096?n:(g>>31^-1)&4095)|0)+1>>>1;g=a+L|0;r=g;n=s[g>>1];m=(((d+m|0)+w(f+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;g=m>>10;p[r>>1]=(n+(g>>>0<4096?g:(m>>31^-1)&4095)|0)+1>>>1;m=a+M|0;h=(((i+j|0)+w(e+f|0,20)|0)+w(d+h|0,-5)|0)+512|0;i=h>>10;p[m>>1]=(s[m>>1]+(i>>>0<4096?i:(h>>31^-1)&4095)|0)+1>>>1;h=a+N|0;g=h;r=s[h>>1];f=((k+A|0)+w(d+e|0,20)|0)+w(f+j|0,-5)|0;h=f>>10;p[g>>1]=(r+(h>>>0<4096?h:(f>>31^-1)&4095)|0)+1>>>1;f=a+O|0;g=f;h=s[f>>1];e=((u+t|0)+w(d+j|0,20)|0)+w(e+k|0,-5)|0;f=e>>10;p[g>>1]=(h+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=a+P|0;f=e;g=s[e>>1];d=((o+Q|0)+w(j+k|0,20)|0)+w(d+u|0,-5)|0;e=d>>10;p[f>>1]=(g+(e>>>0<4096?e:(d>>31^-1)&4095)|0)+1>>>1;l=l+1|0;c=c+4|0;a=a+2|0;continue}break}}function wD(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Ca+ -64|0;Ca=h;j=q[a+28224>>2];d=q[a+24312>>2];q[d+92>>2]=q[a+29560>>2];q[a+29560>>2]=0;f=q[a+4>>2];if(!(q[f+568>>2]<1?!q[j+1176>>2]:0)){b=q[f+140>>2];c=q[j+1180>>2];q[f+140>>2]=(b|0)>(c|0)?b:c}b=0;a:{b:{c:{while(1){d:{c=q[d+84>>2];e:{f:{if((b|0)!=16){e=(b<<2)+a|0;g=q[e+28692>>2];if((c|0)>=(g|0)){break e}if(!b){break f}}q[((b<<2)+a|0)+28688>>2]=c}if(q[q[d>>2]+88>>2]==3){break d}e=q[a+28748>>2];if((e|0)==-2147483648|b>>>0<15){break c}c=1;g=q[a+28752>>2];i=g;k=g>>31;g=e;e=k-((e>>31)+(i>>>0>>0)|0)|0;if((e|0)<0?1:(e|0)<=0?i-g>>>0>=3?0:1:0){break c}break b}if(b){q[e+28688>>2]=g}b=b+1|0;continue}break}c=1;if(b>>>0>14){break b}}if(b){c=16-b|0;break b}b=q[d+84>>2];q[h+36>>2]=q[a+28692>>2];q[h+32>>2]=b;Ta(f,40,35194,h+32|0);b=1;while(1){if((b|0)!=16){q[((b<<2)+a|0)+28692>>2]=-2147483648;b=b+1|0;continue}break}q[a+28692>>2]=q[d+84>>2];q[d+92>>2]=1;break a}if(q[j+1176>>2]|q[f+140>>2]>=(c|0)){break a}b=q[f+360>>2];q[h+48>>2]=c;Ta(f,(b|0)>1?24:40,35747,h+48|0);q[q[a+4>>2]+140>>2]=c}c=0;while(1){e=c;c=c+1|0;b=((e<<2)+a|0)+28620|0;if(q[b>>2]){continue}break}g:{h:{if(e>>>0<17){q[b>>2]=d;if(!q[d+640>>2]){q[d+640>>2]=4}b=0;d=1;g=q[a+28620>>2];f=g;while(1){c=q[((d<<2)+a|0)+28620>>2];if(!(!c|q[q[c>>2]+84>>2]|q[c+92>>2])){i=c;c=q[c+84>>2]>2];f=c?i:f;b=c?d:b;d=d+1|0;continue}break}d=q[a+4>>2];c=q[d+140>>2];if(!(c|(q[g+92>>2]?0:!q[q[g>>2]+84>>2]))){q[a+28760>>2]=-2147483648}g=e;i=(e|0)<(c|0);e=q[f+84>>2];j=q[a+28760>>2];if(!((e|0)>=(j|0)?i:0)){q[f+640>>2]=q[f+640>>2]&-5;d=q[((b<<2)+a|0)+28620>>2];c=b;while(1){if(d){d=a+28620|0;i=d+(c<<2)|0;c=c+1|0;d=q[d+(c<<2)>>2];q[i>>2]=d;continue}break}if((e|0)<(j|0)){d=q[a+4>>2];break h}d=q[a+4>>2];c=q[d+140>>2]}if((g|0)<(c|0)){break h}q[a+28756>>2]=f;i=a;i:{j:{if(b){break j}c=q[a+28620>>2];if(!c){break j}g=-2147483648;if(q[q[c>>2]+84>>2]|q[c+92>>2]){break i}}g=e}q[i+28760>>2]=g;b=q[f+644>>2];if(b){q[a+29592>>2]=q[a+29592>>2]|2}b=b|q[a+29592>>2]>>>1&1;q[f+644>>2]=b;if(b){break g}if(!(r[d+60|0]&8|r[d+66|0]&64)){q[a+28756>>2]=0;break g}a=q[f>>2];q[a+296>>2]=q[a+296>>2]|1;break g}q[h+24>>2]=1376;q[h+20>>2]=12455;q[h+16>>2]=36019;Ta(0,0,10109,h+16|0);I();F()}q[h>>2]=(e|0)<(j|0)?36739:37001;Ta(d,48,36417,h)}Ca=h- -64|0}function qE(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;l=q[q[a+24364>>2]+(q[b+21796>>2]<<2)>>2];a:{if(!(l&12288)){break a}m=o[b+28284|0];if((m|0)<0){break a}m=w(m&255,40)+b|0;r=q[b+21788>>2];u=((r<<4)+(p[b+28e3>>1]>>2)|0)+8|0;t=q[a+25672>>2];v=r<<2&12;r=(q[b+21792>>2]<<4)+(p[b+28002>>1]>>2)|0;n[q[a+12>>2]](q[m+23416>>2]+(((u<>2],v+r|0)|0)|0,q[b+21772>>2],4);r=w(q[b+21776>>2],(q[b+21788>>2]&7)+(r>>1)|0)+((u>>1)- -64<>2];n[q[a+12>>2]](r+t|0,q[m+23424>>2]-t|0,2)}b:{if(l&8){ed(a,b,0,1,16,0,c,d,e,0,0,f,q[g>>2],h,q[i>>2],j,k,l&4096,l&16384);break b}if(l&16){f=f- -64|0;h=h- -64|0;ed(a,b,0,0,8,8<>2],c,d,e,0,0,f,q[g>>2],h,q[i>>2],j,k,l&4096,l&16384);ed(a,b,8,0,8,8<>2],c,d,e,0,4,f,q[g>>2],h,q[i>>2],j,k,l&8192,l&32768);break b}if(!(l&32)){v=k+8|0;x=j+8|0;t=h+128|0;r=f+128|0;y=k+4|0;z=j+4|0;A=h- -64|0;B=f- -64|0;u=0;while(1){if((u|0)==4){break b}f=u<<1;h=f&4;k=u<<2;m=k&4;f=s[(b+f|0)+28552>>1];c:{if(f&8){ed(a,b,k,1,8,0,c,d,e,m,h,B,q[g+4>>2],A,q[i+4>>2],z,y,f&4096,f&16384);break c}if(f&16){j=f&4096;f=f&16384;ed(a,b,k,0,4,4<>2],c,d,e,m,h,r,q[g+4>>2],t,q[i+4>>2],z,y,j,f);ed(a,b,k|2,0,4,4<>2],c,d,e,m,h|2,r,q[g+4>>2],t,q[i+4>>2],z,y,j,f);break c}if(!(f&32)){C=f&16384;f=f&4096;j=0;while(1){if((j|0)==4){break c}ed(a,b,j+k|0,1,4,0,c,d,e,m|j<<1&2,h|j&2,r,q[g+8>>2],t,q[i+8>>2],x,v,f,C);j=j+1|0;continue}}j=f&4096;f=f&16384;ed(a,b,k,0,8,q[b+21780>>2]<<2,c,d,e,m,h,r,q[g+8>>2],t,q[i+8>>2],x,v,j,f);ed(a,b,k|1,0,8,q[b+21780>>2]<<2,c,d,e,m|2,h,r,q[g+8>>2],t,q[i+8>>2],x,v,j,f)}u=u+1|0;continue}}f=f- -64|0;h=h- -64|0;j=j+4|0;k=k+4|0;ed(a,b,0,0,16,q[b+21780>>2]<<3,c,d,e,0,0,f,q[g+4>>2],h,q[i+4>>2],j,k,l&4096,l&16384);ed(a,b,4,0,16,q[b+21780>>2]<<3,c,d,e,4,0,f,q[g+4>>2],h,q[i+4>>2],j,k,l&8192,l&32768)}d:{if(!(l&49152)){break d}c=o[b+28324|0];if((c|0)<0){break d}c=w(c&255,40)+b|0;e=q[b+21788>>2];f=((e<<4)+(p[b+28160>>1]>>2)|0)+8|0;d=q[a+25672>>2];g=e<<2&12;e=(q[b+21792>>2]<<4)+(p[b+28162>>1]>>2)|0;n[q[a+12>>2]](q[c+25336>>2]+(((f<>2],g+e|0)|0)|0,q[b+21772>>2],4);d=w(q[b+21776>>2],(q[b+21788>>2]&7)+(e>>1)|0)+((f>>1)- -64<>2];n[q[a+12>>2]](d+b|0,q[c+25344>>2]-b|0,2)}}function pE(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;l=q[q[a+24364>>2]+(q[b+21796>>2]<<2)>>2];a:{if(!(l&12288)){break a}m=o[b+28284|0];if((m|0)<0){break a}m=w(m&255,40)+b|0;r=q[b+21788>>2];u=((r<<4)+(p[b+28e3>>1]>>2)|0)+8|0;t=q[a+25672>>2];v=r<<2&12;r=(q[b+21792>>2]<<4)+(p[b+28002>>1]>>2)|0;n[q[a+12>>2]](q[m+23416>>2]+(((u<>2],v+r|0)|0)|0,q[b+21772>>2],4);r=w(q[b+21776>>2],(q[b+21788>>2]&7)+(r>>1)|0)+((u>>1)- -64<>2];n[q[a+12>>2]](r+t|0,q[m+23424>>2]-t|0,2)}b:{if(l&8){dd(a,b,0,1,16,0,c,d,e,0,0,f,q[g>>2],h,q[i>>2],j,k,l&4096,l&16384);break b}if(l&16){f=f- -64|0;h=h- -64|0;dd(a,b,0,0,8,8<>2],c,d,e,0,0,f,q[g>>2],h,q[i>>2],j,k,l&4096,l&16384);dd(a,b,8,0,8,8<>2],c,d,e,0,4,f,q[g>>2],h,q[i>>2],j,k,l&8192,l&32768);break b}if(!(l&32)){v=k+8|0;x=j+8|0;t=h+128|0;r=f+128|0;y=k+4|0;z=j+4|0;A=h- -64|0;B=f- -64|0;u=0;while(1){if((u|0)==4){break b}f=u<<1;h=f&4;k=u<<2;m=k&4;f=s[(b+f|0)+28552>>1];c:{if(f&8){dd(a,b,k,1,8,0,c,d,e,m,h,B,q[g+4>>2],A,q[i+4>>2],z,y,f&4096,f&16384);break c}if(f&16){j=f&4096;f=f&16384;dd(a,b,k,0,4,4<>2],c,d,e,m,h,r,q[g+4>>2],t,q[i+4>>2],z,y,j,f);dd(a,b,k|2,0,4,4<>2],c,d,e,m,h|2,r,q[g+4>>2],t,q[i+4>>2],z,y,j,f);break c}if(!(f&32)){C=f&16384;f=f&4096;j=0;while(1){if((j|0)==4){break c}dd(a,b,j+k|0,1,4,0,c,d,e,m|j<<1&2,h|j&2,r,q[g+8>>2],t,q[i+8>>2],x,v,f,C);j=j+1|0;continue}}j=f&4096;f=f&16384;dd(a,b,k,0,8,q[b+21780>>2]<<2,c,d,e,m,h,r,q[g+8>>2],t,q[i+8>>2],x,v,j,f);dd(a,b,k|1,0,8,q[b+21780>>2]<<2,c,d,e,m|2,h,r,q[g+8>>2],t,q[i+8>>2],x,v,j,f)}u=u+1|0;continue}}f=f- -64|0;h=h- -64|0;j=j+4|0;k=k+4|0;dd(a,b,0,0,16,q[b+21780>>2]<<3,c,d,e,0,0,f,q[g+4>>2],h,q[i+4>>2],j,k,l&4096,l&16384);dd(a,b,4,0,16,q[b+21780>>2]<<3,c,d,e,4,0,f,q[g+4>>2],h,q[i+4>>2],j,k,l&8192,l&32768)}d:{if(!(l&49152)){break d}c=o[b+28324|0];if((c|0)<0){break d}c=w(c&255,40)+b|0;e=q[b+21788>>2];f=((e<<4)+(p[b+28160>>1]>>2)|0)+8|0;d=q[a+25672>>2];g=e<<2&12;e=(q[b+21792>>2]<<4)+(p[b+28162>>1]>>2)|0;n[q[a+12>>2]](q[c+25336>>2]+(((f<>2],g+e|0)|0)|0,q[b+21772>>2],4);d=w(q[b+21776>>2],(q[b+21788>>2]&7)+(e>>1)|0)+((f>>1)- -64<>2];n[q[a+12>>2]](d+b|0,q[c+25344>>2]-b|0,2)}}function _Q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=d^-1;G=r[(b?c:0-d|0)+a|0];c=a+c|0;g=a+ -1|0;H=r[(b?c:g)|0];b=a-d|0;I=r[b+7|0];y=r[b+6|0];q=r[b+5|0];s=r[b+4|0];t=r[b+3|0];u=r[b+2|0];z=r[b+1|0];J=r[c|0];A=r[b|0];v=r[g|0];b=a+d|0;B=r[b+ -1|0];C=d<<1;m=C+a|0;x=r[m+ -1|0];c=w(d,3)+a|0;n=r[c+ -1|0];D=w(d,6);e=D+a|0;i=r[e+ -1|0];p=d<<2;l=p+a|0;j=r[l+ -1|0];g=w(d,5)+a|0;k=r[g+ -1|0];f=(i+(j+(k<<1)|0)|0)+2>>>2|0;d=w(d,7)+a|0;E=r[d+ -1|0];h=(E+((i<<1)+k|0)|0)+2>>>2|0;F=(f+h|0)+1>>>1|0;o[d+2|0]=F;i=(i+w(E,3)|0)+2>>>2|0;o[d|0]=(i+h|0)+1>>>1;o[d+1|0]=((f+i|0)+(h<<1)|0)+2>>>2;o[e|0]=F;i=h;h=(((j<<1)+n|0)+k|0)+2>>>2|0;k=(i+(h+(f<<1)|0)|0)+2>>>2|0;o[d+3|0]=k;o[(D|1)+a|0]=k;k=(f+h|0)+1>>>1|0;o[d+4|0]=k;o[e+2|0]=k;o[g|0]=k;i=f;f=(((n<<1)+x|0)+j|0)+2>>>2|0;j=(i+(f+(h<<1)|0)|0)+2>>>2|0;o[d+5|0]=j;o[e+3|0]=j;o[g+1|0]=j;j=(f+h|0)+1>>>1|0;o[d+6|0]=j;o[e+4|0]=j;o[g+2|0]=j;o[l|0]=j;i=d;d=n;n=B+2|0;d=d+(n+(x<<1)|0)>>>2|0;h=(h+(d+(f<<1)|0)|0)+2>>>2|0;o[i+7|0]=h;o[e+5|0]=h;o[g+3|0]=h;o[(p|1)+a|0]=h;h=(d+f|0)+1>>>1|0;o[e+6|0]=h;o[g+4|0]=h;o[(p|2)+a|0]=h;o[c|0]=h;i=e;e=(((B<<1)+v|0)+x|0)+2>>>2|0;h=e+2|0;f=f+(h+(d<<1)|0)>>>2|0;o[i+7|0]=f;o[g+5|0]=f;o[(p|3)+a|0]=f;o[c+1|0]=f;f=(d+e|0)+1>>>1|0;o[g+6|0]=f;o[l+4|0]=f;o[c+2|0]=f;o[m|0]=f;f=g;g=(n+H|0)+(v<<1)>>>2|0;d=(d+(g+(e<<1)|0)|0)+2>>>2|0;o[f+7|0]=d;o[l+5|0]=d;o[c+3|0]=d;o[(C|1)+a|0]=d;f=g+1|0;d=f+e>>>1|0;o[l+6|0]=d;o[c+4|0]=d;o[m+2|0]=d;o[b|0]=d;n=l;l=A+2|0;d=(l+v|0)+(J<<1)>>>2|0;e=d+(h+(g<<1)|0)>>>2|0;o[n+7|0]=e;o[c+5|0]=e;o[m+3|0]=e;o[b+1|0]=e;e=d+f>>>1|0;o[c+6|0]=e;o[m+4|0]=e;o[b+2|0]=e;o[a|0]=e;h=c;c=g;g=z+2|0;e=(g+G|0)+(A<<1)>>>2|0;f=e+2|0;c=(c+f|0)+(d<<1)>>>2|0;o[h+7|0]=c;o[m+5|0]=c;o[b+3|0]=c;o[a+1|0]=c;c=d;h=e<<1;d=(l+(z<<1)|0)+u>>>2|0;e=d+2|0;c=c+(h+e|0)>>>2|0;o[m+6|0]=c;o[b+4|0]=c;o[a+2|0]=c;c=(g+(u<<1)|0)+t>>>2|0;d=c+(f+(d<<1)|0)>>>2|0;o[m+7|0]=d;o[b+5|0]=d;o[a+3|0]=d;d=(((t<<1)+u|0)+s|0)+2>>>2|0;g=d+(e+(c<<1)|0)>>>2|0;o[b+6|0]=g;o[a+4|0]=g;g=b;b=(((s<<1)+t|0)+q|0)+2>>>2|0;c=(b+(c+(d<<1)|0)|0)+2>>>2|0;o[g+7|0]=c;g=(((q<<1)+s|0)+y|0)+2>>>2|0;o[a+7|0]=(b+(g<<1)+((((y<<1)+q|0)+I|0)+2>>>2)|0)+2>>>2;o[a+6|0]=(g+(d+(b<<1)|0)|0)+2>>>2;o[a+5|0]=c}function ZQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=a-d|0;y=r[g+1|0];q=y+2|0;B=r[g+3|0];C=r[g+2|0];l=B+(q+(C<<1)|0)>>>2|0;j=r[g|0];G=j+2|0;h=(G+(y<<1)|0)+C>>>2|0;k=d^-1;e=(q+r[(b?k:0-d|0)+a|0]|0)+(j<<1)>>>2|0;q=r[g+7|0];D=r[g+5|0];E=r[g+6|0];z=(q+(D+(E<<1)|0)|0)+2>>>2|0;F=r[g+4|0];x=((F+(D<<1)|0)+E|0)+2>>>2|0;y=c?r[g+8|0]:q;c=a+k|0;g=a+ -1|0;K=r[(b?c:g)|0];L=r[c|0];n=r[g|0];b=a+d|0;p=r[b+ -1|0];c=w(d,7)+a|0;M=r[c+ -1|0];A=d<<2;t=A+a|0;m=r[t+ -1|0];H=d<<1;k=H+a|0;u=r[k+ -1|0];g=w(d,3)+a|0;s=r[g+ -1|0];f=(m+(u+(s<<1)|0)|0)+2>>>2|0;j=w(d,5)+a|0;v=r[j+ -1|0];i=(v+((m<<1)+s|0)|0)+2>>>2|0;I=w(d,6);d=I+a|0;J=r[d+ -1|0];m=(J+(m+(v<<1)|0)|0)+2>>>2|0;o[d|0]=(m+((i<<1)+f|0)|0)+2>>>2;o[c|0]=((m<<1)+i+((M+(v+(J<<1)|0)|0)+2>>>2)|0)+2>>>2;m=p+2|0;s=(m+(u<<1)|0)+s>>>2|0;p=(u+(n+(p<<1)|0)|0)+2>>>2|0;u=p+2|0;v=((s<<1)+u|0)+f>>>2|0;o[(I|1)+a|0]=v;o[t|0]=v;f=((s+(f<<1)|0)+i|0)+2>>>2|0;o[c+1|0]=f;o[j|0]=f;f=(m+K|0)+(n<<1)>>>2|0;n=(n+G|0)+(L<<1)>>>2|0;i=(u+(f<<1)|0)+n>>>2|0;o[d+2|0]=i;o[(A|1)+a|0]=i;o[k|0]=i;i=(s+(f+(p<<1)|0)|0)+2>>>2|0;o[c+2|0]=i;o[j+1|0]=i;o[g|0]=i;i=e+2|0;f=(i+f|0)+(n<<1)>>>2|0;o[c+3|0]=f;o[j+2|0]=f;o[g+1|0]=f;o[b|0]=f;p=e+1|0;f=p+n>>>1|0;o[d+3|0]=f;o[(A|2)+a|0]=f;o[(H|1)+a|0]=f;o[a|0]=f;f=h+2|0;e=n+(f+(e<<1)|0)>>>2|0;o[c+4|0]=e;o[j+3|0]=e;o[g+2|0]=e;o[b+1|0]=e;e=h+p>>>1|0;o[d+4|0]=e;o[(A|3)+a|0]=e;o[k+2|0]=e;o[a+1|0]=e;e=l+(i+(h<<1)|0)>>>2|0;o[c+5|0]=e;o[j+4|0]=e;o[g+3|0]=e;o[b+2|0]=e;h=(h+l|0)+1>>>1|0;o[d+5|0]=h;o[t+4|0]=h;o[k+3|0]=h;o[a+2|0]=h;h=(((B<<1)+C|0)+F|0)+2>>>2|0;e=h+(f+(l<<1)|0)>>>2|0;o[c+6|0]=e;o[j+5|0]=e;o[g+4|0]=e;o[b+3|0]=e;e=(h+l|0)+1>>>1|0;o[d+6|0]=e;o[t+5|0]=e;o[k+4|0]=e;o[a+3|0]=e;e=c;c=(((F<<1)+B|0)+D|0)+2>>>2|0;l=(c+(l+(h<<1)|0)|0)+2>>>2|0;o[e+7|0]=l;o[j+6|0]=l;o[g+5|0]=l;o[b+4|0]=l;e=d;d=(c+h|0)+1>>>1|0;o[e+7|0]=d;o[t+6|0]=d;o[k+5|0]=d;o[a+4|0]=d;d=((h+(c<<1)|0)+x|0)+2>>>2|0;o[j+7|0]=d;o[g+6|0]=d;o[b+5|0]=d;d=(c+x|0)+1>>>1|0;o[t+7|0]=d;o[k+6|0]=d;o[a+5|0]=d;c=((c+(x<<1)|0)+z|0)+2>>>2|0;o[g+7|0]=c;o[b+6|0]=c;c=(x+z|0)+1>>>1|0;o[k+7|0]=c;o[a+6|0]=c;c=b;b=(((q<<1)+E|0)+y|0)+2>>>2|0;o[c+7|0]=(b+((z<<1)+x|0)|0)+2>>>2;o[a+7|0]=(b+z|0)+1>>>1}function Hc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=w(e,13);c=c-((f&2147483646)<<1)|0;i=f>>1<<1;f=b;while(1){if((k|0)!=13){m=c+ -2|0;p[f>>1]=s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[m>>1]|0,-5)|0);p[f+2>>1]=s[c+8>>1]+((s[m>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0);p[f+4>>1]=s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0);p[f+6>>1]=s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0);p[f+8>>1]=s[c+14>>1]+((s[c+4>>1]+w(s[c+10>>1]+s[c+8>>1]|0,20)|0)+w(s[c+12>>1]+s[c+6>>1]|0,-5)|0);p[f+10>>1]=s[c+16>>1]+((s[c+6>>1]+w(s[c+12>>1]+s[c+10>>1]|0,20)|0)+w(s[c+14>>1]+s[c+8>>1]|0,-5)|0);p[f+12>>1]=s[c+18>>1]+((s[c+8>>1]+w(s[c+14>>1]+s[c+12>>1]|0,20)|0)+w(s[c+16>>1]+s[c+10>>1]|0,-5)|0);p[f+14>>1]=s[c+20>>1]+((s[c+10>>1]+w(s[c+16>>1]+s[c+14>>1]|0,20)|0)+w(s[c+18>>1]+s[c+12>>1]|0,-5)|0);k=k+1|0;c=c+i|0;f=(e<<1)+f|0;continue}break}c=((h<<1)+b|0)+w(e,-22)|0;m=0;v=0-e<<1;x=w(e,3)<<1;q=e<<1;y=0-q<<1;z=w(e,10)<<1;A=w(e,9)<<1;B=e<<4;C=w(e,7)<<1;D=w(e,6)<<1;E=w(e,5)<<1;F=e<<3;G=(d&-2)<<1;b=d>>1;H=w(b,3)<<1;I=b<<3;J=w(b,5)<<1;K=w(b,6)<<1;L=w(b,7)<<1;while(1){if((m|0)!=8){M=p[c+z>>1];t=p[c+A>>1];r=p[c+B>>1];k=p[c+C>>1];d=p[c+D>>1];e=p[c+E>>1];f=p[c+F>>1];h=p[c+x>>1];u=h+512|0;l=p[c+q>>1];n=p[c>>1];i=p[(q<<1)+c>>1];o=p[c+v>>1];g=((u+p[c+y>>1]|0)+w(l+n|0,20)|0)+w(i+o|0,-5)|0;j=g>>10;p[a>>1]=j>>>0<512?j:(g>>31^-1)&511;g=o;o=f+512|0;g=((g+o|0)+w(i+l|0,20)|0)+w(h+n|0,-5)|0;j=g>>10;p[(b<<1)+a>>1]=j>>>0<512?j:(g>>31^-1)&511;g=n;n=e+512|0;g=((g+n|0)+w(h+i|0,20)|0)+w(f+l|0,-5)|0;j=g>>10;p[a+G>>1]=j>>>0<512?j:(g>>31^-1)&511;l=(((d+l|0)+w(f+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;g=l>>10;p[a+H>>1]=g>>>0<512?g:(l>>31^-1)&511;h=(((i+k|0)+w(e+f|0,20)|0)+w(d+h|0,-5)|0)+512|0;i=h>>10;p[a+I>>1]=i>>>0<512?i:(h>>31^-1)&511;f=((r+u|0)+w(d+e|0,20)|0)+w(f+k|0,-5)|0;h=f>>10;p[a+J>>1]=h>>>0<512?h:(f>>31^-1)&511;e=((o+t|0)+w(d+k|0,20)|0)+w(e+r|0,-5)|0;f=e>>10;p[a+K>>1]=f>>>0<512?f:(e>>31^-1)&511;d=((n+M|0)+w(k+r|0,20)|0)+w(d+t|0,-5)|0;e=d>>10;p[a+L>>1]=e>>>0<512?e:(d>>31^-1)&511;m=m+1|0;c=c+2|0;a=a+2|0;continue}break}}function pn(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=Ca-48|0;Ca=f;a:{if(c>>>0<=2){c=c<<2;h=q[c+200572>>2];k=q[c+200560>>2];while(1){c=q[b+4>>2];b:{if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break b}c=qb(b)}if((c|0)==32|c+ -9>>>0<5){continue}break}e=c+ -43|0;c:{if(e>>>0>2){g=1;break c}g=1;if(!(e-1)){break c}g=(c|0)==45?-1:1;c=q[b+4>>2];if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break c}c=qb(b)}e=0;d:{e:{while(1){if(o[e+200490|0]==(c|32)){f:{if(e>>>0>6){break f}c=q[b+4>>2];if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break f}c=qb(b)}e=e+1|0;if((e|0)!=8){continue}break e}break}if((e|0)!=3){if((e|0)==8){break e}if(!d|e>>>0<4){break d}if((e|0)==8){break e}}c=q[b+104>>2];if(c){q[b+4>>2]=q[b+4>>2]+ -1}if(!d|e>>>0<4){break e}while(1){if(c){q[b+4>>2]=q[b+4>>2]+ -1}e=e+ -1|0;if(e>>>0>3){continue}break}}MA(f,x(x(g|0)*x(H)));g=q[f+8>>2];h=q[f+12>>2];i=q[f>>2];j=q[f+4>>2];break a}g:{h:{i:{if(e){break i}e=0;while(1){if(o[e+200499|0]!=(c|32)){break i}j:{if(e>>>0>1){break j}c=q[b+4>>2];if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break j}c=qb(b)}e=e+1|0;if((e|0)!=3){continue}break}break h}k:{l:{if(e>>>0>3){break l}switch(e-1|0){case 2:break h;case 0:case 1:break l;default:break k}}if(q[b+104>>2]){q[b+4>>2]=q[b+4>>2]+ -1}break g}m:{if((c|0)!=48){break m}e=q[b+4>>2];n:{if(e>>>0>2]){q[b+4>>2]=e+1;e=r[e|0];break n}e=qb(b)}if((e|32)==120){jB(f+16|0,b,k,h,g,d);g=q[f+24>>2];h=q[f+28>>2];i=q[f+16>>2];j=q[f+20>>2];break a}if(!q[b+104>>2]){break m}q[b+4>>2]=q[b+4>>2]+ -1}iB(f+32|0,b,c,k,h,g,d);g=q[f+40>>2];h=q[f+44>>2];i=q[f+32>>2];j=q[f+36>>2];break a}o:{c=q[b+4>>2];p:{if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break p}c=qb(b)}if((c|0)==40){e=1;break o}g=0;h=2147450880;if(!q[b+104>>2]){break a}q[b+4>>2]=q[b+4>>2]+ -1;break a}while(1){q:{c=q[b+4>>2];r:{if(c>>>0>2]){q[b+4>>2]=c+1;c=r[c|0];break r}c=qb(b)}if(!(c+ -48>>>0<10|c+ -65>>>0<26|(c|0)==95)){if(c+ -97>>>0>=26){break q}}e=e+1|0;continue}break}g=0;h=2147450880;if((c|0)==41){break a}c=q[b+104>>2];if(c){q[b+4>>2]=q[b+4>>2]+ -1}if(d){if(!e){break a}while(1){e=e+ -1|0;if(c){q[b+4>>2]=q[b+4>>2]+ -1}if(e){continue}break}break a}}q[865816]=28;Nc(b,0,0)}g=0;h=0}q[a>>2]=i;q[a+4>>2]=j;q[a+8>>2]=g;q[a+12>>2]=h;Ca=f+48|0}function tk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;g=Ca-144|0;Ca=g;j=vb(a);a:{if(j>>>0>=256){q[g>>2]=j;Ta(b,16,28212,g);f=-1094995529;break a}k=xe(173836);q[g+140>>2]=k;if(!k){f=-48;break a}e=q[k+4>>2];h=q[a>>2];f=q[a+4>>2]-h|0;q[e+4824>>2]=f;if(f>>>0>=4097){q[g+132>>2]=4096;q[g+128>>2]=f;Ta(b,48,28728,g+128|0);q[e+4824>>2]=4096;h=q[a>>2];f=4096}Va(e+728|0,h,f);f=Cc(a);q[e>>2]=f;b:{c:{if(f>>>0<=31){h=q[(f<<2)+c>>2];if(h){break c}}q[g+16>>2]=f;Ta(b,16,6440,g+16|0);f=-1094995529;break b}h=q[h+4>>2];f=q[h+1700>>2];if((f|0)>=15){q[g+32>>2]=f;Ta(b,16,29233,g+32|0);f=-1094995529;break b}i=f+ -11|0;d:{if(!(i-1|0?i>>>0<=2:0)){x=e,y=Xa(a),q[x+4>>2]=y;x=e,y=Xa(a),q[x+8>>2]=y;i=vb(a);q[e+12>>2]=i+1;f=vb(a);if((i|0)>=1){q[e+16>>2]=f;Oc(b,30152,0);break d}q[e+20>>2]=f+1;f=vb(a);q[e+24>>2]=f+1;if((f|q[e+20>>2]+ -1)>>>0>=32){Ta(b,16,30621,0);f=-1094995529;break b}f=q[h+1700>>2];x=e,y=Xa(a),q[x+28>>2]=y;x=e,y=Ua(a,2),q[x+32>>2]=y;f=w(f,6)+ -22|0;x=e,y=oc(a)+f|0,q[x+36>>2]=y;x=e,y=oc(a)+f|0,q[x+40>>2]=y;i=oc(a);q[e+44>>2]=i;f=-1094995529;if(i+12>>>0>24){break b}x=e,y=Xa(a),q[x+52>>2]=y;x=e,y=Xa(a),q[x+56>>2]=y;f=Xa(a);q[e+64>>2]=0;q[e+60>>2]=f;f=Va(e+68|0,h+1188|0,96);i=Va(e+164|0,h+1284|0,384);e:{f:{if(q[a+8>>2]>=(d|0)){break f}if(!cE(h,b)){break f}x=e,y=Xa(a),q[x+64>>2]=y;f=qo(a,h,e,0,f,i);if((f|0)<0){break b}a=oc(a);q[e+48>>2]=a;f=-1094995529;if(a+12>>>0>24){break b}a=q[e+44>>2];break e}a=q[e+44>>2];q[e+48>>2]=a}oo(e,0,a,q[h+1700>>2]);oo(e,1,q[e+48>>2],q[h+1700>>2]);bE(e,h);a=q[e+44>>2];d=q[e+48>>2];if((a|0)!=(d|0)){q[e+724>>2]=1}if(o[b+576|0]&1){f=q[e+4>>2];h=q[e+12>>2];i=q[e>>2];m=q[e+52>>2];n=q[e+56>>2];p=q[e+60>>2];r=q[e+64>>2];s=q[e+28>>2];t=q[e+36>>2];u=q[e+40>>2];v=q[e+24>>2];l=g- -64|0;q[l>>2]=q[e+20>>2];q[l+4>>2]=v;q[g+76>>2]=t;q[g+80>>2]=u;q[g+88>>2]=d;q[g+84>>2]=a;q[g+72>>2]=s?32490:27702;q[g+104>>2]=r?34042:27702;q[g+100>>2]=p?33703:27702;q[g+96>>2]=n?33381:27702;q[g+92>>2]=m?33024:27702;q[g+52>>2]=i;q[g+60>>2]=h;q[g+48>>2]=j;q[g+56>>2]=f?31632:31988;Ta(b,48,31083,g+48|0)}lb(((j<<2)+c|0)+128|0);q[((j<<2)+c|0)+128>>2]=k;f=0;break a}q[g+112>>2]=f;Oc(b,29772,g+112|0)}f=-1163346256}lb(g+140|0)}Ca=g+144|0;return f}function Wv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,s=x(0),t=0,v=0,y=0,z=0,A=0,B=0,C=0,D=x(0),E=0,F=0,G=x(0),H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;t=Ca-384|0;Ca=t;E=q[c+44>>2];v=!E<<2;j=q[c+84>>2];y=q[c+76>>2];p=q[d+87948>>2];z=q[d+87944>>2];a:{if(q[c+16>>2]){g=c+385488|0;h=j<<2;i=c+388176|0;while(1){if((f|0)==(v|0)){break a}Va((w((r[d+87932|0]<<1)+f|0,192)+d|0)+69904|0,i,h);Va((w((r[d+87932|0]<<1)+f|0,192)+d|0)+77968|0,g,h);f=f+1|0;continue}}if(E){break a}g=d+69904|0;i=d+77968|0;while(1){if((f|0)==4){break a}Va(g+w((r[d+87932|0]<<1)+f|0,192)|0,g+w((r[d+87940|0]<<1)+f|0,192)|0,192);Va(i+w((r[d+87932|0]<<1)+f|0,192)|0,i+w((r[d+87940|0]<<1)+f|0,192)|0,192);f=f+1|0;continue}}A=j<<2;k=q[d+8>>2];f=0;B=d+87932|0;b:while(1){c:{if((f|0)==(k|0)){i=0;I=(j|0)>0?j:0;J=v|1;K=j&1;L=y&1;M=w(y,320)+b|0;H=d+87932|0;b=((j|0)>1?j:1)&-2;N=b<<2;O=y<<3;P=b<<3;break c}i=f+1|0;m=i+B|0;g=w(f,192)+c|0;o=g+385488|0;h=g+388176|0;f=r[f+B|0]<<1;while(1)if(f>>>0>=r[m|0]<<1>>>0){f=i;continue b}else{g=w(f+v|0,192)+d|0;Va(g+69904|0,h,A);Va(g+77968|0,o,A);f=f+1|0;continue}}break}while(1){d:{if(i>>>0>>0){b=i+1|0;A=b+H|0;C=(w(i,192)+c|0)+386832|0;B=N+C|0;l=r[i+H|0]<<1;while(1){if(l>>>0>=r[A|0]<<1>>>0){break d}e:{if(!(q[e>>2]==(i|0)|E|q[e+4>>2]==(i|0))){m=l+v|0;k=0;while(1)if((k|0)==(I|0)){f=t;h=f+192|0;break e}else{f=0;F=k<<2;o=F+t|0;q[o>>2]=0;h=(t+192|0)+F|0;q[h>>2]=0;G=x(0);s=x(0);while(1){if((f|0)!=(J|0)){D=u[(f<<2)+105264>>2];g=(w(m-f|0,192)+d|0)+F|0;G=x(G+x(D*u[g+77968>>2]));s=x(s+x(u[g+69904>>2]*D));f=f+1|0;continue}break}u[h>>2]=s;u[o>>2]=G;k=k+1|0;continue}}f=(w(l,192)+d|0)+77968|0;h=(w(l+v|0,192)+d|0)+69904|0}g=((l<<9)+a|0)+O|0;n[q[c+390988>>2]](g,M,h,j,l+2|0);f:{if(!(q[e>>2]==(i|0)|q[e+4>>2]==(i|0))){n[q[((p<<2)+c|0)+390992>>2]](g,C,f,z,y,j);break f}h=p&1;m=g+(h<<2)|0;f=0;g=1-(p+L&2)|0;D=x(h+(g^0-h)|0);s=x(g|0);while(1){o=f|1;if((o|0)<(j|0)){h=f<<3;g=h+m|0;u[g>>2]=u[g>>2]+x(u[(f<<2)+C>>2]*s);g=m+(h|8)|0;u[g>>2]=u[g>>2]+x(u[(o<<2)+C>>2]*D);f=f+2|0;continue}break}if(!K){break f}f=m+P|0;u[f>>2]=u[f>>2]+x(u[B>>2]*s)}l=l+1|0;p=p+1&3;z=j+z&511;continue}}q[d+87948>>2]=p;q[d+87944>>2]=z;Ca=t+384|0;return}k=q[d+8>>2];i=b;continue}}function YD(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,u=0;f=Ca-48|0;Ca=f;no(a);mo(a);WD(a,b);a:{b:while(1){c=q[b+23412>>2];if(g>>>0>>0){c=(g<<2)+b|0;s=c+23404|0;u=c+27768|0;k=q[b+34752>>2];h=0;l=1;while(1){c:{d:{e:{f:{if((h|0)>2]){c=((g<<8)+b|0)+(h<<3)|0;d=r[c+27256|0];if(d>>>0>2){break f}c=q[c+27260>>2];g:{if(d-2){i=c+1|0;e=q[b+34756>>2];if(i>>>0<=e>>>0){k=e+ -1&(d?i:c^-1)+k;d=Ni(a,k,f+44|0);c=q[a+29572>>2];j=q[f+44>>2];while(1){if((c|0)<1){d=12394;break d}c=c+ -1|0;e=q[((c<<2)+a|0)+28364>>2];if((d|0)!=q[e+88>>2]|!(q[e+640>>2]&j)){continue}break}c=k;break g}Ta(q[a+4>>2],16,4319,0);c=-1094995529;break a}i=Ni(a,c,f+44|0);if(i>>>0>31){break e}d=12394;e=q[((i<<2)+a|0)+28492>>2];if(!e){break d}j=q[f+44>>2];if(!(j&q[e+640>>2])){break d}}q[e+96>>2]=c;d=13520;if(lo(a,e)){break d}n=q[s>>2];i=(n>>>0>l>>>0?n:l)+ -1|0;d=h;while(1){h:{c=d;d=c+1|0;if(d>>>0>=n>>>0){c=i;break h}o=(w(g,1920)+b|0)+w(c,40)|0;p=q[o+23452>>2];if(!p|q[e+100>>2]!=q[p+100>>2]|q[e+96>>2]!=q[o+23448>>2]){continue}}break}while(1){if((c|0)>(h|0)){d=(w(g,1920)+b|0)+w(c,40)|0;Va(d+23416|0,d+23376|0,40);c=c+ -1|0;continue}break}c=((w(g,1920)+b|0)+w(h,40)|0)+23416|0;ko(c,e);if(q[a+26388>>2]==3){break c}jo(c,j);break c}g=g+1|0;continue b}q[f+8>>2]=373;q[f+4>>2]=11218;q[f>>2]=10091;Ta(0,0,8057,f);I();F()}Ta(q[a+4>>2],16,6464,0);c=-1094995529;break a}Ta(q[a+4>>2],16,d,0);Za(((w(g,1920)+b|0)+w(h,40)|0)+23416|0,0,40)}l=l+1|0;h=h+1|0;continue}}break}while(1){i:{if(m>>>0>>0){c=w(m,40)+a|0;h=c+28308|0;k=c+28320|0;i=c+28312|0;g=c+28284|0;l=((m<<2)+b|0)+23404|0;e=0;while(1){if(e>>>0>=t[l>>2]){break i}d=(w(m,1920)+b|0)+w(e,40)|0;j=d+23452|0;c=q[j>>2];if(!((q[d+23440>>2]&3)==3|q[a+26388>>2]!=3?c:0)){c=q[a+4>>2];q[f+32>>2]=q[i>>2];Ta(c,16,15294,f+32|0);c=0;while(1){if((c|0)!=16){q[((c<<2)+a|0)+28692>>2]=-2147483648;c=c+1|0;continue}break}c=-1;if(!q[k>>2]|((q[h>>2]&3)!=3?q[a+26388>>2]==3:0)){break a}Va(d+23416|0,g,40);c=q[j>>2]}e=e+1|0;if(q[q[q[q[c>>2]+248>>2]>>2]+8>>2]>0){continue}break}q[f+24>>2]=413;q[f+20>>2]=11218;q[f+16>>2]=16328;Ta(0,0,8057,f+16|0);I();F()}c=0;if(!q[a+26384>>2]){break a}VD(b);break a}m=m+1|0;c=q[b+23412>>2];continue}}Ca=f+48|0;return c}function YQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=a-d|0;s=r[f+1|0];n=s+2|0;u=r[f+3|0];v=r[f+2|0];x=u+(n+(v<<1)|0)>>>2|0;k=r[f|0];C=k+2|0;D=(C+(s<<1)|0)+v>>>2|0;i=d^-1;E=(n+r[(b?i:0-d|0)+a|0]|0)+(k<<1)>>>2|0;n=r[f+7|0];y=r[f+5|0];z=r[f+6|0];F=(n+(y+(z<<1)|0)|0)+2>>>2|0;A=r[f+4|0];B=((A+(y<<1)|0)+z|0)+2>>>2|0;s=c?r[f+8|0]:n;c=a+i|0;f=a+ -1|0;L=r[(b?c:f)|0];M=r[c|0];p=r[f|0];b=a+d|0;G=r[b+ -1|0];H=d<<1;k=H+a|0;e=r[k+ -1|0];c=w(d,3)+a|0;h=r[c+ -1|0];I=w(d,6);i=I+a|0;j=r[i+ -1|0];t=d<<2;q=t+a|0;m=r[q+ -1|0];f=w(d,5)+a|0;l=r[f+ -1|0];g=(j+(m+(l<<1)|0)|0)+2>>>2|0;d=w(d,7)+a|0;J=r[d+ -1|0];K=(J+(l+(j<<1)|0)|0)+2>>>2|0;o[d|0]=((((j+w(J,3)|0)+2>>>2|0)+g|0)+(K<<1)|0)+2>>>2;l=(l+(h+(m<<1)|0)|0)+2>>>2|0;j=((l+(g<<1)|0)+K|0)+2>>>2|0;o[d+1|0]=j;o[i|0]=j;j=g;g=(m+(e+(h<<1)|0)|0)+2>>>2|0;m=(j+(g+(l<<1)|0)|0)+2>>>2|0;o[d+2|0]=m;o[(I|1)+a|0]=m;o[f|0]=m;j=l;m=G+2|0;l=h+(m+(e<<1)|0)>>>2|0;h=(j+(l+(g<<1)|0)|0)+2>>>2|0;o[d+3|0]=h;o[i+2|0]=h;o[f+1|0]=h;o[q|0]=h;j=g;h=(e+(p+(G<<1)|0)|0)+2>>>2|0;g=h+2|0;e=j+(g+(l<<1)|0)>>>2|0;o[d+4|0]=e;o[i+3|0]=e;o[f+2|0]=e;o[(t|1)+a|0]=e;o[c|0]=e;j=h<<1;h=(m+L|0)+(p<<1)>>>2|0;e=(l+(j+h|0)|0)+2>>>2|0;o[d+5|0]=e;o[i+4|0]=e;o[f+3|0]=e;o[(t|2)+a|0]=e;o[c+1|0]=e;o[k|0]=e;p=(p+C|0)+(M<<1)>>>2|0;e=p+(g+(h<<1)|0)>>>2|0;o[d+6|0]=e;o[i+5|0]=e;o[f+4|0]=e;o[(t|3)+a|0]=e;o[c+2|0]=e;o[(H|1)+a|0]=e;o[b|0]=e;g=d;e=E+2|0;d=(e+h|0)+(p<<1)>>>2|0;o[g+7|0]=d;o[i+6|0]=d;o[f+5|0]=d;o[q+4|0]=d;o[c+3|0]=d;o[k+2|0]=d;o[b+1|0]=d;o[a|0]=d;g=i;i=D+2|0;d=p+(i+(E<<1)|0)>>>2|0;o[g+7|0]=d;o[f+6|0]=d;o[q+5|0]=d;o[c+4|0]=d;o[k+3|0]=d;o[b+2|0]=d;o[a+1|0]=d;d=(e+(D<<1)|0)+x>>>2|0;o[f+7|0]=d;o[q+6|0]=d;o[c+5|0]=d;o[k+4|0]=d;o[b+3|0]=d;o[a+2|0]=d;f=(((u<<1)+v|0)+A|0)+2>>>2|0;d=f+(i+(x<<1)|0)>>>2|0;o[q+7|0]=d;o[c+6|0]=d;o[k+5|0]=d;o[b+4|0]=d;o[a+3|0]=d;g=c;d=(((A<<1)+u|0)+y|0)+2>>>2|0;c=(d+((f<<1)+x|0)|0)+2>>>2|0;o[g+7|0]=c;o[k+6|0]=c;o[b+5|0]=c;o[a+4|0]=c;c=((f+(d<<1)|0)+B|0)+2>>>2|0;o[k+7|0]=c;o[b+6|0]=c;o[a+5|0]=c;c=b;b=((d+(B<<1)|0)+F|0)+2>>>2|0;o[c+7|0]=b;o[a+7|0]=((F<<1)+B+((((n<<1)+z|0)+s|0)+2>>>2)|0)+2>>>2;o[a+6|0]=b}function xx(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,w=0;h=Ca-320|0;Ca=h;f=q[a+24>>2];Za(h+256|0,0,64);q[f+8>>2]=b;a:{b:{c:{d:{e:{if((ux(d)|0)!=4095){break e}e=bx(f,d);if((e|0)<=-1){Ta(a,16,43395,0);break c}e=q[f+6476>>2];if((e|0)<13){break e}a=q[f+4>>2];q[h>>2]=e;Ta(a,16,28544,h);break d}e=Cj(a);if((e|0)<0){break c}p=f+6472|0;q[q[f+4>>2]+716>>2]=q[p>>2]+ -1;v=q[d+8>>2];q[f+1004>>2]=0;m=7;f:{while(1){i=Ua(d,3);if((i|0)==7){break f}g=Ua(d,4);if(o[a+577|0]&1){q[h+52>>2]=g;q[h+48>>2]=i;Ta(a,48,43555,h+48|0)}if(q[a+348>>2]?0:(i|0)!=5){break d}if(i>>>0<=3){k=((h+256|0)+(i<<4)|0)+g|0;j=r[k|0];if(j){l=q[f+4>>2];q[h+36>>2]=g;q[h+32>>2]=i;w=l;l=(j|0)!=1;Ta(w,l?16:48,43695,h+32|0);if(l){break d}}o[k|0]=j+1;j=lm(f,i,g);if(!j){a=q[f+4>>2];q[h+20>>2]=g;q[h+16>>2]=i;Ta(a,16,36554,h+16|0);break d}k=q[f+6516>>2];q[j>>2]=1;k=k?960:1024}if(i>>>0>6){e=-558323010;break c}g:{h:{switch(i-1|0){default:n=1;s=s+1|0;e=me(f,j+288|0,d,0);break g;case 0:n=1;e=km(f,d,j);break g;case 1:e=ax(f,d,j);break g;case 2:n=1;e=me(f,j+288|0,d,0);break g;case 3:e=$w(f,d);break g;case 4:if(Kh(f)?0:t){break d}g=mm(a,p,h- -64|0,d,v);if((g|0)<0){e=g;break g}if(t){Ta(a,16,43793,0);nm(f);break g}t=1;e=jd(f,h- -64|0,g,1,1);if(e){break g}e=0;q[f+6484>>2]=0;break g;case 5:break h}}if((g|0)==15){g=Ua(d,8)+14|0}if((q[d+12>>2]-q[d+8>>2]|0)-1){continue}break}}if(e){break c}e=i>>>0<4;m=e?i:m;u=e?j:u;e=0;if((q[d+12>>2]-q[d+8>>2]|0)>2){continue}break}Ta(a,16,34730,0);break d}if(!q[a+348>>2]){e=0;q[c>>2]=0;break a}g=0;g=q[f+6488>>2]==1?q[f+6500>>2]>q[f+6480>>2]:g;d=k<>2])){e=q[f+6480>>2];q[a+356>>2]=d;q[a+344>>2]=e<>2]=4}if(g){q[q[a+28>>2]+108>>2]=2}e=q[f+8>>2];if(q[e>>2]|!d){break b}Ta(a,16,36872,0)}e=-1094995529}nm(f);break a}i:{if(d){q[e+76>>2]=d;q[e+232>>2]=q[a+344>>2];break i}pc(e)}e=0;q[c>>2]=(d|0)!=0;if((s|0)!=2){break a}a=q[f+5672>>2];if(!a){break a}c=f+6720|0;if(q[c>>2]!=3|q[c+4>>2]){break a}a=a+ -1|0;if(a>>>0>1){break a}if(a-1){q[b+4>>2]=q[b>>2];break a}q[b>>2]=q[b+4>>2]}Ca=h+320|0;return e}function _l(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,t=x(0);h=Ca-528|0;Ca=h;c=q[a+32>>2];a:{if(c){f=q[a+76>>2];p[h+514>>1]=f;i=a+310386|0;d=q[a+310448>>2]+1|0;t=u[(c<<2)+105080>>2];b=1;while(1){if((b|0)!=(d|0)){f=r[(a+b|0)+310451|0]+f|0;p[(h+514|0)+(b<<1)>>1]=f;b=b+1|0;continue}break}b=q[a+310112>>2];c=Va(i,a+310226|0,(b<<1)+2|0);m=q[a+310448>>2];if(m>>>0>=2){Va(((b<<1)+a|0)+310388|0,h+516|0,(m<<1)+ -2|0);m=q[a+310448>>2];b=q[a+310112>>2]}k=a+310388|0;q[h>>2]=c;o=b+m|0;q[h+4>>2]=((o<<1)+a|0)+310384;j=1;b:while(1){if(j){j=j+ -1|0;c=(j<<3)+h|0;d=q[c+4>>2];e=q[c>>2];while(1){if(e>>>0>=d>>>0){continue b}l=d+ -2|0;if(e>>>0>>0){g=(d-e>>2<<1)+e|0;c:{d:{if((p[e>>1]-p[d>>1]|0)>=1){b=(p[d>>1]-p[g>>1]|0)>0?g:d;break d}b=g;c=1;if((p[e>>1]-p[b>>1]|0)<1){break c}}c=s[b>>1];p[b>>1]=s[e>>1];p[e>>1]=c;c=0}f=d+ -4|0;if((p[g>>1]-p[d>>1]|0)>=1){c=s[d>>1];p[d>>1]=s[g>>1];p[g>>1]=c;c=0}b=e+2|0;if((e|0)==(f|0)){continue b}n=s[g>>1];p[g>>1]=s[l>>1];p[l>>1]=n;e:while(1){if(b>>>0<=f>>>0){while(1){if(!(b>>>0>f>>>0|(p[b>>1]-p[l>>1]|0)>=0)){b=b+2|0;continue}break}while(1){if(b>>>0>f>>>0){continue e}if((p[f>>1]-p[l>>1]|0)>=1){f=f+ -2|0;continue}break}n=s[f>>1];p[f>>1]=s[b>>1];p[b>>1]=n;f=f+ -2|0;b=b+2|0;continue}break}n=s[b>>1];p[b>>1]=s[l>>1];p[l>>1]=n;f:{if(!c){break f}c=e;if((g|0)!=(b+ -2|0)?(b|0)!=(g|0):0){break f}while(1){g=c;if(c>>>0>>0){c=g+2|0;if((p[g>>1]-p[c>>1]|0)<1){continue}}break}if((d|0)==(g|0)){continue b}}g:{if((d-b|0)<(b-e|0)){c=(j<<3)+h|0;q[c+4>>2]=f;q[c>>2]=e;e=b+2|0;break g}c=(j<<3)+h|0;q[c+4>>2]=d;q[c>>2]=b+2;d=f}j=j+1|0;continue}break}if((p[e>>1]-p[d>>1]|0)<1){continue}c=s[d>>1];p[d>>1]=s[e>>1];p[e>>1]=c;continue}break}c=o+ -1|0;h:while(1){q[a+310124>>2]=c;e=((c<<1)+a|0)+310386|0;while(1){if(i>>>0>=e>>>0){break a}d=s[i>>1];b=s[k>>1];if(!!(x(t*x(d>>>0))<=x(b>>>0))){p[i+2>>1]=b;i=i+2|0;k=k+2|0;continue}i:{if((b|0)!=(d|0)){if(Yl(h+514|0,m,b<<16>>16)){break i}}c=c+ -1|0;k=k+2|0;continue h}k=k+2|0;if(Yl(h+514|0,m,d<<16>>16)){p[i+2>>1]=b;i=i+2|0;continue}else{p[i>>1]=b;c=c+ -1|0;continue h}}}}p[a+310386>>1]=s[a+310226>>1];c=s[(a+310226|0)+(q[a+310112>>2]<<1)>>1];q[a+310124>>2]=1;p[a+310388>>1]=c}Ca=h+528|0}function lm(a,b,c){var d=0,e=0,f=0,g=0;f=Ca-224|0;Ca=f;g=q[a+6484>>2];a:{if(!g){d=q[(((b<<6)+a|0)+(c<<2)|0)+748>>2];break a}d=q[a+1004>>2];if(!(d|((g|0)!=1|(b|0)!=1))){Kh(a);d=0;Ta(q[a+4>>2],48,37170,0);if((Me(q[a+4>>2],f+32|0,f+28|0,2)|0)<0){break a}if((jd(a,f+32|0,q[f+28>>2],2,1)|0)<0){break a}g=2;q[a+6484>>2]=2;q[a+6512>>2]=0;d=q[a+1004>>2]}b:{c:{if(!(b|d|(g|0)!=2)){Kh(a);d=0;Ta(q[a+4>>2],48,37486,0);if((Me(q[a+4>>2],f+32|0,f+28|0,1)|0)<0){break a}if((jd(a,f+32|0,q[f+28>>2],2,1)|0)<0){break a}q[a+6484>>2]=1;if(!q[a+6488>>2]){break c}q[a+6512>>2]=-1;break c}d=0;e=g+ -1|0;if(e>>>0>11){break a}d:{e:{f:{g:{h:{i:{j:{k:{l:{switch(e-1|0){case 5:case 10:e=q[a+1004>>2];if((b|0)!=1|(e|0)!=3){break k}q[a+1004>>2]=4;d=q[a+564>>2];q[((c<<2)+a|0)+812>>2]=d;break a;case 6:case 7:case 8:break a;case 2:break f;case 3:break h;case 4:break j;case 9:break l;case 0:case 1:break d;default:break c}}e=q[a+1004>>2]}if((g|0)!=11|b|(e|0)!=2){break i}q[a+1004>>2]=3;d=q[a+496>>2];q[((c<<2)+a|0)+748>>2]=d;break a}e=q[a+1004>>2]}if((o[g+95744|0]+ -1|0)!=(e|0)|b>>>0>3){break g}m:{switch(b-1|0){case 0:case 1:break g;default:break m}}d=a;if(!(q[a+1008>>2]|(c?0:(b|0)==3))){e=q[a+4>>2];q[f+20>>2]=c;q[f+16>>2]=b?38509:38294;Ta(e,24,37856,f+16|0);q[a+1008>>2]=q[a+1008>>2]+1;e=q[a+1004>>2]}q[d+1004>>2]=e+1;d=q[a+684>>2];q[(((b<<6)+a|0)+(c<<2)|0)+748>>2]=d;break a}e=q[a+1004>>2]}if((b|0)!=1|(e|0)!=2){break e}q[a+1004>>2]=3;d=q[a+560>>2];q[((c<<2)+a|0)+812>>2]=d;break a}e=q[a+1004>>2]}n:{if((o[g+95744|0]+ -1|0)!=(e|0)|b>>>0>3){break n}o:{switch(b-1|0){case 0:case 1:break n;default:break o}}d=a;if(!(q[a+1008>>2]|((c|0)==1?!b:0))){e=q[a+4>>2];q[f+4>>2]=c;q[f>>2]=b?38509:38294;Ta(e,24,38721,f);q[a+1008>>2]=q[a+1008>>2]+1;e=q[a+1004>>2]}q[d+1004>>2]=e+1;d=q[a+496>>2];q[(((b<<6)+a|0)+(c<<2)|0)+748>>2]=d;break a}if((g|0)!=4|b|(e|0)!=2){break d}q[a+1004>>2]=3;d=q[a+496>>2];q[((c<<2)+a|0)+748>>2]=d;break a}e=q[a+1004>>2];if(!((b|0)!=1|(e|0)!=((g|0)!=2|0))){q[a+1004>>2]=e+1;d=q[a+556>>2];q[((c<<2)+a|0)+812>>2]=d;break a}if((g|0)==2){break a}break b}e=q[a+1004>>2]}if(b|e){break a}q[a+1004>>2]=1;d=q[a+492>>2];q[((c<<2)+a|0)+748>>2]=d}Ca=f+224|0;return d}function Im(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0;j=Ca-128|0;Ca=j;a:{b:{c:{if(!re(f,g,h,i,0,0,0,0)){break c}m=Dz(f,g,h,i);u=e>>>16|0;p=u&32767;if((p|0)==32767){break c}if(m){break b}}tb(j+16|0,b,c,d,e,f,g,h,i);e=q[j+16>>2];d=q[j+20>>2];c=q[j+24>>2];b=q[j+28>>2];gn(j,e,d,c,b,e,d,c,b);d=q[j+8>>2];e=q[j+12>>2];h=q[j>>2];i=q[j+4>>2];break a}n=e&65535|p<<16;l=n;k=d;n=h;t=i>>>16&32767;r=i&65535|t<<16;if((re(b,c,k,l,f,g,h,r)|0)<=0){if(re(b,c,k,l,f,g,n,r)){h=b;i=c;break a}tb(j+112|0,b,c,d,e,0,0,0,0);d=q[j+120>>2];e=q[j+124>>2];h=q[j+112>>2];i=q[j+116>>2];break a}if(p){i=c;h=b}else{tb(j+96|0,b,c,k,l,0,0,0,1081540608);h=q[j+108>>2];l=h;k=q[j+104>>2];p=(h>>>16|0)+ -120|0;i=q[j+100>>2];h=q[j+96>>2]}if(!t){tb(j+80|0,f,g,n,r,0,0,0,1081540608);f=q[j+92>>2];r=f;n=q[j+88>>2];t=(f>>>16|0)+ -120|0;g=q[j+84>>2];f=q[j+80>>2]}w=n;m=n;n=k-m|0;l=l&65535|65536;v=r&65535|65536;o=(g|0)==(i|0)&h>>>0>>0|i>>>0>>0;m=(l-(v+(k>>>0>>0)|0)|0)-(n>>>0>>0)|0;s=n-o|0;o=(m|0)>-1?1:(m|0)>=-1?s>>>0<=4294967295?0:1:0;n=h-f|0;r=i-((h>>>0>>0)+g|0)|0;if((p|0)>(t|0)){while(1){d:{if(o){if(!(n|s|(m|r))){tb(j+32|0,b,c,d,e,0,0,0,0);d=q[j+40>>2];e=q[j+44>>2];h=q[j+32>>2];i=q[j+36>>2];break a}k=r>>>31|0;l=0;h=s;o=m<<1|h>>>31;h=h<<1;break d}m=l<<1|k>>>31;k=k<<1;l=m;n=h;r=i;o=0;h=i>>>31|0}k=h|k;i=k;h=w;s=i-h|0;l=l|o;m=l-((i>>>0>>0)+v|0)|0;h=n;o=r<<1|h>>>31;h=h<<1;i=o;o=(g|0)==(i|0)&h>>>0>>0|i>>>0>>0;m=m-(s>>>0>>0)|0;s=s-o|0;o=(m|0)>-1?1:(m|0)>=-1?s>>>0<=4294967295?0:1:0;n=h-f|0;r=i-((h>>>0>>0)+g|0)|0;p=p+ -1|0;if((p|0)>(t|0)){continue}break}p=t}e:{if(!o){break e}h=n;k=s;i=r;l=m;if(h|k|(i|l)){break e}tb(j+48|0,b,c,d,e,0,0,0,0);d=q[j+56>>2];e=q[j+60>>2];h=q[j+48>>2];i=q[j+52>>2];break a}if((l|0)==65535&k>>>0<=4294967295|l>>>0<65535){while(1){d=i>>>31|0;b=0;p=p+ -1|0;m=i<<1|h>>>31;h=h<<1;i=m;o=l<<1|k>>>31;k=k<<1|d;b=b|o;l=b;if((b|0)==65536&k>>>0<0|b>>>0<65536){continue}break}}b=u&32768;if((p|0)<=0){tb(j- -64|0,h,i,k,l&65535|(b|p+120)<<16,0,0,0,1065811968);d=q[j+72>>2];e=q[j+76>>2];h=q[j+64>>2];i=q[j+68>>2];break a}d=k;e=l&65535|(b|p)<<16}q[a>>2]=h;q[a+4>>2]=i;q[a+8>>2]=d;q[a+12>>2]=e;Ca=j+128|0}function XQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a-d|0;m=r[e+2|0];f=m+2|0;y=r[e+1|0];z=y+2|0;A=r[e|0];v=(z+r[(b?d^-1:0-d|0)+a|0]|0)+(A<<1)|0;b=r[e+7|0];u=b;l=r[e+4|0];x=r[e+3|0];i=l+(f+(x<<1)|0)>>>2|0;n=x+(z+(m<<1)|0)>>>2|0;s=(f+A|0)+(y<<1)>>>2|0;j=v>>>2|0;f=r[e+5|0];m=r[e+6|0];p=((f+(m<<1)|0)+b|0)+2>>>2|0;g=(m+(l+(f<<1)|0)|0)+2>>>2|0;h=(f+(x+(l<<1)|0)|0)+2>>>2|0;if(c){u=r[e+8|0]}f=b<<1;B=((m+f|0)+u|0)+2>>>2|0;a:{if(!c){c=b;e=b;x=b;l=b;m=b;y=b;z=b;u=f;C=f;A=f;v=f;D=f;k=f;break a}u=r[e+14|0];f=r[e+15|0];z=(u+w(f,3)|0)+2>>>2|0;l=r[e+12|0];t=r[e+10|0];c=t+2|0;v=r[e+11|0];x=l+(c+(v<<1)|0)>>>2|0;A=x<<1;q=r[e+8|0];k=r[e+9|0];c=(q+c|0)+(k<<1)>>>2|0;D=c<<1;e=r[e+13|0];y=(f+(e+(u<<1)|0)|0)+2>>>2|0;f=y<<1;m=(u+(l+(e<<1)|0)|0)+2>>>2|0;u=m<<1;l=(e+(v+(l<<1)|0)|0)+2>>>2|0;C=l<<1;e=(v+(k+(t<<1)|0)|0)+2>>>2|0;v=e<<1;b=(k+((q<<1)+b|0)|0)+2>>>2|0;k=b<<1}t=i+2|0;q=(t+s|0)+(n<<1)>>>2|0;o[a+1|0]=q;E=j;j=n+2|0;o[a|0]=(E+j|0)+(s<<1)>>>2;n=a+d|0;o[n|0]=q;i=h+(j+(i<<1)|0)>>>2|0;o[a+2|0]=i;o[n+1|0]=i;q=d<<1;s=q+a|0;o[s|0]=i;j=g+(t+(h<<1)|0)>>>2|0;o[a+3|0]=j;o[n+2|0]=j;o[(q|1)+a|0]=j;i=w(d,3)+a|0;o[i|0]=j;h=(p+(h+(g<<1)|0)|0)+2>>>2|0;o[a+4|0]=h;o[n+3|0]=h;o[s+2|0]=h;o[i+1|0]=h;t=d<<2;j=t+a|0;o[j|0]=h;g=((g+(p<<1)|0)+B|0)+2>>>2|0;o[a+5|0]=g;o[n+4|0]=g;o[s+3|0]=g;o[i+2|0]=g;o[(t|1)+a|0]=g;h=w(d,5)+a|0;o[h|0]=g;g=((p+(B<<1)|0)+b|0)+2>>>2|0;o[a+6|0]=g;o[n+5|0]=g;o[s+4|0]=g;o[i+3|0]=g;o[(t|2)+a|0]=g;o[h+1|0]=g;q=w(d,6);p=q+a|0;o[p|0]=g;k=((k+B|0)+c|0)+2>>>2|0;o[a+7|0]=k;o[n+6|0]=k;o[s+5|0]=k;o[i+4|0]=k;o[(t|3)+a|0]=k;o[h+2|0]=k;o[(q|1)+a|0]=k;a=w(d,7)+a|0;o[a|0]=k;b=((b+D|0)+e|0)+2>>>2|0;o[n+7|0]=b;o[s+6|0]=b;o[i+5|0]=b;o[j+4|0]=b;o[h+3|0]=b;o[p+2|0]=b;o[a+1|0]=b;b=((c+v|0)+x|0)+2>>>2|0;o[s+7|0]=b;o[i+6|0]=b;o[j+5|0]=b;o[h+4|0]=b;o[p+3|0]=b;o[a+2|0]=b;b=((e+A|0)+l|0)+2>>>2|0;o[i+7|0]=b;o[j+6|0]=b;o[h+5|0]=b;o[p+4|0]=b;o[a+3|0]=b;b=((x+C|0)+m|0)+2>>>2|0;o[j+7|0]=b;o[h+6|0]=b;o[p+5|0]=b;o[a+4|0]=b;b=((u+l|0)+y|0)+2>>>2|0;o[h+7|0]=b;o[p+6|0]=b;o[a+5|0]=b;b=((f+m|0)+z|0)+2>>>2|0;o[p+7|0]=b;o[a+7|0]=(w(z,3)+y|0)+2>>>2;o[a+6|0]=b}function nj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;n=Ca-16|0;Ca=n;s=md(e,d<<3);q[n+12>>2]=s;g=md(e,d<<4);q[n+8>>2]=g;a:{b:{if(!(!g|!s)){v=(d|0)>0?d:0;x=(c|0)>0?c:0;c:while(1){if((k|0)==(v|0)){break b}m=w(e,k);u=k>>>f|0;g=0;j=1024;i=-1;t=q[n+8>>2];while(1)if((g|0)==(x|0)){j=1024;i=-1;t=q[n+8>>2];g=c;while(1){if((g|0)>=1){g=g+ -1|0;h=w(q[a+564>>2],u)+(g>>f)|0;d:{if(!(!(r[q[a+696>>2]+(h<<2)|0]&7)|!(r[h+q[a+580>>2]|0]&4))){h=g+m|0;break d}h=g+m|0;j=p[(h<<1)+b>>1];i=g}p[(h<<3)+s>>1]=j;q[t+(h<<4)>>2]=(i|0)>-1?i-g|0:9999;continue}break}k=k+1|0;continue c}else{h=w(q[a+564>>2],u)+(g>>>f|0)|0;e:{if(!(!(r[q[a+696>>2]+(h<<2)|0]&7)|!(r[h+q[a+580>>2]|0]&4))){h=g+m|0;break e}h=g+m|0;j=p[(h<<1)+b>>1];i=g}p[((h<<3)+s|0)+2>>1]=j;q[(t+(h<<4)|0)+4>>2]=(i|0)>-1?g-i|0:9999;g=g+1|0;continue}}}Ta(q[a>>2],16,20399,0);break a}while(1){f:{if((l|0)!=(x|0)){j=l>>>f|0;g=0;c=1024;i=-1;k=q[n+8>>2];while(1)if((g|0)==(v|0)){c=1024;i=-1;k=q[n+8>>2];g=d;while(1){if((g|0)<1){break f}g=g+ -1|0;h=j+w(q[a+564>>2],g>>f)|0;g:{if(!(!(r[q[a+696>>2]+(h<<2)|0]&7)|!(r[h+q[a+580>>2]|0]&4))){h=w(e,g)+l|0;break g}h=w(e,g)+l|0;c=p[(h<<1)+b>>1];i=g}p[((h<<3)+s|0)+4>>1]=c;q[(k+(h<<4)|0)+8>>2]=(i|0)>-1?i-g|0:9999;continue}}else{h=j+w(q[a+564>>2],g>>>f|0)|0;h:{if(!(!(r[q[a+696>>2]+(h<<2)|0]&7)|!(r[h+q[a+580>>2]|0]&4))){h=w(e,g)+l|0;break h}h=w(e,g)+l|0;c=p[(h<<1)+b>>1];i=g}p[((h<<3)+s|0)+6>>1]=c;q[(k+(h<<4)|0)+12>>2]=(i|0)>-1?g-i|0:9999;g=g+1|0;continue}}c=0;u=q[n+8>>2];while(1){if((c|0)==(v|0)){break a}t=w(c,e);y=c>>>f|0;d=0;while(1){if((d|0)!=(x|0)){g=w(y,q[a+564>>2])+(d>>>f|0)|0;if(!(r[q[a+696>>2]+(g<<2)|0]&120|!(r[g+q[a+580>>2]|0]&4))){k=d+t|0;h=0;l=0;g=0;j=0;i=0;while(1){if((g|0)!=4){o=j;j=q[(u+(k<<4)|0)+(g<<2)>>2];m=268435456/((j>>>0>1?j:1)>>>0)|0;j=m;o=o+j|0;if(o>>>0>>0){i=i+1|0}j=o;o=p[((k<<3)+s|0)+(g<<1)>>1];m=$R(o,o>>31,m,0)+h|0;l=l+Da|0;l=m>>>0>>0?l+1|0:l;h=m;g=g+1|0;continue}break}o=(k<<1)+b|0;g=i;m=g>>>1|0;k=h+((g&1)<<31|j>>>1)|0;g=l+m|0;z=o,A=aS(k,k>>>0>>0?g+1|0:g,j,i),p[z>>1]=A}d=d+1|0;continue}break}c=c+1|0;continue}}l=l+1|0;continue}}Wa(n+12|0);Wa(n+8|0);Ca=n+16|0}function Ji(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=-2147483648;a:{b:{if(((d|0)<0?1:(d|0)<=0?c>>>0>=0?0:1:0)|((f|0)<0?1:(f|0)<=0?e>>>0>=1?0:1:0)){break b}i=g&-8193;if(i>>>0>5|(i|0)==4){break b}if(g&8192){h=b+ -2147483648|0;i=a+1|0;if(i>>>0<1){h=h+1|0}if(!h&i>>>0<2|h>>>0<0){Da=b;return a}g=g+ -8192|0}if((b|0)<-1?1:(b|0)<=-1?a>>>0>4294967295?0:1:0){break a}if((g|0)==5){g=f;h=g>>>1|0;g=(g&1)<<31|e>>>1}else{h=g&1;i=f+ -1|0;g=e+ -1|0;if(g>>>0<4294967295){i=i+1|0}g=h?g:0;h=h?i:0}k=h;if(!(((d|0)>0?1:(d|0)>=0?c>>>0<=2147483647?0:1:0)|((f|0)>0?1:(f|0)>=0?e>>>0<=2147483647?0:1:0))){if((b|0)<0?1:(b|0)<=0?a>>>0>2147483647?0:1:0){b=$R(a,b,c,d);a=b+g|0;d=Da+k|0;a=aS(a,a>>>0>>0?d+1|0:d,e,f);return a}i=a;l=bS(a,b,e,f);h=Da;a=$R(l,h,e,f);b=$R(i-a|0,b-(Da+(i>>>0>>0)|0)|0,c,d)+g|0;a=k+Da|0;a=aS(b,b>>>0>>0?a+1|0:a,e,f);e=Da;if(!(!(c|d)|((h|0)<0?1:(h|0)<=0?l>>>0>=2147483647?0:1:0))){f=l>>>0<=aS(-1-a|0,2147483647-((4294967295>>0)+e|0)|0,c,d)>>>0?0:1;b=Da;if((h|0)>(b|0)?1:(h|0)>=(b|0)?f:0){break b}}b=$R(l,h,c,d);a=b+a|0;d=Da+e|0;d=a>>>0>>0?d+1|0:d;Da=d;return a}n=d;i=0;l=a;d=$R(d,i,a,0);j=Da;h=0;o=h;a=d;p=b;d=0;h=$R(c,h,b,d);b=a+h|0;a=Da+j|0;m=b;a=b>>>0>>0?a+1|0:a;j=a;b=$R(p,d,n,i);a=b+a|0;d=Da;d=a>>>0>>0?d+1|0:d;n=a;h=0;c=$R(c,o,l,q);b=h+c|0;a=m;i=a+Da|0;i=b>>>0>>0?i+1|0:i;c=b;b=i;a=(a|0)==(b|0)&c>>>0>>0|b>>>0>>0;i=n+a|0;if(i>>>0>>0){d=d+1|0}a=i;i=d;d=a;h=b+k|0;a=g;b=a+c|0;if(b>>>0>>0){h=h+1|0}l=b;a=b;c=h;a=(k|0)==(h|0)&a>>>0>>0|h>>>0>>0;b=d+a|0;if(b>>>0>>0){i=i+1|0}a=b;b=i;g=63;while(1){if((g|0)>=0){k=0;d=c;h=g&31;i=b<<1|a>>>31;h=(32<=(g&63)>>>0?d>>>h|0:((1<>>h)&1|a<<1;b=h;d=i|k;a=d;i=(f|0)==(a|0)&b>>>0>>0|a>>>0>>0;k=i?0:e;a=b-k|0;b=d-((b>>>0>>0)+(i?0:f)|0)|0;i=(d|0)==(f|0)&h>>>0>=e>>>0|d>>>0>f>>>0;d=m;j=j<<1|d>>>31;m=i|d<<1;g=g+ -1|0;continue}break}a=(j|0)<0?1:(j|0)<=0?m>>>0>=0?0:1:0;m=a?0:m;j=a?-2147483648:j}Da=j;return m}i=a;a=(b|0)>-2147483648?1:(b|0)>=-2147483648?a>>>0<=1?0:1:0;j=a?i:1;a=Ji(0-j|0,0-((0>>0)+(a?b:-2147483648)|0)|0,c,d,e,f,g>>>1&1^g);b=0-a|0;Da=0-(Da+(0>>0)|0)|0;return b}function cf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,u=0,v=0,x=0,y=0;m=Ca-32|0;Ca=m;f=q[b+48>>2];g=(e|0)!=0&(f|0)!=0;x=g?12:31;u=(e|0)==1?(f|0)==1?2:1:1;y=q[(g?2390484:2390468)>>2];v=q[(g?2390452:2390420)>>2];a:{b:{c:while(1){e=q[d+20>>2];if(l>>>0>=e>>>0){break b}if(r[(d+l|0)+29|0]){g=l+1|0;e=0;while(1){if(e>>>0>=t[b+310120>>2]){l=g;continue c}k=q[c>>2];i=q[c+8>>2];f=k+(i>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);j=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(i&7)>>>21&2044)+y|0;h=p[j>>1];n=r[((w(l,5)+d|0)+e|0)+87856|0];f=q[c+16>>2];j=p[j+2>>1];if((j|0)<=-1){s=h;i=i+9|0;i=f>>>0>i>>>0?i:f;h=k+(i>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=(s+((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(i&7)>>>j+32|0)<<2)+y|0;j=p[h+2>>1];h=p[h>>1]}i=i+j|0;q[c+8>>2]=f>>>0>i>>>0?i:f;f=n+w(h-x|0,u)|0;o[((w(g,5)+d|0)+e|0)+87856|0]=f;e=e+1|0;if((f&255)>>>0<31){continue}break}a=q[a+4>>2];q[m+16>>2]=f&255;Ta(a,16,33969,m+16|0);a=-1094995529;break a}i=1;l=l+1|0;s=w(l,5)+d|0;h=w(Ua(c,5),u);o[s+87856|0]=h;while(1){if(i>>>0>=t[b+310120>>2]){continue c}n=q[c>>2];e=q[c+8>>2];g=n+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>21&2044)+v|0;j=p[g>>1];k=q[c+16>>2];g=p[g+2>>1];d:{if((g|0)>-1){break d}e=e+9|0;e=k>>>0>e>>>0?e:k;f=n+(e>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(e&7)>>>g+32|0)+j<<2)+v|0;j=p[f>>1];f=p[f+2>>1];if((f|0)>-1){g=f;break d}e=e-g|0;e=k>>>0>e>>>0?e:k;g=n+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);f=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>f+32|0)+j<<2)+v|0;g=p[f+2>>1];j=p[f>>1]}e=e+g|0;q[c+8>>2]=k>>>0>e>>>0?e:k;h=w(j-x|0,u)+h|0;o[(i+s|0)+87856|0]=h;i=i+1|0;if((h&255)>>>0<31){continue}break}break}a=q[a+4>>2];q[m>>2]=h&255;Ta(a,16,33969,m);a=-1094995529;break a}a=(d+87856|0)+w(e,5)|0;b=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);o[d+87856|0]=b;o[d+87857|0]=b>>>8;o[d+87858|0]=b>>>16;o[d+87859|0]=b>>>24;o[d+87860|0]=r[a+4|0];a=0}Ca=m+32|0;return a}function Ui(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Ca-304|0;Ca=h;q[h+4>>2]=q[b+32860>>2];q[h>>2]=q[b+32856>>2];q[h+16>>2]=q[b+32872>>2];i=g+ -1|0;k=(i|0)>0?i:0;g=b+32904|0;l=d<<2;n=g+q[l+165712>>2]|0;l=l+w(q[b+21828>>2],56)|0;m=g+q[l+165600>>2]|0;l=g+q[l+165488>>2]|0;g=0;a:{while(1){if((g|0)!=(k|0)){if(_a(h,g+l|0)){q[(h+48|0)+(j<<2)>>2]=g;j=j+1|0;if(_a(h,g+m|0)){break a}}g=g+1|0;continue}break}if((i|0)<0){break a}q[(h+48|0)+(j<<2)>>2]=i;j=j+1|0}g=q[a+26400>>2]+(q[b+21796>>2]<<1)|0;d=(d|0)==3;p[g>>1]=s[g>>1]|(d?64:256)<<(d?-49:-48)+e;o[(r[e+154016|0]+b|0)+27824|0]=j;b:{if(!q[a+25672>>2]){g=0;while(1){j=j+ -1|0;m=(r[q[(h+48|0)+(j<<2)>>2]+f|0]<<1)+c|0;c:{if(!_a(h,r[g+165909|0]+n|0)){a=q[h>>2];d=a<<1;q[h>>2]=d;if(!(a&32767)){sc(h);d=q[h>>2]}e=r[g+165936|0];g=d;a=q[h+4>>2];d=a<<17;i=g-d|0;g=i>>31;d=(g&d)+i|0;q[h>>2]=d;k=g^65535;break c}a=r[g+165920|0]+n|0;e=r[g+165944|0];g=2;d:{while(1){e:{if((g|0)==15){a=0;while(1){f:{d=1;i=zc(h);g=a;if(g>>>0>22){break f}a=g+1|0;if(i){continue}}break}while(1){if(!g){break e}g=g+ -1|0;d=zc(h)+(d<<1)|0;continue}}if(!_a(h,a)){break d}g=g+1|0;continue}break}g=d+14|0}i=q[h>>2];a=i<<1;q[h>>2]=a;l=0-g|0;d=h;if(!(i&32767)){sc(h);a=q[h>>2]}k=d;g=a;a=q[h+4>>2];d=a<<17;i=g-d|0;g=i>>31;d=(g&d)+i|0;q[k>>2]=d;k=g^l}p[m>>1]=k-g;g=e&255;if(j){continue}break}break b}g=0;while(1){j=j+ -1|0;m=(r[q[(h+48|0)+(j<<2)>>2]+f|0]<<2)+c|0;g:{if(!_a(h,r[g+165909|0]+n|0)){a=q[h>>2];d=a<<1;q[h>>2]=d;if(!(a&32767)){sc(h);d=q[h>>2]}e=r[g+165936|0];g=d;a=q[h+4>>2];d=a<<17;i=g-d|0;g=i>>31;d=(g&d)+i|0;q[h>>2]=d;k=g^-1;break g}a=r[g+165920|0]+n|0;e=r[g+165944|0];g=2;h:{while(1){i:{if((g|0)==15){a=0;while(1){j:{d=1;i=zc(h);g=a;if(g>>>0>22){break j}a=g+1|0;if(i){continue}}break}while(1){if(!g){break i}g=g+ -1|0;d=zc(h)+(d<<1)|0;continue}}if(!_a(h,a)){break h}g=g+1|0;continue}break}g=d+14|0}i=q[h>>2];a=i<<1;q[h>>2]=a;l=0-g|0;d=h;if(!(i&32767)){sc(h);a=q[h>>2]}k=d;g=a;a=q[h+4>>2];d=a<<17;i=g-d|0;g=i>>31;d=(g&d)+i|0;q[k>>2]=d;k=g^l}q[m>>2]=k-g;g=e&255;if(j){continue}break}}q[b+32856>>2]=d;q[b+32860>>2]=a;q[b+32872>>2]=q[h+16>>2];Ca=h+304|0}function CD(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-34816|0;Ca=f;g=q[a+25628>>2];d=q[a+25636>>2];e=g+w(d,34768)|0;i=d?i:!q[a+29576>>2];c=q[b+28>>2];q[e+4>>2]=q[b+24>>2];q[e+8>>2]=c;q[e+20>>2]=q[b+40>>2];c=q[b+36>>2];q[e+12>>2]=q[b+32>>2];q[e+16>>2]=c;c=BD(a,e,b);a:{if((c|0)<0){break a}b:{c:{c=g+w(d,34768)|0;d:{if(q[c+21836>>2]>=1){q[c+23404>>2]=0;q[c+23408>>2]=0;break d}e:{if(q[c+21808>>2]){if(q[a+29576>>2]|!q[a+29604>>2]){break e}break c}if(q[a+29604>>2]){break c}f:{if(!q[a+29576>>2]){break f}if(q[a+25636>>2]){c=pk(a);if(r[q[a+4>>2]+580|0]&8?(c|0)<=-1:0){break a}c=q[a+25628>>2];Va(f+48|0,c,34768);Va(c,e,34768);Va(e,f+48|0,34768);e=q[a+25628>>2]}c=-1094995529;if(!q[a+24312>>2]){break a}d=q[a+26392>>2];if(q[a+26388>>2]!=3){if(!d){break a}c=vk(a,1);if((c|0)>=0){break f}break a}if(q[a+27036>>2]!=5|d){break a}Ta(a,24,8103,0);c=vk(a,1);q[a+24312>>2]=0;if((c|0)<0){break a}}if(q[a+26392>>2]){break e}q[a+24312>>2]=0}g:{h:{g=q[a+29576>>2];i:{if(g){break i}if(q[a+25628>>2]!=(e|0)){break h}if(q[a+26392>>2]){break i}d=q[q[a+4>>2]+732>>2];if((d|0)<8){break i}c=0;if(!q[a+27032>>2]){break a}if((d|0)<16){break i}h=q[e+840>>2];if((h|0)==3){break a}if((d|0)<24){break i}if((h|0)!=1){break a}if((d|0)<32){break i}if(q[a+27036>>2]!=5){if((d|0)>47){break a}if(q[a+29804>>2]>=0){break i}break a}if((d|0)>47){break a}}j:{if(i){break j}d=q[a+28220>>2];h=q[d>>2];c=q[q[((q[e+27776>>2]<<2)+a|0)+27188>>2]+4>>2];if(!(q[d+64>>2]==q[c+64>>2]?(h|0)==q[c>>2]:0)){Ta(q[a+4>>2],16,13562,0);break b}if(q[a+28224>>2]==q[q[((h<<2)+a|0)+27060>>2]+4>>2]){break j}Ta(q[a+4>>2],16,15355,0);break b}if(!g){c=AD(a,e,b,i);if((c|0)<0){break a}break g}c=q[a+26388>>2];d=q[e+21824>>2];if(!(q[a+25692>>2]==(!q[b+68>>2]|0)?(c|0)==(d|0):0)){a=q[a+4>>2];q[f+20>>2]=d;q[f+16>>2]=c;Ta(a,16,16412,f+16|0);break b}if(q[a+24312>>2]){break g}a=q[a+4>>2];q[f>>2]=g+1;Ta(a,16,17307,f);break b}q[f+40>>2]=2142;q[f+36>>2]=12455;q[f+32>>2]=11260;Ta(0,0,10109,f+32|0);I();F()}c=zD(a,e,b);if((c|0)<0){break a}q[a+25636>>2]=q[a+25636>>2]+1}c=0;break a}Ta(q[a+4>>2],16,6513,0)}c=-1094995529}Ca=f+34816|0;return c}function it(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0;j=8-f|0;i=8-e|0;g=w(j,i);k=c>>1;i=w(f,i);j=w(e,j);a:{f=w(e,f);if(f){e=0;d=(d|0)>0?d:0;n=k+1<<1;o=k+2<<1;q=k+3<<1;r=k+4<<1;t=k+5<<1;m=k+6<<1;v=k+7<<1;x=k+8<<1;while(1){if((d|0)==(e|0)){break a}u=k<<1;c=u+b|0;h=b+n|0;p[a>>1]=(((w(s[b>>1],g)+w(j,s[b+2>>1])|0)+w(i,s[c>>1])|0)+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+2>>1],g)+w(j,s[b+4>>1])|0)+w(i,s[h>>1])|0;h=b+o|0;p[a+2>>1]=(l+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+4>>1],g)+w(j,s[b+6>>1])|0)+w(i,s[h>>1])|0;h=b+q|0;p[a+4>>1]=(l+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+6>>1],g)+w(j,s[b+8>>1])|0)+w(i,s[h>>1])|0;h=b+r|0;p[a+6>>1]=(l+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+8>>1],g)+w(j,s[b+10>>1])|0)+w(i,s[h>>1])|0;h=b+t|0;p[a+8>>1]=(l+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+10>>1],g)+w(j,s[b+12>>1])|0)+w(i,s[h>>1])|0;h=b+m|0;p[a+10>>1]=(l+w(f,s[h>>1])|0)+32>>>6;l=(w(s[b+12>>1],g)+w(j,s[b+14>>1])|0)+w(i,s[h>>1])|0;h=b+v|0;p[a+12>>1]=(l+w(f,s[h>>1])|0)+32>>>6;p[a+14>>1]=(((w(s[b+14>>1],g)+w(j,s[b+16>>1])|0)+w(i,s[h>>1])|0)+w(f,s[b+x>>1])|0)+32>>>6;e=e+1|0;a=a+u|0;b=c;continue}}c=i+j|0;if(!c){c=0;d=(d|0)>0?d:0;while(1){if((c|0)==(d|0)){break a}p[a>>1]=w(s[b>>1],g)+32>>>6;p[a+2>>1]=w(s[b+2>>1],g)+32>>>6;p[a+4>>1]=w(s[b+4>>1],g)+32>>>6;p[a+6>>1]=w(s[b+6>>1],g)+32>>>6;p[a+8>>1]=w(s[b+8>>1],g)+32>>>6;p[a+10>>1]=w(s[b+10>>1],g)+32>>>6;p[a+12>>1]=w(s[b+12>>1],g)+32>>>6;p[a+14>>1]=w(s[b+14>>1],g)+32>>>6;c=c+1|0;e=k<<1;b=e+b|0;a=a+e|0;continue}}f=0;e=(d|0)>0?d:0;d=i?k:1;i=d+1<<1;j=d+2<<1;n=d+3<<1;o=d+4<<1;q=d+5<<1;r=d+6<<1;t=d+7<<1;while(1){if((e|0)==(f|0)){break a}p[a>>1]=(w(s[b>>1],g)+w(c,s[(d<<1)+b>>1])|0)+32>>>6;p[a+2>>1]=(w(s[b+2>>1],g)+w(c,s[b+i>>1])|0)+32>>>6;p[a+4>>1]=(w(s[b+4>>1],g)+w(c,s[b+j>>1])|0)+32>>>6;p[a+6>>1]=(w(s[b+6>>1],g)+w(c,s[b+n>>1])|0)+32>>>6;p[a+8>>1]=(w(s[b+8>>1],g)+w(c,s[b+o>>1])|0)+32>>>6;p[a+10>>1]=(w(s[b+10>>1],g)+w(c,s[b+q>>1])|0)+32>>>6;p[a+12>>1]=(w(s[b+12>>1],g)+w(c,s[b+r>>1])|0)+32>>>6;p[a+14>>1]=(w(s[b+14>>1],g)+w(c,s[b+t>>1])|0)+32>>>6;f=f+1|0;m=k<<1;b=m+b|0;a=a+m|0;continue}}}function aR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;f=a-d|0;m=r[f+2|0];n=m+2|0;l=r[f+1|0];i=l+2|0;p=r[f|0];q=(i+r[(b?d^-1:0-d|0)+a|0]|0)+(p<<1)|0;b=r[f+7|0];t=b;u=r[f+4|0];v=r[f+3|0];s=u+(n+(v<<1)|0)>>>2|0;g=v+(i+(m<<1)|0)>>>2|0;i=(p+n|0)+(l<<1)>>>2|0;p=q>>>2|0;n=r[f+5|0];m=r[f+6|0];q=((n+(m<<1)|0)+b|0)+2>>>2|0;j=(m+(u+(n<<1)|0)|0)+2>>>2|0;k=(n+(v+(u<<1)|0)|0)+2>>>2|0;n=b<<1;y=((m+n|0)+(c?r[f+8|0]:b)|0)+2>>>2|0;a:{if(!c){c=b;v=b;f=b;u=n;z=n;m=n;break a}l=r[f+12|0];u=r[f+10|0];t=u+2|0;c=r[f+11|0];v=l+(t+(c<<1)|0)>>>2|0;n=v<<1;h=r[f+8|0];m=r[f+9|0];t=(h+t|0)+(m<<1)>>>2|0;z=t<<1;f=(r[f+13|0]+(c+(l<<1)|0)|0)+2>>>2|0;c=(c+(m+(u<<1)|0)|0)+2>>>2|0;u=c<<1;b=(m+((h<<1)+b|0)|0)+2>>>2|0;m=b<<1}h=i+1|0;o[a|0]=h+p>>>1;l=a+d|0;e=g+2|0;o[l|0]=(e+p|0)+(i<<1)>>>2;h=g+h>>>1|0;o[a+1|0]=h;x=d<<1;p=x+a|0;o[p|0]=h;A=s+2|0;h=(i+A|0)+(g<<1)>>>2|0;o[l+1|0]=h;i=w(d,3)+a|0;o[i|0]=h;g=(g+s|0)+1>>>1|0;o[a+2|0]=g;o[(x|1)+a|0]=g;x=d<<2;h=x+a|0;o[h|0]=g;e=k+(e+(s<<1)|0)>>>2|0;o[l+2|0]=e;o[i+1|0]=e;g=w(d,5)+a|0;o[g|0]=e;e=(k+s|0)+1>>>1|0;o[a+3|0]=e;o[p+2|0]=e;o[(x|1)+a|0]=e;B=w(d,6);s=B+a|0;o[s|0]=e;e=j+((k<<1)+A|0)>>>2|0;o[l+3|0]=e;o[i+2|0]=e;o[g+1|0]=e;d=w(d,7)+a|0;o[d|0]=e;e=(j+k|0)+1>>>1|0;o[a+4|0]=e;o[p+3|0]=e;o[(x|2)+a|0]=e;o[(B|1)+a|0]=e;k=(q+(k+(j<<1)|0)|0)+2>>>2|0;o[l+4|0]=k;o[i+3|0]=k;o[g+2|0]=k;o[d+1|0]=k;k=(j+q|0)+1>>>1|0;o[a+5|0]=k;o[p+4|0]=k;o[(x|3)+a|0]=k;o[s+2|0]=k;j=((j+(q<<1)|0)+y|0)+2>>>2|0;o[l+5|0]=j;o[i+4|0]=j;o[g+3|0]=j;o[d+2|0]=j;j=(q+y|0)+1>>>1|0;o[a+6|0]=j;o[p+5|0]=j;o[h+4|0]=j;o[s+3|0]=j;q=((q+(y<<1)|0)+b|0)+2>>>2|0;o[l+6|0]=q;o[i+5|0]=q;o[g+4|0]=q;o[d+3|0]=q;e=a;a=(b+y|0)+1>>>1|0;o[e+7|0]=a;o[p+6|0]=a;o[h+5|0]=a;o[s+4|0]=a;a=((m+y|0)+t|0)+2>>>2|0;o[l+7|0]=a;o[i+6|0]=a;o[g+5|0]=a;o[d+4|0]=a;a=(b+t|0)+1>>>1|0;o[p+7|0]=a;o[h+6|0]=a;o[s+5|0]=a;a=((b+z|0)+c|0)+2>>>2|0;o[i+7|0]=a;o[g+6|0]=a;o[d+5|0]=a;a=(c+t|0)+1>>>1|0;o[h+7|0]=a;o[s+6|0]=a;a=((t+u|0)+v|0)+2>>>2|0;o[g+7|0]=a;o[d+6|0]=a;o[s+7|0]=(c+v|0)+1>>>1;o[d+7|0]=((c+n|0)+f|0)+2>>>2}function Ic(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=w(e,13);c=c-(f<<1)|0;g=b;while(1){if((h|0)!=13){n=c+ -1|0;p[g>>1]=r[c+3|0]+((r[c+ -2|0]+w(r[c+1|0]+r[c|0]|0,20)|0)+w(r[c+2|0]+r[n|0]|0,-5)|0);p[g+2>>1]=r[c+4|0]+((r[n|0]+w(r[c+2|0]+r[c+1|0]|0,20)|0)+w(r[c+3|0]+r[c|0]|0,-5)|0);p[g+4>>1]=r[c+5|0]+((r[c|0]+w(r[c+3|0]+r[c+2|0]|0,20)|0)+w(r[c+4|0]+r[c+1|0]|0,-5)|0);p[g+6>>1]=r[c+6|0]+((r[c+1|0]+w(r[c+4|0]+r[c+3|0]|0,20)|0)+w(r[c+5|0]+r[c+2|0]|0,-5)|0);p[g+8>>1]=r[c+7|0]+((r[c+2|0]+w(r[c+5|0]+r[c+4|0]|0,20)|0)+w(r[c+6|0]+r[c+3|0]|0,-5)|0);p[g+10>>1]=r[c+8|0]+((r[c+3|0]+w(r[c+6|0]+r[c+5|0]|0,20)|0)+w(r[c+7|0]+r[c+4|0]|0,-5)|0);p[g+12>>1]=r[c+9|0]+((r[c+4|0]+w(r[c+7|0]+r[c+6|0]|0,20)|0)+w(r[c+8|0]+r[c+5|0]|0,-5)|0);p[g+14>>1]=r[c+10|0]+((r[c+5|0]+w(r[c+8|0]+r[c+7|0]|0,20)|0)+w(r[c+9|0]+r[c+6|0]|0,-5)|0);h=h+1|0;c=c+f|0;g=(e<<1)+g|0;continue}break}c=((i<<1)+b|0)+w(e,-22)|0;x=w(d,7);y=w(d,6);z=w(d,5);A=d<<2;B=w(d,3);C=d<<1;n=0;D=0-e<<1;E=w(e,3)<<1;s=e<<1;F=0-s<<1;G=w(e,10)<<1;H=w(e,9)<<1;I=e<<4;J=w(e,7)<<1;K=w(e,6)<<1;L=w(e,5)<<1;M=e<<3;while(1){if((n|0)!=8){N=p[c+G>>1];u=p[c+H>>1];t=p[c+I>>1];g=p[c+J>>1];b=p[c+K>>1];e=p[c+L>>1];f=p[c+M>>1];h=p[c+E>>1];v=h+512|0;m=p[c+s>>1];k=p[c>>1];i=p[(s<<1)+c>>1];q=p[c+D>>1];l=((v+p[c+F>>1]|0)+w(m+k|0,20)|0)+w(i+q|0,-5)|0;j=l>>10;o[a|0]=j>>>0>255?l>>31^-1:j;j=q;q=f+512|0;l=((j+q|0)+w(i+m|0,20)|0)+w(h+k|0,-5)|0;j=l>>10;o[a+d|0]=j>>>0>255?l>>31^-1:j;j=e+512|0;l=((j+k|0)+w(h+i|0,20)|0)+w(f+m|0,-5)|0;k=l>>10;o[a+C|0]=k>>>0>255?l>>31^-1:k;k=(((b+m|0)+w(f+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;m=k>>10;o[a+B|0]=m>>>0>255?k>>31^-1:m;i=(((g+i|0)+w(e+f|0,20)|0)+w(b+h|0,-5)|0)+512|0;h=i>>10;o[a+A|0]=h>>>0>255?i>>31^-1:h;h=((t+v|0)+w(b+e|0,20)|0)+w(f+g|0,-5)|0;f=h>>10;o[a+z|0]=f>>>0>255?h>>31^-1:f;f=((q+u|0)+w(b+g|0,20)|0)+w(e+t|0,-5)|0;e=f>>10;o[a+y|0]=e>>>0>255?f>>31^-1:e;e=((j+N|0)+w(g+t|0,20)|0)+w(b+u|0,-5)|0;b=e>>10;o[a+x|0]=b>>>0>255?e>>31^-1:b;n=n+1|0;c=c+2|0;a=a+1|0;continue}break}}function JE(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ca-304|0;Ca=g;q[g+4>>2]=q[b+32860>>2];q[g>>2]=q[b+32856>>2];q[g+16>>2]=q[b+32872>>2];f=b+32904|0;e=w(q[b+21828>>2],56);h=f+q[e+165612>>2]|0;f=f+q[e+165500>>2]|0;l=b+33161|0;e=0;a:{while(1){if((e|0)!=7){k=r[e+165902|0];if(_a(g,k+f|0)){q[(g+48|0)+(i<<2)>>2]=e;i=i+1|0;j=i;if(_a(g,h+k|0)){break a}}e=e+1|0;continue}break}q[(g+48|0)+(i<<2)>>2]=7;j=i+1|0}f=j;e=q[a+26400>>2]+(q[b+21796>>2]<<1)|0;p[e>>1]=s[e>>1]|64<>2]){e=0;while(1){i=i+ -1|0;m=(r[q[(g+48|0)+(i<<2)>>2]+152420|0]<<1)+c|0;c:{if(!_a(g,r[e+165909|0]+l|0)){a=q[g>>2];f=a<<1;q[g>>2]=f;if(!(a&32767)){sc(g);f=q[g>>2]}d=r[e+165936|0];e=f;a=q[g+4>>2];f=a<<17;h=e-f|0;e=h>>31;f=(e&f)+h|0;q[g>>2]=f;j=e^65535;break c}a=r[e+165928|0]+l|0;d=r[e+165944|0];e=2;d:{while(1){e:{if((e|0)==15){a=0;while(1){f:{f=1;h=zc(g);e=a;if(e>>>0>22){break f}a=e+1|0;if(h){continue}}break}while(1){if(!e){break e}e=e+ -1|0;f=zc(g)+(f<<1)|0;continue}}if(!_a(g,a)){break d}e=e+1|0;continue}break}e=f+14|0}f=q[g>>2];a=f<<1;q[g>>2]=a;h=0-e|0;e=g;if(!(f&32767)){sc(g);a=q[g>>2]}j=e;e=a;a=q[g+4>>2];f=a<<17;k=e-f|0;e=k>>31;f=(e&f)+k|0;q[j>>2]=f;j=e^h}p[m>>1]=j-e;e=d&255;if(i){continue}break}break b}e=0;while(1){i=i+ -1|0;m=(r[q[(g+48|0)+(i<<2)>>2]+152420|0]<<2)+c|0;g:{if(!_a(g,r[e+165909|0]+l|0)){a=q[g>>2];f=a<<1;q[g>>2]=f;if(!(a&32767)){sc(g);f=q[g>>2]}d=r[e+165936|0];e=f;a=q[g+4>>2];f=a<<17;h=e-f|0;e=h>>31;f=(e&f)+h|0;q[g>>2]=f;j=e^-1;break g}a=r[e+165928|0]+l|0;d=r[e+165944|0];e=2;h:{while(1){i:{if((e|0)==15){a=0;while(1){j:{f=1;h=zc(g);e=a;if(e>>>0>22){break j}a=e+1|0;if(h){continue}}break}while(1){if(!e){break i}e=e+ -1|0;f=zc(g)+(f<<1)|0;continue}}if(!_a(g,a)){break h}e=e+1|0;continue}break}e=f+14|0}f=q[g>>2];a=f<<1;q[g>>2]=a;h=0-e|0;e=g;if(!(f&32767)){sc(g);a=q[g>>2]}j=e;e=a;a=q[g+4>>2];f=a<<17;k=e-f|0;e=k>>31;f=(e&f)+k|0;q[j>>2]=f;j=e^h}q[m>>2]=j-e;e=d&255;if(i){continue}break}}q[b+32856>>2]=f;q[b+32860>>2]=a;q[b+32872>>2]=q[g+16>>2];Ca=g+304|0}function Ec(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;t=w(e,13);c=c-((f&2147483646)<<1)|0;o=f>>1<<1;u=e<<2;f=b;while(1){if((n|0)!=13){j=s[c+6>>1];l=s[c+2>>1];h=s[c>>1];m=s[c+4>>1];g=s[c+ -2>>1];q[f>>2]=j+((s[c+ -4>>1]+w(l+h|0,20)|0)+w(m+g|0,-5)|0);i=(g+w(l+m|0,20)|0)+w(h+j|0,-5)|0;g=s[c+8>>1];q[f+4>>2]=i+g;i=(h+w(j+m|0,20)|0)+w(g+l|0,-5)|0;h=s[c+10>>1];q[f+8>>2]=i+h;i=(l+w(g+j|0,20)|0)+w(h+m|0,-5)|0;l=s[c+12>>1];q[f+12>>2]=i+l;i=(m+w(g+h|0,20)|0)+w(j+l|0,-5)|0;m=s[c+14>>1];q[f+16>>2]=i+m;i=(j+w(h+l|0,20)|0)+w(g+m|0,-5)|0;j=s[c+16>>1];q[f+20>>2]=i+j;i=(g+w(l+m|0,20)|0)+w(h+j|0,-5)|0;g=s[c+18>>1];q[f+24>>2]=i+g;q[f+28>>2]=s[c+20>>1]+((h+w(j+m|0,20)|0)+w(g+l|0,-5)|0);n=n+1|0;c=c+o|0;f=f+u|0;continue}break}c=((t<<2)+b|0)+w(e,-44)|0;m=0;u=0-e<<2;z=w(e,3)<<2;v=e<<1;A=0-v<<2;B=w(e,10)<<2;C=w(e,9)<<2;D=e<<5;E=w(e,7)<<2;F=w(e,6)<<2;G=w(e,5)<<2;x=e<<2;H=x<<2;I=(d&-2)<<1;b=d>>1;J=w(b,3)<<1;K=b<<3;L=w(b,5)<<1;M=w(b,6)<<1;N=w(b,7)<<1;while(1){if((m|0)!=8){O=q[c+B>>2];t=q[c+C>>2];l=q[c+D>>2];j=q[c+E>>2];d=q[c+F>>2];e=q[c+G>>2];f=q[c+H>>2];g=q[c+z>>2];y=g+512|0;n=q[c+x>>2];o=q[c>>2];h=q[(v<<2)+c>>2];i=q[c+u>>2];k=((y+q[c+A>>2]|0)+w(n+o|0,20)|0)+w(h+i|0,-5)|0;r=k>>10;p[a>>1]=r>>>0<16384?r:(k>>31^-1)&16383;k=i;i=f+512|0;k=((k+i|0)+w(h+n|0,20)|0)+w(g+o|0,-5)|0;r=k>>10;p[(b<<1)+a>>1]=r>>>0<16384?r:(k>>31^-1)&16383;k=o;o=e+512|0;k=((k+o|0)+w(g+h|0,20)|0)+w(f+n|0,-5)|0;r=k>>10;p[a+I>>1]=r>>>0<16384?r:(k>>31^-1)&16383;n=(((d+n|0)+w(f+g|0,20)|0)+w(e+h|0,-5)|0)+512|0;k=n>>10;p[a+J>>1]=k>>>0<16384?k:(n>>31^-1)&16383;g=(((h+j|0)+w(e+f|0,20)|0)+w(d+g|0,-5)|0)+512|0;h=g>>10;p[a+K>>1]=h>>>0<16384?h:(g>>31^-1)&16383;f=((l+y|0)+w(d+e|0,20)|0)+w(f+j|0,-5)|0;g=f>>10;p[a+L>>1]=g>>>0<16384?g:(f>>31^-1)&16383;e=((t+i|0)+w(d+j|0,20)|0)+w(e+l|0,-5)|0;f=e>>10;p[a+M>>1]=f>>>0<16384?f:(e>>31^-1)&16383;d=((o+O|0)+w(j+l|0,20)|0)+w(d+t|0,-5)|0;e=d>>10;p[a+N>>1]=e>>>0<16384?e:(d>>31^-1)&16383;m=m+1|0;c=c+4|0;a=a+2|0;continue}break}}function Fc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;t=w(e,13);c=c-((f&2147483646)<<1)|0;o=f>>1<<1;u=e<<2;f=b;while(1){if((n|0)!=13){j=s[c+6>>1];l=s[c+2>>1];h=s[c>>1];m=s[c+4>>1];g=s[c+ -2>>1];q[f>>2]=j+((s[c+ -4>>1]+w(l+h|0,20)|0)+w(m+g|0,-5)|0);i=(g+w(l+m|0,20)|0)+w(h+j|0,-5)|0;g=s[c+8>>1];q[f+4>>2]=i+g;i=(h+w(j+m|0,20)|0)+w(g+l|0,-5)|0;h=s[c+10>>1];q[f+8>>2]=i+h;i=(l+w(g+j|0,20)|0)+w(h+m|0,-5)|0;l=s[c+12>>1];q[f+12>>2]=i+l;i=(m+w(g+h|0,20)|0)+w(j+l|0,-5)|0;m=s[c+14>>1];q[f+16>>2]=i+m;i=(j+w(h+l|0,20)|0)+w(g+m|0,-5)|0;j=s[c+16>>1];q[f+20>>2]=i+j;i=(g+w(l+m|0,20)|0)+w(h+j|0,-5)|0;g=s[c+18>>1];q[f+24>>2]=i+g;q[f+28>>2]=s[c+20>>1]+((h+w(j+m|0,20)|0)+w(g+l|0,-5)|0);n=n+1|0;c=c+o|0;f=f+u|0;continue}break}c=((t<<2)+b|0)+w(e,-44)|0;m=0;u=0-e<<2;z=w(e,3)<<2;v=e<<1;A=0-v<<2;B=w(e,10)<<2;C=w(e,9)<<2;D=e<<5;E=w(e,7)<<2;F=w(e,6)<<2;G=w(e,5)<<2;x=e<<2;H=x<<2;I=(d&-2)<<1;b=d>>1;J=w(b,3)<<1;K=b<<3;L=w(b,5)<<1;M=w(b,6)<<1;N=w(b,7)<<1;while(1){if((m|0)!=8){O=q[c+B>>2];t=q[c+C>>2];l=q[c+D>>2];j=q[c+E>>2];d=q[c+F>>2];e=q[c+G>>2];f=q[c+H>>2];g=q[c+z>>2];y=g+512|0;n=q[c+x>>2];o=q[c>>2];h=q[(v<<2)+c>>2];i=q[c+u>>2];k=((y+q[c+A>>2]|0)+w(n+o|0,20)|0)+w(h+i|0,-5)|0;r=k>>10;p[a>>1]=r>>>0<4096?r:(k>>31^-1)&4095;k=i;i=f+512|0;k=((k+i|0)+w(h+n|0,20)|0)+w(g+o|0,-5)|0;r=k>>10;p[(b<<1)+a>>1]=r>>>0<4096?r:(k>>31^-1)&4095;k=o;o=e+512|0;k=((k+o|0)+w(g+h|0,20)|0)+w(f+n|0,-5)|0;r=k>>10;p[a+I>>1]=r>>>0<4096?r:(k>>31^-1)&4095;n=(((d+n|0)+w(f+g|0,20)|0)+w(e+h|0,-5)|0)+512|0;k=n>>10;p[a+J>>1]=k>>>0<4096?k:(n>>31^-1)&4095;g=(((h+j|0)+w(e+f|0,20)|0)+w(d+g|0,-5)|0)+512|0;h=g>>10;p[a+K>>1]=h>>>0<4096?h:(g>>31^-1)&4095;f=((l+y|0)+w(d+e|0,20)|0)+w(f+j|0,-5)|0;g=f>>10;p[a+L>>1]=g>>>0<4096?g:(f>>31^-1)&4095;e=((t+i|0)+w(d+j|0,20)|0)+w(e+l|0,-5)|0;f=e>>10;p[a+M>>1]=f>>>0<4096?f:(e>>31^-1)&4095;d=((o+O|0)+w(j+l|0,20)|0)+w(d+t|0,-5)|0;e=d>>10;p[a+N>>1]=e>>>0<4096?e:(d>>31^-1)&4095;m=m+1|0;c=c+4|0;a=a+2|0;continue}break}}function rE(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;j=q[q[a+24364>>2]+(q[b+21796>>2]<<2)>>2];a:{if(!(j&12288)){break a}l=o[b+28284|0];if((l|0)<0){break a}k=q[b+21788>>2];m=q[a+25672>>2];k=((((k<<4)+(p[b+28e3>>1]>>2)|0)+8<>2],((k<<2&12)+(p[b+28002>>1]>>2)|0)+(q[b+21792>>2]<<4)|0)|0;l=w(l&255,40)+b|0;n[q[a+12>>2]](k+q[l+23416>>2]|0,q[b+21772>>2],4);n[q[a+12>>2]](k+q[l+23420>>2]|0,q[b+21772>>2],4);n[q[a+12>>2]](k+q[l+23424>>2]|0,q[b+21772>>2],4)}b:{if(j&8){fd(a,b,0,1,16,0,c,d,e,0,0,f,g,h,i,j&4096,j&16384);break b}if(j&16){f=f- -64|0;g=g- -64|0;fd(a,b,0,0,8,8<>2],c,d,e,0,0,f,g,h,i,j&4096,j&16384);fd(a,b,8,0,8,8<>2],c,d,e,0,4,f,g,h,i,j&8192,j&32768);break b}if(!(j&32)){t=i+8|0;u=h+8|0;l=g+128|0;m=f+128|0;v=i+4|0;x=h+4|0;y=g- -64|0;z=f- -64|0;while(1){if((r|0)==4){break b}f=r<<1;g=f&4;i=r<<2;k=i&4;f=s[(b+f|0)+28552>>1];c:{if(f&8){fd(a,b,i,1,8,0,c,d,e,k,g,z,y,x,v,f&4096,f&16384);break c}if(f&16){h=f&4096;f=f&16384;fd(a,b,i,0,4,4<>2],c,d,e,k,g,m,l,x,v,h,f);fd(a,b,i|2,0,4,4<>2],c,d,e,k,g|2,m,l,x,v,h,f);break c}if(!(f&32)){A=f&16384;f=f&4096;h=0;while(1){if((h|0)==4){break c}fd(a,b,h+i|0,1,4,0,c,d,e,k|h<<1&2,g|h&2,m,l,u,t,f,A);h=h+1|0;continue}}h=f&4096;f=f&16384;fd(a,b,i,0,8,q[b+21780>>2]<<2,c,d,e,k,g,m,l,u,t,h,f);fd(a,b,i|1,0,8,q[b+21780>>2]<<2,c,d,e,k|2,g,m,l,u,t,h,f)}r=r+1|0;continue}}f=f- -64|0;g=g- -64|0;h=h+4|0;i=i+4|0;fd(a,b,0,0,16,q[b+21780>>2]<<3,c,d,e,0,0,f,g,h,i,j&4096,j&16384);fd(a,b,4,0,16,q[b+21780>>2]<<3,c,d,e,4,0,f,g,h,i,j&8192,j&32768)}d:{if(!(j&49152)){break d}d=o[b+28324|0];if((d|0)<0){break d}c=q[b+21788>>2];e=q[a+25672>>2];c=((((c<<4)+(p[b+28160>>1]>>2)|0)+8<>2],((c<<2&12)+(p[b+28162>>1]>>2)|0)+(q[b+21792>>2]<<4)|0)|0;d=w(d&255,40)+b|0;n[q[a+12>>2]](c+q[d+25336>>2]|0,q[b+21772>>2],4);n[q[a+12>>2]](c+q[d+25340>>2]|0,q[b+21772>>2],4);n[q[a+12>>2]](c+q[d+25344>>2]|0,q[b+21772>>2],4)}}function qw(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0;m=q[(e<<4)+2340548>>2];h=q[c+12>>2];a:{b:{if(!g){s=(h|0)>0?h:0;k=w(f,34);t=e+97277|0;e=0;while(1){if((e|0)==(s|0)){break a}l=q[b>>2];i=q[b+8>>2];f=l+(i>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(i&7)>>>21&2044)+m|0;j=p[f>>1];h=q[b+16>>2];g=p[f+2>>1];c:{if((g|0)>-1){break c}f=i+9|0;i=h>>>0>f>>>0?f:h;f=l+(i>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(i&7)>>>g+32|0)+j<<2)+m|0;j=p[f>>1];f=p[f+2>>1];if((f|0)>-1){g=f;break c}g=i-g|0;i=h>>>0>g>>>0?g:h;g=l+(i>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);f=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(i&7)>>>f+32|0)+j<<2)+m|0;g=p[f+2>>1];j=p[f>>1]}f=g+i|0;q[b+8>>2]=h>>>0>f>>>0?f:h;n=(j-o[t|0]|0)+n|0;o[(d+k|0)+e|0]=n;f=(c+k|0)+e|0;e=e+1|0;g=o[f+76|0];f=g>>31;if((f^f+g)<=(q[c+8>>2]<<3|7)){continue}break}break b}s=(h|0)>0?h:0;g=f;if(!g){g=q[c+40>>2]}t=w(((g|0)>1?g:1)+ -1|0,34)+d|0;n=e+97277|0;e=0;while(1){if((e|0)==(s|0)){break a}l=q[b>>2];i=q[b+8>>2];g=l+(i>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(i&7)>>>21&2044)+m|0;j=p[g>>1];u=r[e+t|0];k=q[b+16>>2];g=p[g+2>>1];d:{if((g|0)>-1){break d}h=i+9|0;i=k>>>0>h>>>0?h:k;h=l+(i>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=(((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(i&7)>>>g+32|0)+j<<2)+m|0;j=p[h>>1];h=p[h+2>>1];if((h|0)>-1){g=h;break d}g=i-g|0;i=k>>>0>g>>>0?g:k;g=l+(i>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);h=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(i&7)>>>h+32|0)+j<<2)+m|0;g=p[h+2>>1];j=p[h>>1]}g=g+i|0;q[b+8>>2]=k>>>0>g>>>0?g:k;g=w(f,34);o[(g+d|0)+e|0]=(j+u|0)-r[n|0];g=(c+g|0)+e|0;e=e+1|0;h=o[g+76|0];g=h>>31;if((g^g+h)<=(q[c+8>>2]<<3|7)){continue}break}}Ta(a,16,22097,0);v=-1094995529}return v}function ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0;j=8-f|0;h=8-e|0;g=w(j,h);h=w(f,h);j=w(e,j);a:{f=w(e,f);if(f){e=0;l=(d|0)>0?d:0;m=c+8|0;n=c+7|0;p=c+6|0;q=c+5|0;s=c+4|0;t=c+3|0;u=c+2|0;v=c+1|0;while(1){if((e|0)==(l|0)){break a}d=b+c|0;i=b+v|0;o[a|0]=(((w(r[b|0],g)+w(j,r[b+1|0])|0)+w(h,r[d|0])|0)+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+1|0],g)+w(j,r[b+2|0])|0)+w(h,r[i|0])|0;i=b+u|0;o[a+1|0]=(k+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+2|0],g)+w(j,r[b+3|0])|0)+w(h,r[i|0])|0;i=b+t|0;o[a+2|0]=(k+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+3|0],g)+w(j,r[b+4|0])|0)+w(h,r[i|0])|0;i=b+s|0;o[a+3|0]=(k+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+4|0],g)+w(j,r[b+5|0])|0)+w(h,r[i|0])|0;i=b+q|0;o[a+4|0]=(k+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+5|0],g)+w(j,r[b+6|0])|0)+w(h,r[i|0])|0;i=b+p|0;o[a+5|0]=(k+w(f,r[i|0])|0)+32>>>6;k=(w(r[b+6|0],g)+w(j,r[b+7|0])|0)+w(h,r[i|0])|0;i=b+n|0;o[a+6|0]=(k+w(f,r[i|0])|0)+32>>>6;o[a+7|0]=(((w(r[b+7|0],g)+w(j,r[b+8|0])|0)+w(h,r[i|0])|0)+w(f,r[b+m|0])|0)+32>>>6;e=e+1|0;a=a+c|0;b=d;continue}}e=h+j|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=w(r[b|0],g)+32>>>6;o[a+1|0]=w(r[b+1|0],g)+32>>>6;o[a+2|0]=w(r[b+2|0],g)+32>>>6;o[a+3|0]=w(r[b+3|0],g)+32>>>6;o[a+4|0]=w(r[b+4|0],g)+32>>>6;o[a+5|0]=w(r[b+5|0],g)+32>>>6;o[a+6|0]=w(r[b+6|0],g)+32>>>6;o[a+7|0]=w(r[b+7|0],g)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}h=h?c:1;j=h+7|0;l=h+6|0;m=h+5|0;n=h+4|0;p=h+3|0;q=h+2|0;s=h+1|0;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(w(r[b|0],g)+w(e,r[b+h|0])|0)+32>>>6;o[a+1|0]=(w(r[b+1|0],g)+w(e,r[b+s|0])|0)+32>>>6;o[a+2|0]=(w(r[b+2|0],g)+w(e,r[b+q|0])|0)+32>>>6;o[a+3|0]=(w(r[b+3|0],g)+w(e,r[b+p|0])|0)+32>>>6;o[a+4|0]=(w(r[b+4|0],g)+w(e,r[b+n|0])|0)+32>>>6;o[a+5|0]=(w(r[b+5|0],g)+w(e,r[b+m|0])|0)+32>>>6;o[a+6|0]=(w(r[b+6|0],g)+w(e,r[b+l|0])|0)+32>>>6;o[a+7|0]=(w(r[b+7|0],g)+w(e,r[b+j|0])|0)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function pw(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0;m=q[(e<<4)+2340548>>2];h=q[c+28>>2];a:{b:{if(!g){s=(h|0)>0?h:0;k=w(f,34);t=e+97277|0;e=0;while(1){if((e|0)==(s|0)){break a}f=e;l=q[b>>2];e=q[b+8>>2];g=l+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>21&2044)+m|0;j=p[g>>1];i=q[b+16>>2];g=p[g+2>>1];c:{if((g|0)>-1){break c}e=e+9|0;e=i>>>0>e>>>0?e:i;h=l+(e>>>3|0)|0;h=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);h=(((h<<24|h<<8&16711680|(h>>>8&65280|h>>>24))<<(e&7)>>>g+32|0)+j<<2)+m|0;j=p[h>>1];h=p[h+2>>1];if((h|0)>-1){g=h;break c}e=e-g|0;e=i>>>0>e>>>0?e:i;g=l+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);h=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>h+32|0)+j<<2)+m|0;g=p[h+2>>1];j=p[h>>1]}e=e+g|0;q[b+8>>2]=i>>>0>e>>>0?e:i;n=(j-o[t|0]|0)+n|0;o[f+(d+k|0)|0]=n;e=f+1|0;if(r[(f+(c+k|0)|0)+246|0]<8){continue}break}break b}s=(h|0)>0?h:0;g=f;if(!g){g=q[c+40>>2]}t=w(((g|0)>1?g:1)+ -1|0,34)+d|0;n=e+97277|0;e=0;while(1){if((e|0)==(s|0)){break a}h=e;l=q[b>>2];e=q[b+8>>2];g=l+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>21&2044)+m|0;j=p[g>>1];u=r[h+t|0];k=q[b+16>>2];g=p[g+2>>1];d:{if((g|0)>-1){break d}e=e+9|0;e=k>>>0>e>>>0?e:k;i=l+(e>>>3|0)|0;i=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);i=(((i<<24|i<<8&16711680|(i>>>8&65280|i>>>24))<<(e&7)>>>g+32|0)+j<<2)+m|0;j=p[i>>1];i=p[i+2>>1];if((i|0)>-1){g=i;break d}e=e-g|0;e=k>>>0>e>>>0?e:k;g=l+(e>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);i=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(e&7)>>>i+32|0)+j<<2)+m|0;g=p[i+2>>1];j=p[i>>1]}e=e+g|0;q[b+8>>2]=k>>>0>e>>>0?e:k;g=w(f,34);o[h+(g+d|0)|0]=(j+u|0)-r[n|0];e=h+1|0;if(r[(h+(c+g|0)|0)+246|0]<8){continue}break}}Ta(a,16,22754,0);v=-1094995529}return v}function Nu(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca-80|0;Ca=d;a:{b:{c=q[a+8>>2];c:{d:{if(c>>>0<=1){f=q[q[a+28>>2]+16>>2];if(c-1){q[d+40>>2]=0;q[d+44>>2]=0;q[d+32>>2]=0;q[d+36>>2]=0;c=q[b+68>>2];q[d+28>>2]=c;e=q[b+72>>2];q[d+24>>2]=e;e:{if(!(q[f+16>>2]!=q[b+80>>2]|(c|0)!=q[f+20>>2]|(e|0)!=q[f+24>>2])){c=0;g=1;break e}TB(a,d+28|0,d+24|0,f+28|0);c=q[d+28>>2];g=1;while(1){h=Qo(d+48|0,q[a+112>>2],c);if((h|0)<0){c=h;break e}i=0;c=q[d+28>>2];c=(0-c&c)+c|0;q[d+28>>2]=c;e=0;while(1){if((e|0)!=4){j=i;i=e<<2;i=j|q[i+(d+48|0)>>2]%q[(f+i|0)+28>>2];e=e+1|0;continue}break}if(i){continue}break}e=0;c=Dk(d- -64|0,q[a+112>>2],q[d+24>>2],0,d+48|0);if((c|0)<0){break e}while(1){f:{if((e|0)==3){break f}a=e+1|0;g=q[(d- -64|0)+(a<<2)>>2];if(!g){break f}e=e<<2;q[e+(d+32|0)>>2]=g-q[e+(d- -64|0)>>2];e=a;continue}break}a=e<<2;q[a+(d+32|0)>>2]=q[d+64>>2]+(c-q[a+(d- -64|0)>>2]|0);e=0;g:{while(1){if((e|0)!=4){a=e<<2;g=a+f|0;Yc(g);q[g+60>>2]=q[a+(d+48|0)>>2];h:{a=q[a+(d+32|0)>>2];if(!a){break h}a=we(a+23|0,129);q[g>>2]=a;if(a){break h}h=-48;g=14;break g}e=e+1|0;continue}break}q[f+16>>2]=q[b+80>>2];q[f+20>>2]=q[b+68>>2];q[f+24>>2]=q[b+72>>2];g=2}}if((g|0)==2){break c}if((g|0)!=14){break a}break b}i=q[f+16>>2]!=q[b+80>>2];a=q[b+352>>2];h=a;c=q[b+80>>2];if(c>>>0<=11){c=q[w(c,20)+90924>>2]}else{c=0}e=c?h:1;if(!(i|(e|0)!=q[f+76>>2]|(a|0)!=q[f+80>>2])){c=0;if(q[b+76>>2]==q[f+84>>2]){break a}}Yc(f);h=ym(f+60|0,a,q[b+76>>2],q[b+80>>2],0);if((h|0)<0){break b}c=we(q[f+60>>2],0);q[f>>2]=c;if(c){break d}h=-48;break b}q[d+8>>2]=1597;q[d+4>>2]=20914;q[d>>2]=40536;Ta(0,0,19766,d);I();F()}c=q[b+80>>2];q[f+80>>2]=a;q[f+76>>2]=e;q[f+16>>2]=c;q[f+84>>2]=q[b+76>>2]}c=0;break a}e=0;while(1){if((e|0)!=4){Yc((e<<2)+f|0);e=e+1|0;continue}break}q[f+84>>2]=0;q[f+16>>2]=-1;q[f+20>>2]=0;q[f+76>>2]=0;q[f+80>>2]=0;q[f+24>>2]=0;c=h}Ca=d+80|0;return c}function vc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;f=w(c,6);t=f<<2;h=t+a|0;i=p[h+2>>1];j=p[h>>1];e=(c<<4)+a|0;q=p[e>>1];d=j+q>>1;p[e>>1]=p[a>>1]-d>>>1;g=p[e+2>>1];p[a>>1]=d+p[a>>1]>>>1;d=(c<<3)+a|0;j=j-q>>1;p[h+2>>1]=p[d+2>>1]-j>>>1;p[d+2>>1]=j+p[d+2>>1]>>>1;m=h;h=g-i>>1;p[m>>1]=p[d>>1]-h>>>1;p[d>>1]=h+p[d>>1]>>>1;d=g+i>>1;p[e+2>>1]=p[a+2>>1]-d>>>1;p[a+2>>1]=d+p[a+2>>1]>>>1;q=c<<2;u=(q|1)<<2;e=u+a|0;v=(f|1)<<2;i=v+a|0;j=p[i>>1];g=p[b+2>>1];r=p[i+2>>1];d=b+q|0;f=p[d+ -2>>1];k=w(j,g)-w(r,f)>>15;n=p[e+2>>1];l=p[e>>1];o=w(n,f)+w(l,g)>>15;h=k+o>>1;p[e>>1]=p[a+4>>1]-h>>>1;p[a+4>>1]=h+p[a+4>>1]>>>1;x=c<<1;y=(x|1)<<2;h=y+a|0;k=k-o>>1;p[i+2>>1]=p[h+2>>1]-k>>>1;p[h+2>>1]=k+p[h+2>>1]>>>1;m=i;i=w(g,n)-w(f,l)>>15;g=w(g,r)+w(f,j)>>15;f=i-g>>1;p[m>>1]=p[h>>1]-f>>>1;p[h>>1]=f+p[h>>1]>>>1;h=g+i>>1;p[e+2>>1]=p[a+6>>1]-h>>>1;p[a+6>>1]=h+p[a+6>>1]>>>1;r=c+ -1|0;while(1){c=a+8|0;i=c+(q<<2)|0;g=c+t|0;n=p[g>>1];f=p[b+4>>1];l=p[g+2>>1];h=d+ -4|0;j=p[h>>1];k=w(n,f)-w(l,j)>>15;o=p[i+2>>1];s=p[i>>1];m=w(o,j)+w(s,f)>>15;e=k+m>>1;p[i>>1]=p[a+8>>1]-e>>>1;p[a+8>>1]=e+p[a+8>>1]>>>1;e=c+(x<<2)|0;k=k-m>>1;p[g+2>>1]=p[e+2>>1]-k>>>1;p[e+2>>1]=k+p[e+2>>1]>>>1;m=g;g=w(f,o)-w(j,s)>>15;f=w(f,l)+w(j,n)>>15;j=g-f>>1;p[m>>1]=p[e>>1]-j>>>1;p[e>>1]=j+p[e>>1]>>>1;e=g+f>>1;p[i+2>>1]=p[a+10>>1]-e>>>1;p[a+10>>1]=e+p[a+10>>1]>>>1;e=c+u|0;j=p[e+2>>1];i=c+v|0;k=p[i>>1];g=p[b+6>>1];n=p[i+2>>1];f=p[d+ -6>>1];l=w(k,g)-w(n,f)>>15;o=p[e>>1];s=w(f,j)+w(o,g)>>15;d=l+s>>1;p[e>>1]=p[a+12>>1]-d>>>1;p[a+12>>1]=d+p[a+12>>1]>>>1;d=c+y|0;l=l-s>>1;p[i+2>>1]=p[d+2>>1]-l>>>1;p[d+2>>1]=l+p[d+2>>1]>>>1;m=i;i=w(g,j)-w(f,o)>>15;g=w(g,n)+w(f,k)>>15;f=i-g>>1;p[m>>1]=p[d>>1]-f>>>1;p[d>>1]=f+p[d>>1]>>>1;d=g+i>>1;p[e+2>>1]=p[a+14>>1]-d>>>1;p[a+14>>1]=d+p[a+14>>1]>>>1;b=b+4|0;a=c;d=h;r=r+ -1|0;if(r){continue}break}}function Kt(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(f){t=e<<2;u=w(t,f)+d|0;A=(e+ -1>>>1|0)+1|0;while(1){if(e){D=v+A|0;x=0;y=B;while(1){j=r[(e+p|0)+a|0];n=r[c+y|0];m=r[b+v|0];k=n|m<<8;h=r[a+p|0];i=(k|h<<16)+u|0;g=q[i>>2];if(!g){o=i;h=w(h,1192)+ -19072|0;i=m+ -128|0;g=h+w(i,2066)>>10;l=(g|0)>0?g:0;z=(g>>>0>255?(l|0)<255?l:255:g)<<8;g=h+w(i,-400)|0;i=n+ -128|0;g=g+w(i,-832)>>10;l=(g|0)>0?g:0;l=z+(g>>>0>255?(l|0)<255?l:255:g)<<8;g=h+w(i,1634)>>10;h=(g|0)>0?g:0;g=(l+(g>>>0>255?(h|0)<255?h:255:g)|0)+ -16777216|0;q[o>>2]=g}q[d+s>>2]=g;h=(k|j<<16)+u|0;g=q[h>>2];if(!g){o=h;j=w(j,1192)+ -19072|0;h=m+ -128|0;g=j+w(h,2066)>>10;i=(g|0)>0?g:0;l=(g>>>0>255?(i|0)<255?i:255:g)<<8;i=j+w(h,-400)|0;h=n+ -128|0;g=i+w(h,-832)>>10;i=(g|0)>0?g:0;i=l+(g>>>0>255?(i|0)<255?i:255:g)<<8;g=j+w(h,1634)>>10;j=(g|0)>0?g:0;g=(i+(g>>>0>255?(j|0)<255?j:255:g)|0)+ -16777216|0;q[o>>2]=g}q[(s+t|0)+d>>2]=g;g=p+1|0;j=r[(g+e|0)+a|0];h=r[a+g|0];i=(k|h<<16)+u|0;g=q[i>>2];if(!g){o=i;h=w(h,1192)+ -19072|0;i=m+ -128|0;g=h+w(i,2066)>>10;l=(g|0)>0?g:0;z=(g>>>0>255?(l|0)<255?l:255:g)<<8;l=n+ -128|0;g=h+(w(l,-832)+w(i,-400)|0)>>10;i=(g|0)>0?g:0;i=z+(g>>>0>255?(i|0)<255?i:255:g)<<8;g=h+w(l,1634)>>10;h=(g|0)>0?g:0;g=(i+(g>>>0>255?(h|0)<255?h:255:g)|0)+ -16777216|0;q[o>>2]=g}h=s+4|0;q[h+d>>2]=g;k=(k|j<<16)+u|0;g=q[k>>2];if(!g){i=k;k=m+ -128|0;m=w(j,1192)+ -19072|0;g=w(k,2066)+m>>10;j=(g|0)>0?g:0;o=(g>>>0>255?(j|0)<255?j:255:g)<<8;n=n+ -128|0;g=m+(w(n,-832)+w(k,-400)|0)>>10;k=(g|0)>0?g:0;k=o+(g>>>0>255?(k|0)<255?k:255:g)<<8;g=m+w(n,1634)>>10;m=(g|0)>0?g:0;g=(k+(g>>>0>255?(m|0)<255?m:255:g)|0)+ -16777216|0;q[i>>2]=g}q[(h+t|0)+d>>2]=g;y=y+1|0;v=v+1|0;p=p+2|0;s=s+8|0;x=x+2|0;if(x>>>0>>0){continue}break}B=A+B|0;v=D}p=e+p|0;s=s+t|0;C=C+2|0;if(C>>>0>>0){continue}break}}}function WD(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca-224|0;Ca=e;a:{b:{if(q[b+840>>2]==3){c=q[a+24312>>2];d=q[a+26388>>2];f=q[((d|0)==3?c+84|0:(c+(((d|0)==2)<<2)|0)+76|0)>>2];i=a+28492|0;g=a+28364|0;c=0;c:{d:{while(1){if((c|0)!=2){d=io(e+96|0,g,q[a+29572>>2],f,c^1);d=io((e+96|0)+(d<<2)|0,g,q[a+29572>>2],f,c)+d|0;if((d|0)>=33){break c}j=w(c,1920)+b|0;h=j+23416|0;d=Mi(h,48,e+96|0,d,0,q[a+26388>>2]);d=Mi(w(d,40)+h|0,48-d|0,i,16,1,q[a+26388>>2])+d|0;if((d|0)>=33){break d}h=c<<2;k=q[(h+b|0)+23404>>2];if(k>>>0>d>>>0){Za((j+w(d,40)|0)+23416|0,0,w(k-d|0,40))}q[h+(e+88|0)>>2]=d;c=c+1|0;continue}break}f=q[e+88>>2];c=q[e+92>>2];if((f|0)!=(c|0)|(c|0)<2){break b}c=0;d=(f|0)>0?f:0;while(1){e:{if((c|0)!=(d|0)){g=w(c,40)+b|0;if(q[q[q[q[g+23452>>2]>>2]+248>>2]>>2]==q[q[q[q[g+25372>>2]>>2]+248>>2]>>2]){break e}}else{c=d}if((c|0)!=(f|0)){break b}c=b+25376|0;Va(e+48|0,c,40);d=c;c=b+25336|0;Va(d,c,40);Va(c,e+48|0,40);break b}c=c+1|0;continue}}q[e+8>>2]=160;q[e+4>>2]=11218;q[e>>2]=29260;Ta(0,0,8057,e);I();F()}q[e+24>>2]=153;q[e+20>>2]=11218;q[e+16>>2]=29260;Ta(0,0,8057,e+16|0);I();F()}d=b+23416|0;c=Mi(d,48,a+28364|0,q[a+29572>>2],0,q[a+26388>>2]);c=Mi(w(c,40)+d|0,48-c|0,a+28492|0,16,1,q[a+26388>>2])+c|0;if((c|0)>=33){break a}d=q[b+23404>>2];if(d>>>0<=c>>>0){break b}Za((w(c,40)+b|0)+23416|0,0,w(d-c|0,40))}d=0;while(1){if(d>>>0<(q[b+840>>2]==3?2:1)>>>0){f=((d<<2)+b|0)+23404|0;c=0;while(1){if(c>>>0>2]){g=(w(d,1920)+b|0)+w(c,40)|0;i=q[g+23452>>2];f:{if(!i){break f}if(!lo(a,i)){break f}Ta(q[a+4>>2],16,29804,0);Za(g+23416|0,0,40)}c=c+1|0;continue}break}d=d+1|0;continue}break}c=0;while(1){if(c>>>0>2]){Va((w(c,40)+a|0)+28284|0,(w(c,1920)+b|0)+23416|0,40);c=c+1|0;continue}break}Ca=e+224|0;return}q[e+40>>2]=181;q[e+36>>2]=11218;q[e+32>>2]=29260;Ta(0,0,8057,e+32|0);I();F()}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q[b>>2]=q[b>>2]+32;while(1){if((k|0)==8){l=c&-2;k=c>>1;r=w(k,7);t=w(k,6);u=w(k,5);v=k<<2;x=w(k,3);c=0;while(1){if((c|0)!=8){d=c<<5;e=q[(d|20)+b>>2];g=q[(d|12)+b>>2];h=q[(d|4)+b>>2];i=((e+g|0)+h|0)+(h>>1)|0;j=(c<<1)+a|0;m=q[(d|8)+b>>2];n=q[(d|24)+b>>2];o=m+(n>>1)|0;y=q[(d|16)+b>>2];z=q[b+d>>2];A=y+z|0;B=o+A|0;d=q[(d|28)+b>>2];C=((e-g|0)-d|0)-(d>>1)|0;D=i-(C>>2)|0;f=s[j>>1]+(B+D>>6)|0;p[j>>1]=f>>>0<16384?f:(f>>31^-1)&16383;f=(c+k<<1)+a|0;g=h+(d-(g+(g>>1)|0)|0)|0;e=((d+e|0)+(e>>1)|0)-h|0;h=(g>>2)-e|0;j=(m>>1)-n|0;n=z-y|0;m=j+n|0;d=s[f>>1]+(h+m>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+l<<1)+a|0;e=g+(e>>2)|0;g=n-j|0;d=s[f>>1]+(e+g>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+x<<1)+a|0;i=C+(i>>2)|0;j=A-o|0;d=s[f>>1]+(i+j>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+v<<1)+a|0;d=s[f>>1]+(j-i>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+u<<1)+a|0;d=s[f>>1]+(g-e>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;e=(c+t<<1)+a|0;d=s[e>>1]+(m-h>>6)|0;p[e>>1]=d>>>0<16384?d:(d>>31^-1)&16383;e=(c+r<<1)+a|0;d=s[e>>1]+(B-D>>6)|0;p[e>>1]=d>>>0<16384?d:(d>>31^-1)&16383;c=c+1|0;continue}break}Za(b,0,256)}else{d=(k<<2)+b|0;l=d- -64|0;r=q[l>>2];i=q[d+192>>2];t=r+(i>>1)|0;u=q[d+128>>2];v=q[d>>2];x=u+v|0;j=t+x|0;h=q[d+32>>2];e=q[d+160>>2];g=q[d+96>>2];n=(h+(e+g|0)|0)+(h>>1)|0;f=q[d+224>>2];m=((e-g|0)-f|0)-(f>>1)|0;o=n-(m>>2)|0;q[d+224>>2]=j-o;y=l;g=h+(f-(g+(g>>1)|0)|0)|0;e=((e+f|0)+(e>>1)|0)-h|0;h=g+(e>>2)|0;f=v-u|0;i=(r>>1)-i|0;l=f-i|0;q[y>>2]=h+l;q[d+160>>2]=l-h;q[d>>2]=j+o;h=m+(n>>2)|0;l=x-t|0;q[d+96>>2]=h+l;q[d+128>>2]=l-h;e=(g>>2)-e|0;g=f+i|0;q[d+32>>2]=e+g;q[d+192>>2]=g-e;k=k+1|0;continue}break}}function kw(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=x(0),k=x(0),l=x(0),m=x(0),p=0,r=0,s=0,t=0,v=0,y=0,z=0,B=0;h=Ca-8704|0;Ca=h;Za(h+4352|0,0,4352);if(q[a+760>>2]!=(d|0)){Za(a+80560|0,0,136);Za(a+80704|0,0,136);Za(a+2528|0,0,78024)}r=d?97328:97424;s=q[(d<<2)+96272>>2];f=(s|0)>0?s:0;while(1){if((e|0)==(f|0)){f=0;e=q[(d<<2)+97496>>2];g=(e|0)>0?e:0;while(1){if((f|0)!=(g|0)){e=(f<<2)+a|0;i=e+80704|0;k=u[i>>2];t=e+80560|0;j=u[t>>2];v=e+80416|0;l=u[v>>2];e=0;while(1){if((e|0)!=32){p=e<<2;y=f<<7;m=u[p+(y+(h+4352|0)|0)>>2];j=x(j+x(x(m-j)*x(.25)));l=x(l*x(.765928328037262));l=l>m?l:m;k=x(k+x(x(x(l-m)-k)*x(.25)));m=x(k*x(1.5));u[p+(h+y|0)>>2]=m>j?x(j/m):x(1);e=e+1|0;continue}break}u[v>>2]=l;u[t>>2]=j;u[i>>2]=k;f=f+1|0;continue}break}g=0;e=d<<2;f=q[e+96280>>2];f=(f|0)>0?f:0;t=e+97504|0;v=w(d,1200);y=w(d,400);while(1){if((f|0)==(g|0)){d=q[(d<<2)+97512>>2];e=(f|0)>(d|0)?f:d}else{i=w(g,368)+a|0;Va(i+2528|0,i+2784|0,112);p=g<<8;Va(i+2640|0,p+c|0,256);j=x(x(x(g-q[t>>2]|0)*x(-.05000000074505806))+x(1));k=x(A(j,x(1)));B=o[g+r|0];e=0;while(1){if((e|0)!=3){z=(w(g,888)+a|0)+w(e,296)|0;Va(z+36016|0,z+36272|0,40);e=e+1|0;continue}break}n[q[a+134056>>2]](b+p|0,i+2624|0,(w(g,888)+a|0)+36016|0,(y+(g<<3)|0)+2366864|0,(v+w(g,24)|0)+2367664|0,(B<<7)+h|0,j>2]](b+d|0,g,(o[f+r|0]<<7)+h|0,32);f=f+1|0;continue}break}f=(e|0)>(s|0)?e:s;while(1){if((e|0)!=(f|0)){d=w(e,368)+a|0;Va(d+2528|0,d+2784|0,112);g=e<<8;Va(d+2640|0,g+c|0,256);n[q[a+134040>>2]](b+g|0,d+2632|0,(o[e+r|0]<<7)+h|0,32);e=e+1|0;continue}break}Ca=h+8704|0}else{n[q[a+134036>>2]]((h+4352|0)+(o[e+r|0]<<7)|0,(e<<8)+c|0,32);e=e+1|0;continue}break}}function al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q[b>>2]=q[b>>2]+32;while(1){if((k|0)==8){l=c&-2;k=c>>1;r=w(k,7);t=w(k,6);u=w(k,5);v=k<<2;x=w(k,3);c=0;while(1){if((c|0)!=8){d=c<<5;e=q[(d|20)+b>>2];g=q[(d|12)+b>>2];h=q[(d|4)+b>>2];i=((e+g|0)+h|0)+(h>>1)|0;j=(c<<1)+a|0;m=q[(d|8)+b>>2];n=q[(d|24)+b>>2];o=m+(n>>1)|0;y=q[(d|16)+b>>2];z=q[b+d>>2];A=y+z|0;B=o+A|0;d=q[(d|28)+b>>2];C=((e-g|0)-d|0)-(d>>1)|0;D=i-(C>>2)|0;f=s[j>>1]+(B+D>>6)|0;p[j>>1]=f>>>0<1024?f:(f>>31^-1)&1023;f=(c+k<<1)+a|0;g=h+(d-(g+(g>>1)|0)|0)|0;e=((d+e|0)+(e>>1)|0)-h|0;h=(g>>2)-e|0;j=(m>>1)-n|0;n=z-y|0;m=j+n|0;d=s[f>>1]+(h+m>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+l<<1)+a|0;e=g+(e>>2)|0;g=n-j|0;d=s[f>>1]+(e+g>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+x<<1)+a|0;i=C+(i>>2)|0;j=A-o|0;d=s[f>>1]+(i+j>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+v<<1)+a|0;d=s[f>>1]+(j-i>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+u<<1)+a|0;d=s[f>>1]+(g-e>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;e=(c+t<<1)+a|0;d=s[e>>1]+(m-h>>6)|0;p[e>>1]=d>>>0<1024?d:(d>>31^-1)&1023;e=(c+r<<1)+a|0;d=s[e>>1]+(B-D>>6)|0;p[e>>1]=d>>>0<1024?d:(d>>31^-1)&1023;c=c+1|0;continue}break}Za(b,0,256)}else{d=(k<<2)+b|0;l=d- -64|0;r=q[l>>2];i=q[d+192>>2];t=r+(i>>1)|0;u=q[d+128>>2];v=q[d>>2];x=u+v|0;j=t+x|0;h=q[d+32>>2];e=q[d+160>>2];g=q[d+96>>2];n=(h+(e+g|0)|0)+(h>>1)|0;f=q[d+224>>2];m=((e-g|0)-f|0)-(f>>1)|0;o=n-(m>>2)|0;q[d+224>>2]=j-o;y=l;g=h+(f-(g+(g>>1)|0)|0)|0;e=((e+f|0)+(e>>1)|0)-h|0;h=g+(e>>2)|0;f=v-u|0;i=(r>>1)-i|0;l=f-i|0;q[y>>2]=h+l;q[d+160>>2]=l-h;q[d>>2]=j+o;h=m+(n>>2)|0;l=x-t|0;q[d+96>>2]=h+l;q[d+128>>2]=l-h;e=(g>>2)-e|0;g=f+i|0;q[d+32>>2]=e+g;q[d+192>>2]=g-e;k=k+1|0;continue}break}}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q[b>>2]=q[b>>2]+32;while(1){if((k|0)==8){l=c&-2;k=c>>1;r=w(k,7);t=w(k,6);u=w(k,5);v=k<<2;x=w(k,3);c=0;while(1){if((c|0)!=8){d=c<<5;e=q[(d|20)+b>>2];g=q[(d|12)+b>>2];h=q[(d|4)+b>>2];i=((e+g|0)+h|0)+(h>>1)|0;j=(c<<1)+a|0;m=q[(d|8)+b>>2];n=q[(d|24)+b>>2];o=m+(n>>1)|0;y=q[(d|16)+b>>2];z=q[b+d>>2];A=y+z|0;B=o+A|0;d=q[(d|28)+b>>2];C=((e-g|0)-d|0)-(d>>1)|0;D=i-(C>>2)|0;f=s[j>>1]+(B+D>>6)|0;p[j>>1]=f>>>0<4096?f:(f>>31^-1)&4095;f=(c+k<<1)+a|0;g=h+(d-(g+(g>>1)|0)|0)|0;e=((d+e|0)+(e>>1)|0)-h|0;h=(g>>2)-e|0;j=(m>>1)-n|0;n=z-y|0;m=j+n|0;d=s[f>>1]+(h+m>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+l<<1)+a|0;e=g+(e>>2)|0;g=n-j|0;d=s[f>>1]+(e+g>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+x<<1)+a|0;i=C+(i>>2)|0;j=A-o|0;d=s[f>>1]+(i+j>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+v<<1)+a|0;d=s[f>>1]+(j-i>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+u<<1)+a|0;d=s[f>>1]+(g-e>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;e=(c+t<<1)+a|0;d=s[e>>1]+(m-h>>6)|0;p[e>>1]=d>>>0<4096?d:(d>>31^-1)&4095;e=(c+r<<1)+a|0;d=s[e>>1]+(B-D>>6)|0;p[e>>1]=d>>>0<4096?d:(d>>31^-1)&4095;c=c+1|0;continue}break}Za(b,0,256)}else{d=(k<<2)+b|0;l=d- -64|0;r=q[l>>2];i=q[d+192>>2];t=r+(i>>1)|0;u=q[d+128>>2];v=q[d>>2];x=u+v|0;j=t+x|0;h=q[d+32>>2];e=q[d+160>>2];g=q[d+96>>2];n=(h+(e+g|0)|0)+(h>>1)|0;f=q[d+224>>2];m=((e-g|0)-f|0)-(f>>1)|0;o=n-(m>>2)|0;q[d+224>>2]=j-o;y=l;g=h+(f-(g+(g>>1)|0)|0)|0;e=((e+f|0)+(e>>1)|0)-h|0;h=g+(e>>2)|0;f=v-u|0;i=(r>>1)-i|0;l=f-i|0;q[y>>2]=h+l;q[d+160>>2]=l-h;q[d>>2]=j+o;h=m+(n>>2)|0;l=x-t|0;q[d+96>>2]=h+l;q[d+128>>2]=l-h;e=(g>>2)-e|0;g=f+i|0;q[d+32>>2]=e+g;q[d+192>>2]=g-e;k=k+1|0;continue}break}}function lE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,r=0,s=0;g=Ca-48|0;Ca=g;q[g+40>>2]=f;q[g+44>>2]=e;h=q[a>>2];a:{if(q[h+1724>>2]){break a}q[h+1724>>2]=1;k=q[b+72>>2];if(!k){break a}Qi(q[b+68>>2],k,h+40|0,h+1716|0,h+1720|0,q[b+580>>2],b)}b:{c:{if(o[a+176|0]&1){break c}f=uo(h,e,f,b);if((Mn(h,f,g+44|0,g+40|0)|0)<=-1){q[c>>2]=0;q[d>>2]=0;f=q[g+40>>2];break b}if((f|0)==-100|(f|0)>-1){break c}uo(h,q[h>>2]+(q[h+8>>2]+f|0)|0,0-f|0,b)}kE(a,b,q[g+44>>2],q[g+40>>2]);if(q[b+760>>2]){e=q[b+84>>2];q[g+28>>2]=1;q[g+24>>2]=e;e=q[b+764>>2];q[g+16>>2]=q[b+760>>2];q[g+20>>2]=e;e=q[g+28>>2];q[g+8>>2]=q[g+24>>2];q[g+12>>2]=e;Hj(g+32|0,g+16|0,g+8|0);k=q[g+32>>2];q[b+76>>2]=q[g+36>>2];q[b+80>>2]=k}i=q[h+1412>>2];d:{if((i|0)<0){i=-2147483648;m=-2147483648;e=-2147483648;break d}m=q[h+1408>>2];e=q[h+1512>>2]}q[a+248>>2]=m;q[a+244>>2]=i;s=e;q[a+240>>2]=e;e=q[a+176>>2];if(e&2){q[a+176>>2]=e&1}e:{if((s|0)<0){break e}e=q[b+772>>2];k=e;l=e>>31;e=q[b+80>>2];n=$R(k,l,e,e>>31);e=Da;l=e;if((e|0)<0?1:(e|0)<=0?n>>>0>=1?0:1:0){break e}e=q[b+776>>2];b=q[b+76>>2];p=$R(e,e>>31,b,b>>31);r=Da;e=q[a+48>>2];j=q[a+52>>2];f:{g:{if(!e&(j|0)==-2147483648){b=h+1752|0;e=q[h+1752>>2];j=q[h+1756>>2];if(!e&(j|0)==-2147483648){e=0;j=-2147483648;break f}h=kk(i,i>>31,p,r,n,l)+e|0;j=j+Da|0;j=h>>>0>>0?j+1|0:j;e=h;q[a+48>>2]=e;q[a+52>>2]=j;break g}i=kk(i,i>>31,p,r,n,l);k=j-((e>>>0>>0)+Da|0)|0;i=e-i|0;q[h+1752>>2]=i;q[h+1756>>2]=k;b=h+1752|0;if(!i&(k|0)==-2147483648){break f}}if(q[a+40>>2]|q[a+44>>2]!=-2147483648){break f}i=kk(m,m>>31,p,r,n,l)+e|0;k=j+Da|0;q[a+40>>2]=i;q[a+44>>2]=i>>>0>>0?k+1|0:k}if((s|0)<1){break e}q[b>>2]=e;q[b+4>>2]=j}q[c>>2]=q[g+44>>2];q[d>>2]=q[g+40>>2]}Ca=g+48|0;return f|0}function cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q[b>>2]=q[b>>2]+32;while(1){if((k|0)==8){l=c&-2;k=c>>1;r=w(k,7);t=w(k,6);u=w(k,5);v=k<<2;x=w(k,3);c=0;while(1){if((c|0)!=8){d=c<<5;e=q[(d|20)+b>>2];g=q[(d|12)+b>>2];h=q[(d|4)+b>>2];i=((e+g|0)+h|0)+(h>>1)|0;j=(c<<1)+a|0;m=q[(d|8)+b>>2];n=q[(d|24)+b>>2];o=m+(n>>1)|0;y=q[(d|16)+b>>2];z=q[b+d>>2];A=y+z|0;B=o+A|0;d=q[(d|28)+b>>2];C=((e-g|0)-d|0)-(d>>1)|0;D=i-(C>>2)|0;f=s[j>>1]+(B+D>>6)|0;p[j>>1]=f>>>0<512?f:(f>>31^-1)&511;f=(c+k<<1)+a|0;g=h+(d-(g+(g>>1)|0)|0)|0;e=((d+e|0)+(e>>1)|0)-h|0;h=(g>>2)-e|0;j=(m>>1)-n|0;n=z-y|0;m=j+n|0;d=s[f>>1]+(h+m>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+l<<1)+a|0;e=g+(e>>2)|0;g=n-j|0;d=s[f>>1]+(e+g>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+x<<1)+a|0;i=C+(i>>2)|0;j=A-o|0;d=s[f>>1]+(i+j>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+v<<1)+a|0;d=s[f>>1]+(j-i>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+u<<1)+a|0;d=s[f>>1]+(g-e>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;e=(c+t<<1)+a|0;d=s[e>>1]+(m-h>>6)|0;p[e>>1]=d>>>0<512?d:(d>>31^-1)&511;e=(c+r<<1)+a|0;d=s[e>>1]+(B-D>>6)|0;p[e>>1]=d>>>0<512?d:(d>>31^-1)&511;c=c+1|0;continue}break}Za(b,0,256)}else{d=(k<<2)+b|0;l=d- -64|0;r=q[l>>2];i=q[d+192>>2];t=r+(i>>1)|0;u=q[d+128>>2];v=q[d>>2];x=u+v|0;j=t+x|0;h=q[d+32>>2];e=q[d+160>>2];g=q[d+96>>2];n=(h+(e+g|0)|0)+(h>>1)|0;f=q[d+224>>2];m=((e-g|0)-f|0)-(f>>1)|0;o=n-(m>>2)|0;q[d+224>>2]=j-o;y=l;g=h+(f-(g+(g>>1)|0)|0)|0;e=((e+f|0)+(e>>1)|0)-h|0;h=g+(e>>2)|0;f=v-u|0;i=(r>>1)-i|0;l=f-i|0;q[y>>2]=h+l;q[d+160>>2]=l-h;q[d>>2]=j+o;h=m+(n>>2)|0;l=x-t|0;q[d+96>>2]=h+l;q[d+128>>2]=l-h;e=(g>>2)-e|0;g=f+i|0;q[d+32>>2]=e+g;q[d+192>>2]=g-e;k=k+1|0;continue}break}}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;f=d>>1;h=a+ -2|0;m=s[(b?((f^-1)<<1)+a|0:h)>>1];c=w(f,14)+a|0;x=s[c+ -2>>1];y=w(f,12);l=y+a|0;u=s[l+ -2>>1];k=w(f,10)+a|0;v=s[k+ -2>>1];t=f<<3;n=t+a|0;g=s[n+ -2>>1];q=s[h>>1];b=d&-2;h=(b<<1)+a|0;e=s[h+ -2>>1];r=e+2|0;b=a+b|0;i=s[b+ -2>>1];j=(q+r|0)+(i<<1)>>>2|0;o=j+1|0;z=i+2|0;f=w(f,6)+a|0;i=s[f+ -2>>1];e=(z+(e<<1)|0)+i>>>2|0;A=o+e>>>1|0;p[a+4>>1]=A;m=(m+z|0)+(q<<1)>>>2|0;p[a>>1]=m+o>>>1;o=m;m=e+2|0;p[a+2>>1]=(o+m|0)+(j<<1)>>>2;p[b>>1]=A;o=j;j=g+(r+(i<<1)|0)>>>2|0;q=j+2|0;r=(o+q|0)+(e<<1)>>>2|0;p[a+6>>1]=r;p[b+2>>1]=r;e=(e+j|0)+1>>>1|0;p[a+8>>1]=e;p[b+4>>1]=e;p[h>>1]=e;e=(v+(i+(g<<1)|0)|0)+2>>>2|0;i=e+(m+(j<<1)|0)>>>2|0;p[a+10>>1]=i;p[b+6>>1]=i;p[(d<<1|2)+a>>1]=i;d=(e+j|0)+1>>>1|0;p[a+12>>1]=d;p[b+8>>1]=d;p[h+4>>1]=d;p[f>>1]=d;d=((g+(v<<1)|0)+u|0)+2>>>2|0;g=d+(q+(e<<1)|0)>>>2|0;p[a+14>>1]=g;p[b+10>>1]=g;p[h+6>>1]=g;p[f+2>>1]=g;g=(d+e|0)+1>>>1|0;p[b+12>>1]=g;p[h+8>>1]=g;p[f+4>>1]=g;p[n>>1]=g;j=b;b=e+(d<<1)|0;e=((v+(u<<1)|0)+x|0)+2>>>2|0;b=(b+e|0)+2>>>2|0;p[j+14>>1]=b;p[h+10>>1]=b;p[f+6>>1]=b;p[(t|2)+a>>1]=b;b=(d+e|0)+1>>>1|0;p[h+12>>1]=b;p[f+8>>1]=b;p[(t|4)+a>>1]=b;p[k>>1]=b;b=(w(x,3)+u|0)+2>>>2|0;d=((b+d|0)+(e<<1)|0)+2>>>2|0;p[h+14>>1]=d;p[f+10>>1]=d;p[(t|6)+a>>1]=d;p[k+2>>1]=d;d=(b+e|0)+1>>>1|0;p[f+12>>1]=d;p[n+8>>1]=d;p[k+4>>1]=d;p[l>>1]=d;d=(e+w(b,3)|0)+2>>>2|0;p[f+14>>1]=d;p[n+10>>1]=d;p[k+6>>1]=d;p[(y|2)+a>>1]=d;p[c+14>>1]=b;p[l+14>>1]=b;p[k+14>>1]=b;p[n+14>>1]=b;p[c+12>>1]=b;p[l+12>>1]=b;p[k+12>>1]=b;p[n+12>>1]=b;p[c+10>>1]=b;p[l+10>>1]=b;p[k+10>>1]=b;p[c+8>>1]=b;p[l+8>>1]=b;p[k+8>>1]=b;p[c+6>>1]=b;p[l+6>>1]=b;p[c+4>>1]=b;p[l+4>>1]=b;p[c>>1]=b;p[c+2>>1]=b}function TB(a,b,c,d){var e=0,f=0,g=0,h=0;e=q[a+112>>2];e=e>>>0>195?0:w(e,152)+59184|0;a:{if(!e){g=1;e=1;break a}g=1<>2];b:{if(f>>>0>190){break b}c:{switch(f-2|0){default:g=32;e=16;break b;case 5:case 14:case 138:e=32;g=32;break b;case 4:f=q[a+16>>2]==22;g=f?64:g;e=f?64:e;break b;case 37:f=q[a+16>>2];h=(f|0)==42;f=(f|0)==39;g=f?8:h?4:g;e=f?8:h?4:e;break b;case 9:case 15:case 18:f=q[a+16>>2];if(!((f|0)!=43?(f|0)!=49:0)){g=4;e=4}if((f|0)!=39?(f|0)!=148:0){break b}e=8;g=8;break b;case 1:f=q[a+16>>2]+ -53>>>0<2;g=f?4:g;e=f?4:e;break b;case 7:case 8:case 16:case 17:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 35:case 36:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 109:case 110:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 139:case 140:case 141:case 142:case 143:case 144:case 145:case 146:case 147:case 148:case 149:case 150:case 151:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 168:case 169:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 178:case 179:case 180:case 181:case 182:case 183:case 184:break b;case 0:break c}}f=q[a+16>>2]==43;g=f?4:g;e=f?4:e}f=q[a+16>>2];e=(f|0)==136?(e|0)>8?e:8:e;q[b>>2]=(e+q[b>>2]|0)+ -1&0-e;e=(q[c>>2]+g|0)+ -1&0-g;q[c>>2]=e;d:{if(!(q[a+680>>2]|(f|0)==27)){a=f+ -90|0;if(a>>>0>16|!(1<>2]=e+2;a=q[b>>2];q[b>>2]=(a|0)>32?a:32}e=0;while(1){if((e|0)!=4){q[(e<<2)+d>>2]=8;e=e+1|0;continue}break}}function Kb(a,b,c){var d=x(0),e=x(0),f=x(0),g=0,h=0,i=0,j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=0,r=0,s=0,t=0,v=0,y=0,z=0,A=0;i=w(c,6);s=i<<3;j=s+a|0;d=u[j+4>>2];g=(c<<5)+a|0;k=u[g>>2];l=u[j>>2];e=x(k+l);u[g>>2]=u[a>>2]-e;f=u[g+4>>2];u[a>>2]=e+u[a>>2];h=(c<<4)+a|0;e=x(l-k);u[j+4>>2]=u[h+4>>2]-e;u[h+4>>2]=e+u[h+4>>2];e=x(f-d);u[j>>2]=u[h>>2]-e;u[h>>2]=e+u[h>>2];d=x(f+d);u[g+4>>2]=u[a+4>>2]-d;u[a+4>>2]=d+u[a+4>>2];t=c<<2;v=(t|1)<<3;g=v+a|0;k=u[g>>2];d=u[b+4>>2];l=u[g+4>>2];h=(c<<3)+b|0;e=u[h+ -4>>2];f=x(x(k*d)+x(l*e));y=(i|1)<<3;i=y+a|0;m=u[i>>2];n=u[i+4>>2];o=x(x(d*m)-x(e*n));p=x(f+o);u[g>>2]=u[a+8>>2]-p;u[a+8>>2]=u[a+8>>2]+p;z=c<<1;A=(z|1)<<3;j=A+a|0;f=x(o-f);u[i+4>>2]=u[j+4>>2]-f;u[j+4>>2]=f+u[j+4>>2];f=x(x(d*l)-x(k*e));d=x(x(e*m)+x(d*n));e=x(f-d);u[i>>2]=u[j>>2]-e;u[j>>2]=e+u[j>>2];d=x(f+d);u[g+4>>2]=u[a+12>>2]-d;u[a+12>>2]=d+u[a+12>>2];r=c+ -1|0;while(1){c=a+16|0;i=c+(t<<3)|0;k=u[i>>2];d=u[b+8>>2];l=u[i+4>>2];j=h+ -8|0;e=u[j>>2];f=x(x(k*d)+x(l*e));q=c+s|0;m=u[q>>2];n=u[q+4>>2];o=x(x(d*m)-x(e*n));p=x(f+o);u[i>>2]=u[a+16>>2]-p;u[a+16>>2]=u[a+16>>2]+p;g=c+(z<<3)|0;f=x(o-f);u[q+4>>2]=u[g+4>>2]-f;u[g+4>>2]=f+u[g+4>>2];f=x(x(d*l)-x(k*e));d=x(x(e*m)+x(d*n));e=x(f-d);u[q>>2]=u[g>>2]-e;u[g>>2]=e+u[g>>2];d=x(f+d);u[i+4>>2]=u[a+20>>2]-d;u[a+20>>2]=d+u[a+20>>2];g=c+v|0;k=u[g>>2];d=u[b+12>>2];l=u[g+4>>2];e=u[h+ -12>>2];f=x(x(k*d)+x(l*e));i=c+y|0;m=u[i>>2];n=u[i+4>>2];o=x(x(d*m)-x(e*n));p=x(f+o);u[g>>2]=u[a+24>>2]-p;u[a+24>>2]=u[a+24>>2]+p;h=c+A|0;f=x(o-f);u[i+4>>2]=u[h+4>>2]-f;u[h+4>>2]=f+u[h+4>>2];f=x(x(d*l)-x(k*e));d=x(x(e*m)+x(d*n));e=x(f-d);u[i>>2]=u[h>>2]-e;u[h>>2]=e+u[h>>2];d=x(f+d);u[g+4>>2]=u[a+28>>2]-d;u[a+28>>2]=d+u[a+28>>2];b=b+8|0;a=c;h=j;r=r+ -1|0;if(r){continue}break}}function Hz(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=q[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=q[865963]<<1>>>0){break a}}return 0}b:{if(d>>>0>=b>>>0){c=d-b|0;if(c>>>0<16){break b}q[a+4>>2]=g&1|b|2;b=a+b|0;q[b+4>>2]=c|3;q[f+4>>2]=q[f+4>>2]|1;Bi(b,c);break b}c=0;if(q[865849]==(f|0)){d=d+q[865846]|0;if(d>>>0<=b>>>0){break a}q[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;q[c+4>>2]=b|1;q[865846]=b;q[865849]=c;break b}if(q[865848]==(f|0)){d=d+q[865845]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){q[a+4>>2]=g&1|b|2;b=a+b|0;q[b+4>>2]=c|1;d=a+d|0;q[d>>2]=c;q[d+4>>2]=q[d+4>>2]&-2;break c}q[a+4>>2]=d|g&1|2;b=a+d|0;q[b+4>>2]=q[b+4>>2]|1;c=0;b=0}q[865848]=b;q[865845]=c;break b}e=q[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}j=h-b|0;d:{if(e>>>0<=255){c=q[f+8>>2];e=e>>>3|0;d=q[f+12>>2];if((d|0)==(c|0)){l=3463372,m=q[865843]&eS(-2,e),q[l>>2]=m;break d}q[c+12>>2]=d;q[d+8>>2]=c;break d}i=q[f+24>>2];d=q[f+12>>2];e:{if((f|0)!=(d|0)){c=q[f+8>>2];q[c+12>>2]=d;q[d+8>>2]=c;break e}f:{c=f+20|0;e=q[c>>2];if(e){break f}c=f+16|0;e=q[c>>2];if(e){break f}d=0;break e}while(1){k=c;d=e;c=d+20|0;e=q[c>>2];if(e){continue}c=d+16|0;e=q[d+16>>2];if(e){continue}break}q[k>>2]=0}if(!i){break d}c=q[f+28>>2];e=(c<<2)+3463676|0;g:{if(q[e>>2]==(f|0)){q[e>>2]=d;if(d){break g}l=3463376,m=q[865844]&eS(-2,c),q[l>>2]=m;break d}q[i+(q[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}q[d+24>>2]=i;c=q[f+16>>2];if(c){q[d+16>>2]=c;q[c+24>>2]=d}c=q[f+20>>2];if(!c){break d}q[d+20>>2]=c;q[c+24>>2]=d}if(j>>>0<=15){q[a+4>>2]=g&1|h|2;b=a+h|0;q[b+4>>2]=q[b+4>>2]|1;break b}q[a+4>>2]=g&1|b|2;b=a+b|0;q[b+4>>2]=j|3;c=a+h|0;q[c+4>>2]=q[c+4>>2]|1;Bi(b,j)}c=a}return c}function Ao(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=Ca-32|0;Ca=l;q[e>>2]=0;q[e+4>>2]=0;i=Si(a);q[e+8>>2]=i;if(i>>>0>=8){q[l+16>>2]=i;Ta(g,16,4176,l+16|0);q[e+8>>2]=0;i=0}if(q[b+12>>2]){h=Si(a);q[e+12>>2]=h;if(h>>>0>=8){q[l>>2]=h;Ta(g,16,6341,l);q[e+12>>2]=0;h=0}r=1<>2]=0;q[o+16>>2]=0;y=c+h|0;while(1){if((f|0)>2]){d:{if(Xa(a)){i=((f<<4)+e|0)+(d<<3)|0;h=i;z=h+32|0,A=oc(a),q[z>>2]=A;i=oc(a);q[h+36>>2]=i;h=q[h+32>>2];if((h+128|i+128)>>>0>255){break b}if((h|0)==(t|0)?!i:0){break d}q[e>>2]=1;q[o+16>>2]=1;break d}h=((f<<4)+e|0)+(d<<3)|0;q[h+36>>2]=0;q[h+32>>2]=t}e:{if(!q[b+12>>2]){break e}i=0;if(Xa(a)){while(1){if((i|0)==2){break e}h=(((f<<5)+e|0)+(d<<4)|0)+(i<<3)|0;p=h;z=h+800|0,A=oc(a),q[z>>2]=A;j=oc(a);q[h+804>>2]=j;k=q[h+800>>2];if((k+128|j+128)>>>0>255){break c}if(!((k|0)==(r|0)?!j:0)){q[e+4>>2]=1;q[x+24>>2]=1}i=i+1|0;continue}}while(1){if((i|0)==2){break e}h=(((f<<5)+e|0)+(d<<4)|0)+(i<<3)|0;q[h+804>>2]=0;q[h+800>>2]=r;i=i+1|0;continue}}f:{if(v){break f}i=d<<3;h=e+32|0;j=f<<1;p=j+17|0;k=i+(h+(p<<4)|0)|0;m=i+(h+(f<<4)|0)|0;n=q[m>>2];q[k>>2]=n;u=j+16|0;h=i+(h+(u<<4)|0)|0;q[h>>2]=n;i=q[m+4>>2];q[k+4>>2]=i;q[h+4>>2]=i;i=0;if(!q[b+12>>2]){break f}while(1){if((i|0)==2){break f}j=i<<3;h=d<<4;k=j+(h+(s+(p<<5)|0)|0)|0;m=j+(h+(s+(f<<5)|0)|0)|0;n=q[m>>2];q[k>>2]=n;h=j+(h+(s+(u<<5)|0)|0)|0;q[h>>2]=n;j=q[m+4>>2];q[k+4>>2]=j;q[h+4>>2]=j;i=i+1|0;continue}}f=f+1|0;continue}break}d=d+1|0;if(w){continue}}break}q[e>>2]=q[e>>2]?1:q[e+4>>2]!=0;a=0;break a}q[p+800>>2]=r;q[h+804>>2]=0}Pc(g,7985,0);a=-1094995529}Ca=l+32|0;return a}function WC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(N|0)){a=c+d|0;u=r[a+1|0];g=r[c+1|0]+2|0;v=r[b|0]-(u+(r[a|0]+(g+r[c|0]|0)|0)>>>2|0)|0;w=v>>31;h=r[a+2|0];f=g+u|0;g=r[c+2|0];x=r[b+1|0]-(h+(f+g|0)>>>2|0)|0;u=x>>31;f=r[a+3|0];g=g+h|0;h=r[c+3|0];y=r[b+2|0]-((f+(g+h|0)|0)+2>>>2|0)|0;g=y>>31;i=r[a+4|0];h=h+f|0;f=r[c+4|0];z=r[b+3|0]-((i+(h+f|0)|0)+2>>>2|0)|0;h=z>>31;j=r[a+5|0];f=f+i|0;i=r[c+5|0];A=r[b+4|0]-((j+(f+i|0)|0)+2>>>2|0)|0;f=A>>31;k=r[a+6|0];i=i+j|0;j=r[c+6|0];B=r[b+5|0]-((k+(i+j|0)|0)+2>>>2|0)|0;i=B>>31;l=r[a+7|0];j=j+k|0;k=r[c+7|0];C=r[b+6|0]-((l+(j+k|0)|0)+2>>>2|0)|0;j=C>>31;m=r[a+8|0];k=k+l|0;l=r[c+8|0];D=r[b+7|0]-((m+(k+l|0)|0)+2>>>2|0)|0;k=D>>31;n=r[a+9|0];l=l+m|0;m=r[c+9|0];E=r[b+8|0]-((n+(l+m|0)|0)+2>>>2|0)|0;l=E>>31;o=r[a+10|0];m=m+n|0;n=r[c+10|0];F=r[b+9|0]-((o+(m+n|0)|0)+2>>>2|0)|0;m=F>>31;p=r[a+11|0];n=n+o|0;o=r[c+11|0];G=r[b+10|0]-((p+(n+o|0)|0)+2>>>2|0)|0;n=G>>31;q=r[a+12|0];o=o+p|0;p=r[c+12|0];H=r[b+11|0]-((q+(o+p|0)|0)+2>>>2|0)|0;o=H>>31;s=r[a+13|0];p=p+q|0;q=r[c+13|0];I=r[b+12|0]-((s+(p+q|0)|0)+2>>>2|0)|0;p=I>>31;t=r[a+14|0];q=q+s|0;s=r[c+14|0];J=r[b+13|0]-((t+(q+s|0)|0)+2>>>2|0)|0;q=J>>31;K=r[a+15|0];s=s+t|0;t=r[c+15|0];L=r[b+14|0]-((K+(s+t|0)|0)+2>>>2|0)|0;s=L>>31;t=r[b+15|0]-((r[a+16|0]+(r[c+16|0]+(t+K|0)|0)|0)+2>>>2|0)|0;c=t>>31;M=((((((((((((((((w^w+v)+M|0)+(u^u+x)|0)+(g^g+y)|0)+(h^h+z)|0)+(f^f+A)|0)+(i^i+B)|0)+(j^j+C)|0)+(k^k+D)|0)+(l^l+E)|0)+(m^m+F)|0)+(n^n+G)|0)+(o^o+H)|0)+(p^p+I)|0)+(q^q+J)|0)+(s^s+L)|0)+(c^c+t)|0;e=e+1|0;b=b+d|0;c=a;continue}break}return M|0}function Bv(a,b,c){var d=x(0),e=0,f=0,g=x(0),h=0,i=0,j=x(0),k=0,l=x(0),m=0,n=0,o=0,p=0,t=0,v=0,y=x(0),z=0,A=x(0);v=q[b+8>>2];o=a+310386|0;a:while(1){if((i|0)!=(v|0)){p=i+1|0;t=(q[c+4>>2]!=(i|0)?q[c>>2]==(i|0):1)^1;y=x(t>>>0);z=q[a+310124>>2];m=0;b:while(1){if((m|0)==(z|0)){i=p;continue a}e=m<<1;m=m+1|0;h=q[a+76>>2];n=s[(m<<1)+o>>1]-h|0;h=s[e+o>>1]-h|0;e=h;while(1)if(e>>>0>=n>>>0){d=x(0);e=h;g=x(0);while(1){if(e>>>0>>0){f=(w(i,192)+a|0)+(e<<2)|0;g=x(g+u[f+384144>>2]);d=x(d+u[f+381120>>2]);e=e+1|0;continue}break}d=x(x(E(x(x(d+x(1.1920928955078125e-7))/x(g+x(1.1920928955078125e-7)))))*u[(q[a+36>>2]<<2)+105248>>2]);g=d>>0>=n>>>0){g=x(0);e=h;d=x(0);while(1){if(e>>>0>>0){l=d;f=(w(i,192)+a|0)+(e<<2)|0;d=u[f+388176>>2];j=u[f+386832>>2];A=x(x(d*x(d*u[f+384144>>2]))+x(j*j));d=u[f+385488>>2];d=x(l+x(A+x(d*x(d*x((j==x(0)&t)>>>0)))));g=x(g+u[f+381120>>2]);e=e+1|0;continue}break}d=x(E(x(x(g+x(1.1920928955078125e-7))/x(d+x(1.1920928955078125e-7)))));d=d>>0>=n>>>0){continue b}f=(w(i,192)+a|0)+(h<<2)|0;e=f+388176|0;u[e>>2]=d*u[e>>2];e=f+385488|0;u[e>>2]=d*u[e>>2];e=f+386832|0;u[e>>2]=d*u[e>>2];h=h+1|0;continue}}else{k=(w(i,192)+a|0)+(e<<2)|0;f=k+388176|0;d=u[f>>2];u[f>>2]=d>g?g:d;f=k+385488|0;j=u[f>>2];d=x(x(g*j)/d);u[f>>2]=j>d?d:j;e=e+1|0;continue}}else{k=(w(i,192)+a|0)+(e<<2)|0;l=u[k+382464>>2];g=u[k+381120>>2];j=x(l+x(1));d=x(g/j);u[k+385488>>2]=E(x(l*d));u[k+386832>>2]=E(x(d*x(r[((w(p,48)+b|0)+e|0)+86032|0])));f=r[((w(i,48)+a|0)+e|0)+383808|0];u[k+388176>>2]=x(E(x((f?x(g*l):g)/x((f?j:x(x(l*y)+x(1)))*x(u[k+384144>>2]+x(1))))))+x(1.1754943508222875e-38);e=e+1|0;continue}}}break}}function TH(a,b){var c=0,d=0,e=0,f=0;f=Ca-16|0;Ca=f;q[a+84>>2]=q[b+84>>2];q[a+88>>2]=q[b+88>>2];c=q[b+96>>2];q[a+92>>2]=q[b+92>>2];q[a+96>>2]=c;q[a+384>>2]=q[b+384>>2];q[a+388>>2]=q[b+388>>2];q[a+392>>2]=q[b+392>>2];q[a+396>>2]=q[b+396>>2];c=q[b+108>>2];q[a+104>>2]=q[b+104>>2];q[a+108>>2]=c;q[a+208>>2]=q[b+208>>2];q[a+212>>2]=q[b+212>>2];q[a+216>>2]=q[b+216>>2];q[a+220>>2]=q[b+220>>2];q[a+232>>2]=q[b+232>>2];q[a+140>>2]=q[b+140>>2];c=q[b+116>>2];q[a+112>>2]=q[b+112>>2];q[a+116>>2]=c;c=q[b+124>>2];q[a+120>>2]=q[b+120>>2];q[a+124>>2]=c;c=q[b+332>>2];q[a+328>>2]=q[b+328>>2];q[a+332>>2]=c;q[a+356>>2]=q[b+356>>2];c=q[b+340>>2];q[a+336>>2]=q[b+336>>2];q[a+340>>2]=c;c=q[b+228>>2];q[a+224>>2]=q[b+224>>2];q[a+228>>2]=c;q[a+136>>2]=q[b+136>>2];c=q[b+324>>2];q[a+320>>2]=q[b+320>>2];q[a+324>>2]=c;q[a+128>>2]=q[b+128>>2];q[a+132>>2]=q[b+132>>2];q[a+296>>2]=q[b+296>>2];q[a+348>>2]=q[b+348>>2];q[a+304>>2]=q[b+304>>2];q[a+308>>2]=q[b+308>>2];q[a+312>>2]=q[b+312>>2];q[a+300>>2]=q[b+300>>2];q[a+316>>2]=q[b+316>>2];bp(a+344|0,q[b+344>>2]);Va(a+144|0,b+144|0,64);a:{b:{c:{while(1){if((d|0)>2]){c=q[q[b+288>>2]+(d<<2)>>2];if(!(q[b+68>>2]!=q[a+68>>2]|q[b+72>>2]!=q[a+72>>2]?!q[c>>2]:0)){e=Jb(q[c+16>>2]);q[f+12>>2]=e;e=Gk(a,q[c>>2],e);if(!e){lb(f+12|0);break c}bp(e+12|0,q[c+12>>2])}d=d+1|0;continue}break}q[a+368>>2]=0;q[a+360>>2]=0;q[a+364>>2]=0;lb(a+372|0);d=q[b+372>>2];d:{if(!d){break d}d=Jb(d);q[a+372>>2]=d;if(!d){break d}q[a+360>>2]=q[d+4>>2];q[a+364>>2]=q[b+364>>2];q[a+368>>2]=q[b+368>>2]}lb(a+380|0);lb(a+400|0);d=q[b+380>>2];if(d){d=Jb(d);q[a+380>>2]=d;if(!d){break b}}b=q[b+400>>2];if(b){c=a;a=Jb(b);q[c+400>>2]=a;if(!a){break b}}a=0;break a}Wo(a)}a=-48}Ca=f+16|0;return a}function xo(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=q[c+20>>2];k=q[d+36>>2];q[d+32>>2]=k;l=q[d+20>>2];if((l|0)>2]){k=(1<>2]=k}g=d;a:{b:{c:{d:{e:{m=q[c+24>>2];if(m>>>0<=1){if(m-1){j=q[d>>2];f=q[d+28>>2];if((f|0)<=-1){q[d+28>>2]=j;break d}c=1<>2];if(!((f-j|0)<((c|0)/2|0)|(f|0)<=(j|0))){c=c+q[d+24>>2]|0;break c}if((f|0)>=(j|0)|(f-j|0)>=((c|0)/-2|0)){break d}c=q[d+24>>2]-c|0;break c}n=q[c+44>>2];o=(n|0)>0?n:0;l=n?k+l|0:0;m=0-(!f&(l|0)>0)|0;while(1){if((h|0)!=(o|0)){k=i;g=q[((h<<2)+c|0)+152>>2];i=g;k=k+g|0;g=(g>>31)+j|0;g=k>>>0>>0?g+1|0:g;i=k;j=g;h=h+1|0;continue}break}g=m+l|0;if((g|0)<1){i=0;j=0;break e}g=g+ -1|0;h=(g|0)/(n|0)|0;g=g-w(h,n)|0;m=((g|0)>-1?g:-1)+1|0;i=$R(i,j,h,h>>31);j=Da;h=0;while(1){if((h|0)==(m|0)){break e}k=i;g=q[((h<<2)+c|0)+152>>2];i=g;l=k+g|0;g=(g>>31)+j|0;g=l>>>0>>0?g+1|0:g;i=l;j=g;h=h+1|0;continue}}c=(k+l<<1)-!f|0;i=c;j=c>>31;break b}if(!f){g=q[c+36>>2];f=g;i=g+i|0;g=(g>>31)+j|0;g=i>>>0>>0?g+1|0:g;j=g}g=q[d+12>>2];f=g;i=g+i|0;g=(g>>31)+j|0;g=i>>>0>>0?g+1|0:g;f=q[c+40>>2];c=f;h=i+c|0;j=g;g=g+(c>>31)|0;m=h;g=h>>>0>>0?g+1|0:g;h=g;f=m;if((e|0)!=3){break a}d=q[d+16>>2];c=d;f=c+m|0;g=(c>>31)+h|0;g=f>>>0>>0?g+1|0:g;break a}c=q[d+24>>2]}q[g+4>>2]=c;c=c+j|0;i=c;j=c>>31;if((e|0)!=3){break b}d=q[d+8>>2];c=i;f=d+c|0;g=j+(d>>31)|0;g=f>>>0>>0?g+1|0:g;break a}f=i;g=j}c=g;h=-1094995529;g=j;d=i+ -2147483648|0;if(d>>>0<2147483648){g=g+1|0}f:{if(!g&d>>>0>4294967295|g>>>0>0){break f}g=c;c=f+ -2147483648|0;if(c>>>0<2147483648){g=g+1|0}if(!g&c>>>0>4294967295|g>>>0>0){break f}g:{if((e|0)!=2){h=i;q[a>>2]=h;if((e|0)==1){break g}}q[a+4>>2]=f;h=q[a>>2]}a=q[a+4>>2];q[b>>2]=(h|0)>(a|0)?a:h;h=0}return h}function _d(a,b,c){var d=x(0),e=x(0),f=x(0),g=0,h=0,i=x(0),j=x(0),k=0,l=x(0),m=0,n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0),t=x(0),v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=(c<<4)+a|0;d=u[k>>2];h=w(c,6);z=h<<3;m=z+a|0;e=u[m+4>>2];l=u[k+4>>2];i=u[a+4>>2];g=(c<<5)+a|0;n=u[g>>2];o=u[m>>2];j=x(n+o);p=u[a>>2];u[g>>2]=p-j;f=u[g+4>>2];u[a>>2]=j+p;j=x(o-n);u[m+4>>2]=l-j;u[k+4>>2]=j+l;l=x(f-e);u[m>>2]=d-l;u[k>>2]=l+d;d=x(f+e);u[g+4>>2]=i-d;u[a+4>>2]=d+i;l=u[a+12>>2];A=c<<1;B=(A|1)<<3;m=B+a|0;i=u[m>>2];j=u[m+4>>2];C=c<<2;D=(C|1)<<3;g=D+a|0;n=u[g>>2];d=u[b+4>>2];o=u[g+4>>2];k=(c<<3)+b|0;e=u[k+ -4>>2];f=x(x(n*d)+x(o*e));p=u[a+8>>2];E=(h|1)<<3;h=E+a|0;q=u[h>>2];r=u[h+4>>2];s=x(x(d*q)-x(e*r));t=x(f+s);u[g>>2]=p-t;u[a+8>>2]=p+t;f=x(s-f);u[h+4>>2]=j-f;u[m+4>>2]=f+j;j=x(x(d*o)-x(n*e));d=x(x(e*q)+x(d*r));e=x(j-d);u[h>>2]=i-e;u[m>>2]=i+e;d=x(j+d);u[g+4>>2]=l-d;u[a+12>>2]=l+d;y=c+ -1|0;while(1){c=a+16|0;g=c+(A<<3)|0;l=u[g>>2];i=u[g+4>>2];j=u[a+20>>2];h=c+(C<<3)|0;n=u[h>>2];d=u[b+8>>2];o=u[h+4>>2];m=k+ -8|0;e=u[m>>2];f=x(x(n*d)+x(o*e));p=u[a+16>>2];v=c+z|0;q=u[v>>2];r=u[v+4>>2];s=x(x(d*q)-x(e*r));t=x(f+s);u[h>>2]=p-t;u[a+16>>2]=p+t;f=x(s-f);u[v+4>>2]=i-f;u[g+4>>2]=f+i;i=x(x(d*o)-x(n*e));d=x(x(e*q)+x(d*r));e=x(i-d);u[v>>2]=l-e;u[g>>2]=l+e;d=x(i+d);u[h+4>>2]=j-d;u[a+20>>2]=j+d;g=c+B|0;l=u[g>>2];i=u[g+4>>2];j=u[a+28>>2];h=c+D|0;n=u[h>>2];d=u[b+12>>2];o=u[h+4>>2];e=u[k+ -12>>2];f=x(x(n*d)+x(o*e));p=u[a+24>>2];k=c+E|0;q=u[k>>2];r=u[k+4>>2];s=x(x(d*q)-x(e*r));t=x(f+s);u[h>>2]=p-t;u[a+24>>2]=p+t;f=x(s-f);u[k+4>>2]=i-f;u[g+4>>2]=f+i;i=x(x(d*o)-x(n*e));d=x(x(e*q)+x(d*r));e=x(i-d);u[k>>2]=l-e;u[g>>2]=l+e;d=x(i+d);u[h+4>>2]=j-d;u[a+28>>2]=j+d;b=b+8|0;k=m;a=c;y=y+ -1|0;if(y){continue}break}}function im(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Ca-32|0;Ca=g;f=q[a+6476>>2];e=q[a+6472>>2];a:{if((e|0)!=39){if(Xa(c)){Ta(q[a+4>>2],16,39587,0);d=-1094995529;if(r[q[a+4>>2]+580|0]&2){break a}}q[b+8>>2]=q[b+4>>2];d=Ua(c,2);q[b+4>>2]=d;if(!(!d|(e|0)!=23)){a=q[a+4>>2];q[g+16>>2]=d;Ta(a,16,39751,g+16|0);q[b+4>>2]=0;d=-1094995529;break a}o[b+13|0]=r[b+12|0];j=b,k=Xa(c),o[j+12|0]=k}o[b+20|0]=1;q[b+16>>2]=1;b:{c:{d:{if(q[b+4>>2]==2){j=b,k=Ua(c,4),o[j|0]=k;d=0;while(1){if((d|0)!=7){h=Xa(c);e=q[b+16>>2];e:{if(h){e=b+e|0;o[e+19|0]=r[e+19|0]+1;break e}q[b+16>>2]=e+1;o[(b+e|0)+20|0]=1}d=d+1|0;continue}break}q[b+92>>2]=8;c=q[a+6516>>2];q[b+100>>2]=0;q[b+96>>2]=r[f+114331|0];q[b+88>>2]=r[f+(c?105349:105336)|0];q[b+80>>2]=q[(f<<2)+(c?114240:114016)>>2];break d}d=Ua(c,6);q[b+92>>2]=1;o[b|0]=d;d=q[a+6516>>2];f:{if(!((e|0)!=23?(e|0)!=39:0)){g:{if(d){i=q[(f<<2)+113792>>2];q[b+80>>2]=i;h=r[f+105323|0];d=114318;break g}i=q[(f<<2)+113504>>2];q[b+80>>2]=i;h=r[f+105310|0];d=114305}q[b+88>>2]=h;q[b+96>>2]=r[d+f|0];d=-558323010;if(!h){break b}if(i){break f}break b}q[b+96>>2]=r[f+114292|0];q[b+80>>2]=q[(f<<2)+(d?113216:112448)>>2];q[b+88>>2]=r[f+(d?105297:105284)|0]}h:{if((e|0)==39){d=q[b+100>>2];break h}d=Xa(c);q[b+108>>2]=0;q[b+100>>2]=d}if(!d){break d}i:{d=e+ -1|0;j:{if(d>>>0>1){if((e|0)==17){break j}if((e|0)==23){Ta(q[a+4>>2],16,40165,0);d=-1163346256;break b}d=Ua(c,1);o[b+28|0]=d;if(!(d&255)){break d}gm(b+28|0,c,r[b|0]);break d}if(d-1){break i}}Ta(q[a+4>>2],16,39937,0);break c}d=-1094995529;if(Kw(a,b,c)){break b}}d=0;c=q[b+88>>2];f=r[b|0];if((c|0)>=(f|0)){break a}a=q[a+4>>2];q[g+4>>2]=c;q[g>>2]=f;Ta(a,16,40469,g)}d=-1094995529}o[b|0]=0}Ca=g+32|0;return d}function dm(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=q[(d<<4)+2340548>>2];d=q[b+16>>2];a:{if(!f){i=(d|0)>0?d:0;k=w(e,34)+c|0;d=0;while(1){if((d|0)==(i|0)){break a}g=q[a>>2];b=q[a+8>>2];c=g+(b>>>3|0)|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);c=((c<<24|c<<8&16711680|(c>>>8&65280|c>>>24))<<(b&7)>>>21&2044)+j|0;h=p[c>>1];e=q[a+16>>2];f=p[c+2>>1];b:{if((f|0)>-1){break b}b=b+9|0;b=e>>>0>b>>>0?b:e;c=g+(b>>>3|0)|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);c=(((c<<24|c<<8&16711680|(c>>>8&65280|c>>>24))<<(b&7)>>>f+32|0)+h<<2)+j|0;h=p[c>>1];c=p[c+2>>1];if((c|0)>-1){f=c;break b}b=b-f|0;b=e>>>0>b>>>0?b:e;f=g+(b>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);c=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(b&7)>>>c+32|0)+h<<2)+j|0;f=p[c+2>>1];h=p[c>>1]}b=b+f|0;q[a+8>>2]=e>>>0>b>>>0?b:e;l=h+l&7;o[d+k|0]=l;d=d+1|0;continue}}f=e;if(!f){f=q[b+40>>2]}b=0;l=(d|0)>0?d:0;m=w(((f|0)>1?f:1)+ -1|0,34)+c|0;while(1){if((b|0)==(l|0)){break a}k=q[a>>2];d=q[a+8>>2];f=k+(d>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(d&7)>>>21&2044)+j|0;h=p[f>>1];n=r[b+m|0];i=q[a+16>>2];f=p[f+2>>1];c:{if((f|0)>-1){break c}d=d+9|0;d=i>>>0>d>>>0?d:i;g=k+(d>>>3|0)|0;g=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);g=(((g<<24|g<<8&16711680|(g>>>8&65280|g>>>24))<<(d&7)>>>f+32|0)+h<<2)+j|0;h=p[g>>1];g=p[g+2>>1];if((g|0)>-1){f=g;break c}d=d-f|0;d=i>>>0>d>>>0?d:i;f=k+(d>>>3|0)|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);g=(((f<<24|f<<8&16711680|(f>>>8&65280|f>>>24))<<(d&7)>>>g+32|0)+h<<2)+j|0;f=p[g+2>>1];h=p[g>>1]}d=d+f|0;q[a+8>>2]=i>>>0>d>>>0?d:i;o[(w(e,34)+c|0)+b|0]=h+n&7;b=b+1|0;continue}}}function eE(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-48|0;Ca=e;a:{b:{c:{if(Xa(a)){d=Ua(a,8);if((d|0)==255){g=c,h=Ua(a,16),q[g+100>>2]=h;g=c,h=Ua(a,16),q[g+104>>2]=h;break c}if(d>>>0<=16){d=(d<<3)+169152|0;f=q[d+4>>2];q[c+100>>2]=q[d>>2];q[c+104>>2]=f;break c}Ta(b,16,35172,0);break b}q[c+100>>2]=0;q[c+104>>2]=0}if(Xa(a)){Xa(a)}d=Xa(a);q[c+108>>2]=d;d:{if(!d){break d}Ua(a,3);g=c,h=Xa(a),q[g+112>>2]=h;d=Xa(a);q[c+116>>2]=d;if(!d){break d}g=c,h=Ua(a,8),q[g+120>>2]=h;g=c,h=Ua(a,8),q[g+124>>2]=h;g=c,h=Ua(a,8),q[g+128>>2]=h;d=q[c+120>>2];if(d>>>0<=22){d=q[(d<<2)+88976>>2]}else{d=0}if(!d){q[c+120>>2]=2}d=q[c+124>>2];if(d>>>0<=18){d=q[(d<<2)+89072>>2]}else{d=0}if(!d){q[c+124>>2]=2}d=q[c+128>>2];if(d>>>0<=14){d=q[(d<<2)+89152>>2]}else{d=0}if(d){break d}q[c+128>>2]=2}e:{if(Xa(a)){g=c,h=vb(a)+1|0,q[g+132>>2]=h;vb(a);break e}q[c+132>>2]=1}f:{if(!ZD(a)){break f}d=q[a+12>>2]-q[a+8>>2]|0;if((d|0)>9){break f}q[e+32>>2]=d;Ta(b,24,35727,e+32|0);d=0;break a}d=Xa(a);q[c+136>>2]=d;if(d){d=td(a,32);f=td(a,32);g:{if(!(f?d:0)){q[e+20>>2]=d;q[e+16>>2]=f;Ta(b,16,35958,e+16|0);q[c+136>>2]=0;break g}q[c+144>>2]=f;q[c+140>>2]=d}g=c,h=Xa(a),q[g+148>>2]=h}d=Xa(a);q[c+1668>>2]=d;if(d){if((po(a,b,c)|0)<0){break b}}d=Xa(a);q[c+1672>>2]=d;if(d){if((po(a,b,c)|0)<0){break b}}if(!(q[c+1672>>2]?0:!q[c+1668>>2])){Xa(a)}g=c,h=Xa(a),q[g+1676>>2]=h;d=0;if(!(q[a+12>>2]-q[a+8>>2])){break a}f=Xa(a);q[c+1176>>2]=f;if(!f){break a}Xa(a);vb(a);vb(a);vb(a);vb(a);g=c,h=vb(a),q[g+1180>>2]=h;vb(a);if((q[a+12>>2]-q[a+8>>2]|0)<=-1){q[c+1176>>2]=0;q[c+1180>>2]=0;break a}a=q[c+1180>>2];if(a>>>0<17){break a}q[e>>2]=a;Ta(b,16,36377,e);q[c+1180>>2]=16}d=-1094995529}Ca=e+48|0;return d}function yE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Ca-16|0;Ca=i;l=q[b+25360>>2]&1;e=q[a+24312>>2];f=(q[a+26388>>2]^-1)&1;j=e+(f<<3)|0;k=e+(f<<8)|0;while(1){if(g>>>0>2]){c=g<<2;d=(c+b|0)+23404|0;q[(c+j|0)+616>>2]=q[d>>2];c=0;while(1){if(c>>>0>2]){h=(w(g,1920)+b|0)+w(c,40)|0;q[(((g<<7)+k|0)+(c<<2)|0)+104>>2]=q[h+23440>>2]&3|q[q[h+23452>>2]+88>>2]<<2;c=c+1|0;continue}break}g=g+1|0;continue}break}if(q[a+26388>>2]==3){d=e;c=q[d+620>>2];g=q[d+616>>2];q[d+624>>2]=g;q[d+628>>2]=c;Va(d+360|0,d+104|0,256)}a:{b:{if(!q[a+29576>>2]){q[e+632>>2]=q[a+26384>>2];break b}if(q[e+632>>2]!=q[a+26384>>2]){break a}}q[b+21852>>2]=0;c:{if(!q[b+23408>>2]|q[b+23412>>2]!=2){break c}e=q[a+26388>>2];d:{if((e|0)==3){f=q[b+25372>>2];e=q[f+80>>2];d=q[f+76>>2];if(!((d|0)!=2147483647|(e|0)!=2147483647)){Ta(q[a+4>>2],16,9931,0);f=1;q[b+21848>>2]=1;d=1;break d}g=b;c=q[q[a+24312>>2]+84>>2];f=c;k=c>>31;c=d;d=(c>>31)-(k+(c>>>0>>0)|0)|0;h=c-f|0;c=d>>31;j=d>>31;d=j+d|0;h=c+h|0;if(h>>>0>>0){d=d+1|0}c=c^h;l=d^j;d=f;f=(e>>31)-((e>>>0>>0)+k|0)|0;j=e-d|0;e=f;d=e>>31;f=e>>31;h=g;k=c;c=d+e|0;e=f;g=e+j|0;if(g>>>0>>0){c=c+1|0}e=k>>>0<(f^g)>>>0?0:1;f=c^d;f=(l|0)>(f|0)?1:(l|0)>=(f|0)?e:0;q[h+21848>>2]=f;d=f;break d}d=l^1;c=e;e=q[b+25360>>2];if(q[q[b+25372>>2]+632>>2]|c&e){break d}q[b+21852>>2]=(e<<1)+ -3}if(q[b+21844>>2]|q[b+840>>2]!=3){break c}e=b+22252|0;g=0;while(1){if((g|0)==2){break c}c=0;Do(a,b,e,g,f,d,0);e:{if(!q[a+26384>>2]){break e}while(1){if((c|0)==2){break e}Do(a,b,(w(c,384)+b|0)+22636|0,g,c,c,1);c=c+1|0;continue}}g=g+1|0;continue}}Ca=i+16|0;return}q[i+8>>2]=144;q[i+4>>2]=7960;q[i>>2]=6309;Ta(0,0,4146,i);I();F()}function Wn(a,b){var c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;a:{b:{c:{d:{d=q[a+28224>>2];e=q[d+1700>>2];f=e+ -8|0;if(f>>>0>6){break d}e:{switch(f-1|0){case 0:d=q[d+12>>2];if((d|0)==3){e=c+12|0;if(q[q[a+4>>2]+324>>2]){break c}q[c+8>>2]=75;d=c+8|0;break b}e=c+12|0;if((d|0)==2){q[c+8>>2]=72;d=c+8|0;break b}q[c+8>>2]=62;d=c+8|0;break b;case 1:d=q[d+12>>2];if((d|0)==3){e=c+12|0;if(!q[q[a+4>>2]+324>>2]){q[c+8>>2]=77;d=c+8|0;break b}q[c+8>>2]=70;d=c+8|0;break b}e=c+12|0;if((d|0)==2){q[c+8>>2]=66;d=c+8|0;break b}q[c+8>>2]=64;d=c+8|0;break b;case 3:d=q[d+12>>2];if((d|0)==3){e=c+12|0;if(!q[q[a+4>>2]+324>>2]){q[c+8>>2]=137;d=c+8|0;break b}q[c+8>>2]=133;d=c+8|0;break b}e=c+12|0;if((d|0)==2){q[c+8>>2]=129;d=c+8|0;break b}q[c+8>>2]=125;d=c+8|0;break b;case 5:d=q[d+12>>2];if((d|0)==3){e=c+12|0;if(!q[q[a+4>>2]+324>>2]){q[c+8>>2]=139;d=c+8|0;break b}q[c+8>>2]=135;d=c+8|0;break b}e=c+12|0;if((d|0)==2){q[c+8>>2]=131;d=c+8|0;break b}q[c+8>>2]=127;d=c+8|0;break b;case 2:case 4:break d;default:break e}}d=q[d+12>>2];if((d|0)==3){d=q[a+4>>2];if(!q[d+324>>2]){q[c+8>>2]=73;e=c+12|0;d=c+8|0;break b}e=c+12|0;if(q[d+328>>2]==2){q[c+8>>2]=14;d=c+8|0;break b}q[c+8>>2]=5;d=c+8|0;break b}f=q[a+4>>2];if((d|0)==2){e=c+12|0;if(q[f+328>>2]==2){q[c+8>>2]=13;d=c+8|0;break b}q[c+8>>2]=4;d=c+8|0;break b}e=c+8|0;d=q[q[f+12>>2]+24>>2];if(d){break b}e=c+12|0;if(q[f+328>>2]==2){q[c+8>>2]=12;d=c+8|0;break b}q[c+8>>2]=0;d=c+8|0;break b}a=q[a+4>>2];q[c>>2]=e;Ta(a,16,20618,c);e=-1094995529;break a}q[c+8>>2]=68;d=c+8|0}q[e>>2]=-1;f=q[a+4>>2];a=0;while(1){e=q[(a<<2)+d>>2];if((e|0)!=-1){a=a+1|0;if(q[f+112>>2]!=(e|0)|b){continue}break a}break}e=Ru(f,d)}Ca=c+16|0;return e}function QA(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Ca-1056|0;Ca=g;b=g+1048|0;q[b>>2]=0;q[b+4>>2]=0;b=g+1040|0;q[b>>2]=0;q[b+4>>2]=0;q[g+1032>>2]=0;q[g+1036>>2]=0;q[g+1024>>2]=0;q[g+1028>>2]=0;a:{b:{c:{d:{b=r[24002];e:{if(!b){i=-1;c=1;break e}while(1){if(!r[a+e|0]){break b}c=b&255;e=e+1|0;q[(c<<2)+g>>2]=e;c=(g+1024|0)+(c>>>3&28)|0;q[c>>2]=q[c>>2]|1<<(b&31);b=r[e+24002|0];if(b){continue}break}c=1;i=-1;if(e>>>0>1){break d}}f=-1;j=1;break c}h=1;b=1;while(1){k=r[(b+i|0)+24002|0];f=r[c+24002|0];f:{if((k|0)==(f|0)){if((b|0)==(h|0)){d=d+h|0;b=1;break f}b=b+1|0;break f}if(k>>>0>f>>>0){h=c-i|0;d=c;b=1;break f}i=d;d=d+1|0;h=1;b=1}c=b+d|0;if(c>>>0>>0){continue}break}f=-1;d=0;c=1;j=1;b=1;while(1){l=r[(b+f|0)+24002|0];k=r[c+24002|0];g:{if((l|0)==(k|0)){if((b|0)==(j|0)){d=d+j|0;b=1;break g}b=b+1|0;break g}if(l>>>0>>0){j=c-f|0;d=c;b=1;break g}f=d;d=d+1|0;j=1;b=1}c=b+d|0;if(c>>>0>>0){continue}break}c=h}b=f+1>>>0>i+1>>>0;h=b?j:c;m=b?f:i;l=m+1|0;h:{if(se(24002,h+24002|0,l)){b=(m^-1)+e|0;h=(m>>>0>b>>>0?m:b)+1|0;n=e-h|0;b=0;break h}n=e-h|0;b=n}k=b;j=e+ -1|0;o=e|63;f=0;c=a;while(1){i:{if(a-c>>>0>=e>>>0){break i}b=sf(a,0,o);if(b){a=b;if(b-c>>>0>>0){break b}break i}a=a+o|0}d=r[c+j|0];b=e;j:{k:{if(!(q[(g+1024|0)+(d>>>3&28)>>2]>>>(d&31)&1)){break k}b=e-q[(d<<2)+g>>2]|0;if(b){b=k?f?b>>>0>>0?n:b:b:b;break k}l:{b=l;d=b>>>0>f>>>0?b:f;i=r[d+24002|0];if(i){while(1){if(r[c+d|0]!=(i&255)){break l}d=d+1|0;i=r[d+24002|0];if(i){continue}break}}while(1){if(b>>>0<=f>>>0){break a}b=b+ -1|0;if(r[b+24002|0]==r[b+c|0]){continue}break}b=h;d=k;break j}b=d-m|0}d=0}f=d;c=b+c|0;continue}}c=0}Ca=g+1056|0;return c}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;p[b>>1]=s[b>>1]+32;while(1){if((d|0)==8){l=w(c,7);t=w(c,6);u=w(c,5);v=c<<2;x=w(c,3);y=c<<1;e=0;while(1){if((e|0)!=8){d=e<<4;f=p[(d|10)+b>>1];h=p[(d|6)+b>>1];i=p[(d|2)+b>>1];j=((f+h|0)+i|0)+(i>>1)|0;k=a+e|0;m=p[(d|4)+b>>1];n=p[(d|12)+b>>1];q=m+(n>>1)|0;z=p[(d|8)+b>>1];A=p[b+d>>1];B=z+A|0;C=q+B|0;d=p[(d|14)+b>>1];D=((f-h|0)-d|0)-(d>>1)|0;E=j-(D>>2)|0;g=r[k|0]+(C+E>>6)|0;o[k|0]=g>>>0>255?g>>31^-1:g;g=(c+e|0)+a|0;h=i+(d-(h+(h>>1)|0)|0)|0;f=((d+f|0)+(f>>1)|0)-i|0;i=(h>>2)-f|0;k=(m>>1)-n|0;n=A-z|0;m=k+n|0;d=r[g|0]+(i+m>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(e+y|0)+a|0;f=h+(f>>2)|0;h=n-k|0;d=r[g|0]+(f+h>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(e+x|0)+a|0;j=D+(j>>2)|0;k=B-q|0;d=r[g|0]+(j+k>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(e+v|0)+a|0;d=r[g|0]+(k-j>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(e+u|0)+a|0;d=r[g|0]+(h-f>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;f=(e+t|0)+a|0;d=r[f|0]+(m-i>>6)|0;o[f|0]=d>>>0>255?d>>31^-1:d;f=(e+l|0)+a|0;d=r[f|0]+(C-E>>6)|0;o[f|0]=d>>>0>255?d>>31^-1:d;e=e+1|0;continue}break}Za(b,0,128)}else{e=(d<<1)+b|0;l=p[e+32>>1];j=p[e+96>>1];t=l+(j>>1)|0;u=e- -64|0;v=p[u>>1];x=p[e>>1];y=v+x|0;k=t+y|0;i=p[e+16>>1];f=p[e+80>>1];h=p[e+48>>1];n=(i+(f+h|0)|0)+(i>>1)|0;g=p[e+112>>1];m=((f-h|0)-g|0)-(g>>1)|0;q=n-(m>>2)|0;p[e+112>>1]=k-q;h=i+(g-(h+(h>>1)|0)|0)|0;f=((f+g|0)+(f>>1)|0)-i|0;i=h+(f>>2)|0;g=x-v|0;j=(l>>1)-j|0;l=g-j|0;p[e+32>>1]=i+l;p[e+80>>1]=l-i;p[e>>1]=k+q;i=m+(n>>2)|0;l=y-t|0;p[e+48>>1]=i+l;p[u>>1]=l-i;f=(h>>2)-f|0;h=g+j|0;p[e+16>>1]=f+h;p[e+96>>1]=h-f;d=d+1|0;continue}break}}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-48|0;Ca=f;h=a;c=q[b+4>>2];a:{if(o[c+11|0]<=-1){d=q[c>>2];break a}d=c}e=q[b+8>>2];q[h+32>>2]=r[(d+e|0)+22|0]&3;g=e+26|0;q[b+8>>2]=g;i=q[b+12>>2];q[b+12>>2]=i+ -26;if(o[c+11|0]<=-1){h=q[c>>2]}else{h=c}d=h+g|0;g=r[d+1|0];d=r[d|0];q[b+12>>2]=i+ -28;e=e+28|0;q[b+8>>2]=e;i=q[c+12>>2];g=g|d<<8;q[f+44>>2]=g;q[f+40>>2]=e;q[f+36>>2]=c;q[c+12>>2]=i+2;q[f+32>>2]=1580;n[q[q[a>>2]+28>>2]](a,f+32|0);q[f+32>>2]=1636;d=q[f+36>>2];e=q[d+12>>2]+ -1|0;q[d+12>>2]=e;if(!(e|!d)){if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!d){if(o[c+11|0]<=-1){Ya(q[c>>2])}Ya(c)}c=g+3|0;e=c+q[b+8>>2]|0;q[b+8>>2]=e;g=q[b+12>>2]-c|0;q[b+12>>2]=g;c=q[b+4>>2];b:{if(o[c+11|0]<=-1){h=q[c>>2];break b}h=c}d=h+e|0;i=r[d+1|0];d=r[d|0];q[b+12>>2]=g+ -2;e=e+2|0;q[b+8>>2]=e;g=q[c+12>>2];i=i|d<<8;q[f+28>>2]=i;q[f+24>>2]=e;q[f+20>>2]=c;q[c+12>>2]=g+2;q[f+16>>2]=1580;n[q[q[a>>2]+28>>2]](a,f+16|0);q[f+16>>2]=1636;d=q[f+20>>2];e=q[d+12>>2]+ -1|0;q[d+12>>2]=e;if(!(e|!d)){if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!d){if(o[c+11|0]<=-1){Ya(q[c>>2])}Ya(c)}c=i+3|0;e=c+q[b+8>>2]|0;q[b+8>>2]=e;g=q[b+12>>2]-c|0;q[b+12>>2]=g;c=q[b+4>>2];c:{if(o[c+11|0]<=-1){h=q[c>>2];break c}h=c}d=h+e|0;i=r[d+1|0];d=r[d|0];q[b+12>>2]=g+ -2;h=b;b=e+2|0;q[h+8>>2]=b;e=q[c+12>>2];q[f+12>>2]=i|d<<8;q[f+8>>2]=b;q[f+4>>2]=c;q[c+12>>2]=e+2;q[f>>2]=1580;n[q[q[a>>2]+28>>2]](a,f);q[f>>2]=1636;a=q[f+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ya(q[a>>2])}Ya(a)}a=q[c+12>>2]+ -1|0;q[c+12>>2]=a;if(!a){if(o[c+11|0]<=-1){Ya(q[c>>2])}Ya(c)}Ca=f+48|0}function Ru(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=Ca-128|0;Ca=c;while(1){f=d;d=d+1|0;if(q[(f<<2)+b>>2]!=-1){continue}break}a:{b:{c:{if(f){e=((f<<2)+b|0)+ -4|0;j=q[e>>2];if(!(r[(j>>>0>195?0:w(j,152)+59184|0)+8|0]&8)){q[a+768>>2]=q[e>>2]}i=md(d,4);q[c+124>>2]=i;if(!i){j=-1;break a}Va(i,b,d<<2);j=-1;d:while(1){Qu(a);e=n[q[a+120>>2]](a,i)|0;if((e|0)==-1){break b}g=e>>>0>195?0:w(e,152)+59184|0;if(!g){Ta(a,16,21513,0);break b}d=(f|0)>0?f:0;q[c+112>>2]=q[g>>2];Ta(a,48,22202,c+112|0);b=0;while(1){e:{if((b|0)==(d|0)){b=d;break e}if((e|0)==q[(b<<2)+i>>2]){break e}b=b+1|0;continue}break}if((b|0)==(f|0)){q[c+16>>2]=q[g>>2];Ta(a,16,22837,c+16|0);break b}b=0;h=q[q[a+12>>2]+124>>2];if(!h){break c}while(1){k=q[h+(b<<2)>>2];if(!k){break c}b=b+1|0;if((e|0)!=q[k>>2]){continue}break}f:{g:{h:{b=q[k+4>>2];if(!(b&2)){break h}h=q[a+860>>2];if(!h){break h}if((e|0)==q[q[h+4>>2]+36>>2]){break g}q[c+96>>2]=q[g>>2];Ta(a,16,23440,c+96|0);break f}i:{if(!(b&1)){break i}h=q[a+880>>2];if(!h){break i}if(q[q[h+4>>2]+8>>2]==q[k+8>>2]){break g}q[c+80>>2]=q[g>>2];Ta(a,16,24052,c+80|0);break f}if(b&12){break g}q[c+48>>2]=q[g>>2];Ta(a,16,24695,c+48|0);break f}if(!q[k+12>>2]){break c}q[c+64>>2]=q[g>>2];Ta(a,48,25368,c- -64|0);if((Pu(a,k)|0)>-1){break c}}q[c+32>>2]=q[g>>2];Ta(a,48,25846,c+32|0);b=0;while(1){j:{if((b|0)!=(d|0)){if((e|0)!=q[(b<<2)+i>>2]){break j}d=b}while(1){b=d+1|0;if((b|0)<(f|0)){e=d<<2;d=q[c+124>>2];q[e+d>>2]=q[d+(b<<2)>>2];d=b;continue}break}f=f+ -1|0;i=q[c+124>>2];continue d}b=b+1|0;continue}}}q[c+8>>2]=1382;q[c+4>>2]=20914;q[c>>2]=20370;Ta(0,0,19766,c);I();F()}j=e}Wa(c+124|0)}Ca=c+128|0;return j}function bR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;g=a+ -1|0;l=r[(b?(d^-1)+a|0:g)|0];c=w(d,7)+a|0;v=r[c+ -1|0];x=w(d,6);k=x+a|0;t=r[k+ -1|0];i=w(d,5)+a|0;u=r[i+ -1|0];s=d<<2;m=s+a|0;j=r[m+ -1|0];p=r[g|0];y=d<<1;g=y+a|0;f=r[g+ -1|0];q=f+2|0;b=a+d|0;h=r[b+ -1|0];e=(p+q|0)+(h<<1)>>>2|0;n=e+1|0;z=h+2|0;d=w(d,3)+a|0;h=r[d+ -1|0];f=(z+(f<<1)|0)+h>>>2|0;A=n+f>>>1|0;o[a+2|0]=A;l=(l+z|0)+(p<<1)>>>2|0;o[a|0]=l+n>>>1;n=l;l=f+2|0;o[a+1|0]=(n+l|0)+(e<<1)>>>2;o[b|0]=A;n=e;e=j+(q+(h<<1)|0)>>>2|0;p=e+2|0;q=(n+p|0)+(f<<1)>>>2|0;o[a+3|0]=q;o[b+1|0]=q;f=(f+e|0)+1>>>1|0;o[a+4|0]=f;o[b+2|0]=f;o[g|0]=f;f=(u+(h+(j<<1)|0)|0)+2>>>2|0;h=f+(l+(e<<1)|0)>>>2|0;o[a+5|0]=h;o[b+3|0]=h;o[(y|1)+a|0]=h;e=(f+e|0)+1>>>1|0;o[a+6|0]=e;o[b+4|0]=e;o[g+2|0]=e;o[d|0]=e;j=((j+(u<<1)|0)+t|0)+2>>>2|0;e=j+(p+(f<<1)|0)>>>2|0;o[a+7|0]=e;o[b+5|0]=e;o[g+3|0]=e;o[d+1|0]=e;e=(f+j|0)+1>>>1|0;o[b+6|0]=e;o[g+4|0]=e;o[d+2|0]=e;o[m|0]=e;e=b;b=f+(j<<1)|0;f=((u+(t<<1)|0)+v|0)+2>>>2|0;b=(b+f|0)+2>>>2|0;o[e+7|0]=b;o[g+5|0]=b;o[d+3|0]=b;o[(s|1)+a|0]=b;b=(f+j|0)+1>>>1|0;o[g+6|0]=b;o[d+4|0]=b;o[(s|2)+a|0]=b;o[i|0]=b;e=g;b=(w(v,3)+t|0)+2>>>2|0;g=((b+j|0)+(f<<1)|0)+2>>>2|0;o[e+7|0]=g;o[d+5|0]=g;o[(s|3)+a|0]=g;o[i+1|0]=g;g=(b+f|0)+1>>>1|0;o[d+6|0]=g;o[m+4|0]=g;o[i+2|0]=g;o[k|0]=g;e=d;d=(f+w(b,3)|0)+2>>>2|0;o[e+7|0]=d;o[m+5|0]=d;o[i+3|0]=d;o[(x|1)+a|0]=d;o[c+7|0]=b;o[k+7|0]=b;o[i+7|0]=b;o[m+7|0]=b;o[c+6|0]=b;o[k+6|0]=b;o[i+6|0]=b;o[m+6|0]=b;o[c+5|0]=b;o[k+5|0]=b;o[i+5|0]=b;o[c+4|0]=b;o[k+4|0]=b;o[i+4|0]=b;o[c+3|0]=b;o[k+3|0]=b;o[c+2|0]=b;o[k+2|0]=b;o[c|0]=b;o[c+1|0]=b}function $n(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=q[a+25672>>2];_n(a,1);q[a+24312>>2]=0;b=rD(a);if((b|0)<=-1){Ta(q[a+4>>2],16,34049,0);return b}b=w(b,656)+a|0;d=q[a+26388>>2];q[b+1336>>2]=q[a+25692>>2]?0:d;f=q[a+25696>>2];q[a+25696>>2]=f+1;e=b+696|0;c=q[e>>2];q[c+128>>2]=f;q[b+1332>>2]=(d|0)!=3;q[b+784>>2]=q[a+28260>>2];q[c+84>>2]=0;d=b+1340|0;q[d>>2]=0;q[d+4>>2]=0;q[b+788>>2]=0;q[b+1348>>2]=q[a+29804>>2];q[c+88>>2]=q[q[a+25628>>2]+836>>2];q[c+392>>2]=q[a+25724>>2];q[c+396>>2]=q[a+25728>>2];q[c+384>>2]=q[a+25732>>2];q[c+388>>2]=q[a+25736>>2];c=qD(a,e);a:{if((c|0)<0){break a}q[a+24312>>2]=e;c=a+24316|0;Dc(c);b=0;he(q[a+25628>>2]+696|0,0);c=so(c,q[a+24312>>2]);if((c|0)<0){break a}c=q[a+25632>>2];c=(c|0)>0?c:0;while(1){if((b|0)!=(c|0)){d=q[a+25628>>2]+w(b,34768)|0;f=q[q[a+24312>>2]>>2];q[d+21772>>2]=q[f+32>>2];q[d+21776>>2]=q[f+36>>2];b=b+1|0;continue}break}if(q[a+29688>>2]){Cu(q[a+25628>>2]+24|0);he(q[a+25628>>2]+728|0,0);he(q[a+25628>>2]+760|0,0)}c=q[e>>2];b=0;while(1){if((b|0)==16){b=0;while(1){if((b|0)!=16){d=r[b+154272|0]+ -12|0;f=(d<<2&28)<>2],d>>3)<<2)|0;q[e+26048>>2]=h;q[e+26112>>2]=h;d=f+w(q[c+36>>2],d&-8)|0;q[e+26240>>2]=d;q[e+26304>>2]=d;b=b+1|0;continue}break}c=0;b=q[a+24312>>2];q[b+640>>2]=0;q[b+76>>2]=2147483647;q[b+80>>2]=2147483647;q[a+28756>>2]=0;q[a+25716>>2]=0;q[a+26384>>2]=q[q[a+28224>>2]+68>>2]?q[a+26388>>2]==3:0;b=q[a+29800>>2];if((b|0)<0){break a}q[a+25712>>2]=b}else{e=r[b+154272|0]+ -12|0;d=(e<<2&28)<>2]=d+(w(q[c+32>>2],e>>3)<<2);q[f+26176>>2]=d+w(q[c+32>>2],e&-8);b=b+1|0;continue}break}}return c}function lj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;l=Ca-16|0;Ca=l;kj(a,l+12|0,l+8|0);s=q[l+12>>2]>>f;q[l+12>>2]=s;t=w(q[l+8>>2],s);q[l+8>>2]=t;d=d+ -1|0;D=(d|0)>0?d:0;E=(c|0)>0?c:0;F=w(e,11);G=w(e,10);H=e<<2;I=w(e,5);J=w(e,9);K=e<<3;L=w(e,6);M=w(e,7);c=0;a:while(1){if((c|0)!=(D|0)){N=w(c,t);O=w(c,e);P=c>>>f|0;c=c+1|0;Q=w(t,c);R=c>>>f|0;m=0;while(1){if((m|0)==(E|0)){continue a}b:{d=q[a+580>>2];h=m>>>f|0;g=q[a+564>>2];j=h+w(g,R)|0;k=r[d+j|0];i=d;d=h+w(g,P)|0;i=r[i+d|0];if(!((k|i)&14)){break b}g=d<<2;d=q[a+696>>2];if(!((q[g+d>>2]|q[d+(j<<2)>>2])&7)){g=q[a+680>>2];d=w(m,s);h=g+(d+Q<<2)|0;g=g+(d+N<<2)|0;j=p[h+2>>1]+p[g+2>>1]|0;d=j>>31;h=p[g>>1]-p[h>>1]|0;g=h>>31;if(((d^d+j)+(g^g+h)|0)<2){break b}}S=m+O<<3;h=0;x=i&14;y=k&14;T=(x|0)!=0&(y|0)!=0;while(1){if((h|0)==8){break b}g=h+S|0;j=(g+K|0)+b|0;n=r[j|0];z=(g+M|0)+b|0;k=r[z|0];d=n-k|0;i=d>>31;u=(g+L|0)+b|0;A=k-r[u|0]|0;B=A>>31;v=(g+J|0)+b|0;C=r[v|0]-n|0;n=C>>31;i=(i^d+i)-(((B^B+A)+(n^n+C)|0)+1>>>1|0)|0;i=(i|0)>0?i:0;d=(d|0)<0?0-i|0:i;c:{if(!d){break c}d=T?d:(d<<4)/9|0;if(x){o[z|0]=r[(k+(w(d,7)>>4)|0)+170608|0];o[u|0]=r[(r[u|0]+(w(d,5)>>4)|0)+170608|0];k=(g+I|0)+b|0;o[k|0]=r[(r[k|0]+(w(d,3)>>4)|0)+170608|0];k=(g+H|0)+b|0;o[k|0]=r[(r[k|0]+(d>>4)|0)+170608|0]}if(!y){break c}o[j|0]=r[(r[j|0]-(w(d,7)>>4)|0)+170608|0];o[v|0]=r[(r[v|0]-(w(d,5)>>4)|0)+170608|0];j=(g+G|0)+b|0;o[j|0]=r[(r[j|0]-(w(d,3)>>4)|0)+170608|0];g=(g+F|0)+b|0;o[g|0]=r[(r[g|0]-(d>>4)|0)+170608|0]}h=h+1|0;continue}}m=m+1|0;continue}}break}Ca=l+16|0}function Ku(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-32|0;Ca=e;a:{b:{f=q[q[a+28>>2]+40>>2];if(f){c=f;d=q[c+12>>2];h=q[c+8>>2];q[b+112>>2]=h;q[b+116>>2]=d;q[b+104>>2]=h;q[b+108>>2]=d;d=q[c+60>>2];q[b+328>>2]=q[c+56>>2];q[b+332>>2]=d;d=q[c+52>>2];q[b+336>>2]=q[c+48>>2];q[b+340>>2]=d;q[b+356>>2]=q[c+28>>2];while(1){if((g|0)!=9){c=g<<3;d=Vd(f,q[c+149936>>2],e+28|0);if(d){c=Ye(b,q[c+149940>>2],q[e+28>>2]);if(!c){break b}Va(q[c+4>>2],d,q[e+28>>2])}g=g+1|0;continue}break}Iu(f,b);c=q[b+296>>2];q[b+296>>2]=q[f+36>>2]&4?c|4:c&-5}c=q[a+588>>2];q[b+224>>2]=q[a+584>>2];q[b+228>>2]=c;if(q[b+304>>2]==2){q[b+304>>2]=q[a+316>>2]}if(q[b+308>>2]==2){q[b+308>>2]=q[a+320>>2]}if(q[b+312>>2]==2){q[b+312>>2]=q[a+324>>2]}if(!q[b+300>>2]){q[b+300>>2]=q[a+328>>2]}if(!q[b+316>>2]){q[b+316>>2]=q[a+332>>2]}g=0;c=q[q[a+12>>2]+8>>2];if(c>>>0>1){break a}if(c-1){q[b+80>>2]=q[a+112>>2];if(!q[b+92>>2]){c=q[a+192>>2];q[b+92>>2]=q[a+188>>2];q[b+96>>2]=c}c=q[b+68>>2];if(!c){break a}f=q[b+72>>2];if(!f){break a}d=q[b+96>>2];q[e+8>>2]=q[b+92>>2];q[e+12>>2]=d;if((Ck(c,f,e+8|0)|0)>-1){break a}c=q[b+96>>2];q[e>>2]=q[b+92>>2];q[e+4>>2]=c;Ta(a,24,26521,e);q[b+92>>2]=0;q[b+96>>2]=1;break a}if(!q[b+232>>2]){q[b+232>>2]=q[a+344>>2]}if(q[b+80>>2]<=-1){q[b+80>>2]=q[a+352>>2]}c:{if(q[b+240>>2]|q[b+244>>2]){c=q[a+348>>2];break c}c=q[a+380>>2];f=c;d:{d=q[a+376>>2];if(c|d){c=gg(d,f);if((c|0)==q[a+348>>2]){break d}Ta(a,16,27121,0);g=-28;break a}c=q[a+348>>2];if(c>>>0<513){break c}q[e+16>>2]=c;Ta(a,16,27639,e+16|0);g=-52;break a}f=q[a+380>>2];q[b+240>>2]=q[a+376>>2];q[b+244>>2]=f}q[b+352>>2]=c;break a}g=-48}Ca=e+32|0;return g}function Al(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0;k=Ca-48|0;Ca=k;a:{b:{if((c|0)>-1){o=a+4|0;Ht(o,(!h<<18)+c|0);if(!q[a+4>>2]){break b}n=b+c|0;q[a+16>>2]=0;q[a+20>>2]=0;l=e?0:c;p=a+28|0;s=(g|0)!=173;c=b;while(1){j=b+l|0;c:{while(1){g=n-c|0;if((g|0)<4){i=0;break a}i=c-b|0;if((i|0)==(l|0)){q[k+44>>2]=0;i=Gt(f,c,g,k+44|0,d);if((i|0)<0){break a}c=(g>>>0>f>>>0?f:g)+c|0;l=(c-b|0)+i|0;break c}if((i|0)>(l|0)){Ta(d,24,9809,0)}i=c;c=Ft(c,j);c=i+(g>>>0>c>>>0?c:g)|0;g=n-c|0;if(!g){i=0;if(q[a+20>>2]>0){break a}Ta(d,16,10976,0);i=-1094995529;break a}m=c-b|0;i=l-m|0;if((l|0)<=(m|0)){c=(g>>>0>i>>>0?i:g)+c|0;continue}break}i=(g|0)>(i|0)?i:g}j=q[a+24>>2];g=q[a+20>>2];if((j|0)<=(g|0)){g=j+1|0;if(g>>>0>29826160){break b}j=ak(q[a>>2],p,w(g,72));if(!j){break b}q[a>>2]=j;Za(j+w(q[a+24>>2],72)|0,0,72);j=q[a>>2]+w(q[a+20>>2],72)|0;q[j+60>>2]=1024;m=j;j=md(1024,4);q[m+64>>2]=j;if(!j){break b}q[a+24>>2]=g;g=q[a+20>>2]}g=q[a>>2]+w(g,72)|0;j=Bl(c,i,o,g,h);if((j|0)<0){i=j;break a}if(!(!e|!i|(i|0)==(j|0))){q[k+20>>2]=i;q[k+16>>2]=j;Ta(d,48,12132,k+16|0)}q[a+20>>2]=q[a+20>>2]+1;t=g;m=g;i=c;c=n-c|0;c=i+(c>>>0>j>>>0?j:c)|0;if((n-c|0)>=4){j=(r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24))!=-536805376}else{j=1}i=Et(m,j);q[t+12>>2]=i;i=Ih(g+24|0,q[g+8>>2],i);if((i|0)<0){break a}d:{if(!s){i=Dt(g,d);break d}i=Ct(g,d)}e:{if((i|0)>=1){if(q[g+4>>2]<1){break e}if(q[g+12>>2]>=1){continue}break e}if((i|0)>-1){break e}q[k>>2]=q[g+44>>2];Ta(d,24,13297,k)}q[a+20>>2]=q[a+20>>2]+ -1;continue}}q[k+40>>2]=137;q[k+36>>2]=16140;q[k+32>>2]=15102;Ta(0,0,4011,k+32|0);I();F()}i=-48}Ca=k+48|0;return i}function Ij(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;q[e+12>>2]=a;while(1){a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{f=r[b|0];if((f|0)!=37){if(!f){break l}b=b+1|0;a=q[e+12>>2];m:{d=f<<24>>24;g=d+ -9|0;n:{if(g>>>0<=23){h=1;if(1<>>0<=23){g=1;if(1<>2]=a+1;continue}q[e+12>>2]=a;continue}a=b+2|0;f=0;b=o[b+1|0];d=b+ -72|0;if(d>>>0<=5){break k}d=b+ -83|0;if(d>>>0<=6){break j}d=b+ -98|0;if(d>>>0<=6){break i}if((b|0)!=37){if((b|0)==66){break h}if((b|0)!=109){break a}b=Ne(e+12|0,1,12,2);if((b|0)==-1){break a}q[c+16>>2]=b+ -1;b=a;continue}d=q[e+12>>2];q[e+12>>2]=d+1;b=a;if(r[d|0]==37){continue}break a}f=q[e+12>>2];break a}switch(d-1|0){case 0:case 2:case 3:break a;case 4:break c;default:break b}}switch(d-1|0){case 1:case 2:case 3:case 4:break a;case 5:break e;case 0:break g;default:break d}}switch(d-1|0){case 0:case 2:case 3:case 4:break a;case 1:break f;default:break h}}b=Sy(e+12|0);if((b|0)==-1){break a}q[c+16>>2]=b;b=a;continue}d=Ij(q[e+12>>2],15833,c);q[e+12>>2]=d;b=a;if(d){continue}break a}b=Ne(e+12|0,1,31,2);if((b|0)==-1){break a}q[c+12>>2]=b;b=a;continue}b=Ne(e+12|0,0,9999,4);if((b|0)==-1){break a}q[c+20>>2]=b+ -1900;b=a;continue}b=Ne(e+12|0,0,59,2);if((b|0)==-1){break a}q[c>>2]=b;b=a;continue}b=Ne(e+12|0,0,59,2);if((b|0)==-1){break a}q[c+4>>2]=b;b=a;continue}b=(b|0)==72;b=Ne(e+12|0,0,b?23:2147483647,b?2:4);if((b|0)==-1){break a}q[c+8>>2]=b;b=a;continue}break}Ca=e+16|0;return f}function Lf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;i=d>>1;z=0-i<<1;A=w(i,3)<<1;u=d&-2;B=0-u<<1;C=w(i,10)<<1;D=w(i,9)<<1;E=i<<4;F=w(i,7)<<1;G=w(i,6)<<1;H=w(i,5)<<1;I=i<<3;J=(c&-2)<<1;c=c>>1;K=w(c,3)<<1;L=c<<3;M=w(c,5)<<1;N=w(c,6)<<1;O=w(c,7)<<1;while(1){if((v|0)!=8){P=s[b+C>>1];x=s[b+D>>1];r=s[b+E>>1];q=s[b+F>>1];d=s[b+G>>1];h=s[b+H>>1];f=s[b+I>>1];g=s[b+A>>1];y=g+16|0;j=s[(i<<1)+b>>1];n=s[b>>1];l=s[(u<<1)+b>>1];o=s[b+z>>1];e=((y+s[b+B>>1]|0)+w(j+n|0,20)|0)+w(l+o|0,-5)|0;k=e>>5;p[a>>1]=(s[a>>1]+(k>>>0<16384?k:(e>>31^-1)&16383)|0)+1>>>1;e=(c<<1)+a|0;m=e;t=s[e>>1];e=o;o=f+16|0;e=((e+o|0)+w(j+l|0,20)|0)+w(g+n|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<16384?k:(e>>31^-1)&16383)|0)+1>>>1;e=a+J|0;m=e;t=s[e>>1];e=n;n=h+16|0;e=((e+n|0)+w(g+l|0,20)|0)+w(f+j|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<16384?k:(e>>31^-1)&16383)|0)+1>>>1;e=a+K|0;m=e;k=s[e>>1];j=(((d+j|0)+w(f+g|0,20)|0)+w(h+l|0,-5)|0)+16|0;e=j>>5;p[m>>1]=(k+(e>>>0<16384?e:(j>>31^-1)&16383)|0)+1>>>1;j=a+L|0;g=(((l+q|0)+w(h+f|0,20)|0)+w(d+g|0,-5)|0)+16|0;l=g>>5;p[j>>1]=(s[j>>1]+(l>>>0<16384?l:(g>>31^-1)&16383)|0)+1>>>1;g=a+M|0;e=g;m=s[g>>1];f=((r+y|0)+w(d+h|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[e>>1]=(m+(g>>>0<16384?g:(f>>31^-1)&16383)|0)+1>>>1;f=a+N|0;e=f;g=s[f>>1];h=((o+x|0)+w(d+q|0,20)|0)+w(h+r|0,-5)|0;f=h>>5;p[e>>1]=(g+(f>>>0<16384?f:(h>>31^-1)&16383)|0)+1>>>1;h=a+O|0;e=h;f=s[h>>1];d=((n+P|0)+w(q+r|0,20)|0)+w(d+x|0,-5)|0;h=d>>5;p[e>>1]=(f+(h>>>0<16384?h:(d>>31^-1)&16383)|0)+1>>>1;v=v+1|0;b=b+2|0;a=a+2|0;continue}break}}function pk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,r=0,s=0,t=0;j=Ca-16|0;Ca=j;f=q[a+4>>2];h=q[a+25636>>2];b=q[a+25628>>2];q[b+21812>>2]=2147483647;a:{if(!(q[f+592>>2]|(h|0)<1)){l=h+ -1|0;d=q[a+27016>>2];if(q[(b+w(l,34768)|0)+21792>>2]>=(d|0)){break a}b:{if((h|0)!=1){d=0;while(1){if((d|0)!=(h|0)){b=q[a+27016>>2];e=q[a+27020>>2];c=0;g=q[a+25628>>2]+w(d,34768)|0;q[g+596>>2]=0;i=q[a+27020>>2];k=q[g+21788>>2]+w(i,q[g+21792>>2])|0;b=w(b,e);while(1){if((c|0)!=(h|0)){e=q[a+25628>>2]+w(c,34768)|0;e=w(i,q[e+21792>>2])+q[e+21788>>2]|0;b=(c|0)==(d|0)?b:(e|0)<(k|0)?b:(b|0)>(e|0)?e:b;c=c+1|0;continue}break}q[g+21812>>2]=b;d=d+1|0;continue}break}n[q[f+704>>2]](f,823,q[a+25628>>2],0,h,34768)|0;q[a+27012>>2]=q[(q[a+25628>>2]+w(l,34768)|0)+21792>>2];c=1;while(1){if((c|0)!=(h|0)){b=q[a+25628>>2];q[b+596>>2]=q[b+596>>2]+q[(b+w(c,34768)|0)+596>>2];c=c+1|0;continue}break}if(!q[a+25716>>2]){k=0;break b}m=a+27020|0;k=0;q[a+25716>>2]=0;i=0;while(1){if((h|0)==(i|0)){break b}d=q[a+25628>>2]+w(i,34768)|0;f=q[d+21792>>2];g=q[a+27016>>2];b=(f|0)<(g|0);o=b?f+1|0:g;p=o+ -1|0;g=q[(b?d+21788|0:m)>>2];r=d+21800|0;s=d+21804|0;t=d+21792|0;c=q[d+21804>>2];while(1){if((c|0)<(o|0)){q[t>>2]=c;b=g;e=a;l=d;f=(c|0)<=q[s>>2]?q[r>>2]:0;if((c|0)!=(p|0)){b=q[m>>2]}Ve(e,l,f,b);c:{if(!q[a+26384>>2]){b=1;if(q[a+26388>>2]==3){break c}}b=2}c=b+c|0;continue}break}i=i+1|0;continue}}q[b+21812>>2]=w(d,q[a+27020>>2]);q[a+25716>>2]=0;k=ao(f,b);q[a+27012>>2]=q[q[a+25628>>2]+21792>>2]}q[a+25636>>2]=0}Ca=j+16|0;return k}q[j+8>>2]=2796;q[j+4>>2]=12455;q[j>>2]=18130;Ta(0,0,10109,j);I();F()}function Tf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;i=d>>1;z=0-i<<1;A=w(i,3)<<1;u=d&-2;B=0-u<<1;C=w(i,10)<<1;D=w(i,9)<<1;E=i<<4;F=w(i,7)<<1;G=w(i,6)<<1;H=w(i,5)<<1;I=i<<3;J=(c&-2)<<1;c=c>>1;K=w(c,3)<<1;L=c<<3;M=w(c,5)<<1;N=w(c,6)<<1;O=w(c,7)<<1;while(1){if((v|0)!=8){P=s[b+C>>1];x=s[b+D>>1];r=s[b+E>>1];q=s[b+F>>1];d=s[b+G>>1];h=s[b+H>>1];f=s[b+I>>1];g=s[b+A>>1];y=g+16|0;j=s[(i<<1)+b>>1];n=s[b>>1];l=s[(u<<1)+b>>1];o=s[b+z>>1];e=((y+s[b+B>>1]|0)+w(j+n|0,20)|0)+w(l+o|0,-5)|0;k=e>>5;p[a>>1]=(s[a>>1]+(k>>>0<1024?k:(e>>31^-1)&1023)|0)+1>>>1;e=(c<<1)+a|0;m=e;t=s[e>>1];e=o;o=f+16|0;e=((e+o|0)+w(j+l|0,20)|0)+w(g+n|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<1024?k:(e>>31^-1)&1023)|0)+1>>>1;e=a+J|0;m=e;t=s[e>>1];e=n;n=h+16|0;e=((e+n|0)+w(g+l|0,20)|0)+w(f+j|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<1024?k:(e>>31^-1)&1023)|0)+1>>>1;e=a+K|0;m=e;k=s[e>>1];j=(((d+j|0)+w(f+g|0,20)|0)+w(h+l|0,-5)|0)+16|0;e=j>>5;p[m>>1]=(k+(e>>>0<1024?e:(j>>31^-1)&1023)|0)+1>>>1;j=a+L|0;g=(((l+q|0)+w(h+f|0,20)|0)+w(d+g|0,-5)|0)+16|0;l=g>>5;p[j>>1]=(s[j>>1]+(l>>>0<1024?l:(g>>31^-1)&1023)|0)+1>>>1;g=a+M|0;e=g;m=s[g>>1];f=((r+y|0)+w(d+h|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[e>>1]=(m+(g>>>0<1024?g:(f>>31^-1)&1023)|0)+1>>>1;f=a+N|0;e=f;g=s[f>>1];h=((o+x|0)+w(d+q|0,20)|0)+w(h+r|0,-5)|0;f=h>>5;p[e>>1]=(g+(f>>>0<1024?f:(h>>31^-1)&1023)|0)+1>>>1;h=a+O|0;e=h;f=s[h>>1];d=((n+P|0)+w(q+r|0,20)|0)+w(d+x|0,-5)|0;h=d>>5;p[e>>1]=(f+(h>>>0<1024?h:(d>>31^-1)&1023)|0)+1>>>1;v=v+1|0;b=b+2|0;a=a+2|0;continue}break}}function Pf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;i=d>>1;z=0-i<<1;A=w(i,3)<<1;u=d&-2;B=0-u<<1;C=w(i,10)<<1;D=w(i,9)<<1;E=i<<4;F=w(i,7)<<1;G=w(i,6)<<1;H=w(i,5)<<1;I=i<<3;J=(c&-2)<<1;c=c>>1;K=w(c,3)<<1;L=c<<3;M=w(c,5)<<1;N=w(c,6)<<1;O=w(c,7)<<1;while(1){if((v|0)!=8){P=s[b+C>>1];x=s[b+D>>1];r=s[b+E>>1];q=s[b+F>>1];d=s[b+G>>1];h=s[b+H>>1];f=s[b+I>>1];g=s[b+A>>1];y=g+16|0;j=s[(i<<1)+b>>1];n=s[b>>1];l=s[(u<<1)+b>>1];o=s[b+z>>1];e=((y+s[b+B>>1]|0)+w(j+n|0,20)|0)+w(l+o|0,-5)|0;k=e>>5;p[a>>1]=(s[a>>1]+(k>>>0<4096?k:(e>>31^-1)&4095)|0)+1>>>1;e=(c<<1)+a|0;m=e;t=s[e>>1];e=o;o=f+16|0;e=((e+o|0)+w(j+l|0,20)|0)+w(g+n|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<4096?k:(e>>31^-1)&4095)|0)+1>>>1;e=a+J|0;m=e;t=s[e>>1];e=n;n=h+16|0;e=((e+n|0)+w(g+l|0,20)|0)+w(f+j|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<4096?k:(e>>31^-1)&4095)|0)+1>>>1;e=a+K|0;m=e;k=s[e>>1];j=(((d+j|0)+w(f+g|0,20)|0)+w(h+l|0,-5)|0)+16|0;e=j>>5;p[m>>1]=(k+(e>>>0<4096?e:(j>>31^-1)&4095)|0)+1>>>1;j=a+L|0;g=(((l+q|0)+w(h+f|0,20)|0)+w(d+g|0,-5)|0)+16|0;l=g>>5;p[j>>1]=(s[j>>1]+(l>>>0<4096?l:(g>>31^-1)&4095)|0)+1>>>1;g=a+M|0;e=g;m=s[g>>1];f=((r+y|0)+w(d+h|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[e>>1]=(m+(g>>>0<4096?g:(f>>31^-1)&4095)|0)+1>>>1;f=a+N|0;e=f;g=s[f>>1];h=((o+x|0)+w(d+q|0,20)|0)+w(h+r|0,-5)|0;f=h>>5;p[e>>1]=(g+(f>>>0<4096?f:(h>>31^-1)&4095)|0)+1>>>1;h=a+O|0;e=h;f=s[h>>1];d=((n+P|0)+w(q+r|0,20)|0)+w(d+x|0,-5)|0;h=d>>5;p[e>>1]=(f+(h>>>0<4096?h:(d>>31^-1)&4095)|0)+1>>>1;v=v+1|0;b=b+2|0;a=a+2|0;continue}break}}function Xf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;i=d>>1;z=0-i<<1;A=w(i,3)<<1;u=d&-2;B=0-u<<1;C=w(i,10)<<1;D=w(i,9)<<1;E=i<<4;F=w(i,7)<<1;G=w(i,6)<<1;H=w(i,5)<<1;I=i<<3;J=(c&-2)<<1;c=c>>1;K=w(c,3)<<1;L=c<<3;M=w(c,5)<<1;N=w(c,6)<<1;O=w(c,7)<<1;while(1){if((v|0)!=8){P=s[b+C>>1];x=s[b+D>>1];r=s[b+E>>1];q=s[b+F>>1];d=s[b+G>>1];h=s[b+H>>1];f=s[b+I>>1];g=s[b+A>>1];y=g+16|0;j=s[(i<<1)+b>>1];n=s[b>>1];l=s[(u<<1)+b>>1];o=s[b+z>>1];e=((y+s[b+B>>1]|0)+w(j+n|0,20)|0)+w(l+o|0,-5)|0;k=e>>5;p[a>>1]=(s[a>>1]+(k>>>0<512?k:(e>>31^-1)&511)|0)+1>>>1;e=(c<<1)+a|0;m=e;t=s[e>>1];e=o;o=f+16|0;e=((e+o|0)+w(j+l|0,20)|0)+w(g+n|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<512?k:(e>>31^-1)&511)|0)+1>>>1;e=a+J|0;m=e;t=s[e>>1];e=n;n=h+16|0;e=((e+n|0)+w(g+l|0,20)|0)+w(f+j|0,-5)|0;k=e>>5;p[m>>1]=(t+(k>>>0<512?k:(e>>31^-1)&511)|0)+1>>>1;e=a+K|0;m=e;k=s[e>>1];j=(((d+j|0)+w(f+g|0,20)|0)+w(h+l|0,-5)|0)+16|0;e=j>>5;p[m>>1]=(k+(e>>>0<512?e:(j>>31^-1)&511)|0)+1>>>1;j=a+L|0;g=(((l+q|0)+w(h+f|0,20)|0)+w(d+g|0,-5)|0)+16|0;l=g>>5;p[j>>1]=(s[j>>1]+(l>>>0<512?l:(g>>31^-1)&511)|0)+1>>>1;g=a+M|0;e=g;m=s[g>>1];f=((r+y|0)+w(d+h|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[e>>1]=(m+(g>>>0<512?g:(f>>31^-1)&511)|0)+1>>>1;f=a+N|0;e=f;g=s[f>>1];h=((o+x|0)+w(d+q|0,20)|0)+w(h+r|0,-5)|0;f=h>>5;p[e>>1]=(g+(f>>>0<512?f:(h>>31^-1)&511)|0)+1>>>1;h=a+O|0;e=h;f=s[h>>1];d=((n+P|0)+w(q+r|0,20)|0)+w(d+x|0,-5)|0;h=d>>5;p[e>>1]=(f+(h>>>0<512?h:(d>>31^-1)&511)|0)+1>>>1;v=v+1|0;b=b+2|0;a=a+2|0;continue}break}}function Dv(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,u=0,v=0,x=0,y=0;Za(c+86080|0,0,336);y=b+310226|0;n=b+310276|0;v=b+310374|0;a:{b:while(1){e=q[c+8>>2];if(k>>>0>=e>>>0){break a}m=k+1|0;e=r[(m+c|0)+12|0];g=s[(e?310276:310226)+b>>1];i=q[b+76>>2];if((g|0)==(i|0)){p=e?n:y;x=q[((e<<2)+b|0)+310112>>2];e=0;c:while(1){if((e|0)!=(x|0)){f=g&65535;h=e+1|0;g=s[(h<<1)+p>>1];j=f>>>0>g>>>0?f:g;e=((w(m,192)+c|0)+(e<<2)|0)+86704|0;while(1)if((f|0)==(j|0)){e=h;continue c}else{q[((w(k,192)+b|0)+(f-i<<2)|0)+381120>>2]=q[e>>2];f=f+1|0;continue}}break}j=1;j=t[c+20>>2]>=2?r[(c+k|0)+87932|0]>2];g=0;e=0;d:while(1){if((e|0)!=(u|0)){f=s[(e<<1)+v>>1];h=e+1|0;l=s[(h<<1)+v>>1];l=f>>>0>l>>>0?f:l;e=((w(j,20)+c|0)+(e<<2)|0)+87872|0;while(1)if((f|0)==(l|0)){e=h;continue d}else{q[((w(k,192)+b|0)+(f-i<<2)|0)+382464>>2]=q[e>>2];f=f+1|0;continue}}break}while(1)if(g>>>0>=t[b+310116>>2]){h=0;while(1)if((h|0)==(x|0)){k=m;continue b}else{e=s[(h<<1)+p>>1];h=h+1|0;i=s[(h<<1)+p>>1];u=i>>>0>>0?e:i;j=q[b+76>>2];f=e;while(1){e:{if((f|0)==(u|0)){g=0;break e}l=f-j|0;g=1;f=f+1|0;if(!r[(l+(w(m,48)+c|0)|0)+86032|0]){continue}}break}Za((w(k,48)+b+(e-j)|0)+383808|0,g,i-e|0);continue}}else{if(q[c+4>>2]){h=g+1|0;i=s[(h<<1)+n>>1]+s[(g<<1)+n>>1]>>>1|0;f=r[(c+g|0)+41|0];f:{if((k|0)>2]){g=i-q[b+76>>2]|0;e=0;if(r[(g+c|0)+86032|0]!=1){break f}}g=i-q[b+76>>2]|0;e=f}o[((w(m,48)+c|0)+g|0)+86032|0]=e}else{h=g+1|0}g=h;continue}}break}Ta(q[a+4>>2],16,36594,0);le(b);return-558323010}a=c+86032|0;Va(a,a+w(e,48)|0,48);return 0}function vr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<6|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+16>>1],g)|0)+w(s[a+16>>1],f)>>d;p[a+16>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+18>>1],g)|0)+w(s[a+18>>1],f)>>d;p[a+18>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+20>>1],g)|0)+w(s[a+20>>1],f)>>d;p[a+20>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+22>>1],g)|0)+w(s[a+22>>1],f)>>d;p[a+22>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+24>>1],g)|0)+w(s[a+24>>1],f)>>d;p[a+24>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+26>>1],g)|0)+w(s[a+26>>1],f)>>d;p[a+26>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+28>>1],g)|0)+w(s[a+28>>1],f)>>d;p[a+28>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+30>>1],g)|0)+w(s[a+30>>1],f)>>d;p[a+30>>1]=h>>>0<16384?h:(h>>31^-1)&16383;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function jf(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,x=0,y=0,z=0;i=w(c,6);s=i<<4;j=s+a|0;d=v[j+8>>3];g=(c<<6)+a|0;k=v[g>>3];l=v[j>>3];e=k+l;v[g>>3]=v[a>>3]-e;f=v[g+8>>3];v[a>>3]=e+v[a>>3];h=(c<<5)+a|0;e=l-k;v[j+8>>3]=v[h+8>>3]-e;v[h+8>>3]=e+v[h+8>>3];e=f-d;v[j>>3]=v[h>>3]-e;v[h>>3]=e+v[h>>3];d=f+d;v[g+8>>3]=v[a+8>>3]-d;v[a+8>>3]=d+v[a+8>>3];t=c<<2;u=(t|1)<<4;g=u+a|0;k=v[g>>3];d=v[b+8>>3];l=v[g+8>>3];h=(c<<4)+b|0;e=v[h+ -8>>3];f=k*d+l*e;x=(i|1)<<4;i=x+a|0;m=v[i>>3];n=v[i+8>>3];o=d*m-e*n;p=f+o;v[g>>3]=v[a+16>>3]-p;v[a+16>>3]=v[a+16>>3]+p;y=c<<1;z=(y|1)<<4;j=z+a|0;f=o-f;v[i+8>>3]=v[j+8>>3]-f;v[j+8>>3]=f+v[j+8>>3];f=d*l-k*e;d=e*m+d*n;e=f-d;v[i>>3]=v[j>>3]-e;v[j>>3]=e+v[j>>3];d=f+d;v[g+8>>3]=v[a+24>>3]-d;v[a+24>>3]=d+v[a+24>>3];r=c+ -1|0;while(1){c=a+32|0;i=c+(t<<4)|0;k=v[i>>3];d=v[b+16>>3];l=v[i+8>>3];j=h+ -16|0;e=v[j>>3];f=k*d+l*e;q=c+s|0;m=v[q>>3];n=v[q+8>>3];o=d*m-e*n;p=f+o;v[i>>3]=v[a+32>>3]-p;v[a+32>>3]=v[a+32>>3]+p;g=c+(y<<4)|0;f=o-f;v[q+8>>3]=v[g+8>>3]-f;v[g+8>>3]=f+v[g+8>>3];f=d*l-k*e;d=e*m+d*n;e=f-d;v[q>>3]=v[g>>3]-e;v[g>>3]=e+v[g>>3];d=f+d;v[i+8>>3]=v[a+40>>3]-d;v[a+40>>3]=d+v[a+40>>3];g=c+u|0;k=v[g>>3];d=v[b+24>>3];l=v[g+8>>3];e=v[h+ -24>>3];f=k*d+l*e;i=c+x|0;m=v[i>>3];n=v[i+8>>3];o=d*m-e*n;p=f+o;v[g>>3]=v[a+48>>3]-p;v[a+48>>3]=v[a+48>>3]+p;h=c+z|0;f=o-f;v[i+8>>3]=v[h+8>>3]-f;v[h+8>>3]=f+v[h+8>>3];f=d*l-k*e;d=e*m+d*n;e=f-d;v[i>>3]=v[h>>3]-e;v[h>>3]=e+v[h>>3];d=f+d;v[g+8>>3]=v[a+56>>3]-d;v[a+56>>3]=d+v[a+56>>3];b=b+16|0;a=c;h=j;r=r+ -1|0;if(r){continue}break}}function tt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;i=8-f|0;h=8-e|0;g=w(i,h);j=c>>1;h=w(f,h);i=w(e,i);a:{f=w(e,f);if(f){e=0;d=(d|0)>0?d:0;m=j+1<<1;l=j+2<<1;q=j+3<<1;r=j+4<<1;while(1){if((d|0)==(e|0)){break a}o=j<<1;c=o+b|0;k=b+m|0;p[a>>1]=(s[a>>1]+((((w(s[b>>1],g)+w(i,s[b+2>>1])|0)+w(h,s[c>>1])|0)+w(f,s[k>>1])|0)+32>>>6|0)|0)+1>>>1;n=(w(s[b+2>>1],g)+w(i,s[b+4>>1])|0)+w(h,s[k>>1])|0;k=b+l|0;p[a+2>>1]=(s[a+2>>1]+((n+w(f,s[k>>1])|0)+32>>>6|0)|0)+1>>>1;n=(w(s[b+4>>1],g)+w(i,s[b+6>>1])|0)+w(h,s[k>>1])|0;k=b+q|0;p[a+4>>1]=(s[a+4>>1]+((n+w(f,s[k>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+6>>1]=(s[a+6>>1]+((((w(s[b+6>>1],g)+w(i,s[b+8>>1])|0)+w(h,s[k>>1])|0)+w(f,s[b+r>>1])|0)+32>>>6|0)|0)+1>>>1;e=e+1|0;a=a+o|0;b=c;continue}}c=h+i|0;if(!c){c=0;d=(d|0)>0?d:0;while(1){if((c|0)==(d|0)){break a}p[a>>1]=(s[a>>1]+(w(s[b>>1],g)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+(w(s[b+2>>1],g)+32>>>6|0)|0)+1>>>1;p[a+4>>1]=(s[a+4>>1]+(w(s[b+4>>1],g)+32>>>6|0)|0)+1>>>1;p[a+6>>1]=(s[a+6>>1]+(w(s[b+6>>1],g)+32>>>6|0)|0)+1>>>1;c=c+1|0;e=j<<1;b=e+b|0;a=a+e|0;continue}}f=0;e=(d|0)>0?d:0;d=h?j:1;h=d+1<<1;i=d+2<<1;m=d+3<<1;while(1){if((e|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+((w(s[b>>1],g)+w(c,s[(d<<1)+b>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+((w(s[b+2>>1],g)+w(c,s[b+h>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+4>>1]=(s[a+4>>1]+((w(s[b+4>>1],g)+w(c,s[b+i>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+6>>1]=(s[a+6>>1]+((w(s[b+6>>1],g)+w(c,s[b+m>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;l=j<<1;b=l+b|0;a=a+l|0;continue}}}function Kv(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0;h=Ca-32|0;Ca=h;f=q[a+6500>>2];g=q[b>>2];j=q[b+12>>2];if((j|0)!=(c|0)){k=q[a+4>>2];q[h+20>>2]=j;q[h+16>>2]=c;Ta(k,(c|0)==3?40:24,17660,h+16|0);le(b)}if(!(q[b+8>>2]|!q[b+4>>2])){Ta(q[a+4>>2],16,18598,0);le(b)}a:{if(!q[b+88>>2]){q[b+72>>2]=q[b+76>>2];q[b+80>>2]=q[b+84>>2];break a}q[b+88>>2]=0}if(q[b+4>>2]){Hv(b,c);q[b+8>>2]=0}m=(c|0)==1?2:1;p=(f|0)<(g|0);t=b+384144|0;o=b+320704|0;r=b+380608|0;s=b+380096|0;j=b+310464|0;u=b+389536|0;k=b+390952|0;v=b+390816|0;f=0;b:{while(1){if((f|0)!=(m|0)){c=w(f,87968)+b|0;i=c+14688|0;g=c+31072|0;Gv(q[a+5404>>2],v,k,f?e:d,c+9408|0,u,i,q[g>>2]);n[q[b+391008>>2]](a,b,j,i,q[g>>2])|0;q[g>>2]=q[g>>2]^1;c:{if(!q[b+4>>2]){break c}n[q[b+391020>>2]](k,s,r,j,q[b+52>>2]);i=c+96|0;Fv(b,i);l=q[c+104>>2];if(!l){break b}Ev(a,b,o,j,s,r,c+14668|0,c+88028|0,l);l=c+14660|0;if(Dv(a,b,i,l)){break c}Cv(t,o,b,i);Bv(b,i,l);n[q[b+391012>>2]]((c+w(q[g>>2],19456)|0)+31088|0,o,b,i,l)}c=c+31088|0;g=q[g>>2];n[q[b+391016>>2]](b,(w(f,19456)+b|0)+341184|0,c+w(1-g|0,19456)|0,c+w(g,19456)|0,j,f)|0;f=f+1|0;continue}break}if(q[a+6512>>2]==1){d:{if(q[b+176032>>2]){mw(b+176032|0,b+341184|0,b+360640|0,q[b+84>>2]+q[b+76>>2]|0);break d}Va(b+360640|0,b+341184|0,19456)}m=2}c=b+390884|0;f=d;d=b+389536|0;Zl(c,k,q[a+5404>>2],f,b+341184|0,d,b+192|0,b+14656|0,p);if((m|0)==2){Zl(c,k,q[a+5404>>2],e,b+360640|0,d,b+88160|0,b+102624|0,p)}Ca=h+32|0;return}q[h+8>>2]=1523;q[h+4>>2]=20855;q[h>>2]=20261;Ta(0,0,19708,h);I();F()}function js(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<2|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+16>>1],g)|0)+w(s[a+16>>1],f)>>d;p[a+16>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+18>>1],g)|0)+w(s[a+18>>1],f)>>d;p[a+18>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+20>>1],g)|0)+w(s[a+20>>1],f)>>d;p[a+20>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+22>>1],g)|0)+w(s[a+22>>1],f)>>d;p[a+22>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+24>>1],g)|0)+w(s[a+24>>1],f)>>d;p[a+24>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+26>>1],g)|0)+w(s[a+26>>1],f)>>d;p[a+26>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+28>>1],g)|0)+w(s[a+28>>1],f)>>d;p[a+28>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+30>>1],g)|0)+w(s[a+30>>1],f)>>d;p[a+30>>1]=h>>>0<1024?h:(h>>31^-1)&1023;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Pr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<4|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+16>>1],g)|0)+w(s[a+16>>1],f)>>d;p[a+16>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+18>>1],g)|0)+w(s[a+18>>1],f)>>d;p[a+18>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+20>>1],g)|0)+w(s[a+20>>1],f)>>d;p[a+20>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+22>>1],g)|0)+w(s[a+22>>1],f)>>d;p[a+22>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+24>>1],g)|0)+w(s[a+24>>1],f)>>d;p[a+24>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+26>>1],g)|0)+w(s[a+26>>1],f)>>d;p[a+26>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+28>>1],g)|0)+w(s[a+28>>1],f)>>d;p[a+28>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+30>>1],g)|0)+w(s[a+30>>1],f)>>d;p[a+30>>1]=h>>>0<4096?h:(h>>31^-1)&4095;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Rl(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=Ca-16|0;Ca=j;l=-28;a:{if((b|0)>30){break a}w=1<>2]=x+q[a+4>>2];y=c+ -1|0;z=e&2;u=32-b|0;while(1){if((t|0)>=(c|0)){a=0;b=(w|0)>0?w:0;while(1){if((a|0)==(b|0)){break a}c=a<<2;if(!s[(c+q[j+12>>2]|0)+2>>1]){p[c+q[j+12>>2]>>1]=65535}a=a+1|0;continue}}i=(t<<3)+d|0;f=q[i+4>>2];b:{g=r[i|0];if((g|0)<=(b|0)){k=s[i+2>>1];m=1;i=1<>>24|0)+90656|0]|(r[(f>>>8&255)+90656|0]<<16|r[(f&255)+90656|0]<<24|r[(f>>>16&255)+90656|0]<<8)}else{f=f>>>u|0}h=0;v=(i|0)>0?i:0;while(1){if((h|0)==(v|0)){f=t;break b}i=f<<2;n=p[(i+q[j+12>>2]|0)+2>>1];A=p[i+q[j+12>>2]>>1];if(!(!((n|A)&65535)|((k|0)==(A|0)?(g|0)==(n|0):0))){Ta(0,16,17740,0);l=-1094995529;break a}p[(i+q[j+12>>2]|0)+2>>1]=g;p[i+q[j+12>>2]>>1]=k;h=h+1|0;f=f+m|0;continue}}k=g-b|0;o[i|0]=k;q[i+4>>2]=f<>>u|0;f=t;while(1){c:{if((f|0)==(y|0)){f=y;g=c;break c}g=f+1|0;m=(g<<3)+d|0;n=r[m|0]-b|0;if((n|0)<1){break c}v=q[m+4>>2];if((h|0)!=(v>>>u|0)){break c}o[m|0]=n;q[m+4>>2]=v<(n|0)?k:n;f=g;continue}break}if(z){h=(r[(h>>>24|0)+90656|0]|(r[(h>>>8&255)+90656|0]<<16|r[(h&255)+90656|0]<<24|r[(h>>>16&255)+90656|0]<<8))>>>u|0}h=h<<2;k=(k|0)>(b|0)?b:k;p[(h+q[j+12>>2]|0)+2>>1]=0-k;g=Rl(a,k,g-t|0,i,e);if((g|0)<0){l=g;break a}q[j+12>>2]=q[a+4>>2]+x;p[h+q[j+12>>2]>>1]=g;if((g|0)==p[h+q[j+12>>2]>>1]){break b}Pc(0,18661,0);l=-1163346256;break a}t=f+1|0;continue}}Ca=j+16|0;return l}function ji(a){a=a|0;var b=x(0),c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=0,p=0,q=0,r=0;g=u[317073];j=u[317075];ki(a);$d(a- -64|0);$d(a+96|0);e=u[a>>2];b=u[a+64>>2];c=u[a+96>>2];d=x(b+c);u[a+64>>2]=e-d;h=u[a+100>>2];f=u[a+36>>2];b=x(c-b);u[a+100>>2]=f-b;u[a>>2]=d+e;e=u[a+32>>2];c=u[a+68>>2];d=x(c-h);u[a+96>>2]=e-d;u[a+36>>2]=b+f;b=u[a+4>>2];h=x(c+h);u[a+68>>2]=b-h;u[a+32>>2]=d+e;u[a+4>>2]=h+b;b=u[a+16>>2];o=+u[a+80>>2]*.7071067811865476;p=+u[a+84>>2]*.7071067811865476;c=x(o+p);q=+u[a+112>>2]*.7071067811865476;r=+u[a+116>>2]*.7071067811865476;d=x(q-r);f=x(c+d);u[a+80>>2]=b-f;h=u[a+20>>2];e=u[a+48>>2];i=u[a+52>>2];c=x(d-c);u[a+116>>2]=i-c;u[a+16>>2]=b+f;b=x(p-o);d=x(q+r);f=x(b-d);u[a+112>>2]=e-f;u[a+52>>2]=i+c;b=x(b+d);u[a+84>>2]=h-b;u[a+48>>2]=e+f;u[a+20>>2]=h+b;h=u[a+12>>2];e=u[a+44>>2];b=u[a+40>>2];c=u[a+8>>2];d=u[a+72>>2];f=u[a+76>>2];i=x(x(g*d)+x(j*f));k=u[a+104>>2];l=u[a+108>>2];m=x(x(g*k)-x(j*l));n=x(i+m);u[a+72>>2]=c-n;i=x(m-i);u[a+108>>2]=e-i;u[a+8>>2]=c+n;c=x(x(g*f)-x(j*d));d=x(x(j*k)+x(g*l));f=x(c-d);u[a+104>>2]=b-f;u[a+44>>2]=i+e;e=x(c+d);u[a+76>>2]=h-e;u[a+40>>2]=b+f;u[a+12>>2]=h+e;h=u[a+28>>2];e=u[a+60>>2];b=u[a+56>>2];c=u[a+24>>2];d=u[a+88>>2];f=u[a+92>>2];i=x(x(j*d)+x(g*f));k=u[a+120>>2];l=u[a+124>>2];m=x(x(j*k)-x(g*l));n=x(i+m);u[a+88>>2]=c-n;i=x(m-i);u[a+124>>2]=e-i;u[a+24>>2]=c+n;c=x(x(j*f)-x(g*d));g=x(x(g*k)+x(j*l));j=x(c-g);u[a+120>>2]=b-j;u[a+60>>2]=i+e;g=x(c+g);u[a+92>>2]=h-g;u[a+56>>2]=b+j;u[a+28>>2]=h+g}function Bl(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=Ca-16|0;Ca=k;q[d+56>>2]=0;a:{while(1){if((f+1|0)>=(b|0)){h=f;break a}if(r[a+f|0]){f=f+2|0;continue}if((f|0)>=1){h=f;f=f+ -1|0;f=r[a+f|0]?h:f}h=f;f=f+2|0;if((f|0)>=(b|0)|r[(a+h|0)+1|0]){continue}g=r[a+f|0];if(g>>>0>3){continue}break}b:{if(g>>>0>3){break b}switch(g-1|0){case 0:case 1:break b;default:break a}}b=h}c:{if(!(!e|(h|0)<(b+ -1|0))){q[d+16>>2]=b;q[d+8>>2]=a;q[d+20>>2]=a;q[d+4>>2]=b;break c}e=q[c>>2]+q[c+12>>2]|0;q[d>>2]=e;f=(h|0)>(b|0)?b:h;l=Va(e,a,f);i=d- -64|0;e=f;while(1){h=e;d:{e:{f:{g=f+2|0;g:{if((g|0)>=(b|0)){b=(b|0)>(f|0)?b:f;while(1){if((b|0)==(f|0)){break g}o[h+l|0]=r[a+f|0];h=h+1|0;f=f+1|0;continue}}e=a+g|0;j=r[e|0];if(j>>>0>=4){j=h+l|0;f=a+f|0;o[j|0]=r[f|0];o[j+1|0]=r[f+1|0];h=h+2|0;e=r[e|0];break d}g=a+f|0;e=r[g|0];if(e){break e}e=0;if(r[g+1|0]|!j){break e}if((j|0)==3){break f}b=f}Za(h+l|0,0,64);q[d+20>>2]=a;q[d+4>>2]=h;q[d+8>>2]=l;q[d+16>>2]=b;q[c+12>>2]=q[c+12>>2]+b;break c}e=h+l|0;o[e|0]=0;o[e+1|0]=0;f=f+3|0;e=h+2|0;g=q[i>>2];if(!g){continue}j=q[d+56>>2];m=j+1|0;q[d+56>>2]=m;h:{i:{n=q[d+60>>2];if((n|0)<=(j|0)){g=n<<1;q[d+60>>2]=g;if((g|0)<=(j|0)){break i}g=On(r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24),g);o[i|0]=g;o[i+1|0]=g>>>8;o[i+2|0]=g>>>16;o[i+3|0]=g>>>24;g=q[i>>2];if(!g){break h}m=q[d+56>>2]}q[((m<<2)+g|0)+ -4>>2]=h+1;continue}q[k+8>>2]=115;q[k+4>>2]=7801;q[k>>2]=6215;Ta(0,0,4011,k);I();F()}q[d+60>>2]=0;b=-48;break c}g=f}o[h+l|0]=e;e=h+1|0;f=g+1|0;continue}}Ca=k+16|0;return b}function hx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=Ca-16|0;Ca=e;if(r[a+188|0]){d=q[a+4>>2];a:{if(o[216552]&1){break a}if(!Mc(216552)){break a}i=216548,j=M(1,1236)|0,q[i>>2]=j;Lc(216552)}O(q[54137],d|0,1149,e+8|0)}o[a+188|0]=1;d=q[a+4>>2];c=L(1155)|0;d=U(d|0,c|0)|0;J(c|0);h=+S(d|0,206384,e+8|0);P(q[e+8>>2]);J(d|0);d=h!=0;q[e+4>>2]=d?1172:1177;q[e>>2]=1163;K(0,e|0);o[a+112|0]=d;d=r[b+11|0];c=d<<24>>24<0;f=c?q[b>>2]:b;c=c?q[b+4>>2]:d;g=f+c|0;b:{c:{if((c|0)<4){break c}d=f;while(1){c=c+ -3|0;if(!c){break c}c=sf(d,46,c);if(!c){break c}if((r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24))==1986815534){break b}d=c+1|0;c=g-d|0;if((c|0)>3){continue}break}}c=g}o[a+189|0]=(c|0)!=(g|0)&(c-f|0)!=-1;i=a,j=Y()|0,q[i+160>>2]=j;c=r[b+11|0];d=c<<24>>24<0;d:{e:{c=d?q[b+4>>2]:c;if((c|0)<4){break e}f=d?q[b>>2]:b;g=f+c|0;d=f;while(1){c=c+ -3|0;if(!c){break e}d=sf(d,104,c);if(!d){break e}if((r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24))!=1886680168){d=d+1|0;c=g-d|0;if((c|0)>=4){continue}break e}break}if((d|0)==(g|0)|(d|0)!=(f|0)){break e}iy(q[a+4>>2],b);break d}d=a+4|0;f=Z(1189)|0;a=o[b+11|0];f:{if((a|0)<=-1){c=q[b+4>>2];a=Nb(c+4|0);q[a>>2]=c;b=q[b>>2];break f}c=a&255;a=Nb(c+4|0);q[a>>2]=c}Va(a+4|0,b,c);q[e+8>>2]=a;a=Aa(f|0,1,1384,e+8|0)|0;J(f|0);b=L(1199)|0;c=L(1210)|0;X(a|0,b|0,c|0);J(c|0);J(b|0);b=q[d>>2];c=L(1050)|0;b=U(b|0,c|0)|0;J(c|0);sm(e+8|0,b,d);J(b|0);b=L(1222)|0;X(a|0,b|0,q[e+8>>2]);J(b|0);J(q[e+8>>2]);d=q[d>>2];b=L(1232)|0;X(d|0,b|0,a|0);J(b|0);J(a|0)}Ca=e+16|0}function ae(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=(c<<5)+a|0;d=v[k>>3];h=w(c,6);y=h<<4;m=y+a|0;e=v[m+8>>3];l=v[k+8>>3];i=v[a+8>>3];g=(c<<6)+a|0;n=v[g>>3];o=v[m>>3];j=n+o;p=v[a>>3];v[g>>3]=p-j;f=v[g+8>>3];v[a>>3]=j+p;j=o-n;v[m+8>>3]=l-j;v[k+8>>3]=j+l;l=f-e;v[m>>3]=d-l;v[k>>3]=l+d;d=f+e;v[g+8>>3]=i-d;v[a+8>>3]=d+i;l=v[a+24>>3];z=c<<1;A=(z|1)<<4;m=A+a|0;i=v[m>>3];j=v[m+8>>3];B=c<<2;C=(B|1)<<4;g=C+a|0;n=v[g>>3];d=v[b+8>>3];o=v[g+8>>3];k=(c<<4)+b|0;e=v[k+ -8>>3];f=n*d+o*e;p=v[a+16>>3];D=(h|1)<<4;h=D+a|0;q=v[h>>3];r=v[h+8>>3];s=d*q-e*r;t=f+s;v[g>>3]=p-t;v[a+16>>3]=p+t;f=s-f;v[h+8>>3]=j-f;v[m+8>>3]=f+j;j=d*o-n*e;d=e*q+d*r;e=j-d;v[h>>3]=i-e;v[m>>3]=i+e;d=j+d;v[g+8>>3]=l-d;v[a+24>>3]=l+d;x=c+ -1|0;while(1){c=a+32|0;g=c+(z<<4)|0;l=v[g>>3];i=v[g+8>>3];j=v[a+40>>3];h=c+(B<<4)|0;n=v[h>>3];d=v[b+16>>3];o=v[h+8>>3];m=k+ -16|0;e=v[m>>3];f=n*d+o*e;p=v[a+32>>3];u=c+y|0;q=v[u>>3];r=v[u+8>>3];s=d*q-e*r;t=f+s;v[h>>3]=p-t;v[a+32>>3]=p+t;f=s-f;v[u+8>>3]=i-f;v[g+8>>3]=f+i;i=d*o-n*e;d=e*q+d*r;e=i-d;v[u>>3]=l-e;v[g>>3]=l+e;d=i+d;v[h+8>>3]=j-d;v[a+40>>3]=j+d;g=c+A|0;l=v[g>>3];i=v[g+8>>3];j=v[a+56>>3];h=c+C|0;n=v[h>>3];d=v[b+24>>3];o=v[h+8>>3];e=v[k+ -24>>3];f=n*d+o*e;p=v[a+48>>3];k=c+D|0;q=v[k>>3];r=v[k+8>>3];s=d*q-e*r;t=f+s;v[h>>3]=p-t;v[a+48>>3]=p+t;f=s-f;v[k+8>>3]=i-f;v[g+8>>3]=f+i;i=d*o-n*e;d=e*q+d*r;e=i-d;v[k>>3]=l-e;v[g>>3]=l+e;d=i+d;v[h+8>>3]=j-d;v[a+56>>3]=j+d;b=b+16|0;k=m;a=c;x=x+ -1|0;if(x){continue}break}}function mj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;l=Ca-16|0;Ca=l;kj(a,l+12|0,l+8|0);s=q[l+12>>2]>>f;q[l+12>>2]=s;v=w(q[l+8>>2],s);q[l+8>>2]=v;c=c+ -1|0;E=(c|0)>0?c:0;F=(d|0)>0?d:0;while(1){if((m|0)!=(F|0)){x=w(m,v);G=w(e,m);H=m>>>f|0;t=0;a:while(1){d=t;if((d|0)!=(E|0)){c=q[a+580>>2];g=w(q[a+564>>2],H);t=d+1|0;i=g+(t>>>f|0)|0;j=r[c+i|0];h=c;c=g+(d>>>f|0)|0;k=r[h+c|0];if(!((j|k)&14)){continue}h=c<<2;c=q[a+696>>2];if(!((q[h+c>>2]|q[c+(i<<2)>>2])&7)){c=q[a+680>>2];g=c+(w(s,t)+x<<2)|0;i=c+(w(d,s)+x<<2)|0;h=p[g+2>>1]+p[i+2>>1]|0;c=h>>31;i=p[i>>1]-p[g>>1]|0;g=i>>31;if(((c^c+h)+(g^g+i)|0)<2){continue}}c=0;y=k&14;z=j&14;I=(y|0)!=0&(z|0)!=0;i=d+G<<3;J=i|4;K=i|5;L=i|6;M=i|7;while(1){if((c|0)==8){continue a}j=w(c,e);g=(j+i|0)+b|0;n=r[g+8|0];A=(j+M|0)+b|0;k=r[A|0];d=n-k|0;h=d>>31;u=(j+L|0)+b|0;B=k-r[u|0]|0;C=B>>31;D=r[g+9|0]-n|0;n=D>>31;h=(h^d+h)-(((C^C+B)+(n^n+D)|0)+1>>>1|0)|0;h=(h|0)>0?h:0;d=(d|0)<0?0-h|0:h;b:{if(!d){break b}d=I?d:(d<<4)/9|0;if(y){o[A|0]=r[(k+(w(d,7)>>4)|0)+170608|0];o[u|0]=r[(r[u|0]+(w(d,5)>>4)|0)+170608|0];k=(j+K|0)+b|0;o[k|0]=r[(r[k|0]+(w(d,3)>>4)|0)+170608|0];j=(j+J|0)+b|0;o[j|0]=r[(r[j|0]+(d>>4)|0)+170608|0]}if(!z){break b}o[g+8|0]=r[(r[g+8|0]-(w(d,7)>>4)|0)+170608|0];o[g+9|0]=r[(r[g+9|0]-(w(d,5)>>4)|0)+170608|0];o[g+10|0]=r[(r[g+10|0]-(w(d,3)>>4)|0)+170608|0];o[g+11|0]=r[(r[g+11|0]-(d>>4)|0)+170608|0]}c=c+1|0;continue}}break}m=m+1|0;continue}break}Ca=l+16|0}function Fs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<1|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+16>>1],g)|0)+w(s[a+16>>1],f)>>d;p[a+16>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+18>>1],g)|0)+w(s[a+18>>1],f)>>d;p[a+18>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+20>>1],g)|0)+w(s[a+20>>1],f)>>d;p[a+20>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+22>>1],g)|0)+w(s[a+22>>1],f)>>d;p[a+22>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+24>>1],g)|0)+w(s[a+24>>1],f)>>d;p[a+24>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+26>>1],g)|0)+w(s[a+26>>1],f)>>d;p[a+26>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+28>>1],g)|0)+w(s[a+28>>1],f)>>d;p[a+28>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+30>>1],g)|0)+w(s[a+30>>1],f)>>d;p[a+30>>1]=h>>>0<512?h:(h>>31^-1)&511;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Ow(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,r=x(0),s=0,t=0,v=0,y=0;v=b+17856|0;l=q[a+6516>>2];f=l?480:512;o=f+ -2|0;i=f>>>2|0;k=f>>>1|0;p=q[b+74176>>2];m=b+13760|0;while(1){if(g>>>0>>0){h=g<<2;c=h+m|0;d=q[c>>2];e=c;c=m+((g^-1)+f<<2)|0;u[e>>2]=-u[c>>2];q[c>>2]=d;c=m+(h|4)|0;r=u[c>>2];e=c;c=m+(o-g<<2)|0;q[e>>2]=q[c>>2];u[c>>2]=-r;g=g+2|0;continue}break}s=a+1024|0;d=b+13760|0;a:{if(l){c=q[a+5396>>2];n[q[c+652>>2]](c,s,d,1);break a}n[q[a+5164>>2]](a+5256|0,s,d)}j=l?122048:114368;c=0;while(1){if(c>>>0>=f>>>0){e=f<<1;l=f+k|0;m=f-i|0;o=w(f,3);t=o-i|0;g=b+17856|0;c=i;while(1){if(c>>>0>=k>>>0){l=e-i|0;c=0;g=b+17856|0;e=0;while(1){if((e|0)==(k|0)){h=b+17856|0;while(1){if((c|0)!=(i|0)){d=c+k|0;u[(d+i<<2)+p>>2]=x(x(u[((d<<2)+a|0)+1024>>2]*u[((c+f|0)-i<<2)+j>>2])-x(u[h+((c^-1)+k<<2)>>2]*u[(c+l<<2)+j>>2]))-x(u[h+(d+f<<2)>>2]*u[(c+t<<2)+j>>2]);c=c+1|0;continue}break}a=f<<2;be((a+b|0)+17856|0,v,f<<3);Va(v,s,a)}else{h=e+k|0;d=e^-1;u[(e+i<<2)+p>>2]=x(x(x(u[((e<<2)+a|0)+1024>>2]*u[(h-i<<2)+j>>2])-x(u[g+(d+f<<2)>>2]*u[(h+m<<2)+j>>2]))-x(u[g+(f+e<<2)>>2]*u[(h+l<<2)+j>>2]))+x(u[g+(d+o<<2)>>2]*u[(h+t<<2)+j>>2]);e=e+1|0;continue}break}}else{d=c-i<<2;y=d+p|0;h=c^-1;r=x(u[((h+k<<2)+a|0)+1024>>2]*u[d+j>>2]);d=c+k|0;u[y>>2]=x(x(r+x(u[g+(d<<2)>>2]*u[(c+m<<2)+j>>2]))-x(u[g+(h+l<<2)>>2]*u[((c+e|0)-i<<2)+j>>2]))-x(u[g+(d+e<<2)>>2]*u[(c+t<<2)+j>>2]);c=c+1|0;continue}break}}else{d=((c<<2)+a|0)+1024|0;u[d>>2]=-u[d>>2];c=c+2|0;continue}break}}function Mf(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<16384?h:(f>>31^-1)&16383)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=(s[a+8>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=(s[a+10>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=(s[a+12>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=(s[a+14>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Uf(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<1024?h:(f>>31^-1)&1023)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=(s[a+8>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=(s[a+10>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=(s[a+12>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=(s[a+14>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Qf(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<4096?h:(f>>31^-1)&4095)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=(s[a+8>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=(s[a+10>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=(s[a+12>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=(s[a+14>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function xf(a){var b=0,c=0,d=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{h(+a);d=e(1)|0;k=e(0)|0;d:{e:{b=d;d=b&2147483647;if(d>>>0>=1078159482){h(+a);d=e(1)|0;d=d&2147483647;if((d|0)==2146435072&e(0)>>>0>0|d>>>0>2146435072){break a}if((b|0)<0?1:(b|0)<=0?k>>>0>=0?0:1:0){return-1}if(!(a>709.782712893384)){break e}return a*8.98846567431158e+307}if(d>>>0<1071001155){break c}if(d>>>0>1072734897){break e}if((b|0)>0?1:(b|0)>=0?k>>>0<0?0:1:0){b=1;c=1.9082149292705877e-10;j=a+ -.6931471803691238;break d}b=-1;c=-1.9082149292705877e-10;j=a+.6931471803691238;break d}h(.5);b=e(1)|0;d=e(0)|0;h(+a);k=e(1)|0;e(0)|0;f(0,d|0);f(1,b&2147483647|k&-2147483648);c=a*1.4426950408889634+ +g();f:{if(y(c)<2147483648){b=~~c;break f}b=-2147483648}i=+(b|0);c=i*1.9082149292705877e-10;j=a+i*-.6931471803691238}a=j;a=a-c;c=j-a-c;break b}if(d>>>0<1016070144){break a}b=0}l=a*.5;i=a*l;j=i*(i*(i*(i*(i*-2.0109921818362437e-7+4008217827329362e-21)+ -793650757867488e-19)+.0015873015872548146)+ -.03333333333333313)+1;m=j;j=3-l*j;j=i*((m-j)/(6-a*j));if(!b){return a-(a*j-i)}c=a*(j-c)-c-i;g:{k=b+1|0;if(k>>>0>2){break g}h:{switch(k-1|0){default:return(a-c)*.5+ -.5;case 0:break g;case 1:break h}}if(!!(a<-.25)){return(c-(a+.5))*-2}a=a-c;return a+a+1}f(0,0);f(1,b+1023<<20);i=+g();if(b>>>0>=57){a=a-c+1;return((b|0)==1024?(a+a)*8.98846567431158e+307:a*i)+ -1}k=1023-b<<20;d=0;i:{if((b|0)<=19){a=a-c;f(0,d|0);f(1,k|0);c=1- +g();break i}f(0,d|0);f(1,k|0);c=a-(c+ +g());a=1}a=(c+a)*i}return a}function Yf(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<512?h:(f>>31^-1)&511)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=(s[a+8>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=(s[a+10>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=(s[a+12>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=(s[a+14>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;e=Ca-256|0;Ca=e;while(1){if((k|0)==8){b=0;while(1){if((b|0)!=8){a=(b<<2)+e|0;c=a- -64|0;l=c;j=q[a+32>>2];k=q[a>>2];d=j+k|0;g=q[a+96>>2];h=q[c>>2];f=g+h|0;c=d-f|0;q[l>>2]=c;d=d+f|0;q[a>>2]=d;g=h-g|0;k=k-j|0;j=g+k|0;q[a+32>>2]=j;k=k-g|0;q[a+96>>2]=k;f=q[a+224>>2];m=q[a+192>>2];h=f+m|0;i=q[a+160>>2];n=q[a+128>>2];l=i+n|0;g=h+l|0;q[a+128>>2]=g;h=l-h|0;q[a+192>>2]=h;m=m-f|0;i=n-i|0;f=m+i|0;q[a+160>>2]=f;l=a;a=i-m|0;q[l+224>>2]=a;i=k-a|0;m=i>>31;n=a+k|0;a=n>>31;l=c-h|0;k=l>>31;p=c+h|0;c=p>>31;s=d-g|0;h=s>>31;o=d+g|0;d=o>>31;t=j-f|0;g=t>>31;f=f+j|0;j=f>>31;v=((((((((m^i+m)+v|0)+(a^a+n)|0)+(k^k+l)|0)+(c^c+p)|0)+(h^h+s)|0)+(d^d+o)|0)+(g^g+t)|0)+(j^f+j)|0;b=b+1|0;continue}break}Ca=e+256|0}else{a=w(d,k);h=a+7|0;g=r[h+c|0];j=k<<5;i=a+4|0;i=r[i+c|0]-r[b+i|0]|0;f=a+5|0;m=r[f+c|0];f=r[b+f|0];n=i+(m-f|0)|0;l=a+6|0;l=r[l+c|0]-r[b+l|0]|0;h=r[b+h|0];p=l+(g-h|0)|0;s=n+p|0;u=a+2|0;u=r[u+c|0]-r[b+u|0]|0;o=a+3|0;t=r[o+c|0];o=r[b+o|0];x=u+(t-o|0)|0;y=r[a+c|0]-r[a+b|0]|0;a=a+1|0;z=r[a+c|0];a=r[a+b|0];A=y+(z-a|0)|0;B=x+A|0;q[j+e>>2]=s+B;q[(j|16)+e>>2]=B-s;g=l+(h-g|0)|0;h=i+(f-m|0)|0;f=g+h|0;m=u+(o-t|0)|0;a=(a-z|0)+y|0;i=m+a|0;q[(j|4)+e>>2]=f+i;q[(j|20)+e>>2]=i-f;f=n-p|0;i=A-x|0;q[(j|8)+e>>2]=f+i;q[(j|24)+e>>2]=i-f;g=h-g|0;a=a-m|0;q[(j|12)+e>>2]=g+a;q[(j|28)+e>>2]=a-g;k=k+1|0;continue}break}return v|0}function st(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;i=8-f|0;g=8-e|0;h=w(i,g);g=w(f,g);i=w(e,i);a:{f=w(e,f);if(f){e=0;k=(d|0)>0?d:0;l=c+4|0;n=c+3|0;p=c+2|0;q=c+1|0;while(1){if((e|0)==(k|0)){break a}d=b+c|0;j=b+q|0;o[a|0]=(r[a|0]+((((w(r[b|0],h)+w(i,r[b+1|0])|0)+w(g,r[d|0])|0)+w(f,r[j|0])|0)+32>>>6|0)|0)+1>>>1;m=(w(r[b+1|0],h)+w(i,r[b+2|0])|0)+w(g,r[j|0])|0;j=b+p|0;o[a+1|0]=(r[a+1|0]+((m+w(f,r[j|0])|0)+32>>>6|0)|0)+1>>>1;m=(w(r[b+2|0],h)+w(i,r[b+3|0])|0)+w(g,r[j|0])|0;j=b+n|0;o[a+2|0]=(r[a+2|0]+((m+w(f,r[j|0])|0)+32>>>6|0)|0)+1>>>1;o[a+3|0]=(r[a+3|0]+((((w(r[b+3|0],h)+w(i,r[b+4|0])|0)+w(g,r[j|0])|0)+w(f,r[b+l|0])|0)+32>>>6|0)|0)+1>>>1;e=e+1|0;a=a+c|0;b=d;continue}}f=g+i|0;if(!f){e=0;d=(d|0)>0?d:0;while(1){if((d|0)==(e|0)){break a}o[a|0]=(r[a|0]+(w(r[b|0],h)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+(w(r[b+1|0],h)+32>>>6|0)|0)+1>>>1;o[a+2|0]=(r[a+2|0]+(w(r[b+2|0],h)+32>>>6|0)|0)+1>>>1;o[a+3|0]=(r[a+3|0]+(w(r[b+3|0],h)+32>>>6|0)|0)+1>>>1;e=e+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;i=g+3|0;k=g+2|0;l=g+1|0;e=0;d=(d|0)>0?d:0;while(1){if((d|0)==(e|0)){break a}o[a|0]=(r[a|0]+((w(r[b|0],h)+w(f,r[b+g|0])|0)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+((w(r[b+1|0],h)+w(f,r[b+l|0])|0)+32>>>6|0)|0)+1>>>1;o[a+2|0]=(r[a+2|0]+((w(r[b+2|0],h)+w(f,r[b+k|0])|0)+32>>>6|0)|0)+1>>>1;o[a+3|0]=(r[a+3|0]+((w(r[b+3|0],h)+w(f,r[b+i|0])|0)+32>>>6|0)|0)+1>>>1;e=e+1|0;b=b+c|0;a=a+c|0;continue}}}function $f(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;y=w(c,7);z=w(c,6);A=w(c,5);B=c<<2;C=w(c,3);D=c<<1;E=w(d,10);F=w(d,9);G=d<<3;H=w(d,7);I=w(d,6);J=w(d,5);K=d<<2;L=w(d,3);M=0-d|0;t=d<<1;N=0-t|0;while(1){if((u|0)!=8){O=r[b+E|0];v=r[b+F|0];s=r[b+G|0];q=r[b+H|0];l=r[b+I|0];h=r[b+J|0];e=r[b+K|0];f=r[b+L|0];x=f+16|0;j=r[b+d|0];k=r[b|0];i=r[b+t|0];n=r[b+M|0];g=((x+r[b+N|0]|0)+w(j+k|0,20)|0)+w(i+n|0,-5)|0;m=g>>5;o[a|0]=(r[a|0]+((m>>>0>255?g>>31^-1:m)&255)|0)+1>>>1;g=n;n=e+16|0;g=((g+n|0)+w(j+i|0,20)|0)+w(f+k|0,-5)|0;m=g>>5;p=a+c|0;o[p|0]=(r[p|0]+((m>>>0>255?g>>31^-1:m)&255)|0)+1>>>1;m=h+16|0;g=((m+k|0)+w(f+i|0,20)|0)+w(e+j|0,-5)|0;k=g>>5;p=a+D|0;o[p|0]=(r[p|0]+((k>>>0>255?g>>31^-1:k)&255)|0)+1>>>1;k=(((l+j|0)+w(e+f|0,20)|0)+w(h+i|0,-5)|0)+16|0;j=k>>5;g=a+C|0;o[g|0]=(r[g|0]+((j>>>0>255?k>>31^-1:j)&255)|0)+1>>>1;i=(((i+q|0)+w(e+h|0,20)|0)+w(f+l|0,-5)|0)+16|0;f=i>>5;j=a+B|0;o[j|0]=(r[j|0]+((f>>>0>255?i>>31^-1:f)&255)|0)+1>>>1;f=((s+x|0)+w(h+l|0,20)|0)+w(e+q|0,-5)|0;e=f>>5;i=a+A|0;o[i|0]=(r[i|0]+((e>>>0>255?f>>31^-1:e)&255)|0)+1>>>1;e=((n+v|0)+w(l+q|0,20)|0)+w(h+s|0,-5)|0;h=e>>5;f=a+z|0;o[f|0]=(r[f|0]+((h>>>0>255?e>>31^-1:h)&255)|0)+1>>>1;h=((m+O|0)+w(q+s|0,20)|0)+w(l+v|0,-5)|0;l=h>>5;e=a+y|0;o[e|0]=(r[e|0]+((l>>>0>255?h>>31^-1:l)&255)|0)+1>>>1;u=u+1|0;b=b+1|0;a=a+1|0;continue}break}}function Wj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ca-96|0;Ca=d;e=-1414549496;f=Fi(a,b,0,0,0,d+92|0);a:{if(!f){break a}h=q[d+92>>2];if(!h){break a}if(!c){e=-28;g=q[f+12>>2];if(g>>>0>18|!(1<>2];if(g&128){break a}if(g&131072){q[d+68>>2]=q[f+4>>2];q[d+64>>2]=b;Ta(a,24,3246,d- -64|0);h=q[d+92>>2]}b:{c:{d:{g=q[f+12>>2];e:{if(g>>>0>18){break e}b=q[f+8>>2]+h|0;f:{switch(g-5|0){case 13:e=NA(a,f,c,b);break a;case 0:e=fn(c,b);break a;case 2:e=cn(c,b);break a;default:e=EA(a,h,f,c,b);break a;case 6:e=_m(a,c,b);break a;case 9:e=Wm(a,c,d+80|0);if((e|0)<0){break a}c=a;a=q[d+80>>2];e=Oe(c,f,b,1,q[d+84>>2],a,a>>31);break a;case 7:e=Jm(a,f,c,b,196,96,38482);break a;case 8:e=Jm(a,f,c,b,12,97,39233);break a;case 10:q[d+80>>2]=0;q[d+84>>2]=0;if(c){e=Ry(d+80|0,c);if((e|0)<0){break b}k=q[d+84>>2];i=q[d+80>>2]}l=v[f+24>>3];j=+(i>>>0)+4294967296*+(k|0);m=v[f+32>>3];if(!(mj):0)){b=q[f>>2];v[d+40>>3]=m/1e6;v[d+32>>3]=l/1e6;q[d+24>>2]=b;v[d+16>>3]=j/1e6;Ta(a,16,7392,d+16|0);e=-68;break a}q[b>>2]=i;q[b+4>>2]=k;e=0;break a;case 11:e=Um(a,c,b);break a;case 3:break c;case 5:break e;case 12:break f}}if(c){if(Sb(c,8752)){break d}}q[b>>2]=0;q[b+4>>2]=0}Ta(a,16,11727,0);break a}e=0;f=$Q(c);h=Da;i=h;if(!(f|h)){q[d+48>>2]=c;Ta(a,16,10610,d+48|0);e=-28}q[b>>2]=f;q[b+4>>2]=i;break a}e=Sm(c,b);break a}q[d>>2]=c;Ta(a,16,5887,d)}Ca=d+96|0;return e}function pJ(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;c=c-((e&2147483646)<<1)|0;h=e>>1<<1;e=b;while(1){if((f|0)!=9){l=c+ -2|0;p[e>>1]=(s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[l>>1]|0,-5)|0)|0)+ -10230;p[e+2>>1]=(s[c+8>>1]+((s[l>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0)|0)+ -10230;p[e+4>>1]=(s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0)|0)+ -10230;p[e+6>>1]=(s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0)|0)+ -10230;f=f+1|0;e=e+16|0;c=c+h|0;continue}break}c=b+32|0;b=0;l=(d&-2)<<1;n=d>>1;r=w(n,3)<<1;while(1){if((b|0)!=4){t=p[c+96>>1];m=p[c+80>>1];h=p[c+64>>1];d=p[c+48>>1]+10230|0;o=p[c+16>>1];f=o+10230|0;i=p[c>>1];g=i+10230|0;j=p[c+ -16>>1];e=p[c+32>>1]+10230|0;k=(((d+p[c+ -32>>1]|0)+w(f+g|0,20)|0)+w(j+e|0,-5)|0)+ -40408|0;q=k>>10;p[a>>1]=(s[a>>1]+(q>>>0<1024?q:(k>>31^-1)&1023)|0)+1>>>1;k=(n<<1)+a|0;h=h+10230|0;g=(((h+j|0)+w(e+f|0,20)|0)+w(d+g|0,-5)|0)+10742|0;j=g>>10;p[k>>1]=(s[k>>1]+(j>>>0<1024?j:(g>>31^-1)&1023)|0)+1>>>1;g=a+l|0;m=m+10230|0;f=(((m+i|0)+w(d+e|0,20)|0)+w(f+h|0,-5)|0)+10742|0;i=f>>10;p[g>>1]=(s[g>>1]+(i>>>0<1024?i:(f>>31^-1)&1023)|0)+1>>>1;f=a+r|0;d=(((t+o|0)+w(d+h|0,20)|0)+w(e+m|0,-5)|0)+20972|0;e=d>>10;p[f>>1]=(s[f>>1]+(e>>>0<1024?e:(d>>31^-1)&1023)|0)+1>>>1;b=b+1|0;c=c+2|0;a=a+2|0;continue}break}}function hq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca-32|0;Ca=b;c=Z(1804)|0;q[b+8>>2]=q[a+152>>2];J($(c|0,1,1820,b+8|0)|0);J(c|0);q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;c=a+124|0;Fj(c);Mx(c);d=q[a+128>>2];f=q[a+132>>2];if((d|0)!=(f|0)){f=(((f-d|0)+ -4>>>2^-1)<<2)+f|0;q[a+132>>2]=f}a:{h=q[a+124>>2];g=f-d|0;e=g>>2;c=0;b:{if(q[a+136>>2]-h>>2>>>0<=e>>>0){break b}if(g){if(e>>>0>=1073741824){break a}c=rb(g)}else{c=0}g=c+(e<<2)|0;if((d|0)!=(f|0)){e=c;while(1){q[e>>2]=q[d>>2];e=e+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}h=q[a+124>>2];e=q[a+132>>2]-q[a+128>>2]>>2}q[a+136>>2]=g;q[a+128>>2]=c;q[a+124>>2]=c;q[a+132>>2]=c+(e<<2);if(!h){c=0;break b}Ya(h);i=q[b+24>>2];c=q[b+28>>2]}q[a+124>>2]=q[b+8>>2];q[a+128>>2]=q[b+12>>2];q[a+132>>2]=q[b+16>>2];q[a+136>>2]=q[b+20>>2];q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[a+144>>2]=c;q[a+140>>2]=i;q[b+24>>2]=0;q[b+28>>2]=0;Fj(b+8|0);d=q[b+12>>2];c=q[b+16>>2];c:{if((d|0)==(c|0)){break c}while(1){Ya(q[d>>2]);d=d+4|0;if((c|0)!=(d|0)){continue}break}c=q[b+16>>2];e=q[b+12>>2];if((c|0)==(e|0)){break c}q[b+16>>2]=c+(((c-e|0)+ -4>>>2^-1)<<2)}c=q[b+8>>2];if(c){Ya(c)}Ej(a+52|0);gk(q[a+32>>2]);hk(a+36|0);p[a+156>>1]=257;q[a+152>>2]=0;q[a+164>>2]=0;o[a+148|0]=0;d:{if(o[a+23|0]<=-1){o[q[a+12>>2]]=0;q[a+16>>2]=0;break d}o[a+23|0]=0;o[a+12|0]=0}o[a+8|0]=0;Ca=b+32|0;return}oe(1504);F()}function _u(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-48|0;Ca=c;e=q[a+28>>2];a:{if(q[e+36>>2]){break a}b=q[q[a+12>>2]+120>>2];b=b?b:3928;q[c+44>>2]=b;while(1){if(!r[b|0]){b=0;break a}d=ch(c+44|0,6121);q[c+40>>2]=d;b=-48;b:{if(!d){break b}g=ur(d,c+36|0);if(!g){Wa(c+40|0);break b}h=jv(g);if(!h){q[c>>2]=g;Ta(a,16,9610,c);Wa(c+40|0);b=-558323010;break b}d=q[e+32>>2];f=q[e+36>>2]+1|0;if(536870911>f>>>0){d=nd(d,f<<2)}else{d=0}if(!d){Wa(c+40|0);break b}q[e+32>>2]=d;b=gv(h,d+(q[e+36>>2]<<2)|0);if((b|0)<=-1){Wa(c+40|0);break b}d=q[e+36>>2];q[e+36>>2]=d+1;f=q[e+32>>2]+(d<<2)|0;b=q[f>>2];c:{if(!d){q[b+24>>2]=1;q[b+28>>2]=9e4;b=IB(q[q[(q[e+32>>2]+(q[e+36>>2]<<2)|0)+ -4>>2]+16>>2],a);break c}d=q[f+ -4>>2];f=q[d+36>>2];q[b+24>>2]=q[d+32>>2];q[b+28>>2]=f;b=q[e+32>>2]+(q[e+36>>2]<<2)|0;b=Fn(q[q[b+ -4>>2]+16>>2],q[q[b+ -8>>2]+20>>2])}if((b|0)<=-1){Wa(c+40|0);break b}d:{if(!q[c+36>>2]|!q[h+8>>2]){break d}b=uf(q[q[(q[e+32>>2]+(q[e+36>>2]<<2)|0)+ -4>>2]+12>>2],0);q[c+24>>2]=0;q[c+28>>2]=0;if(b){q[c+24>>2]=q[b>>2]}d=Zy(q[q[(q[e+32>>2]+(q[e+36>>2]<<2)|0)+ -4>>2]+12>>2],q[c+36>>2],c+24|0);if((d|0)>=0){break d}b=-48;if((d|0)!=-48){q[c+16>>2]=g;Ta(a,16,11989,c+16|0);b=-558323010}Wa(c+40|0);break b}Wa(c+40|0);b=fv(q[(q[e+32>>2]+(q[e+36>>2]<<2)|0)+ -4>>2]);if((b|0)<0){break b}b=q[c+44>>2];if(!r[b|0]){continue}b=b+1|0;q[c+44>>2]=b;continue}break}oj(a)}Ca=c+48|0;return b}function so(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca-48|0;Ca=d;c=q[a>>2];a:{b:{if(!q[c+248>>2]){e=q[b>>2];if(!q[e+248>>2]){break b}if((e|0)!=q[b+4>>2]){break a}q[a+4>>2]=c;c:{d:{g=KB(a+4|0,b+4|0);if((g|0)<0){break d}i=a,j=Jb(q[b+20>>2]),q[i+20>>2]=j;c=Jb(q[b+44>>2]);q[a+44>>2]=c;g=-48;if(!c|!q[a+20>>2]){break d}q[a+24>>2]=q[b+24>>2];q[a+48>>2]=q[b+48>>2];c=0;while(1){if((c|0)!=2){f=c<<2;e=f+a|0;f=b+f|0;i=e+28|0,j=Jb(q[f+28>>2]),q[i>>2]=j;h=Jb(q[f+60>>2]);q[e+60>>2]=h;if(!h|!q[e+28>>2]){break d}q[e+36>>2]=q[f+36>>2];q[e+68>>2]=q[f+68>>2];c=c+1|0;continue}break}if(q[b+56>>2]){c=Jb(q[b+52>>2]);q[a+52>>2]=c;if(!c){break d}q[a+56>>2]=q[c+4>>2]}c=0;while(1){if((c|0)!=2){e=c<<2;q[(e+a|0)+76>>2]=q[(b+e|0)+76>>2];c=c+1|0;continue}break}Va(a+104|0,b+104|0,512);c=q[b+628>>2];q[a+624>>2]=q[b+624>>2];q[a+628>>2]=c;c=q[b+620>>2];q[a+616>>2]=q[b+616>>2];q[a+620>>2]=c;q[a+84>>2]=q[b+84>>2];q[a+88>>2]=q[b+88>>2];q[a+92>>2]=q[b+92>>2];q[a+100>>2]=q[b+100>>2];q[a+632>>2]=q[b+632>>2];q[a+636>>2]=q[b+636>>2];q[a+640>>2]=q[b+640>>2];q[a+644>>2]=q[b+644>>2];q[a+648>>2]=q[b+648>>2];q[a+652>>2]=q[b+652>>2];g=0;break c}Dc(a)}Ca=d+48|0;return g}q[d+40>>2]=69;q[d+36>>2]=8010;q[d+32>>2]=6424;Ta(0,0,4256,d+32|0);I();F()}q[d+8>>2]=70;q[d+4>>2]=8010;q[d>>2]=10035;Ta(0,0,4256,d);I();F()}q[d+24>>2]=71;q[d+20>>2]=8010;q[d+16>>2]=11162;Ta(0,0,4256,d+16|0);I();F()}function BC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=r[b+1|0]-r[c+1|0]|0;a=r[b|0]-r[c|0]|0;w=i-a|0;m=w>>31;j=r[b+2|0]-r[c+2|0]|0;x=j-i|0;i=x>>31;f=r[b+3|0]-r[c+3|0]|0;y=f-j|0;j=y>>31;g=r[b+4|0]-r[c+4|0]|0;z=g-f|0;f=z>>31;h=r[b+5|0]-r[c+5|0]|0;A=h-g|0;g=A>>31;k=r[b+6|0]-r[c+6|0]|0;B=k-h|0;h=B>>31;n=r[b+7|0]-r[c+7|0]|0;C=n-k|0;k=C>>31;o=r[b+8|0]-r[c+8|0]|0;D=o-n|0;n=D>>31;l=r[b+9|0]-r[c+9|0]|0;E=l-o|0;o=E>>31;p=r[b+10|0]-r[c+10|0]|0;F=p-l|0;l=F>>31;q=r[b+11|0]-r[c+11|0]|0;G=q-p|0;p=G>>31;s=r[b+12|0]-r[c+12|0]|0;H=s-q|0;q=H>>31;t=r[b+13|0]-r[c+13|0]|0;I=t-s|0;s=I>>31;u=r[b+14|0]-r[c+14|0]|0;J=u-t|0;t=J>>31;K=(r[b+15|0]-r[c+15|0]|0)-u|0;u=K>>31;v=a;a=a>>31;h=(((((((((((((((m^m+w)+(v+a^a)|0)+(i^i+x)|0)+(j^j+y)|0)+(f^f+z)|0)+(g^g+A)|0)+(h^h+B)|0)+(k^k+C)|0)+(n^n+D)|0)+(o^o+E)|0)+(l^l+F)|0)+(p^p+G)|0)+(q^q+H)|0)+(s^s+I)|0)+(t^t+J)|0)+(u^u+K)|0;n=(e|0)>1?e:1;o=d^-1;k=1;while(1){if((k|0)!=(n|0)){a=b+d|0;i=r[a|0];m=c+d|0;j=r[m|0];f=r[c|0]-r[b|0]+(i-j)|0;e=f>>31;h=(e^e+f)+h|0;e=1;while(1){if((e|0)!=16){f=j;g=i;i=r[a+e|0];j=r[e+m|0];l=r[b+e|0]-r[c+e|0]|0;f=g-f|0;g=f;v=f+l|0;f=e+o|0;g=(i-j|0)-ob(l,g,(v-r[f+a|0]|0)+r[f+m|0]|0)|0;f=g>>31;h=(f^f+g)+h|0;e=e+1|0;continue}break}k=k+1|0;c=m;b=a;continue}break}return h|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca-16|0;Ca=f;c=q[a+20>>2];e=c;d=q[b+4>>2];if(o[d+11|0]<=-1){d=q[d>>2]}q[e+24>>2]=q[b+8>>2]+d;q[c+28>>2]=q[b+12>>2];a:{if((Nl(q[a+12>>2],c)|0)<0){break a}j=a+24|0;while(1){i=Ll(q[a+12>>2],q[a+16>>2]);if((i|0)==-541478725|(i|0)==-6){break a}b:{c:{d=q[a+36>>2];b=q[a+16>>2];e=q[b+68>>2];if((d|0)!=(e|0)){b=q[b+72>>2];break c}b=q[b+72>>2];c=q[a+40>>2];if((b|0)!=(c|0)){break c}e=q[a+44>>2];break b}Pt(j,e,b);d=q[a+36>>2];c=q[a+40>>2];b=w(d,c);e=Nb(w(b,3)>>1);q[a+44>>2]=e;g=b+e|0;q[a+48>>2]=g;q[a+52>>2]=g+(b>>2)}b=0;d:{if(!c){break d}while(1){c=q[a+16>>2];c=Va(e,q[c>>2]+w(q[c+32>>2],b)|0,d);d=q[a+36>>2];e=c+d|0;b=b+1|0;c=q[a+40>>2];if(b>>>0>>0){continue}break}e=c>>>1|0;if(!e){break d}b=d>>>1|0;g=w(b,e);d=0;h=q[a+48>>2];c=h;while(1){k=c;c=q[a+16>>2];c=Va(k,q[c+4>>2]+w(q[c+36>>2],d)|0,b)+b|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}c=g+h|0;d=0;while(1){h=c;c=q[a+16>>2];c=Va(h,q[c+8>>2]+w(q[c+40>>2],d)|0,b)+b|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(!r[a+60|0]){Kt(q[a+44>>2],q[a+48>>2],q[a+52>>2],q[a+32>>2],q[a+36>>2],q[a+40>>2])}b=q[q[a+28>>2]>>2];e:{if(o[216616]&1){break e}if(!Mc(216616)){break e}l=216612,m=M(3,2760)|0,q[l>>2]=m;Lc(216616)}d=q[54153];q[f>>2]=q[a+64>>2];q[f+8>>2]=q[a+68>>2];O(d|0,b|0,2752,f|0);if((i|0)>-1){continue}break}}Ca=f+16|0}function PD(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Ca-16|0;Ca=h;f=q[c+1164>>2];while(1){if((e|0)!=32){a:{if(q[f+20>>2]?f:0){break a}i=q[(e<<2)+c>>2];if(!i){break a}f=q[i+4>>2]}e=e+1|0;continue}break}b:{if(!f){Ta(d,16,21746,0);c=-1397768184;break b}if(!(q[f+1672>>2]?0:!q[f+1668>>2])){m=a,n=td(b,q[f+1692>>2]),q[m+16>>2]=n;m=a,n=td(b,q[f+1696>>2]),q[m+12>>2]=n}if(q[f+1676>>2]){e=Ua(b,4);q[a+8>>2]=0;q[a+4>>2]=e;c=-1094995529;if(e>>>0>8){break b}q[a+92>>2]=0;i=r[e+169288|0];e=0;while(1){if((e|0)!=(i|0)){c:{if(!Ua(b,1)){break c}c=q[a+92>>2];q[a+92>>2]=c+1;g=Ua(b,2);q[a+8>>2]=q[a+8>>2]|1<>2]+1|0;j=q[b+16>>2];q[b+8>>2]=j>>>0>g>>>0?g:j;g=Ua(b,5);j=Ua(b,1);k=q[b+8>>2]+1|0;l=q[b+16>>2];q[b+8>>2]=l>>>0>k>>>0?k:l;if(!(!Ua(b,1)|g+ -2>>>0>4)){q[(w(c,24)+a|0)+40>>2]=1}c=w(c,24)+a|0;m=c,n=Ua(b,8),q[m+24>>2]=n;d:{if(j){q[c+20>>2]=1;m=c,n=Ua(b,6),q[m+28>>2]=n;m=c,n=Ua(b,6),q[m+32>>2]=n;m=c,n=Ua(b,5),q[m+36>>2]=n;break d}q[c+20>>2]=0;q[c+36>>2]=0;q[c+28>>2]=0;q[c+32>>2]=0;if(!Ua(b,1)){break d}m=c,n=Ua(b,6),q[m+28>>2]=n;if(!Ua(b,1)){break d}m=c,n=Ua(b,6),q[m+32>>2]=n;if(!Ua(b,1)){break d}m=c,n=Ua(b,5),q[m+36>>2]=n}c=q[f+1680>>2];if((c|0)<1){break c}c=c+q[b+8>>2]|0;g=q[b+16>>2];q[b+8>>2]=g>>>0>c>>>0?c:g}e=e+1|0;continue}break}b=q[a+8>>2];q[h+4>>2]=q[a+4>>2];q[h>>2]=b;Ta(d,48,22405,h)}q[a>>2]=1;c=0}Ca=h+16|0;return c}function VC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(M|0)){a=c+d|0;f=r[b|0]-((r[c|0]+r[a|0]|0)+1>>>1|0)|0;g=f>>31;h=r[b+1|0]-((r[c+1|0]+r[a+1|0]|0)+1>>>1|0)|0;i=h>>31;j=r[b+2|0]-((r[c+2|0]+r[a+2|0]|0)+1>>>1|0)|0;k=j>>31;l=r[b+3|0]-((r[c+3|0]+r[a+3|0]|0)+1>>>1|0)|0;m=l>>31;n=r[b+4|0]-((r[c+4|0]+r[a+4|0]|0)+1>>>1|0)|0;o=n>>31;p=r[b+5|0]-((r[c+5|0]+r[a+5|0]|0)+1>>>1|0)|0;q=p>>31;s=r[b+6|0]-((r[c+6|0]+r[a+6|0]|0)+1>>>1|0)|0;t=s>>31;u=r[b+7|0]-((r[c+7|0]+r[a+7|0]|0)+1>>>1|0)|0;v=u>>31;w=r[b+8|0]-((r[c+8|0]+r[a+8|0]|0)+1>>>1|0)|0;x=w>>31;y=r[b+9|0]-((r[c+9|0]+r[a+9|0]|0)+1>>>1|0)|0;z=y>>31;A=r[b+10|0]-((r[c+10|0]+r[a+10|0]|0)+1>>>1|0)|0;B=A>>31;C=r[b+11|0]-((r[c+11|0]+r[a+11|0]|0)+1>>>1|0)|0;D=C>>31;E=r[b+12|0]-((r[c+12|0]+r[a+12|0]|0)+1>>>1|0)|0;F=E>>31;G=r[b+13|0]-((r[c+13|0]+r[a+13|0]|0)+1>>>1|0)|0;H=G>>31;I=r[b+14|0]-((r[c+14|0]+r[a+14|0]|0)+1>>>1|0)|0;J=I>>31;K=r[b+15|0]-((r[c+15|0]+r[a+15|0]|0)+1>>>1|0)|0;c=K>>31;L=((((((((((((((((g^g+f)+L|0)+(i^i+h)|0)+(k^k+j)|0)+(m^m+l)|0)+(o^o+n)|0)+(q^q+p)|0)+(t^t+s)|0)+(v^v+u)|0)+(x^x+w)|0)+(z^z+y)|0)+(B^B+A)|0)+(D^D+C)|0)+(F^F+E)|0)+(H^H+G)|0)+(J^J+I)|0)+(c^c+K)|0;e=e+1|0;b=b+d|0;c=a;continue}break}return L|0}function ok(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){if((d|0)!=2){e=(d<<2)+b|0;q[e+904>>2]=0;q[e+896>>2]=0;d=d+1|0;continue}break}a:{b:{if((c|0)<=-1){e=q[a+24312>>2];d=e+84|0;g=e;e=q[a+26388>>2];i=q[((e|0)==3?d:(g+(e<<2)|0)+72|0)>>2];d=q[b+23408>>2];e=0;f=q[b+23404>>2];if((f|0)!=1){break b}c:{if((d|0)==1){d=1;if(!q[a+26384>>2]){break c}}f=1;break b}f=1;a=q[b+25364>>2];h=q[b+23444>>2];g=a+h|0;a=(a>>31)+(h>>31)|0;a=g>>>0>>0?a+1|0:a;h=g;g=i;if((h|0)!=g<<1|(g>>31<<1|g>>>31)!=(a|0)){break b}q[b+880>>2]=0;q[b+884>>2]=0;break a}e=16;f=(q[b+23404>>2]<<1)+16|0;d=(q[b+23408>>2]<<1)+16|0;i=q[(q[a+24312>>2]+(c<<2)|0)+76>>2]}q[b+880>>2]=2;q[b+884>>2]=2;q[b+888>>2]=5;q[b+892>>2]=5;g=(f|0)>(e|0)?f:e;h=(d|0)>(e|0)?d:e;k=(c|0)>-1;l=c<<2;c=e;while(1){if((c|0)==(g|0)){break a}d=w(c,40)+b|0;j=q[d+23444>>2];a=i-j|0;m=(a+128>>>0>255?a>>31^127:a)<<24>>24;n=d+23452|0;d=e;while(1){if((d|0)!=(h|0)){f=32;d:{if(q[q[n>>2]+100>>2]){break d}a=w(d,40)+b|0;if(q[q[a+25372>>2]+100>>2]){break d}a=q[a+25364>>2]-j|0;a=a+128>>>0>255?a>>31^127:a;if(!(a&255)){break d}a=a<<24>>24;f=a>>31;a=w((((f^a+f)>>>1|0)+16384|0)/(a|0)|0,m);f=a+16416>>>0<49408?64-(a+32>>8)|0:32}e:{if(!k){a=(w(c,384)+b|0)+(d<<3)|0;q[a+3216>>2]=f;q[a+3220>>2]=f;break e}q[(((w(c,384)+b|0)+(d<<3)|0)+l|0)+3216>>2]=f}d=d+1|0;continue}break}c=c+1|0;continue}}}function lD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=x(0),k=0,l=0,m=0,o=0,p=0,r=0,t=x(0),v=0,y=x(0),z=x(0),A=0,B=0,C=0,D=0,E=0;o=Ca-128|0;Ca=o;k=q[a+24>>2];l=1<0?l:0;r=a+128|0;A=a+24|0;e=q[a+8>>2];B=w(e,5);m=w(e,3);while(1){if((i|0)!=(p|0)){C=w(i,15);D=q[a+96>>2];E=q[a+16>>2];g=0;while(1){if((g|0)!=15){f=q[(g+C<<2)+E>>2];h=f^-1;j=u[(e+f<<2)+c>>2];v=(f<<2&-8)+D|0;y=u[v+4>>2];z=u[v>>2];a:{if((f|0)<(e|0)){t=x(-x(u[(f+m<<2)+c>>2]+u[(h+m<<2)+c>>2]));j=x(u[(e+h<<2)+c>>2]-j);break a}t=x(u[(f-e<<2)+c>>2]-u[(h+m<<2)+c>>2]);j=x(-x(j+u[(h+B<<2)+c>>2]))}f=(g<<3)+o|0;u[f>>2]=x(y*j)+x(z*t);u[f+4>>2]=x(z*j)-x(y*t);g=g+1|0;continue}break}n[q[a+640>>2]](q[a+92>>2]+(s[q[a+32>>2]+(i<<1)>>1]<<3)|0,o,r,l);i=i+1|0;continue}break}c=e>>1;g=0;while(1){if((g|0)==15){g=0;m=(c|0)>0?c:0;while(1){if((g|0)!=(m|0)){e=q[a+20>>2];i=c+(g^-1)|0;l=q[e+(i<<2)>>2];k=w(d,i);p=q[a+92>>2];h=c+g|0;e=p+(q[e+(h<<2)>>2]<<3)|0;r=q[a+96>>2];f=r+(h<<3)|0;u[((k<<1)+d<<2)+b>>2]=x(u[e>>2]*u[f+4>>2])-x(u[e+4>>2]*u[f>>2]);h=w(d,h);u[(h<<3)+b>>2]=x(u[e>>2]*u[f>>2])+x(u[e+4>>2]*u[f+4>>2]);e=p+(l<<3)|0;f=r+(i<<3)|0;u[((h<<1)+d<<2)+b>>2]=x(u[e>>2]*u[f+4>>2])-x(u[e+4>>2]*u[f>>2]);u[(k<<3)+b>>2]=x(u[e>>2]*u[f>>2])+x(u[e+4>>2]*u[f+4>>2]);g=g+1|0;continue}break}Ca=o+128|0}else{n[q[a+60>>2]](A,q[a+92>>2]+(g<>31;i=d+k|0;n=d>>31;r=c;j=n+c|0;if(j>>>0>>0){i=i+1|0}t=j^n;k=i^k;x=k;u=t;l=k;k=f>>31;j=k+f|0;i=f>>31;o=i+e|0;if(o>>>0>>0){j=j+1|0}n=i^o;j=j^k;k=Vn(u,l,n,j);o=Da;i=o;if(k|i){p=aS(n,j,k,i);m=Da;r=aS(t,x,k,i);s=Da}D=c^e;z=d^f;d=((m|0)>(h|0)?1:(m|0)>=(h|0)?p>>>0<=g>>>0?0:1:0)|((s|0)>(h|0)?1:(s|0)>=(h|0)?r>>>0<=g>>>0?0:1:0);e=d?p:0;f=d?m:0;c=d?0:p;i=d?1:r;p=1;while(1){k=c;d=i;m=f;a:{t=e;b:{if(!(f|e)){break b}o=k;v=k>>31;c=p;y=c>>31;i=A;e=aS(r,s,t,m);f=Da;x=d;B=d>>31;l=$R(e,f,d,B);n=i+l|0;C=i>>31;j=C+Da|0;j=n>>>0>>0?j+1|0:j;if((j|0)<(h|0)?1:(j|0)<=(h|0)?n>>>0>g>>>0?0:1:0){j=c;u=$R(e,f,o,v)+j|0;l=y+Da|0;l=u>>>0>>0?l+1|0:l;j=u;if((l|0)<(h|0)?1:(l|0)<=(h|0)?j>>>0>g>>>0?0:1:0){break a}}if(d){e=g;e=aS(e-i|0,h-((e>>>0>>0)+C|0)|0,x,B);f=Da}if(k){i=c;h=aS(g-i|0,h-((g>>>0>>0)+y|0)|0,o,v);i=h;g=Da;h=(g|0)==(f|0)&e>>>0>h>>>0|f>>>0>g>>>0;e=h?i:e;f=h?g:f}f=$R(e,f,o,v);j=Da<<1|f>>>31;f=c+(f<<1)|0;l=j+y|0;f=$R(f,f>>>0>>0?l+1|0:l,t,m);c=Da;g=$R(o,v,r,s);h=Da;if((h|0)==(c|0)&f>>>0<=g>>>0|c>>>0>>0){break b}k=w(e,k)+p|0;d=w(d,e)+A|0}q[a>>2]=((z|0)<0?1:(z|0)<=0?D>>>0>=0?0:1:0)?0-d|0:d;q[b>>2]=k;return}c=$R(t,m,e,f);e=r-c|0;f=s-(Da+(r>>>0>>0)|0)|0;c=j;i=n;A=d;p=k;r=t;s=m;continue}}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=d>>1;x=0-i<<1;y=w(i,3)<<1;r=d&-2;z=0-r<<1;A=w(i,10)<<1;B=w(i,9)<<1;C=i<<4;D=w(i,7)<<1;E=w(i,6)<<1;F=w(i,5)<<1;G=i<<3;H=(c&-2)<<1;c=c>>1;I=w(c,3)<<1;J=c<<3;K=w(c,5)<<1;L=w(c,6)<<1;M=w(c,7)<<1;while(1){if((t|0)!=8){N=s[b+A>>1];u=s[b+B>>1];q=s[b+C>>1];o=s[b+D>>1];d=s[b+E>>1];f=s[b+F>>1];g=s[b+G>>1];h=s[b+y>>1];v=h+16|0;l=s[(i<<1)+b>>1];m=s[b>>1];j=s[(r<<1)+b>>1];n=s[b+x>>1];e=((v+s[b+z>>1]|0)+w(l+m|0,20)|0)+w(j+n|0,-5)|0;k=e>>5;p[a>>1]=k>>>0<16384?k:(e>>31^-1)&16383;e=n;n=g+16|0;e=((e+n|0)+w(j+l|0,20)|0)+w(h+m|0,-5)|0;k=e>>5;p[(c<<1)+a>>1]=k>>>0<16384?k:(e>>31^-1)&16383;e=m;m=f+16|0;e=((e+m|0)+w(h+j|0,20)|0)+w(g+l|0,-5)|0;k=e>>5;p[a+H>>1]=k>>>0<16384?k:(e>>31^-1)&16383;l=(((d+l|0)+w(g+h|0,20)|0)+w(f+j|0,-5)|0)+16|0;e=l>>5;p[a+I>>1]=e>>>0<16384?e:(l>>31^-1)&16383;h=(((j+o|0)+w(f+g|0,20)|0)+w(d+h|0,-5)|0)+16|0;j=h>>5;p[a+J>>1]=j>>>0<16384?j:(h>>31^-1)&16383;g=((q+v|0)+w(d+f|0,20)|0)+w(g+o|0,-5)|0;h=g>>5;p[a+K>>1]=h>>>0<16384?h:(g>>31^-1)&16383;f=((n+u|0)+w(d+o|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[a+L>>1]=g>>>0<16384?g:(f>>31^-1)&16383;d=((m+N|0)+w(o+q|0,20)|0)+w(d+u|0,-5)|0;f=d>>5;p[a+M>>1]=f>>>0<16384?f:(d>>31^-1)&16383;t=t+1|0;b=b+2|0;a=a+2|0;continue}break}}function cm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=x(0),l=x(0);a:{b:{if(!d){while(1){if((f|0)==32){break b}e=(f<<8)+b|0;d=(f<<3)+c|0;u[e>>2]=x(x(x(x(u[d>>2]+u[d+256>>2])+u[d+512>>2])+u[d+768>>2])+u[d+1024>>2])+u[d+1280>>2];u[e+9728>>2]=x(x(x(x(u[d+4>>2]+u[d+260>>2])+u[d+516>>2])+u[d+772>>2])+u[d+1028>>2])+u[d+1284>>2];u[e+4>>2]=u[d+1536>>2]+u[d+1792>>2];u[e+9732>>2]=u[d+1540>>2]+u[d+1796>>2];u[e+8>>2]=u[d+2048>>2]+u[d+2304>>2];u[e+9736>>2]=u[d+2052>>2]+u[d+2308>>2];f=f+1|0;continue}}c:while(1){if((f|0)==32){break a}e=(f<<8)+b|0;q[e>>2]=0;q[e+4>>2]=0;d=0;q[e+16>>2]=0;q[e+8>>2]=0;q[e+12>>2]=0;g=e+9728|0;q[g>>2]=0;q[g+4>>2]=0;i=e+9736|0;q[i>>2]=0;q[i+4>>2]=0;j=e+9744|0;q[j>>2]=0;k=x(0);l=x(0);while(1)if((d|0)==12){g=e+9732|0;d=0;while(1)if((d|0)==8){h=e+9740|0;g=0;while(1){if((g|0)!=4){d=((g<<8)+c|0)+(f<<3)|0;u[e+8>>2]=u[d+5120>>2]+u[e+8>>2];u[i>>2]=u[d+5124>>2]+u[i>>2];u[e+12>>2]=u[d+6144>>2]+u[e+12>>2];u[h>>2]=u[d+6148>>2]+u[h>>2];u[e+16>>2]=u[d+7168>>2]+u[e+16>>2];u[j>>2]=u[d+7172>>2]+u[j>>2];g=g+1|0;continue}break}f=f+1|0;continue c}else{h=((d<<8)+c|0)+(f<<3)|0;u[e+4>>2]=u[h+3072>>2]+u[e+4>>2];u[g>>2]=u[h+3076>>2]+u[g>>2];d=d+1|0;continue}}else{h=((d<<8)+c|0)+(f<<3)|0;l=x(u[h>>2]+l);u[e>>2]=l;k=x(u[h+4>>2]+k);u[g>>2]=k;d=d+1|0;continue}}}n[q[a+16>>2]](b,c+1792|0,3,32);return}n[q[a+16>>2]](b,c+6912|0,5,32)}function wi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=v[27465];j=v[27467];xi(a);yi(a+128|0);yi(a+192|0);e=v[a>>3];b=v[a+128>>3];c=v[a+192>>3];d=b+c;v[a+128>>3]=e-d;h=v[a+200>>3];f=v[a+72>>3];b=c-b;v[a+200>>3]=f-b;v[a>>3]=d+e;e=v[a+64>>3];c=v[a+136>>3];d=c-h;v[a+192>>3]=e-d;v[a+72>>3]=b+f;b=v[a+8>>3];h=c+h;v[a+136>>3]=b-h;v[a+64>>3]=d+e;v[a+8>>3]=h+b;b=v[a+32>>3];c=v[a+160>>3]*.7071067811865476;d=v[a+168>>3]*.7071067811865476;f=c+d;i=v[a+224>>3]*.7071067811865476;k=v[a+232>>3]*.7071067811865476;l=i-k;m=f+l;v[a+160>>3]=b-m;h=v[a+40>>3];e=v[a+96>>3];n=v[a+104>>3];f=l-f;v[a+232>>3]=n-f;v[a+32>>3]=b+m;b=d-c;c=i+k;d=b-c;v[a+224>>3]=e-d;v[a+104>>3]=f+n;b=b+c;v[a+168>>3]=h-b;v[a+96>>3]=e+d;v[a+40>>3]=h+b;h=v[a+24>>3];e=v[a+88>>3];b=v[a+80>>3];c=v[a+16>>3];d=v[a+144>>3];f=v[a+152>>3];i=g*d+j*f;k=v[a+208>>3];l=v[a+216>>3];m=g*k-j*l;n=i+m;v[a+144>>3]=c-n;i=m-i;v[a+216>>3]=e-i;v[a+16>>3]=c+n;c=g*f-j*d;d=j*k+g*l;f=c-d;v[a+208>>3]=b-f;v[a+88>>3]=i+e;e=c+d;v[a+152>>3]=h-e;v[a+80>>3]=b+f;v[a+24>>3]=h+e;h=v[a+56>>3];e=v[a+120>>3];b=v[a+112>>3];c=v[a+48>>3];d=v[a+176>>3];f=v[a+184>>3];i=j*d+g*f;k=v[a+240>>3];l=v[a+248>>3];m=j*k-g*l;n=i+m;v[a+176>>3]=c-n;i=m-i;v[a+248>>3]=e-i;v[a+48>>3]=c+n;c=j*f-g*d;g=g*k+j*l;j=c-g;v[a+240>>3]=b-j;v[a+120>>3]=i+e;g=c+g;v[a+184>>3]=h-g;v[a+112>>3]=b+j;v[a+56>>3]=h+g}function ag(a,b,c,d){var e=0,f=0,g=0,h=0;while(1){if((g|0)!=8){e=b+ -1|0;h=(r[b+3|0]+((r[b+ -2|0]+w(r[b+1|0]+r[b|0]|0,20)|0)+w(r[b+2|0]+r[e|0]|0,-5)|0)|0)+16|0;f=h>>5;o[a|0]=(r[a|0]+((f>>>0>255?h>>31^-1:f)&255)|0)+1>>>1;e=(r[b+4|0]+((r[e|0]+w(r[b+2|0]+r[b+1|0]|0,20)|0)+w(r[b+3|0]+r[b|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+1|0]=(r[a+1|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+5|0]+((r[b|0]+w(r[b+3|0]+r[b+2|0]|0,20)|0)+w(r[b+4|0]+r[b+1|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+2|0]=(r[a+2|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+6|0]+((r[b+1|0]+w(r[b+4|0]+r[b+3|0]|0,20)|0)+w(r[b+5|0]+r[b+2|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+3|0]=(r[a+3|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+7|0]+((r[b+2|0]+w(r[b+5|0]+r[b+4|0]|0,20)|0)+w(r[b+6|0]+r[b+3|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+4|0]=(r[a+4|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+8|0]+((r[b+3|0]+w(r[b+6|0]+r[b+5|0]|0,20)|0)+w(r[b+7|0]+r[b+4|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+5|0]=(r[a+5|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+9|0]+((r[b+4|0]+w(r[b+7|0]+r[b+6|0]|0,20)|0)+w(r[b+8|0]+r[b+5|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+6|0]=(r[a+6|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+10|0]+((r[b+5|0]+w(r[b+8|0]+r[b+7|0]|0,20)|0)+w(r[b+9|0]+r[b+6|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+7|0]=(r[a+7|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Aj(a,b){var c=0,d=x(0),g=0,h=x(0),i=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=0,t=0,v=0,w=0,y=0,z=0,A=x(0),B=0,C=x(0),D=0,E=0,F=0,G=x(0);if(!q[b+104>>2]){em(b+52672|0);q[b+104>>2]=1}a:{if(q[b+4>>2]!=2){D=r[q[a+6476>>2]+105362|0];a=0;b:while(1){if((a|0)!=(D|0)){c=q[b+80>>2];g=s[c+(a<<1)>>1];p=a+1|0;c=s[c+(p<<1)>>1];E=g>>>0>c>>>0?g:c;F=a+b|0;while(1)if((g|0)==(E|0)){a=p;continue b}else{c=(g<<5)+b|0;t=c+52672|0;if(q[b+100>>2]){a=r[F+236|0]!=0}else{a=0}v=c+52684|0;m=u[v>>2];w=c+52676|0;h=u[w>>2];y=c+52692|0;l=u[y>>2];z=c+52688|0;i=u[z>>2];A=u[t>>2];d=x(0);n=x(0);B=c+52680|0;o=u[B>>2];if(!!(o>x(1))){c=(j(x(x(.953125)/o)),e(0));n=x(A*(f(0,((c&1)+c|0)+32767&-65536),k()))}if(!!(m>x(1))){c=(j(x(x(.953125)/m)),e(0));d=x(h*(f(0,((c&1)+c|0)+32767&-65536),k()))}c=((g<<2)+b|0)+13760|0;C=x(i*n);c:{if(!a){d=u[c>>2];break c}d=x(u[c>>2]+(f(0,(j(x(C+x(l*d))),e(0))+32768&-65536),k()));u[c>>2]=d}G=x(h*x(.90625));h=x(d-C);q[w>>2]=(j(x(G+x(l*h))),e(0))&-65536;q[v>>2]=(j(x(x(m*x(.90625))+x(x(x(l*l)+x(h*h))*x(.5)))),e(0))&-65536;q[t>>2]=(j(x(x(A*x(.90625))+x(i*d))),e(0))&-65536;q[B>>2]=(j(x(x(o*x(.90625))+x(x(x(i*i)+x(d*d))*x(.5)))),e(0))&-65536;q[y>>2]=(j(x(x(i-x(n*d))*x(.953125))),e(0))&-65536;q[z>>2]=(j(x(d*x(.953125))),e(0))&-65536;g=g+1|0;continue}}break}a=q[b+108>>2];if(!a){break a}Fw(b+52672|0,a);return}em(b+52672|0)}}function Ek(a,b){var c=0,d=0,e=0,f=0;q[a+80>>2]=q[b+80>>2];q[a+68>>2]=q[b+68>>2];q[a+72>>2]=q[b+72>>2];q[a+352>>2]=q[b+352>>2];c=q[b+244>>2];q[a+240>>2]=q[b+240>>2];q[a+244>>2]=c;q[a+76>>2]=q[b+76>>2];a:{b:{c=TH(a,b);c:{if((c|0)<0){break c}if(!q[b+248>>2]){c=EI(a);if((c|0)<0){break c}c=IH(a,b);if((c|0)<=-1){break a}break c}while(1){if((d|0)!=8){c=d<<2;e=q[(c+b|0)+248>>2];if(e){f=a+c|0;c=Jb(e);q[f+248>>2]=c;if(!c){break b}}d=d+1|0;continue}break}d:{if(!q[b+280>>2]){break d}d=sd(4,q[b+284>>2]);q[a+280>>2]=d;c=-48;if(!d){break a}q[a+284>>2]=q[b+284>>2];d=0;while(1){if((d|0)>=q[b+284>>2]){break d}e=d<<2;f=Jb(q[e+q[b+280>>2]>>2]);q[e+q[a+280>>2]>>2]=f;d=d+1|0;if(q[e+q[a+280>>2]>>2]){continue}break}break a}c=q[b+376>>2];if(c){c=Jb(c);q[a+376>>2]=c;if(!c){break b}}e:{if(q[b+64>>2]!=(b|0)){c=q[b+352>>2];if(!c){c=-28;break a}d=md(4,c);q[a+64>>2]=d;if(!d){break b}Va(d,q[b+64>>2],c<<2);break e}q[a+64>>2]=a}c=q[b+4>>2];q[a>>2]=q[b>>2];q[a+4>>2]=c;c=q[b+28>>2];q[a+24>>2]=q[b+24>>2];q[a+28>>2]=c;c=q[b+20>>2];q[a+16>>2]=q[b+16>>2];q[a+20>>2]=c;c=q[b+12>>2];q[a+8>>2]=q[b+8>>2];q[a+12>>2]=c;c=q[b+36>>2];q[a+32>>2]=q[b+32>>2];q[a+36>>2]=c;c=q[b+44>>2];q[a+40>>2]=q[b+40>>2];q[a+44>>2]=c;c=q[b+52>>2];q[a+48>>2]=q[b+48>>2];q[a+52>>2]=c;c=q[b+60>>2];q[a+56>>2]=q[b+56>>2];q[a+60>>2]=c;c=0}return c}c=-48}pc(a);return c}function Gf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ca-128|0;Ca=e;n[q[a+2968>>2]](e,b,c,d);b=0;c=0;while(1){if((c|0)==8){c=0;while(1){if((c|0)!=8){a=(c<<1)+e|0;d=p[a- -64>>1];g=p[a+48>>1];f=d+g|0;i=p[a+112>>1];o=p[a>>1];j=i+o|0;h=f+j|0;r=p[a+80>>1];k=p[a+32>>1];l=r+k|0;s=p[a+96>>1];t=p[a+16>>1];a=s+t|0;u=l+a|0;v=h+u|0;m=v>>31;w=j-f|0;l=a-l|0;x=w+(l>>1)|0;j=x>>31;u=h-u|0;h=u>>31;a=o-i|0;d=g-d|0;g=k-r|0;i=a-d-((g>>1)+g)|0;f=t-s|0;k=d+((a-f|0)-(f>>1)|0)|0;s=i+(k>>2)|0;o=s>>31;l=(w>>1)-l|0;r=l>>31;k=k-(i>>2)|0;i=k>>31;t=g+(f+(a+(a>>1)|0)|0)|0;d=(d+(f-g|0)|0)+(d>>1)|0;g=(t>>2)-d|0;a=g>>31;f=t+(d>>2)|0;d=f>>31;b=((((((((m^m+v)+b|0)+(j^j+x)|0)+(h^h+u)|0)+(o^o+s)|0)+(r^l+r)|0)+(i^i+k)|0)+(a^a+g)|0)+(d^d+f)|0;c=c+1|0;continue}break}Ca=e+128|0}else{a=(c<<4)+e|0;f=p[a+8>>1];m=p[a+6>>1];d=m+f|0;g=p[a+14>>1];j=p[a>>1];h=g+j|0;i=d+h|0;o=p[a+10>>1];r=p[a+4>>1];k=o+r|0;l=p[a+12>>1];s=p[a+2>>1];t=l+s|0;u=k+t|0;p[a+8>>1]=i-u;p[a>>1]=i+u;d=h-d|0;h=t-k|0;p[a+12>>1]=(d>>>1|0)-h;p[a+4>>1]=d+(h>>>1|0);f=m-f|0;d=j-g|0;g=s-l|0;j=f+((d-g|0)-(g>>1)|0)|0;m=r-o|0;h=d-f-((m>>1)+m)|0;p[a+10>>1]=j-(h>>>2|0);p[a+6>>1]=h+(j>>>2|0);d=m+(g+(d+(d>>1)|0)|0)|0;f=(f+(g-m|0)|0)+(f>>1)|0;p[a+2>>1]=d+(f>>>2|0);p[a+14>>1]=(d>>>2|0)-f;c=c+1|0;continue}break}return b|0}function Db(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=d>>1;x=0-i<<1;y=w(i,3)<<1;r=d&-2;z=0-r<<1;A=w(i,10)<<1;B=w(i,9)<<1;C=i<<4;D=w(i,7)<<1;E=w(i,6)<<1;F=w(i,5)<<1;G=i<<3;H=(c&-2)<<1;c=c>>1;I=w(c,3)<<1;J=c<<3;K=w(c,5)<<1;L=w(c,6)<<1;M=w(c,7)<<1;while(1){if((t|0)!=8){N=s[b+A>>1];u=s[b+B>>1];q=s[b+C>>1];o=s[b+D>>1];d=s[b+E>>1];f=s[b+F>>1];g=s[b+G>>1];h=s[b+y>>1];v=h+16|0;l=s[(i<<1)+b>>1];m=s[b>>1];j=s[(r<<1)+b>>1];n=s[b+x>>1];e=((v+s[b+z>>1]|0)+w(l+m|0,20)|0)+w(j+n|0,-5)|0;k=e>>5;p[a>>1]=k>>>0<1024?k:(e>>31^-1)&1023;e=n;n=g+16|0;e=((e+n|0)+w(j+l|0,20)|0)+w(h+m|0,-5)|0;k=e>>5;p[(c<<1)+a>>1]=k>>>0<1024?k:(e>>31^-1)&1023;e=m;m=f+16|0;e=((e+m|0)+w(h+j|0,20)|0)+w(g+l|0,-5)|0;k=e>>5;p[a+H>>1]=k>>>0<1024?k:(e>>31^-1)&1023;l=(((d+l|0)+w(g+h|0,20)|0)+w(f+j|0,-5)|0)+16|0;e=l>>5;p[a+I>>1]=e>>>0<1024?e:(l>>31^-1)&1023;h=(((j+o|0)+w(f+g|0,20)|0)+w(d+h|0,-5)|0)+16|0;j=h>>5;p[a+J>>1]=j>>>0<1024?j:(h>>31^-1)&1023;g=((q+v|0)+w(d+f|0,20)|0)+w(g+o|0,-5)|0;h=g>>5;p[a+K>>1]=h>>>0<1024?h:(g>>31^-1)&1023;f=((n+u|0)+w(d+o|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[a+L>>1]=g>>>0<1024?g:(f>>31^-1)&1023;d=((m+N|0)+w(o+q|0,20)|0)+w(d+u|0,-5)|0;f=d>>5;p[a+M>>1]=f>>>0<1024?f:(d>>31^-1)&1023;t=t+1|0;b=b+2|0;a=a+2|0;continue}break}}function Bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=d>>1;x=0-i<<1;y=w(i,3)<<1;r=d&-2;z=0-r<<1;A=w(i,10)<<1;B=w(i,9)<<1;C=i<<4;D=w(i,7)<<1;E=w(i,6)<<1;F=w(i,5)<<1;G=i<<3;H=(c&-2)<<1;c=c>>1;I=w(c,3)<<1;J=c<<3;K=w(c,5)<<1;L=w(c,6)<<1;M=w(c,7)<<1;while(1){if((t|0)!=8){N=s[b+A>>1];u=s[b+B>>1];q=s[b+C>>1];o=s[b+D>>1];d=s[b+E>>1];f=s[b+F>>1];g=s[b+G>>1];h=s[b+y>>1];v=h+16|0;l=s[(i<<1)+b>>1];m=s[b>>1];j=s[(r<<1)+b>>1];n=s[b+x>>1];e=((v+s[b+z>>1]|0)+w(l+m|0,20)|0)+w(j+n|0,-5)|0;k=e>>5;p[a>>1]=k>>>0<4096?k:(e>>31^-1)&4095;e=n;n=g+16|0;e=((e+n|0)+w(j+l|0,20)|0)+w(h+m|0,-5)|0;k=e>>5;p[(c<<1)+a>>1]=k>>>0<4096?k:(e>>31^-1)&4095;e=m;m=f+16|0;e=((e+m|0)+w(h+j|0,20)|0)+w(g+l|0,-5)|0;k=e>>5;p[a+H>>1]=k>>>0<4096?k:(e>>31^-1)&4095;l=(((d+l|0)+w(g+h|0,20)|0)+w(f+j|0,-5)|0)+16|0;e=l>>5;p[a+I>>1]=e>>>0<4096?e:(l>>31^-1)&4095;h=(((j+o|0)+w(f+g|0,20)|0)+w(d+h|0,-5)|0)+16|0;j=h>>5;p[a+J>>1]=j>>>0<4096?j:(h>>31^-1)&4095;g=((q+v|0)+w(d+f|0,20)|0)+w(g+o|0,-5)|0;h=g>>5;p[a+K>>1]=h>>>0<4096?h:(g>>31^-1)&4095;f=((n+u|0)+w(d+o|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[a+L>>1]=g>>>0<4096?g:(f>>31^-1)&4095;d=((m+N|0)+w(o+q|0,20)|0)+w(d+u|0,-5)|0;f=d>>5;p[a+M>>1]=f>>>0<4096?f:(d>>31^-1)&4095;t=t+1|0;b=b+2|0;a=a+2|0;continue}break}}function ar(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h+1|1)<>d;o[a|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+1|0],g)|0)+w(r[a+1|0],f)>>d;o[a+1|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+2|0],g)|0)+w(r[a+2|0],f)>>d;o[a+2|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+3|0],g)|0)+w(r[a+3|0],f)>>d;o[a+3|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+4|0],g)|0)+w(r[a+4|0],f)>>d;o[a+4|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+5|0],g)|0)+w(r[a+5|0],f)>>d;o[a+5|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+6|0],g)|0)+w(r[a+6|0],f)>>d;o[a+6|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+7|0],g)|0)+w(r[a+7|0],f)>>d;o[a+7|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+8|0],g)|0)+w(r[a+8|0],f)>>d;o[a+8|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+9|0],g)|0)+w(r[a+9|0],f)>>d;o[a+9|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+10|0],g)|0)+w(r[a+10|0],f)>>d;o[a+10|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+11|0],g)|0)+w(r[a+11|0],f)>>d;o[a+11|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+12|0],g)|0)+w(r[a+12|0],f)>>d;o[a+12|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+13|0],g)|0)+w(r[a+13|0],f)>>d;o[a+13|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+14|0],g)|0)+w(r[a+14|0],f)>>d;o[a+14|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+15|0],g)|0)+w(r[a+15|0],f)>>d;o[a+15|0]=h>>>0>255?h>>31^-1:h;b=b+c|0;a=a+c|0;i=i+1|0;continue}break}}function dt(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=q[a+27024>>2];g=q[a+27020>>2];c=q[a+27016>>2];o[b+28336|0]=254;o[b+28344|0]=254;o[b+28328|0]=254;o[b+28304|0]=254;o[b+28296|0]=254;o[b+28288|0]=254;a:{b:{if(q[a+25628>>2]!=(b|0)){Za(b+24|0,0,808);break b}e=q[a+4>>2];q[b+828>>2]=a;q[b+824>>2]=152;q[b+24>>2]=e;q[b+812>>2]=1;e=q[a+27028>>2];q[b+576>>2]=e;f=q[a+27020>>2];q[b+580>>2]=f;q[b+584>>2]=q[a+27016>>2];h=q[a+27024>>2];q[b+592>>2]=f<<1|1;q[b+588>>2]=h;e=nb((e<<2)+4|0);q[b+572>>2]=e;if(!((q[a+27028>>2]&1073741823)==1073741823|e)){break a}i=w(g<<1|1,c<<1|1);j=w(d,c+1|0);g=i+(j<<1)|0;h=w(c,d);f=q[a+27016>>2];d=0;while(1){if((d|0)<(f|0)){k=q[a+27020>>2];l=w(k,d);c=0;while(1){if((c|0)<(k|0)){q[e+(c+l<<2)>>2]=w(q[a+27024>>2],d)+c;c=c+1|0;continue}break}d=d+1|0;continue}break}c=q[a+27020>>2];q[e+(w(c,f)<<2)>>2]=c+w(q[a+27024>>2],f+ -1|0);c=nb(h);q[b+604>>2]=c;if(!(c|!h)){break a}c=rc(w(w(q[a+27016>>2],q[a+27024>>2]),17));q[b+608>>2]=c;if(!(!w(w(q[a+27016>>2],q[a+27024>>2]),17)|c)){break a}d=nb(g<<1);q[b+27784>>2]=d;if(!d){break a}q[b+612>>2]=(d+(q[a+27020>>2]<<2)|0)+4;a=((d+(i<<1)|0)+(q[a+27024>>2]<<1)|0)+2|0;q[b+616>>2]=a;q[b+620>>2]=a+(j<<1);a=(g|0)>0?g:0;c=0;while(1){if((a|0)==(c|0)){break b}p[d+(c<<1)>>1]=1024;c=c+1|0;continue}}return 0}Ta(q[a+4>>2],16,4041,0);return-48}function JA(a){a=+a;var b=0,c=0,d=0,i=0,j=0;h(+a);c=e(1)|0;d=e(0)|0;i=c;c=c&2147483647;if(c>>>0>=1072693248){if(!(c+ -1072693248|d)){return+(((i|0)<0?1:(i|0)<=0?d>>>0>=0?0:1:0)?3.141592653589793:0)}return+(0/(a-a))}a:{if(c>>>0<=1071644671){b=1.5707963267948966;if(c>>>0<1012924417){break a}b=a*a;return+(6.123233995736766e-17-b*(b*(b*(b*(b*(b*3479331075960212e-20+.0007915349942898145)+ -.04005553450067941)+.20121253213486293)+ -.3255658186224009)+.16666666666666666)/(b*(b*(b*(b*.07703815055590194+ -.6882839716054533)+2.0209457602335057)+ -2.403394911734414)+1)*a-a+1.5707963267948966)}if((i|0)<-1?1:(i|0)<=-1?d>>>0>4294967295?0:1:0){a=(a+1)*.5;b=E(a);a=1.5707963267948966-(b+(b*(a*(a*(a*(a*(a*(a*3479331075960212e-20+.0007915349942898145)+ -.04005553450067941)+.20121253213486293)+ -.3255658186224009)+.16666666666666666)/(a*(a*(a*(a*.07703815055590194+ -.6882839716054533)+2.0209457602335057)+ -2.403394911734414)+1))+ -6.123233995736766e-17));return+(a+a)}a=(1-a)*.5;j=E(a);h(+j);d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);b=+g();a=a*(a*(a*(a*(a*(a*3479331075960212e-20+.0007915349942898145)+ -.04005553450067941)+.20121253213486293)+ -.3255658186224009)+.16666666666666666)/(a*(a*(a*(a*.07703815055590194+ -.6882839716054533)+2.0209457602335057)+ -2.403394911734414)+1)*j+(a-b*b)/(j+b)+b;b=a+a}return+b}function zC(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;f=q[b+8>>2];g=a,h=jk(b),q[g>>2]=h;g=a,h=ik(b,a+4|0),q[g+8>>2]=h;d=Ua(b,4);q[a+12>>2]=d;a:{b:{if(d>>>0<=7){q[a+40>>2]=-1;q[a+16>>2]=-1;q[a+36>>2]=r[d+174096|0];c:{d:{d=q[a>>2];if((d|0)!=5){if((d|0)!=29){break d}if(_c(b,3)&3){if(!(_c(b,9)&63)){break d}}q[a+40>>2]=1}q[a+16>>2]=1;q[a+20>>2]=5;g=a,h=ik(b,a+24|0),q[g+28>>2]=h;d=jk(b);q[a>>2]=d;if((d|0)!=22){break c}g=a,h=Ua(b,4),q[g+32>>2]=h;d=q[a>>2];break c}q[a+28>>2]=0;q[a+20>>2]=0}c=q[b+8>>2];if((d|0)==36){c=q[b+8>>2]+5|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;if((_c(b,24)|0)!=4279379){c=q[b+8>>2]+24|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d}c=q[b+8>>2];d=yC(b,a);if((d|0)<0){break a}}if(q[a+20>>2]==5){break b}while(1){if((q[b+12>>2]-q[b+8>>2]|0)<16){break b}if((_c(b,11)|0)==695){Ua(b,11);d=jk(b);q[a+20>>2]=d;e:{if((d|0)!=5){break e}d=Xa(b);q[a+16>>2]=d;if((d|0)!=1){break e}d=ik(b,a+24|0);q[a+28>>2]=d;if((d|0)!=q[a+8>>2]){break e}q[a+16>>2]=-1}if((q[b+12>>2]-q[b+8>>2]|0)<12){break b}if((Ua(b,11)|0)!=1352){break b}g=a,h=Xa(b),q[g+40>>2]=h;break b}else{Xa(b);continue}}}q[e>>2]=d;Ta(c,16,4589,e);d=-1094995529;break a}f:{g:{h:{if(!q[a+16>>2]){q[a+40>>2]=0;break h}if(q[a+40>>2]!=-1){break h}if(q[a>>2]!=2){break g}}if(t[a+36>>2]<2){break f}}q[a+40>>2]=0}d=c-f|0}Ca=e+16|0;return d}function $s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=Ca-32|0;Ca=f;g=q[d+28>>2];i=q[d+24>>2];h=q[a+60>>2];e=q[a+24>>2];q[e+29604>>2]=0;q[e+25704>>2]=h;q[e+25636>>2]=0;j=e+24972|0;Dc(j);a:{b:{c:{if(!g){d=vl(e,b,c,0);break c}h=e+27044|0;d:{if(!q[e+27044>>2]){break d}if(!Vd(d,1,0)){break d}d=Vd(d,1,f+28|0);k=q[f+28>>2];if(!ul(d,k)){break d}Qi(d,k,e+27060|0,h,e+27048|0,q[a+580>>2],a)}e:{if(!q[h>>2]|(g|0)<9|(r[i+2|0]|r[i|0]!=1)){break e}if(r[i+4|0]<252){break e}if(!ul(i,g)){break e}d=Qi(i,g,e+27060|0,h,e+27048|0,q[a+580>>2],a);break c}d=-1094995529;h=Zs(e,i,g);if((h|0)<0){break c}d=q[e+24312>>2];if(!(d|q[e+27036>>2]!=10)){if((h|0)>(g|0)){break b}d=vl(e,b,c,h);break c}f:{g:{if(!(r[a+65|0]&128)){if(q[e+27040>>2]?d:0){break g}if(q[a+732>>2]>7){d=g;break c}if((g|0)>=4){d=g;if((r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24))==875967057){break c}}Ta(a,16,23566,0);d=-1094995529;break c}a=q[e+27016>>2];if(q[e+27012>>2]<(a|0)|!a){break f}}d=vk(e,0);if((d|0)<0){break c}a=q[e+28756>>2];if(!a){break f}d=tl(e,b,a,c);if((d|0)<0){break c}}if(q[c>>2]?!q[b+248>>2]:0){break a}Dc(j);a=h?h:1;d=(a+10|0)>(g|0)?g:a}Ca=f+32|0;return d|0}q[f+8>>2]=998;q[f+4>>2]=22279;q[f>>2]=21597;Ta(0,0,20988,f);I();F()}q[f+24>>2]=1023;q[f+20>>2]=22279;q[f+16>>2]=24172;Ta(0,0,20988,f+16|0);I();F()}function Fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;i=d>>1;x=0-i<<1;y=w(i,3)<<1;r=d&-2;z=0-r<<1;A=w(i,10)<<1;B=w(i,9)<<1;C=i<<4;D=w(i,7)<<1;E=w(i,6)<<1;F=w(i,5)<<1;G=i<<3;H=(c&-2)<<1;c=c>>1;I=w(c,3)<<1;J=c<<3;K=w(c,5)<<1;L=w(c,6)<<1;M=w(c,7)<<1;while(1){if((t|0)!=8){N=s[b+A>>1];u=s[b+B>>1];q=s[b+C>>1];o=s[b+D>>1];d=s[b+E>>1];f=s[b+F>>1];g=s[b+G>>1];h=s[b+y>>1];v=h+16|0;l=s[(i<<1)+b>>1];m=s[b>>1];j=s[(r<<1)+b>>1];n=s[b+x>>1];e=((v+s[b+z>>1]|0)+w(l+m|0,20)|0)+w(j+n|0,-5)|0;k=e>>5;p[a>>1]=k>>>0<512?k:(e>>31^-1)&511;e=n;n=g+16|0;e=((e+n|0)+w(j+l|0,20)|0)+w(h+m|0,-5)|0;k=e>>5;p[(c<<1)+a>>1]=k>>>0<512?k:(e>>31^-1)&511;e=m;m=f+16|0;e=((e+m|0)+w(h+j|0,20)|0)+w(g+l|0,-5)|0;k=e>>5;p[a+H>>1]=k>>>0<512?k:(e>>31^-1)&511;l=(((d+l|0)+w(g+h|0,20)|0)+w(f+j|0,-5)|0)+16|0;e=l>>5;p[a+I>>1]=e>>>0<512?e:(l>>31^-1)&511;h=(((j+o|0)+w(f+g|0,20)|0)+w(d+h|0,-5)|0)+16|0;j=h>>5;p[a+J>>1]=j>>>0<512?j:(h>>31^-1)&511;g=((q+v|0)+w(d+f|0,20)|0)+w(g+o|0,-5)|0;h=g>>5;p[a+K>>1]=h>>>0<512?h:(g>>31^-1)&511;f=((n+u|0)+w(d+o|0,20)|0)+w(f+q|0,-5)|0;g=f>>5;p[a+L>>1]=g>>>0<512?g:(f>>31^-1)&511;d=((m+N|0)+w(o+q|0,20)|0)+w(d+u|0,-5)|0;f=d>>5;p[a+M>>1]=f>>>0<512?f:(d>>31^-1)&511;t=t+1|0;b=b+2|0;a=a+2|0;continue}break}}function Ab(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<16384?h:(f>>31^-1)&16383;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=f>>>0<16384?f:(e>>31^-1)&16383;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function UC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;a=0;M=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(M|0)){f=r[c+1|0]+1|0;v=r[b|0]-(f+r[c|0]>>>1|0)|0;w=v>>31;g=r[c+2|0];x=r[b+1|0]-(g+f>>>1|0)|0;f=x>>31;h=r[c+3|0];y=r[b+2|0]-((h+g|0)+1>>>1|0)|0;g=y>>31;i=r[c+4|0];z=r[b+3|0]-((i+h|0)+1>>>1|0)|0;h=z>>31;j=r[c+5|0];A=r[b+4|0]-((j+i|0)+1>>>1|0)|0;i=A>>31;k=r[c+6|0];B=r[b+5|0]-((k+j|0)+1>>>1|0)|0;j=B>>31;l=r[c+7|0];C=r[b+6|0]-((l+k|0)+1>>>1|0)|0;k=C>>31;m=r[c+8|0];D=r[b+7|0]-((m+l|0)+1>>>1|0)|0;l=D>>31;n=r[c+9|0];E=r[b+8|0]-((n+m|0)+1>>>1|0)|0;m=E>>31;o=r[c+10|0];F=r[b+9|0]-((o+n|0)+1>>>1|0)|0;n=F>>31;p=r[c+11|0];G=r[b+10|0]-((p+o|0)+1>>>1|0)|0;o=G>>31;q=r[c+12|0];H=r[b+11|0]-((q+p|0)+1>>>1|0)|0;p=H>>31;s=r[c+13|0];I=r[b+12|0]-((s+q|0)+1>>>1|0)|0;q=I>>31;t=r[c+14|0];J=r[b+13|0]-((t+s|0)+1>>>1|0)|0;s=J>>31;u=r[c+15|0];K=r[b+14|0]-((u+t|0)+1>>>1|0)|0;t=K>>31;L=r[b+15|0]-((u+r[c+16|0]|0)+1>>>1|0)|0;u=L>>31;a=((((((((((((((((w^w+v)+a|0)+(f^f+x)|0)+(g^g+y)|0)+(h^h+z)|0)+(i^i+A)|0)+(j^j+B)|0)+(k^k+C)|0)+(l^l+D)|0)+(m^m+E)|0)+(n^n+F)|0)+(o^o+G)|0)+(p^p+H)|0)+(q^q+I)|0)+(s^s+J)|0)+(t^t+K)|0)+(u^u+L)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function Fd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;c=c-((e&2147483646)<<1)|0;g=e>>1<<1;e=b;while(1){if((f|0)!=9){k=c+ -2|0;p[e>>1]=(s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[k>>1]|0,-5)|0)|0)+ -10230;p[e+2>>1]=(s[c+8>>1]+((s[k>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0)|0)+ -10230;p[e+4>>1]=(s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0)|0)+ -10230;p[e+6>>1]=(s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0)|0)+ -10230;f=f+1|0;e=e+16|0;c=c+g|0;continue}break}c=b+32|0;b=0;k=(d&-2)<<1;m=d>>1;r=w(m,3)<<1;while(1){if((b|0)!=4){t=p[c+96>>1];l=p[c+80>>1];g=p[c+64>>1];d=p[c+48>>1]+10230|0;n=p[c+16>>1];f=n+10230|0;h=p[c>>1];i=h+10230|0;j=p[c+ -16>>1];e=p[c+32>>1]+10230|0;o=(((d+p[c+ -32>>1]|0)+w(f+i|0,20)|0)+w(j+e|0,-5)|0)+ -40408|0;q=o>>10;p[a>>1]=q>>>0<1024?q:(o>>31^-1)&1023;g=g+10230|0;i=(((g+j|0)+w(e+f|0,20)|0)+w(d+i|0,-5)|0)+10742|0;j=i>>10;p[(m<<1)+a>>1]=j>>>0<1024?j:(i>>31^-1)&1023;l=l+10230|0;f=(((l+h|0)+w(d+e|0,20)|0)+w(f+g|0,-5)|0)+10742|0;h=f>>10;p[a+k>>1]=h>>>0<1024?h:(f>>31^-1)&1023;d=(((t+n|0)+w(d+g|0,20)|0)+w(e+l|0,-5)|0)+20972|0;e=d>>10;p[a+r>>1]=e>>>0<1024?e:(d>>31^-1)&1023;b=b+1|0;c=c+2|0;a=a+2|0;continue}break}}function Eb(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<1024?h:(f>>31^-1)&1023;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=f>>>0<1024?f:(e>>31^-1)&1023;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<4096?h:(f>>31^-1)&4095;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=f>>>0<4096?f:(e>>31^-1)&4095;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0;Zh(a);b=q[a>>2];g=q[a+56>>2];k=q[a+48>>2];c=g+k|0;f=q[a+32>>2];i=q[a+40>>2];d=f+i|0;h=c+d|0;q[a+32>>2]=b-h;e=q[a+52>>2];l=q[a+20>>2];c=c-d|0;q[a+52>>2]=l-c;q[a>>2]=b+h;b=q[a+16>>2];j=q[a+36>>2];m=q[a+44>>2];d=j+m|0;n=q[a+60>>2];h=e+n|0;o=d-h|0;q[a+48>>2]=b-o;q[a+20>>2]=c+l;c=q[a+4>>2];d=d+h|0;q[a+36>>2]=c-d;q[a+16>>2]=b+o;q[a+4>>2]=c+d;h=q[a+12>>2];l=q[a+28>>2];o=q[a+24>>2];r=q[a+8>>2];b=k-g|0;g=$R(1518500224,0,b,b>>31)+1073741824|0;b=Da;b=g>>>0<1073741824?b+1|0:b;e=e-n|0;e=$R(e,e>>31,1518500224,0);k=b;n=Da;b=g;p=k-(n+(b>>>0>>0)|0)|0;b=b-e|0;p=(p&2147483647)<<1|b>>>31;d=f-i|0;b=d>>31;f=d;d=b;b=$R(f,b,1518500224,0);i=Da;c=j-m|0;j=c;m=c>>31;s=$R(c,m,-1518500224,-1);c=(b-s|0)+1073741824|0;b=i-(Da+(b>>>0>>0)|0)|0;b=c>>>0<1073741824?b+1|0:b;b=(b&2147483647)<<1|c>>>31;c=b+p|0;q[a+40>>2]=r-c;i=p-b|0;q[a+60>>2]=l-i;q[a+8>>2]=c+r;b=$R(f,d,-1518500224,-1);d=Da;f=$R(j,m,1518500224,0);c=f+b|0;b=Da+d|0;b=c>>>0>>0?b+1|0:b;c=c+1073741824|0;if(c>>>0<1073741824){b=b+1|0}d=a;f=o;c=(b&2147483647)<<1|c>>>31;j=c;b=k+n|0;g=e+g|0;if(g>>>0>>0){b=b+1|0}e=g;b=(b&2147483647)<<1|e>>>31;e=j-b|0;q[d+56>>2]=f-e;q[a+28>>2]=i+l;b=b+c|0;q[a+44>>2]=h-b;q[a+24>>2]=e+o;q[a+12>>2]=b+h}function Df(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0;c=Ca-256|0;Ca=c;while(1){if((l|0)==8){b=0;while(1){if((b|0)!=8){a=(b<<2)+c|0;d=a- -64|0;k=d;l=q[a+32>>2];f=q[a>>2];e=l+f|0;g=q[a+96>>2];h=q[d>>2];i=g+h|0;d=e-i|0;q[k>>2]=d;e=e+i|0;q[a>>2]=e;g=h-g|0;f=f-l|0;l=g+f|0;q[a+32>>2]=l;f=f-g|0;q[a+96>>2]=f;i=q[a+224>>2];j=q[a+192>>2];h=i+j|0;m=q[a+160>>2];n=q[a+128>>2];k=m+n|0;g=h+k|0;q[a+128>>2]=g;h=k-h|0;q[a+192>>2]=h;j=j-i|0;m=n-m|0;i=j+m|0;q[a+160>>2]=i;k=a;a=m-j|0;q[k+224>>2]=a;m=f-a|0;j=m>>31;n=a+f|0;a=n>>31;k=d-h|0;f=k>>31;o=d+h|0;d=o>>31;p=e-g|0;h=p>>31;s=e+g|0;e=s>>31;t=l-i|0;g=t>>31;i=l+i|0;l=i>>31;u=((((((((j^j+m)+u|0)+(a^a+n)|0)+(f^f+k)|0)+(d^d+o)|0)+(h^h+p)|0)+(e^e+s)|0)+(g^g+t)|0)+(l^l+i)|0;b=b+1|0;continue}break}Ca=c+256|0;b=q[c>>2]+q[c+128>>2]|0;a=b>>31;a=u-(a^a+b)|0}else{a=w(d,l)+b|0;f=r[a+7|0];e=l<<5;g=r[a+2|0];h=r[a+3|0];i=g+h|0;j=r[a+1|0];m=r[a|0];n=j+m|0;k=i+n|0;o=r[a+6|0];p=o+f|0;s=r[a+5|0];a=r[a+4|0];t=s+a|0;v=p+t|0;q[e+c>>2]=k+v;q[(e|16)+c>>2]=k-v;f=o-f|0;a=a-s|0;k=f+a|0;g=g-h|0;h=m-j|0;j=g+h|0;q[(e|4)+c>>2]=k+j;q[(e|20)+c>>2]=j-k;j=t-p|0;i=n-i|0;q[(e|8)+c>>2]=j+i;q[(e|24)+c>>2]=i-j;a=a-f|0;f=h-g|0;q[(e|12)+c>>2]=a+f;q[(e|28)+c>>2]=f-a;l=l+1|0;continue}break}return a|0}function _R(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{g=b;if(g){e=c;if(!e){break j}f=d;if(!f){break i}f=z(f)-z(g)|0;if(f>>>0<=31){break h}break b}if((d|0)==1&c>>>0>=0|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;XR(a-w(b,c)|0,0);Da=0;return b}e=d;if(!a){break g}if(!e){break f}f=e+ -1|0;if(f&e){break f}XR(a,f&g);a=g>>>(gS(e)&31)|0;Da=0;return a}f=e+ -1|0;if(!(f&e)){break e}j=(z(e)+33|0)-z(g)|0;h=0-j|0;break c}j=f+1|0;h=63-f|0;break c}a=(g>>>0)/(e>>>0)|0;XR(0,g-w(a,e)|0);Da=0;return a}f=z(e)-z(g)|0;if(f>>>0<31){break d}break b}XR(a&f,0);if((e|0)==1){break a}c=a;a=gS(e);d=a&31;if(32<=(a&63)>>>0){f=0;a=b>>>d|0}else{f=b>>>d|0;a=((1<>>d}Da=f;return a}j=f+1|0;h=63-f|0}e=b;g=a;f=j&63;i=f&31;if(32<=(f&63)>>>0){f=0;l=e>>>i|0}else{f=e>>>i|0;l=((1<>>i}a=h&63;h=a&31;if(32<=(a&63)>>>0){e=g<>>32-h|b<>>0<4294967295){g=g+1|0}h=e;while(1){e=l;f=f<<1|e>>>31;e=e<<1;k=f;f=b>>>31|e;m=k;e=k;k=f;i=g-((h>>>0>>0)+e|0)|0;e=i>>31;i=i>>31;f=c&i;l=k-f|0;f=m-((d&e)+(k>>>0>>0)|0)|0;e=b<<1|a>>>31;a=n|a<<1;b=e|o;e=0;m=e;k=i&1;n=k;j=j+ -1|0;if(j){continue}break}}XR(l,f);e=b<<1|a>>>31;a=k|a<<1;Da=e|m;return a}XR(a,b);a=0;b=0}Da=b;return a}function EL(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;c=c-((e&2147483646)<<1)|0;j=e>>1<<1;e=b;while(1){if((i|0)!=9){l=c+ -2|0;p[e>>1]=s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[l>>1]|0,-5)|0);p[e+2>>1]=s[c+8>>1]+((s[l>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0);p[e+4>>1]=s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0);p[e+6>>1]=s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0);i=i+1|0;e=e+16|0;c=c+j|0;continue}break}c=b+32|0;b=0;n=(d&-2)<<1;m=d>>1;o=w(m,3)<<1;while(1){if((b|0)!=4){q=p[c+96>>1];l=p[c+80>>1];d=p[c+64>>1];e=p[c+48>>1];i=p[c+16>>1];h=p[c>>1];j=p[c+32>>1];f=p[c+ -16>>1];g=(((e+p[c+ -32>>1]|0)+w(i+h|0,20)|0)+w(j+f|0,-5)|0)+512|0;k=g>>10;p[a>>1]=(s[a>>1]+(k>>>0<512?k:(g>>31^-1)&511)|0)+1>>>1;g=(m<<1)+a|0;k=g;r=s[g>>1];f=(((d+f|0)+w(i+j|0,20)|0)+w(e+h|0,-5)|0)+512|0;g=f>>10;p[k>>1]=(r+(g>>>0<512?g:(f>>31^-1)&511)|0)+1>>>1;f=a+n|0;k=f;g=s[f>>1];h=(((h+l|0)+w(e+j|0,20)|0)+w(d+i|0,-5)|0)+512|0;f=h>>10;p[k>>1]=(g+(f>>>0<512?f:(h>>31^-1)&511)|0)+1>>>1;h=a+o|0;d=(((i+q|0)+w(d+e|0,20)|0)+w(j+l|0,-5)|0)+512|0;e=d>>10;p[h>>1]=(s[h>>1]+(e>>>0<512?e:(d>>31^-1)&511)|0)+1>>>1;b=b+1|0;c=c+2|0;a=a+2|0;continue}break}}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=8){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<512?h:(f>>31^-1)&511;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+14>>1]+((s[b+4>>1]+w(s[b+10>>1]+s[b+8>>1]|0,20)|0)+w(s[b+12>>1]+s[b+6>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+8>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+16>>1]+((s[b+6>>1]+w(s[b+12>>1]+s[b+10>>1]|0,20)|0)+w(s[b+14>>1]+s[b+8>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+10>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+18>>1]+((s[b+8>>1]+w(s[b+14>>1]+s[b+12>>1]|0,20)|0)+w(s[b+16>>1]+s[b+10>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+12>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+20>>1]+((s[b+10>>1]+w(s[b+16>>1]+s[b+14>>1]|0,20)|0)+w(s[b+18>>1]+s[b+12>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+14>>1]=f>>>0<512?f:(e>>31^-1)&511;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function uo(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Ca-32|0;Ca=i;f=q[a+16>>2];e=f>>>0>13;h=q[a+1716>>2];if(!(q[a+1720>>2]|!h)){Ta(d,16,4219,0)}h=h?0:c;f=e?7:f;l=a+1732|0;e=0;while(1){a:{b:{c:{d:{if((e|0)<(c|0)){e:{f:{g:{if((h|0)<=(e|0)){g=0;f=q[a+1720>>2];j=(f|0)>0?f:0;e=0;f=h;while(1){if((e|0)!=(j|0)){g=r[b+f|0]|g<<8;e=e+1|0;f=f+1|0;continue}break}e=h+j|0;h=c-e|0;if(!((g|0)<1|(g|0)>(h|0))){h=e+g|0;f=5;break g}q[i+4>>2]=h;q[i>>2]=g;Ta(d,16,6386,i);break c}if((f|0)==7){e=(n[q[a+1348>>2]](b+e|0,h-e|0)|0)+e|0;f=(e|0)<(h|0)?2:7;break a}if(f>>>0<=2){g=r[b+e|0];if(g>>>0>1){break b}if(!(g-1)){break e}f=f>>>1|0;break a}if(f>>>0>5){break f}}g=r[b+e|0]&31;if((g+ -6&255)>>>0<=3){if(!q[a+20>>2]){break b}e=e+1|0;break d}if(!(1<>>0>5){break b}f=f+8|0;break a}j=q[a+1744>>2];g=r[b+e|0];k=q[a+1740>>2];q[a+1740>>2]=k+1;o[(a+k|0)+1732|0]=g;Ih(i+8|0,l,q[a+1740>>2]<<3);g=ke(i+8|0);if(q[a+1740>>2]<6?(q[i+20>>2]-q[i+16>>2]|0)<=0:0){break a}q[a+1744>>2]=g;h:{if(q[a+20>>2]){if(g>>>0>j>>>0){break h}b=q[a+1740>>2];q[a+1740>>2]=0;e=(e-b|0)+1|0;break d}q[a+20>>2]=1}q[a+1740>>2]=0;break b}f=f^5;break a}q[a+16>>2]=f;c=q[a+1716>>2]?h:-100;break c}c=h;q[a+16>>2]=7;q[a+20>>2]=0;if(q[a+1716>>2]){break c}c=e-(f&5)|0}Ca=i+32|0;return c}f=7}e=e+1|0;continue}}function Mv(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(Xa(c)){d=q[c+8>>2]+8|0;e=q[c+16>>2];q[c+8>>2]=e>>>0>d>>>0?d:e}d=Xa(c);q[b+48>>2]=d;e=b+96|0;f=uj(a,b,c,e);a:{b:{if(d){d=-1;if(f){break a}f=b+88064|0;yv(f,e);ef(c,e);ef(c,f);Eh(b,c,e);i=b+88099|0;o[b+88104|0]=r[i|0];g=b+88100|0;d=b+88095|0;h=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);o[g|0]=h;o[g+1|0]=h>>>8;o[g+2|0]=h>>>16;o[g+3|0]=h>>>24;g=r[b+127|0]|r[b+128|0]<<8|(r[b+129|0]<<16|r[b+130|0]<<24);o[d|0]=g;o[d+1|0]=g>>>8;o[d+2|0]=g>>>16;o[d+3|0]=g>>>24;o[i|0]=r[b+131|0];d=df(a,b,c,e,0);if((d|0)<0){break a}d=cf(a,b,c,e,0);if((d|0)<0){break a}d=df(a,b,c,f,1);if((d|0)<0){break a}d=cf(a,b,c,f,1);if((d|0)>=0){break b}break a}d=-1;if(f){break a}f=b+88064|0;if(uj(a,b,c,f)){break a}ef(c,e);ef(c,f);Eh(b,c,e);Eh(b,c,f);d=df(a,b,c,e,0);if((d|0)<0){break a}d=df(a,b,c,f,1);if((d|0)<0){break a}d=cf(a,b,c,e,0);if((d|0)<0){break a}d=cf(a,b,c,f,1);if((d|0)<0){break a}}a=Xa(c);q[b+100>>2]=a;c:{if(!a){break c}a=0;d=q[b+310116>>2];d=(d|0)>0?d:0;while(1){if((a|0)==(d|0)){break c}j=a+b|0,k=Xa(c),o[j+137|0]=k;a=a+1|0;continue}}a=Xa(c);q[b+88068>>2]=a;if(!a){return 0}d=0;a=q[b+310116>>2];e=(a|0)>0?a:0;a=0;while(1){if((a|0)==(e|0)){break a}j=(a+b|0)+88105|0,k=Xa(c),o[j|0]=k;a=a+1|0;continue}}return d}function kt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;i=8-f|0;h=8-e|0;g=w(i,h);j=c>>1;h=w(f,h);i=w(e,i);a:{f=w(e,f);if(f){e=0;d=(d|0)>0?d:0;m=j+1<<1;l=j+2<<1;q=j+3<<1;r=j+4<<1;while(1){if((d|0)==(e|0)){break a}o=j<<1;c=o+b|0;k=b+m|0;p[a>>1]=(((w(s[b>>1],g)+w(i,s[b+2>>1])|0)+w(h,s[c>>1])|0)+w(f,s[k>>1])|0)+32>>>6;n=(w(s[b+2>>1],g)+w(i,s[b+4>>1])|0)+w(h,s[k>>1])|0;k=b+l|0;p[a+2>>1]=(n+w(f,s[k>>1])|0)+32>>>6;n=(w(s[b+4>>1],g)+w(i,s[b+6>>1])|0)+w(h,s[k>>1])|0;k=b+q|0;p[a+4>>1]=(n+w(f,s[k>>1])|0)+32>>>6;p[a+6>>1]=(((w(s[b+6>>1],g)+w(i,s[b+8>>1])|0)+w(h,s[k>>1])|0)+w(f,s[b+r>>1])|0)+32>>>6;e=e+1|0;a=a+o|0;b=c;continue}}c=h+i|0;if(!c){c=0;d=(d|0)>0?d:0;while(1){if((c|0)==(d|0)){break a}p[a>>1]=w(s[b>>1],g)+32>>>6;p[a+2>>1]=w(s[b+2>>1],g)+32>>>6;p[a+4>>1]=w(s[b+4>>1],g)+32>>>6;p[a+6>>1]=w(s[b+6>>1],g)+32>>>6;c=c+1|0;e=j<<1;b=e+b|0;a=a+e|0;continue}}f=0;e=(d|0)>0?d:0;d=h?j:1;h=d+1<<1;i=d+2<<1;m=d+3<<1;while(1){if((e|0)==(f|0)){break a}p[a>>1]=(w(s[b>>1],g)+w(c,s[(d<<1)+b>>1])|0)+32>>>6;p[a+2>>1]=(w(s[b+2>>1],g)+w(c,s[b+h>>1])|0)+32>>>6;p[a+4>>1]=(w(s[b+4>>1],g)+w(c,s[b+i>>1])|0)+32>>>6;p[a+6>>1]=(w(s[b+6>>1],g)+w(c,s[b+m>>1])|0)+32>>>6;f=f+1|0;l=j<<1;b=l+b|0;a=a+l|0;continue}}}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r[b+12|0];h=r[b+13|0];g=a+1024|0;d=q[b+74176>>2];a:{if(q[b+4>>2]==2){while(1){if((c|0)==8){break a}f=q[a+5392>>2];n[q[f+652>>2]](f,(w(c,480)+a|0)+1024|0,((c<<9)+b|0)+13760|0,1);c=c+1|0;continue}}c=q[a+5400>>2];n[q[c+652>>2]](c,g,b+13760|0,1)}c=e?2432416:3458944;e=b+17856|0;b:{c:{f=q[b+8>>2];if(f>>>0>3){break c}d:{switch(f-1|0){case 0:case 1:break c;default:break d}}if(t[b+4>>2]>1){break c}n[q[q[a+5404>>2]+20>>2]](d,e,g,h?2428576:3459424,480);break b}d=Va(d,e,1680);f=q[b+4>>2];n[q[q[a+5404>>2]+20>>2]](d+1680|0,b+19536|0,g,h?2432416:3458944,60);if((f|0)==2){n[q[q[a+5404>>2]+20>>2]](d+2160|0,a+1264|0,a+1504|0,c,60);n[q[q[a+5404>>2]+20>>2]](d+2640|0,a+1744|0,a+1984|0,c,60);n[q[q[a+5404>>2]+20>>2]](d+3120|0,a+2224|0,a+2464|0,c,60);g=a+5696|0;n[q[q[a+5404>>2]+20>>2]](g,a+2704|0,a+2944|0,c,60);Va(d+3600|0,g,240);break b}Va(d+2160|0,a+1264|0,1680)}e:{d=q[b+4>>2];if((d|0)==2){Va(e,a+5936|0,240);n[q[q[a+5404>>2]+20>>2]](b+18096|0,a+3184|0,a+3424|0,c,60);n[q[q[a+5404>>2]+20>>2]](b+18576|0,a+3664|0,a+3904|0,c,60);n[q[q[a+5404>>2]+20>>2]](b+19056|0,a+4144|0,a+4384|0,c,60);break e}c=a+2944|0;if((d|0)==1){Va(e,c,1680);break e}Va(e,c,1920);return}Va(b+19536|0,a+4624|0,240)}function Ry(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=Ca-128|0;Ca=e;Za(e+80|0,0,44);q[a>>2]=0;q[a+4>>2]=-2147483648;a:{b:{c:{d:{j=r[b|0]==45;b=j?b+1|0:b;c=Ij(b,22068,e+80|0);if(c){d=q[e+88>>2];break d}c=Ij(b,22726,e+80|0);q[e+88>>2]=0;if(c){break d}q[865816]=0;i=kn(b,e+32|0,10);h=Da;c=q[e+32>>2];if((b|0)==(c|0)){break b}b=-68;if(q[865816]==68){break a}if(!c){break b}break c}b=q[e+80>>2]+(w(q[e+84>>2],60)+w(d,3600)|0)|0;i=b;h=b>>31}e:{b=r[c|0];if((b|0)!=46){break e}d=c+7|0;b=1e5;while(1){f:{if(b){c=c+1|0;f=o[c|0];if(f+ -48>>>0<10){break f}d=c}while(1){c=d;d=c+1|0;b=o[c|0];if(b+ -48>>>0<10){continue}break}break e}g=w(f+ -48|0,b)+g|0;b=(b>>>0)/10|0;continue}}g:{h:{d=b&255;if((d|0)!=117){if((d|0)!=109|r[c+1|0]!=115){break h}d=c+2|0;g=(g|0)/1e3|0;c=1e3;break g}if(r[c+1|0]!=115){break h}d=c+2|0;g=0;c=1;break g}d=(b&255)==115?c+1|0:c;c=1e6}b=-28;if(r[d|0]){break a}b=-68;f=bS(-1,2147483647,c,0)>>>0>=i>>>0?0:1;d=Da;if((d|0)<(h|0)?1:(d|0)<=(h|0)?f:0){break a}d=g;h=$R(c,0,i,h);i=d>>31;f=2147483647-(i+(4294967295>>0)|0)|0;g=Da;c=g;if((f|0)<(c|0)?1:(f|0)<=(c|0)?-1-d>>>0>=h>>>0?0:1:0){break a}f=a;c=g+i|0;b=d+h|0;if(b>>>0>>0){c=c+1|0}q[f>>2]=j?0-b|0:b;q[a+4>>2]=j?0-((0>>0)+c|0)|0:c;b=0;break a}b=-28}Ca=e+128|0;return b}function co(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0;g=Ca-32|0;Ca=g;k=a+108|0;l=a+112|0;m=a+116|0;n=a+248|0;o=a+280|0;p=a+296|0;a:{while(1){b:{if((q[b+12>>2]-q[b+8>>2]|0)<17){break b}f=0;if(!_c(b,16)){break b}while(1){e=-1094995529;if((q[b+12>>2]-q[b+8>>2]|0)<8){break a}f=_c(b,8)+f|0;if((Ua(b,8)|0)==255){continue}break}h=0;while(1){if((q[b+12>>2]-q[b+8>>2]|0)<8){break a}h=_c(b,8)+h|0;if((Ua(b,8)|0)==255){continue}break}i=q[b+12>>2]-q[b+8>>2]|0;if(h>>>0>(i|0)/8>>>0){q[g+8>>2]=i;q[g>>2]=f;q[g+4>>2]=h<<3;Ta(d,16,4346,g);break a}i=q[b+8>>2];c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{if(f>>>0>6){e=f+ -45|0;if(e>>>0<=2){break m}if((f|0)!=56){if((f|0)!=147){break k}q[a+312>>2]=1;r=a,s=Ua(b,8),q[r+316>>2]=s;break c}QD(p,b);break c}switch(f-1|0){case 4:break f;case 5:break g;case 1:case 2:break k;case 0:break l;case 3:break e;default:break h}}switch(e-1|0){case 1:break j;case 0:break k;default:break i}}e=PD(a,b,c,d);break d}q[g+16>>2]=f;Ta(d,48,6492,g+16|0);break c}OD(o,b);break c}ND(n,b);break c}e=MD(m,b,c,d);break d}e=LD(l,b,d);break d}e=KD(k,b,h);break d}e=JD(a,b,h)}if((e|0)!=-1397768184?(e|0)<=-1:0){break a}j=(e|0)<0?e:j}Mb(b,(i+(h<<3)|0)-q[b+8>>2]|0);yj(b);continue}break}e=j}Ca=g+32|0;return e}function Mn(a,b,c,d){var e=0,f=0,g=0,h=0;f=Ca-48|0;Ca=f;e=q[a+24>>2];while(1){if((e|0)>=1){e=q[a+28>>2];q[a+28>>2]=e+1;g=e;e=q[a>>2];g=r[g+e|0];h=q[a+4>>2];q[a+4>>2]=h+1;o[e+h|0]=g;e=q[a+24>>2]+ -1|0;q[a+24>>2]=e;continue}break}g=-28;h=q[d>>2];a:{if((h|0)<(b|0)){break a}e=q[a+4>>2];q[a+8>>2]=e;b=(b|0)==-100?h?b:0:b;if((b|0)==-100){b=a;e=ak(q[a>>2],a+12|0,(e+q[d>>2]|0)- -64|0);b:{if(!e){q[f>>2]=(q[d>>2]+q[a+4>>2]|0)- -64;Ta(0,16,10177,f);g=-48;a=0;break b}q[a>>2]=e;Va(e+q[a+4>>2]|0,q[c>>2],q[d>>2]);g=-1;a=q[a+4>>2]+q[d>>2]|0}q[b+4>>2]=a;break a}if(!(q[a>>2]?0:(b|0)<=-1)){e=b+e|0;q[a+28>>2]=e;q[d>>2]=e;d=q[a+4>>2];if(d){e=d;d=b- -64|0;e=ak(q[a>>2],a+12|0,e+d|0);if(!e){q[f+16>>2]=d+q[a+4>>2];Ta(0,16,10177,f+16|0);q[a+28>>2]=0;q[a+4>>2]=0;g=-48;break a}q[a>>2]=e;if((b|0)>-64){Va(q[a+4>>2]+e|0,q[c>>2],d);e=q[a>>2]}q[a+4>>2]=0;q[c>>2]=e}e=b;if((e|0)<=-9){q[a+24>>2]=(q[a+24>>2]-b|0)+ -8;e=-8}g=0;d=(b|0)>0?b:0;while(1){if((d|0)==(e|0)){break a}b=q[a>>2]+(q[a+8>>2]+e|0)|0;q[a+16>>2]=r[b|0]|q[a+16>>2]<<8;c=r[b|0];q[a+24>>2]=q[a+24>>2]+1;b=c;c=q[a+32>>2];h=q[a+36>>2]<<8|c>>>24;q[a+32>>2]=b|c<<8;q[a+36>>2]=h;e=e+1|0;continue}}q[f+40>>2]=274;q[f+36>>2]=8259;q[f+32>>2]=11288;Ta(0,0,4679,f+32|0);I();F()}Ca=f+48|0;return g}function nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=r[b+12|0];h=r[b+13|0];f=a+1024|0;d=q[b+74176>>2];a:{if(q[b+4>>2]==2){g=a+5188|0;while(1){if(c>>>0>1023){break a}i=c<<2;n[q[a+5232>>2]](g,(i+a|0)+1024|0,(b+i|0)+13760|0);c=c+128|0;continue}}n[q[a+5164>>2]](a+5120|0,f,b+13760|0)}c=e?2428064:3393920;e=b+17856|0;b:{c:{g=q[b+8>>2];if(g>>>0>3){break c}d:{switch(g-1|0){case 0:case 1:break c;default:break d}}if(t[b+4>>2]>1){break c}n[q[q[a+5404>>2]+20>>2]](d,e,f,h?2423968:3397504,512);break b}d=Va(d,e,1792);g=q[b+4>>2];n[q[q[a+5404>>2]+20>>2]](d+1792|0,b+19648|0,f,h?2428064:3393920,64);if((g|0)==2){n[q[q[a+5404>>2]+20>>2]](d+2304|0,a+1280|0,a+1536|0,c,64);n[q[q[a+5404>>2]+20>>2]](d+2816|0,a+1792|0,a+2048|0,c,64);n[q[q[a+5404>>2]+20>>2]](d+3328|0,a+2304|0,a+2560|0,c,64);f=a+5696|0;n[q[q[a+5404>>2]+20>>2]](f,a+2816|0,a+3072|0,c,64);Va(d+3840|0,f,256);break b}Va(d+2304|0,a+1280|0,1792)}e:{d=q[b+4>>2];if((d|0)==2){Va(e,a+5952|0,256);n[q[q[a+5404>>2]+20>>2]](b+18112|0,a+3328|0,a+3584|0,c,64);n[q[q[a+5404>>2]+20>>2]](b+18624|0,a+3840|0,a+4096|0,c,64);n[q[q[a+5404>>2]+20>>2]](b+19136|0,a+4352|0,a+4608|0,c,64);break e}c=a+3072|0;if((d|0)==1){Va(e,c,1792);break e}Va(e,c,2048);return}Va(b+19648|0,a+4864|0,256)}function px(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,t=0,v=x(0),y=0,z=0,A=0;i=Ca-176|0;Ca=i;a:{e=r[c|0];g=q[c+96>>2];l=(g|0)>(e|0)?e:g;if(!l){break a}b:while(1){if((k|0)>=q[c+92>>2]){break a}z=k<<7;A=(k<<2)+b|0;n=q[c+88>>2];m=0;while(1){e=n;c:{if((m|0)>2]){f=((k<<4)+b|0)+(m<<2)|0;g=e-q[f+36>>2]|0;n=(g|0)>0?g:0;g=q[f+292>>2];if(!g){break c}jx(((w(k,320)+b|0)+w(m,80)|0)+2980|0,g,i+96|0);j=((e|0)>(l|0)?l:e)<<1;e=q[c+80>>2];h=s[j+e>>1];e=s[e+(((n|0)>(l|0)?l:n)<<1)>>1];p=h-e|0;if((p|0)<1){break c}f=q[f+164>>2];t=f?-1:1;h=(f?h+ -1|0:e)+z|0;f=0;if(d){while(1){if((f|0)==(p|0)){break c}e=(g|0)<(f|0)?g:f;j=(e|0)<1?1:e+1|0;o=(h<<2)+a|0;e=1;while(1){if((e|0)!=(j|0)){u[o>>2]=u[o>>2]-x(u[(h-w(e,t)<<2)+a>>2]*u[((e<<2)+i|0)+92>>2]);e=e+1|0;continue}break}h=h+t|0;f=f+1|0;continue}}while(1){if((f|0)==(p|0)){break c}e=(g|0)<(f|0)?g:f;o=(e|0)<1?1:e+1|0;j=(h<<2)+a|0;e=j;v=u[e>>2];q[i>>2]=q[e>>2];e=1;while(1){if((e|0)==(o|0)){d:{e=g;while(1){if((e|0)<1){break d}j=(e<<2)+i|0;e=e+ -1|0;q[j>>2]=q[(e<<2)+i>>2];continue}}}else{y=e<<2;v=x(v+x(u[y+i>>2]*u[(i+y|0)+92>>2]));u[j>>2]=v;e=e+1|0;continue}break}h=h+t|0;f=f+1|0;continue}}k=k+1|0;continue b}m=m+1|0;continue}}}Ca=i+176|0}function qr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+16>>1],e)>>d;p[a+16>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+18>>1],e)>>d;p[a+18>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+20>>1],e)>>d;p[a+20>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+22>>1],e)>>d;p[a+22>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+24>>1],e)>>d;p[a+24>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+26>>1],e)>>d;p[a+26>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+28>>1],e)>>d;p[a+28>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+30>>1],e)>>d;p[a+30>>1]=b>>>0<16384?b:(b>>31^-1)&16383;g=g+1|0;a=a+h|0;continue}break}}function VR(){var a=0,b=0;ga(1940,1960,1988,0,2004,1,2007,0,2007,0,1024,2009,2);a=rb(8);q[a>>2]=3;q[a+4>>2]=0;W(1940,1032,3,2012,2024,4,a|0,0);a=rb(8);q[a>>2]=5;q[a+4>>2]=0;W(1940,1038,3,2032,2024,6,a|0,0);a=rb(8);q[a>>2]=7;q[a+4>>2]=0;W(1940,1050,3,2032,2024,6,a|0,0);a=rb(8);q[a>>2]=8;q[a+4>>2]=0;W(1940,1057,2,2044,2052,9,a|0,0);a=rb(8);q[a>>2]=10;q[a+4>>2]=0;W(1940,1064,2,2044,2052,9,a|0,0);b=rb(8);a=b;q[a>>2]=11;q[a+4>>2]=0;a=rb(8);q[a>>2]=12;q[a+4>>2]=0;V(1940,1082,1424,2056,13,b|0,1424,2024,14,a|0);b=rb(8);a=b;q[a>>2]=15;q[a+4>>2]=0;a=rb(8);q[a>>2]=16;q[a+4>>2]=0;V(1940,1092,1424,2056,13,b|0,1424,2024,14,a|0);b=rb(8);a=b;q[a>>2]=17;q[a+4>>2]=0;a=rb(8);q[a>>2]=18;q[a+4>>2]=0;V(1940,1100,1424,2056,13,b|0,1424,2024,14,a|0);b=rb(8);a=b;q[a>>2]=19;q[a+4>>2]=0;a=rb(8);q[a>>2]=20;q[a+4>>2]=0;V(1940,1112,1424,2056,13,b|0,1424,2024,14,a|0);b=rb(8);a=b;q[a>>2]=21;q[a+4>>2]=0;a=rb(8);q[a>>2]=22;q[a+4>>2]=0;V(1940,1124,1424,2056,13,b|0,1424,2024,14,a|0);a=rb(8);q[a>>2]=23;q[a+4>>2]=0;V(1940,1128,1424,2056,13,a|0,0,0,0,0);ga(2220,2244,2276,1940,2004,24,2004,25,2004,26,1139,2009,27);a=rb(4);q[a>>2]=28;W(2220,2060,2,2292,2052,29,a|0,0);ba(1940,2080,3,2300,2312,30,31);ba(1940,2090,3,2804,2312,32,33)}function Uy(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-192|0;Ca=e;d=1;f=e+48|0;if(r[b|0]!=35){d=!rf(b,5934,2)<<1}g=(ub(b)-d|0)+1|0;ml(f,b+d|0,g>>>0<128?g:128);f=ee(e+48|0,64);q[e+188>>2]=f;a:{if(!f){g=0;break a}g=f+1|0;q[e+188>>2]=g;o[f|0]=0}f=ub(e+48|0);o[a+3|0]=255;b:{c:{d:{if(ij(e+48|0,7444)){if(ij(e+48|0,8757)){break d}}d=Ny();d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);o[a|0]=d;o[a+1|0]=d>>>8;o[a+2|0]=d>>>16;o[a+3|0]=d>>>24;break c}e:{if(!d){if((de(e+48|0,10663)|0)!=(f|0)){break e}}d=Xj(e+48|0,e+44|0);f:{g:{h:{if(r[q[e+44>>2]]){break h}f=f+ -6|0;if(f>>>0>2){break h}switch(f-1|0){case 1:break g;case 0:break h;default:break f}}q[e+16>>2]=e+48;Ta(c,16,11749,e+16|0);d=-28;break b}o[a+3|0]=d;d=d>>>8|0}o[a+2|0]=d;o[a+1|0]=d>>>8;o[a|0]=d>>>16;break c}d=ln(e+48|0,52992,140,8,98);if(!d){q[e+32>>2]=e+48;Ta(c,16,12913,e+32|0);d=-28;break b}f=r[d+4|0]|r[d+5|0]<<8;o[a|0]=f;o[a+1|0]=f>>>8;o[a+2|0]=r[d+6|0]}d=0;if(!g){break b}i:{if(!rf(g,5934,2)){h=+(Xj(g,e+188|0)>>>0);break i}h=Zj(g,e+188|0);h=h<0?256:h>1?256:h*255}j:{f=q[e+188>>2];if(!((f|0)==(g|0)|h<0|h>255)){if(!r[f|0]){break j}}q[e+4>>2]=b;q[e>>2]=g;Ta(c,16,14726,e);d=-28;break b}if(h<4294967296&h>=0){b=~~h>>>0}else{b=0}o[a+3|0]=b}Ca=e+192|0;return d}function Zl(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,o=0,p=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;m=i?2419264:213376;B=m+(576>>>i<<2)|0;s=512>>>i<<2;C=s+m|0;t=448>>>i<<2;D=t+m|0;E=(384>>>i<<2)+m|0;F=(320>>>i<<2)+m|0;v=256>>>i<<2;G=v+m|0;w=192>>>i<<2;H=w+m|0;r=128>>>i|0;I=(r<<2)+m|0;k=64>>>i|0;x=k<<2;J=x+m|0;y=f+256|0;j=1152>>>i|0;K=j<<2;z=2304-j|0;L=(z<<2)+g|0;M=704>>>i<<2;N=768>>>i<<2;O=960>>>i<<2;P=1024>>>i<<2;Q=1216>>>i<<2;while(1){if((p|0)!=32){l=h;j=q[l>>2];if((j|0)<(r|0)){Va(L,g,K);j=z}j=j-r|0;q[l>>2]=j;j=(j<<2)+g|0;l=0;a:{if(i){while(1){if((l|0)!=32){A=(p<<8)+e|0;o=A+(l<<2)|0;u[o>>2]=-u[o>>2];q[o+128>>2]=q[((0-l<<2)+A|0)+9852>>2];l=l+1|0;continue}break}n[q[a+44>>2]](a,f,(p<<8)+e|0);n[q[b+20>>2]](j,f);break a}l=(p<<8)+e|0;o=l+9728|0;n[q[b+8>>2]](o);n[q[a+44>>2]](a,f,l);n[q[a+44>>2]](a,y,o);n[q[b+24>>2]](j,y,f)}n[q[c>>2]](d,j,m,k);n[q[c+24>>2]](d,j+w|0,J,d,k);n[q[c+24>>2]](d,j+v|0,I,d,k);n[q[c+24>>2]](d,j+t|0,H,d,k);n[q[c+24>>2]](d,j+s|0,G,d,k);n[q[c+24>>2]](d,j+M|0,F,d,k);n[q[c+24>>2]](d,j+N|0,E,d,k);n[q[c+24>>2]](d,j+O|0,D,d,k);n[q[c+24>>2]](d,j+P|0,C,d,k);n[q[c+24>>2]](d,j+Q|0,B,d,k);p=p+1|0;d=d+x|0;continue}break}}function YE(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0;c=c-((e&2147483646)<<1)|0;o=e>>1<<1;e=b;while(1){if((m|0)!=9){g=s[c+6>>1];i=s[c+2>>1];k=s[c>>1];l=s[c+4>>1];j=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(i+k|0,20)|0)+w(l+j|0,-5)|0);f=(j+w(i+l|0,20)|0)+w(g+k|0,-5)|0;j=s[c+8>>1];q[e+4>>2]=f+j;f=(k+w(g+l|0,20)|0)+w(i+j|0,-5)|0;k=s[c+10>>1];q[e+8>>2]=f+k;q[e+12>>2]=s[c+12>>1]+((i+w(g+j|0,20)|0)+w(k+l|0,-5)|0);m=m+1|0;e=e+32|0;c=c+o|0;continue}break}c=b- -64|0;m=0;k=(d&-2)<<1;j=d>>1;o=w(j,3)<<1;while(1){if((m|0)!=4){r=q[c+192>>2];l=q[c+160>>2];b=q[c+128>>2];d=q[c+96>>2];e=q[c+32>>2];g=q[c>>2];i=q[c+64>>2];f=q[c+ -32>>2];h=(((d+q[c+ -64>>2]|0)+w(e+g|0,20)|0)+w(i+f|0,-5)|0)+512|0;n=h>>10;p[a>>1]=(s[a>>1]+(n>>>0<16384?n:(h>>31^-1)&16383)|0)+1>>>1;h=(j<<1)+a|0;n=h;t=s[h>>1];f=(((b+f|0)+w(e+i|0,20)|0)+w(d+g|0,-5)|0)+512|0;h=f>>10;p[n>>1]=(t+(h>>>0<16384?h:(f>>31^-1)&16383)|0)+1>>>1;f=a+k|0;h=f;n=s[f>>1];g=(((g+l|0)+w(d+i|0,20)|0)+w(b+e|0,-5)|0)+512|0;f=g>>10;p[h>>1]=(n+(f>>>0<16384?f:(g>>31^-1)&16383)|0)+1>>>1;g=a+o|0;b=(((e+r|0)+w(b+d|0,20)|0)+w(i+l|0,-5)|0)+512|0;d=b>>10;p[g>>1]=(s[g>>1]+(d>>>0<16384?d:(b>>31^-1)&16383)|0)+1>>>1;m=m+1|0;c=c+4|0;a=a+2|0;continue}break}}function dH(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,t=0;c=c-((e&2147483646)<<1)|0;o=e>>1<<1;e=b;while(1){if((m|0)!=9){g=s[c+6>>1];i=s[c+2>>1];k=s[c>>1];l=s[c+4>>1];j=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(i+k|0,20)|0)+w(l+j|0,-5)|0);f=(j+w(i+l|0,20)|0)+w(g+k|0,-5)|0;j=s[c+8>>1];q[e+4>>2]=f+j;f=(k+w(g+l|0,20)|0)+w(i+j|0,-5)|0;k=s[c+10>>1];q[e+8>>2]=f+k;q[e+12>>2]=s[c+12>>1]+((i+w(g+j|0,20)|0)+w(k+l|0,-5)|0);m=m+1|0;e=e+32|0;c=c+o|0;continue}break}c=b- -64|0;m=0;k=(d&-2)<<1;j=d>>1;o=w(j,3)<<1;while(1){if((m|0)!=4){r=q[c+192>>2];l=q[c+160>>2];b=q[c+128>>2];d=q[c+96>>2];e=q[c+32>>2];g=q[c>>2];i=q[c+64>>2];f=q[c+ -32>>2];h=(((d+q[c+ -64>>2]|0)+w(e+g|0,20)|0)+w(i+f|0,-5)|0)+512|0;n=h>>10;p[a>>1]=(s[a>>1]+(n>>>0<4096?n:(h>>31^-1)&4095)|0)+1>>>1;h=(j<<1)+a|0;n=h;t=s[h>>1];f=(((b+f|0)+w(e+i|0,20)|0)+w(d+g|0,-5)|0)+512|0;h=f>>10;p[n>>1]=(t+(h>>>0<4096?h:(f>>31^-1)&4095)|0)+1>>>1;f=a+k|0;h=f;n=s[f>>1];g=(((g+l|0)+w(d+i|0,20)|0)+w(b+e|0,-5)|0)+512|0;f=g>>10;p[h>>1]=(n+(f>>>0<4096?f:(g>>31^-1)&4095)|0)+1>>>1;g=a+o|0;b=(((e+r|0)+w(b+d|0,20)|0)+w(i+l|0,-5)|0)+512|0;d=b>>10;p[g>>1]=(s[g>>1]+(d>>>0<4096?d:(b>>31^-1)&4095)|0)+1>>>1;m=m+1|0;c=c+4|0;a=a+2|0;continue}break}}function fA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(xb(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(xb(a,q[b>>2],e)){if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+32>>2]=d;if(q[b+44>>2]!=4){f=a+16|0;i=f+(q[a+12>>2]<<3)|0;j=b;b:{c:{while(1){d:{if(f>>>0>=i>>>0){break d}p[b+52>>1]=0;Mj(f,b,c,c,1,e);if(r[b+54|0]){break d}e:{if(!r[b+53|0]){break e}if(r[b+52|0]){d=1;if(q[b+24>>2]==1){break c}h=1;g=1;if(r[a+8|0]&2){break e}break c}h=1;d=g;if(!(o[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!h){break b}}a=3}q[j+44>>2]=a;if(d&1){break a}}q[b+20>>2]=c;q[b+40>>2]=q[b+40>>2]+1;if(q[b+36>>2]!=1|q[b+24>>2]!=2){break a}o[b+54|0]=1;return}g=q[a+12>>2];f=a+16|0;Ci(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=q[a+8>>2];if(!(q[b+36>>2]!=1?!(a&2):0)){while(1){if(r[b+54|0]){break a}Ci(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break}break a}if(!(a&1)){while(1){if(r[b+54|0]|q[b+36>>2]==1){break a}Ci(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break a}}while(1){if(r[b+54|0]|(q[b+24>>2]==1?q[b+36>>2]==1:0)){break a}Ci(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break}}}function ps(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-32|0;Ca=e;h=a;d=q[b+4>>2];a:{if(o[d+11|0]<=-1){c=q[d>>2];break a}c=d}f=q[b+8>>2];q[h+32>>2]=r[(c+f|0)+4|0]&3;i=f+6|0;q[b+8>>2]=i;g=q[b+12>>2];q[b+12>>2]=g+ -6;if(o[d+11|0]<=-1){h=q[d>>2]}else{h=d}c=h+i|0;h=r[c+1|0];c=r[c|0];i=g+ -8|0;q[b+12>>2]=i;f=f+8|0;q[b+8>>2]=f;g=h|c<<8;if(g){c=q[d+12>>2];q[e+28>>2]=g;q[e+24>>2]=f;q[e+20>>2]=d;q[d+12>>2]=c+2;q[e+16>>2]=1580;n[q[q[a>>2]+28>>2]](a,e+16|0);q[e+16>>2]=1636;c=q[e+20>>2];f=q[c+12>>2]+ -1|0;q[c+12>>2]=f;if(!(f|!c)){if(o[c+11|0]<=-1){Ya(q[c>>2])}Ya(c)}c=q[d+12>>2]+ -1|0;q[d+12>>2]=c;if(!c){if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}f=g+q[b+8>>2]|0;q[b+8>>2]=f;i=q[b+12>>2]-g|0;q[b+12>>2]=i;d=q[b+4>>2]}q[b+12>>2]=i+ -1;g=f+1|0;q[b+8>>2]=g;if(o[d+11|0]<=-1){h=q[d>>2]}else{h=d}c=h+g|0;g=r[c+1|0];c=r[c|0];q[b+12>>2]=i+ -3;h=b;b=f+3|0;q[h+8>>2]=b;c=g|c<<8;b:{if(!c){break b}f=q[d+12>>2];q[e+12>>2]=c;q[e+8>>2]=b;q[e+4>>2]=d;q[d+12>>2]=f+2;q[e>>2]=1580;n[q[q[a>>2]+28>>2]](a,e);q[e>>2]=1636;a=q[e+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ya(q[a>>2])}Ya(a)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}Ca=e+32|0}function Bx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-208|0;Ca=e;d=-1094995529;a:{if(q[a+344>>2]>96e3){break a}b=q[a+24>>2];if(!r[2316864]){tx();o[2316864]=1}q[b+4>>2]=a;q[b+6480>>2]=q[a+344>>2];q[b+6764>>2]=101;q[b+6760>>2]=102;q[b+6756>>2]=103;q[b+6752>>2]=104;q[b+6748>>2]=105;q[a+352>>2]=8;c=q[a+72>>2];b:{if((c|0)>=1){d=om(b,q[b+4>>2],b+6472|0,q[a+68>>2],c<<3,c>>>29|0);if((d|0)>=0){break b}break a}g=b+6476|0,h=Ax(q[a+344>>2]),q[g>>2]=h;f=q[a+348>>2];q[b+6512>>2]=-1;q[b+6488>>2]=-1;q[b+6508>>2]=f;c=0;while(1){if((c|0)==8){q[b+6484>>2]=0;break b}if(r[c+174096|0]!=(f|0)){c=c+1|0;continue}break}q[b+6484>>2]=c;if(!c){break b}if(!Me(a,e+16|0,e+12|0,c)){jd(b,e+16|0,q[e+12>>2],3,0);break b}if(r[a+580|0]&8){break a}}if(q[a+348>>2]>=65){Ta(a,16,20836,0);d=-1094995529;break a}a=NL();q[b+5404>>2]=a;if(!a){d=-48;break a}q[b+5408>>2]=523124044;Ue(b+5120|0,11,1,2.9802322387695312e-8);Ue(b+5256|0,10,1,5.960464477539063e-8);Ue(b+5188|0,8,1,2.384185791015625e-7);Ue(b+5324|0,11,0,-65536);d=mk(b+5392|0,3,2.5431316430513107e-7);if((d|0)<0){break a}d=mk(b+5396|0,5,6.357829107628277e-8);if((d|0)<0){break a}a=mk(b+5400|0,6,3.1789145538141383e-8);d=a>>31&a}Ca=e+208|0;return d|0}function xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=Ca-16|0;Ca=h;q[h+8>>2]=f;q[h+12>>2]=e;g=q[a>>2];k=g+96|0;i=q[g+84>>2];a:{while(1){e=-100;if((i|0)>(f|0)){break a}if(!(q[k>>2]|!i)){q[g+84>>2]=0;e=i;break a}while(1){if((i|0)>=(f|0)){break a}j=q[g+88>>2];f=q[g+92>>2]<<8|j>>>24;j=r[q[h+12>>2]+i|0]|j<<8;q[g+88>>2]=j;q[g+92>>2]=f;f=n[q[g+48>>2]](j,f,g,k,h+4|0)|0;if(!f){i=i+1|0;f=q[h+8>>2];continue}break}if((f|0)<1){break a}q[g+88>>2]=0;q[g+92>>2]=0;q[g+84>>2]=f;e=(i-q[g+44>>2]|0)+1|0;if(!((e+q[g+4>>2]|0)>0?q[h+4>>2]:0)){i=e+f|0;q[g+84>>2]=i;l=1;f=q[h+8>>2];continue}break}l=1;if((e|0)>-1){break a}q[g+84>>2]=e+f}b:{if((Mn(g,e,h+12|0,h+8|0)|0)<=-1){a=q[g+84>>2];e=q[h+8>>2];q[g+84>>2]=(a|0)>(e|0)?a-e|0:0;q[c>>2]=0;q[d>>2]=0;break b}q[c>>2]=q[h+12>>2];q[d>>2]=q[h+8>>2];c=q[g+100>>2];if(c){q[b+16>>2]=c}if(!l){break b}c:{c=q[b+16>>2];if((c|0)!=86018){q[b+344>>2]=q[g+56>>2];if((c|0)==86056){break c}q[b+348>>2]=q[g+52>>2];c=q[g+76>>2];q[b+376>>2]=q[g+72>>2];q[b+380>>2]=c;q[a+304>>2]=q[g+64>>2];q[b+392>>2]=q[g+80>>2]}a=q[g+60>>2];q[b+40>>2]=a;q[b+44>>2]=a>>31;break b}q[a+304>>2]=q[g+64>>2];q[b+392>>2]=q[g+80>>2]}Ca=h+16|0;return e|0}function fs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+16>>1],e)>>d;p[a+16>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+18>>1],e)>>d;p[a+18>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+20>>1],e)>>d;p[a+20>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+22>>1],e)>>d;p[a+22>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+24>>1],e)>>d;p[a+24>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+26>>1],e)>>d;p[a+26>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+28>>1],e)>>d;p[a+28>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+30>>1],e)>>d;p[a+30>>1]=b>>>0<1024?b:(b>>31^-1)&1023;g=g+1|0;a=a+h|0;continue}break}}function Lr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+16>>1],e)>>d;p[a+16>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+18>>1],e)>>d;p[a+18>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+20>>1],e)>>d;p[a+20>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+22>>1],e)>>d;p[a+22>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+24>>1],e)>>d;p[a+24>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+26>>1],e)>>d;p[a+26>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+28>>1],e)>>d;p[a+28>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+30>>1],e)>>d;p[a+30>>1]=b>>>0<4096?b:(b>>31^-1)&4095;g=g+1|0;a=a+h|0;continue}break}}function on(a,b){var c=0,d=0,e=0,f=0;c=q[a+4>>2];a:{if(c>>>0>2]){q[a+4>>2]=c+1;c=r[c|0];break a}c=qb(a)}d=c+ -43|0;b:{if(!(d-1|0?d>>>0<=2:0)){d=c+ -48|0;break b}f=(c|0)==45;b=!b;c=q[a+4>>2];c:{if(c>>>0>2]){q[a+4>>2]=c+1;c=r[c|0];break c}c=qb(a)}d=c+ -48|0;if(!(b|d>>>0<10|!q[a+104>>2])){q[a+4>>2]=q[a+4>>2]+ -1}}d:{if(d>>>0<10){d=0;while(1){d=w(d,10)+c|0;b=q[a+4>>2];e:{if(b>>>0>2]){q[a+4>>2]=b+1;c=r[b|0];break e}c=qb(a)}e=c+ -48|0;d=d+ -48|0;if((d|0)<214748364?e>>>0<=9:0){continue}break}b=d;d=d>>31;f:{if(e>>>0>=10){break f}while(1){d=$R(b,d,10,0);c=d+c|0;b=Da;b=c>>>0>>0?b+1|0:b;c=c+ -48|0;d=b+ -1|0;d=c>>>0<4294967248?d+1|0:d;b=c;c=q[a+4>>2];g:{if(c>>>0>2]){q[a+4>>2]=c+1;c=r[c|0];break g}c=qb(a)}e=c+ -48|0;if(e>>>0>9){break f}if((d|0)<21474836?1:(d|0)<=21474836?b>>>0>=2061584302?0:1:0){continue}break}}if(e>>>0<10){while(1){c=q[a+4>>2];h:{if(c>>>0>2]){q[a+4>>2]=c+1;c=r[c|0];break h}c=qb(a)}if(c+ -48>>>0<10){continue}break}}if(q[a+104>>2]){q[a+4>>2]=q[a+4>>2]+ -1}a=b;b=f?0-a|0:a;d=f?0-(d+(0>>0)|0)|0:d;break d}b=0;d=-2147483648;if(!q[a+104>>2]){break d}q[a+4>>2]=q[a+4>>2]+ -1;Da=-2147483648;return 0}Da=d;return b}function ER(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a-(b&-2)|0;g=s[h+8>>1]-s[h+4>>1]|0;k=b>>1;f=((k<<4)+a|0)+ -2|0;i=f-((b&2147483646)<<1)|0;j=s[f>>1]-s[i>>1]|0;m=0-k|0;e=h+6|0;h=(w(k,22)+a|0)+ -2|0;b=2;while(1){if((b|0)==5){n=k<<2;l=0-n|0;b=5;f=h;e=i;while(1){if((b|0)!=9){f=(k<<1)+f|0;e=(m<<1)+e|0;j=w(s[f>>1]-s[e>>1]|0,b)+j|0;b=b+1|0;continue}break}f=16;j=w(j,5)+32>>6;e=w(g,17)+16>>5;g=w(e,3);b=((w(j,-7)-g|0)+(s[((l<<1)+i|0)+16>>1]+s[h+(n<<1)>>1]<<4)|0)+16|0;i=w(e,7);h=w(e,6);m=w(e,5);n=e<<2;l=e<<1;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<16384?c:(b>>31^-1)&16383;c=b+i|0;d=c>>5;p[a+14>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+h|0;d=c>>5;p[a+12>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+m|0;d=c>>5;p[a+10>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+n|0;d=c>>5;p[a+8>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+g|0;d=c>>5;p[a+6>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+l|0;d=c>>5;p[a+4>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<16384?d:(c>>31^-1)&16383;f=f+ -1|0;b=b+j|0;a=(k<<1)+a|0;continue}break}}else{f=(k<<1)+f|0;i=(m<<1)+i|0;j=w(s[f>>1]-s[i>>1]|0,b)+j|0;l=g;g=b<<1;g=l+w(s[g+e>>1]-s[e-g>>1]|0,b)|0;b=b+1|0;continue}break}}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,t=0,u=0,v=0,x=0;e=d>>1;m=s[(2-e<<1)+a>>1];n=m+2|0;f=d&-2;o=s[a-f>>1];d=0;g=s[(a+f|0)+ -2>>1];p=g+2|0;i=s[(7-e<<1)+a>>1];r=i;t=s[(w(e,14)+a|0)+ -2>>1];j=s[(w(e,10)+a|0)+ -2>>1];k=s[(w(e,12)+a|0)+ -2>>1];u=s[((f<<1)+a|0)+ -2>>1];v=u+2|0;h=a+ -2|0;f=s[h>>1];l=(v+f|0)+(g<<1)>>>2|0;g=e^-1;l=l+((p+s[(b?(g<<1)+a|0:h)>>1]|0)+(f<<1)>>>2|0)|0;h=s[(w(e,6)+a|0)+ -2>>1];f=s[((e<<3)+a|0)+ -2>>1];x=s[((b?g:0-e|0)<<1)+a>>1];g=s[(1-e<<1)+a>>1];b=g+2|0;h=((t+(j+(k<<1)|0)|0)+2>>>2)+(l+(h+(p+(u<<1)|0)>>>2|0)+(f+(v+(h<<1)|0)>>>2)+((j+(h+(f<<1)|0)|0)+2>>>2)+((k+(f+(j<<1)|0)|0)+2>>>2)+((k+w(t,3)|0)+2>>>2))+((x+b|0)+(o<<1)>>>2)+((n+o|0)+(g<<1)>>>2)|0;f=s[(3-e<<1)+a>>1];g=s[(4-e<<1)+a>>1];h=h+(f+(b+(m<<1)|0)>>>2|0)+(g+(n+(f<<1)|0)>>>2)|0;b=s[(5-e<<1)+a>>1];f=h+((b+((g<<1)+f|0)|0)+2>>>2|0)|0;h=(b<<1)+g|0;g=s[(6-e<<1)+a>>1];b=f+((h+g|0)+2>>>2|0)+((i+(b+(g<<1)|0)|0)+2>>>2)|0;if(c){r=s[(8-e<<1)+a>>1]}b=((((g+(i<<1)|0)+r|0)+2>>>2|0)+b|0)+8>>4;c=$R(b,b>>31,65537,65537);b=Da;while(1){if((d|0)!=8){q[a+8>>2]=c;q[a+12>>2]=b;q[a>>2]=c;q[a+4>>2]=b;d=d+1|0;a=(e<<1)+a|0;continue}break}}function LN(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0;c=c-(e<<1)|0;f=b;while(1){if((g|0)!=9){j=c+ -1|0;p[f>>1]=r[c+3|0]+((r[c+ -2|0]+w(r[c+1|0]+r[c|0]|0,20)|0)+w(r[c+2|0]+r[j|0]|0,-5)|0);p[f+2>>1]=r[c+4|0]+((r[j|0]+w(r[c+2|0]+r[c+1|0]|0,20)|0)+w(r[c+3|0]+r[c|0]|0,-5)|0);p[f+4>>1]=r[c+5|0]+((r[c|0]+w(r[c+3|0]+r[c+2|0]|0,20)|0)+w(r[c+4|0]+r[c+1|0]|0,-5)|0);p[f+6>>1]=r[c+6|0]+((r[c+1|0]+w(r[c+4|0]+r[c+3|0]|0,20)|0)+w(r[c+5|0]+r[c+2|0]|0,-5)|0);g=g+1|0;c=c+e|0;f=f+8|0;continue}break}n=w(d,3);q=d<<1;c=b+16|0;b=0;while(1){if((b|0)!=4){s=p[c+48>>1];m=p[c+40>>1];e=p[c+32>>1];f=p[c+24>>1];g=p[c+8>>1];k=p[c>>1];j=p[c+16>>1];h=p[c+ -8>>1];l=(((f+p[c+ -16>>1]|0)+w(g+k|0,20)|0)+w(j+h|0,-5)|0)+512|0;i=l>>10;o[a|0]=(r[a|0]+((i>>>0>255?l>>31^-1:i)&255)|0)+1>>>1;h=(((e+h|0)+w(g+j|0,20)|0)+w(f+k|0,-5)|0)+512|0;i=h>>10;l=a+d|0;o[l|0]=(r[l|0]+((i>>>0>255?h>>31^-1:i)&255)|0)+1>>>1;i=(((k+m|0)+w(f+j|0,20)|0)+w(e+g|0,-5)|0)+512|0;k=i>>10;h=a+q|0;o[h|0]=(r[h|0]+((k>>>0>255?i>>31^-1:k)&255)|0)+1>>>1;f=(((g+s|0)+w(e+f|0,20)|0)+w(j+m|0,-5)|0)+512|0;e=f>>10;g=a+n|0;o[g|0]=(r[g|0]+((e>>>0>255?f>>31^-1:e)&255)|0)+1>>>1;b=b+1|0;c=c+2|0;a=a+1|0;continue}break}}function Di(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;i=Ca-32|0;Ca=i;e=d&2147483647;k=e;e=e+ -1006698496|0;j=c;h=c;if(c>>>0<0){e=e+1|0}l=h;h=e;e=k+ -1140785152|0;m=j;if(j>>>0<0){e=e+1|0}a:{if((e|0)==(h|0)&l>>>0>>0|h>>>0>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;j=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}h=c;e=e-((c>>>0<0)+ -1073741824|0)|0;if(a|j^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a;break a}if(!(!j&(k|0)==2147418112?!(a|b):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){e=d<<4|c>>>28;h=c<<4|b>>>28;e=e&524287|2146959360;break a}h=0;e=2146435072;if((k|0)==1140785151&j>>>0>4294967295|k>>>0>1140785151){break a}e=0;j=k>>>16|0;if(j>>>0<15249){break a}e=d&65535|65536;Rb(i+16|0,a,b,c,e,j+ -15233|0);Re(i,a,b,c,e,15361-j|0);c=q[i+4>>2];a=q[i+8>>2];e=q[i+12>>2]<<4|a>>>28;h=a<<4|c>>>28;a=c&268435455;c=a;b=q[i>>2]|((q[i+16>>2]|q[i+24>>2])!=0|(q[i+20>>2]|q[i+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=h+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}if(b|c^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a}Ca=i+32|0;f(0,h|0);f(1,d&-2147483648|e);return+g()}function Fl(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;q[a+64>>2]=0;q[a+8>>2]=0;g=a- -64|0;f=a+8|0;a:{b:{if(b+ -2>>>0>15){break b}q[a>>2]=b;e=1<>2]=d;if(d){break c}break b}d=rc(e<<2);q[g>>2]=d;if(!d){break b}}d=rc(e<<3);q[a+12>>2]=d;if(!d){break b}q[a+56>>2]=0;q[a+4>>2]=c;q[a+52>>2]=131;q[a+48>>2]=131;q[a+44>>2]=132;q[a+40>>2]=133;q[a+36>>2]=134;q[a+32>>2]=135;c=((b|0)>3?b:3)+1|0;b=4;while(1){if((b|0)!=(c|0)){cu(b);b=b+1|0;continue}break}d:{c=q[a+56>>2];e:{if((c|0)==2){$t(a);break e}f:{f=q[f>>2];if(!f){break f}b=0;d=(e|0)>0?e:0;h=e+ -1|0;if((c|0)==1){while(1){if((b|0)==(d|0)){break f}i=f+((0-Ud(b,e,q[a+4>>2])&h)<<1)|0,j=b<<1&2|(b>>>1&1|b&65532),p[i>>1]=j;b=b+1|0;continue}}while(1){if((b|0)==(d|0)){break f}i=f+((0-Ud(b,e,q[a+4>>2])&h)<<1)|0,j=b,p[i>>1]=j;b=b+1|0;continue}}g=q[g>>2];if(g){break d}}return 0}b=0;f=(e|0)>0?e:0;d=e+ -1|0;if((c|0)==1){c=0;while(1){if((b|0)==(f|0)){break a}i=g+((d&0-Ud(b,e,q[a+4>>2]))<<2)|0,j=b<<1&2|(b>>>1&1|b&2147483644),q[i>>2]=j;b=b+1|0;continue}}c=0;while(1){if((b|0)==(f|0)){break a}i=g+((d&0-Ud(b,e,q[a+4>>2]))<<2)|0,j=b,q[i>>2]=j;b=b+1|0;continue}}Wa(f);Wa(g);Wa(a+12|0);c=-1}return c}function Ll(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-32|0;Ca=f;d=q[a+28>>2];pc(b);g=-28;a:{if(!q[a+28>>2]){break a}e=q[a+12>>2];h=0;b:{if(!e){break b}h=q[e+92>>2]?1:q[e+108>>2]!=0}if(!h){break a}c=q[d+76>>2];c:{if(q[c+248>>2]){eH(b,c);break c}g=Ml(a,b);if((g|0)<0){break a}}d:{if(q[a+8>>2]){break d}g=Tu(a,b);if((g|0)>-1){break d}pc(b);break a}c=q[a+360>>2];i=c+1|0;q[a+360>>2]=i;g=0;if(!(r[a+60|0]&32)){break a}if(!c){q[d+120>>2]=q[b+80>>2];c=q[a+8>>2];if(c>>>0>1){break a}if(c-1){q[d+124>>2]=q[b+68>>2];q[d+128>>2]=q[b+72>>2];break a}e=d;c=q[b+232>>2];if(!c){c=q[a+344>>2]}q[e+132>>2]=c;q[d+136>>2]=q[b+352>>2];a=q[b+244>>2];q[d+144>>2]=q[b+240>>2];q[d+148>>2]=a;break a}if((c|0)<1){break a}h=q[d+120>>2]!=q[b+80>>2];c=q[a+8>>2];e=h;e:{if(c>>>0>1){break e}e=h|(q[d+124>>2]==q[b+68>>2]?q[d+128>>2]!=q[b+72>>2]:1);if(c-1){break e}e=1;c=q[d+132>>2];if(!((c|0)!=q[b+232>>2]|q[a+344>>2]!=(c|0)|q[d+136>>2]!=q[b+352>>2])){e=q[d+144>>2]!=q[b+240>>2]|q[d+148>>2]!=q[b+244>>2]}e=e|h}if(!e){break a}e=d;d=q[d+116>>2]+1|0;q[e+116>>2]=d;e=q[b+108>>2];c=q[b+104>>2];q[f+16>>2]=d;q[f+8>>2]=c;q[f+12>>2]=e;q[f>>2]=i;Ta(a,32,13203,f);pc(b);g=-1668179713}Ca=f+32|0;return g}function jt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;i=8-f|0;g=8-e|0;h=w(i,g);g=w(f,g);i=w(e,i);a:{f=w(e,f);if(f){e=0;k=(d|0)>0?d:0;l=c+4|0;n=c+3|0;p=c+2|0;q=c+1|0;while(1){if((e|0)==(k|0)){break a}d=b+c|0;j=b+q|0;o[a|0]=(((w(r[b|0],h)+w(i,r[b+1|0])|0)+w(g,r[d|0])|0)+w(f,r[j|0])|0)+32>>>6;m=(w(r[b+1|0],h)+w(i,r[b+2|0])|0)+w(g,r[j|0])|0;j=b+p|0;o[a+1|0]=(m+w(f,r[j|0])|0)+32>>>6;m=(w(r[b+2|0],h)+w(i,r[b+3|0])|0)+w(g,r[j|0])|0;j=b+n|0;o[a+2|0]=(m+w(f,r[j|0])|0)+32>>>6;o[a+3|0]=(((w(r[b+3|0],h)+w(i,r[b+4|0])|0)+w(g,r[j|0])|0)+w(f,r[b+l|0])|0)+32>>>6;e=e+1|0;a=a+c|0;b=d;continue}}f=g+i|0;if(!f){e=0;d=(d|0)>0?d:0;while(1){if((d|0)==(e|0)){break a}o[a|0]=w(r[b|0],h)+32>>>6;o[a+1|0]=w(r[b+1|0],h)+32>>>6;o[a+2|0]=w(r[b+2|0],h)+32>>>6;o[a+3|0]=w(r[b+3|0],h)+32>>>6;e=e+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;i=g+3|0;k=g+2|0;l=g+1|0;e=0;d=(d|0)>0?d:0;while(1){if((d|0)==(e|0)){break a}o[a|0]=(w(r[b|0],h)+w(f,r[b+g|0])|0)+32>>>6;o[a+1|0]=(w(r[b+1|0],h)+w(f,r[b+l|0])|0)+32>>>6;o[a+2|0]=(w(r[b+2|0],h)+w(f,r[b+k|0])|0)+32>>>6;o[a+3|0]=(w(r[b+3|0],h)+w(f,r[b+i|0])|0)+32>>>6;e=e+1|0;b=b+c|0;a=a+c|0;continue}}}function Hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;x=w(c,7);y=w(c,6);z=w(c,5);A=c<<2;B=w(c,3);C=c<<1;D=w(d,10);E=w(d,9);F=d<<3;G=w(d,7);H=w(d,6);I=w(d,5);J=d<<2;K=w(d,3);L=0-d|0;s=d<<1;M=0-s|0;while(1){if((t|0)!=8){N=r[b+D|0];u=r[b+E|0];q=r[b+F|0];p=r[b+G|0];j=r[b+H|0];e=r[b+I|0];f=r[b+J|0];g=r[b+K|0];v=g+16|0;m=r[b+d|0];i=r[b|0];k=r[b+s|0];n=r[b+L|0];l=((v+r[b+M|0]|0)+w(m+i|0,20)|0)+w(k+n|0,-5)|0;h=l>>5;o[a|0]=h>>>0>255?l>>31^-1:h;h=n;n=f+16|0;l=((h+n|0)+w(m+k|0,20)|0)+w(g+i|0,-5)|0;h=l>>5;o[a+c|0]=h>>>0>255?l>>31^-1:h;h=e+16|0;l=((h+i|0)+w(g+k|0,20)|0)+w(f+m|0,-5)|0;i=l>>5;o[a+C|0]=i>>>0>255?l>>31^-1:i;i=(((j+m|0)+w(f+g|0,20)|0)+w(e+k|0,-5)|0)+16|0;m=i>>5;o[a+B|0]=m>>>0>255?i>>31^-1:m;k=(((k+p|0)+w(e+f|0,20)|0)+w(g+j|0,-5)|0)+16|0;g=k>>5;o[a+A|0]=g>>>0>255?k>>31^-1:g;g=((q+v|0)+w(e+j|0,20)|0)+w(f+p|0,-5)|0;f=g>>5;o[a+z|0]=f>>>0>255?g>>31^-1:f;f=((n+u|0)+w(j+p|0,20)|0)+w(e+q|0,-5)|0;e=f>>5;o[a+y|0]=e>>>0>255?f>>31^-1:e;e=((h+N|0)+w(p+q|0,20)|0)+w(j+u|0,-5)|0;j=e>>5;o[a+x|0]=j>>>0>255?e>>31^-1:j;t=t+1|0;b=b+1|0;a=a+1|0;continue}break}}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a-(b&-2)|0;g=s[h+8>>1]-s[h+4>>1]|0;k=b>>1;f=((k<<4)+a|0)+ -2|0;i=f-((b&2147483646)<<1)|0;j=s[f>>1]-s[i>>1]|0;m=0-k|0;e=h+6|0;h=(w(k,22)+a|0)+ -2|0;b=2;while(1){if((b|0)==5){n=k<<2;l=0-n|0;b=5;f=h;e=i;while(1){if((b|0)!=9){f=(k<<1)+f|0;e=(m<<1)+e|0;j=w(s[f>>1]-s[e>>1]|0,b)+j|0;b=b+1|0;continue}break}f=16;j=w(j,5)+32>>6;e=w(g,17)+16>>5;g=w(e,3);b=((w(j,-7)-g|0)+(s[((l<<1)+i|0)+16>>1]+s[h+(n<<1)>>1]<<4)|0)+16|0;i=w(e,7);h=w(e,6);m=w(e,5);n=e<<2;l=e<<1;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<1024?c:(b>>31^-1)&1023;c=b+i|0;d=c>>5;p[a+14>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+h|0;d=c>>5;p[a+12>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+m|0;d=c>>5;p[a+10>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+n|0;d=c>>5;p[a+8>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+g|0;d=c>>5;p[a+6>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+l|0;d=c>>5;p[a+4>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<1024?d:(c>>31^-1)&1023;f=f+ -1|0;b=b+j|0;a=(k<<1)+a|0;continue}break}}else{f=(k<<1)+f|0;i=(m<<1)+i|0;j=w(s[f>>1]-s[i>>1]|0,b)+j|0;l=g;g=b<<1;g=l+w(s[g+e>>1]-s[e-g>>1]|0,b)|0;b=b+1|0;continue}break}}function ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a-(b&-2)|0;g=s[h+8>>1]-s[h+4>>1]|0;k=b>>1;f=((k<<4)+a|0)+ -2|0;i=f-((b&2147483646)<<1)|0;j=s[f>>1]-s[i>>1]|0;m=0-k|0;e=h+6|0;h=(w(k,22)+a|0)+ -2|0;b=2;while(1){if((b|0)==5){n=k<<2;l=0-n|0;b=5;f=h;e=i;while(1){if((b|0)!=9){f=(k<<1)+f|0;e=(m<<1)+e|0;j=w(s[f>>1]-s[e>>1]|0,b)+j|0;b=b+1|0;continue}break}f=16;j=w(j,5)+32>>6;e=w(g,17)+16>>5;g=w(e,3);b=((w(j,-7)-g|0)+(s[((l<<1)+i|0)+16>>1]+s[h+(n<<1)>>1]<<4)|0)+16|0;i=w(e,7);h=w(e,6);m=w(e,5);n=e<<2;l=e<<1;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<4096?c:(b>>31^-1)&4095;c=b+i|0;d=c>>5;p[a+14>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+h|0;d=c>>5;p[a+12>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+m|0;d=c>>5;p[a+10>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+n|0;d=c>>5;p[a+8>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+g|0;d=c>>5;p[a+6>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+l|0;d=c>>5;p[a+4>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<4096?d:(c>>31^-1)&4095;f=f+ -1|0;b=b+j|0;a=(k<<1)+a|0;continue}break}}else{f=(k<<1)+f|0;i=(m<<1)+i|0;j=w(s[f>>1]-s[i>>1]|0,b)+j|0;l=g;g=b<<1;g=l+w(s[g+e>>1]-s[e-g>>1]|0,b)|0;b=b+1|0;continue}break}}function Bu(a,b,c,d,e,f){var g=0,h=0,i=0;i=q[a+548>>2];g=q[a+556>>2];c=w(g,c)+b|0;b=q[a+552>>2];h=(c|0)<0?0:(c|0)<(b|0)?c:b+ -1|0;c=q[i+(h<<2)>>2];d=w(e,g)+d|0;d=(d|0)<0?0:(d|0)>(b|0)?b:d;g=q[i+(d<<2)>>2];b=q[a>>2];e=q[b+592>>2];a:{if(q[e+32>>2]?e:0){break a}if(!((h|0)<=(d|0)?(g|0)>=(c|0):0)){Ta(b,16,3971,0);return}if(!q[b+572>>2]){break a}if(f&18){q[a+572>>2]=q[a+572>>2]+((d^-1)+h|0);e=-20}else{e=-2}if(f&36){q[a+572>>2]=q[a+572>>2]+((d^-1)+h|0);e=e&-38}if(f&72){q[a+572>>2]=q[a+572>>2]+((d^-1)+h|0);e=e&-73}if(f&14){q[a+572>>2]=2147483647;q[a+576>>2]=1}b:{if((e|0)!=-128){b=c;while(1){if((b|0)==(g|0)){break b}i=q[a+580>>2]+b|0;o[i|0]=r[i|0]&e;b=b+1|0;continue}}Za(c+q[a+580>>2]|0,0,g-c|0)}c:{if((d|0)==q[a+552>>2]){q[a+572>>2]=2147483647;break c}b=g+q[a+580>>2]|0;o[b|0]=r[b|0]&e;b=g+q[a+580>>2]|0;o[b|0]=r[b|0]|f}b=c+q[a+580>>2]|0;o[b|0]=r[b|0]|1;if((c|0)<1){break a}c=q[a>>2];if(r[c+696|0]&2){break a}b=q[q[a>>2]+592>>2];d=!q[a+700>>2];d:{if(!(!q[a+672>>2]|(q[b+32>>2]?b:0))){break d}d=0}if(!d|(w(q[a+556>>2],q[c+268>>2])|0)>=(h|0)|(r[q[a+580>>2]+q[(q[a+548>>2]+(h<<2)|0)+ -4>>2]|0]&254)==112){break a}q[a+572>>2]=2147483647;q[a+576>>2]=1}}function ft(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=q[a+27016>>2];e=q[a+27024>>2];b=q[a+25632>>2];d=w(e,(b|0)>1?b:1)<<1;b=sd(d,8);q[a+25740>>2]=b;a:{b:{if(!b){break b}q[q[a+25628>>2]+21704>>2]=b;b=w(e,c+1|0);c=nb(w(b,48));q[a+25980>>2]=c;if(c?0:b){break b}c=nb(b+q[a+27024>>2]<<1);q[a+28236>>2]=c;if(b+q[a+27024>>2]&2147483647?!c:0){break b}c=b<<1;e=nb(c);q[a+26400>>2]=e;if(e?0:c){break b}c=nb(b);q[a+26404>>2]=c;if(c?0:b){break b}c=sd(d,16);q[a+26408>>2]=c;if(!c){break b}d=sd(d,16);q[a+26412>>2]=d;if(!d){break b}q[q[a+25628>>2]+32848>>2]=q[a+26408>>2];q[q[a+25628>>2]+32852>>2]=q[a+26412>>2];d=b<<2;c=nb(d);q[a+26416>>2]=c;if(c?0:d){break b}c=nb(b);q[a+26396>>2]=c;if(c?0:b){break b}Za(q[a+28236>>2],255,b+q[a+27024>>2]<<1);q[a+26380>>2]=(q[a+28236>>2]+(q[a+27024>>2]<<2)|0)+2;b=nb(d);q[a+26368>>2]=b;if(b?0:d){break b}c=nb(d);q[a+26372>>2]=c;if(c?0:d){break b}e=0;b=0;while(1){d=0;if((b|0)>=q[a+27016>>2]){break a}while(1){if((d|0)>2]){f=w(q[a+27024>>2],b)+d|0;g=f<<2;q[g+q[a+26368>>2]>>2]=w(q[a+26376>>2],b)+d<<2;q[c+g>>2]=(f|0)%(q[a+27024>>2]<<1)<<3;d=d+1|0;continue}break}b=b+1|0;continue}}Ta(q[a+4>>2],16,4041,0);bf(a);e=-48}return e}function Jd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;c=c-((e&2147483646)<<1)|0;h=e>>1<<1;e=b;while(1){if((g|0)!=9){j=c+ -2|0;p[e>>1]=s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[j>>1]|0,-5)|0);p[e+2>>1]=s[c+8>>1]+((s[j>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0);p[e+4>>1]=s[c+10>>1]+((s[c>>1]+w(s[c+6>>1]+s[c+4>>1]|0,20)|0)+w(s[c+8>>1]+s[c+2>>1]|0,-5)|0);p[e+6>>1]=s[c+12>>1]+((s[c+2>>1]+w(s[c+8>>1]+s[c+6>>1]|0,20)|0)+w(s[c+10>>1]+s[c+4>>1]|0,-5)|0);g=g+1|0;e=e+16|0;c=c+h|0;continue}break}c=b+32|0;b=0;n=(d&-2)<<1;l=d>>1;o=w(l,3)<<1;while(1){if((b|0)!=4){q=p[c+96>>1];j=p[c+80>>1];d=p[c+64>>1];e=p[c+48>>1];g=p[c+16>>1];i=p[c>>1];h=p[c+32>>1];f=p[c+ -16>>1];k=(((e+p[c+ -32>>1]|0)+w(g+i|0,20)|0)+w(h+f|0,-5)|0)+512|0;m=k>>10;p[a>>1]=m>>>0<512?m:(k>>31^-1)&511;f=(((d+f|0)+w(g+h|0,20)|0)+w(e+i|0,-5)|0)+512|0;k=f>>10;p[(l<<1)+a>>1]=k>>>0<512?k:(f>>31^-1)&511;i=(((j+i|0)+w(e+h|0,20)|0)+w(d+g|0,-5)|0)+512|0;f=i>>10;p[a+n>>1]=f>>>0<512?f:(i>>31^-1)&511;d=(((g+q|0)+w(d+e|0,20)|0)+w(h+j|0,-5)|0)+512|0;e=d>>10;p[a+o>>1]=e>>>0<512?e:(d>>31^-1)&511;b=b+1|0;c=c+2|0;a=a+2|0;continue}break}}function FE(){var a=0,b=0,c=0,d=0,e=0;if(!r[3317640]){q[829671]=256;q[829669]=3317648;o[3317640]=1;pb(3318672,8,20,165952,165984,1,1);q[837867]=8192;q[837865]=3318688;pb(3351456,13,36,166016,166064,1,1);while(1){if((a|0)==4){a=0;b=0;while(1){if((a|0)==3){a=0;while(1){if((b|0)==7){b=0;while(1){if((a|0)==15){while(1){if((b|0)!=6){a=b+1|0;c=a<<4;q[c+3389452>>2]=8;q[c+3389444>>2]=(b<<5)+3389248;b=b<<4;pb(c+3389440|0,3,7,b+167376|0,b+167488|0,1,1);b=a;continue}break}q[847487]=96;q[847485]=3389552;pb(3389936,6,16,167472,167584,1,1);EE()}else{c=a+1|0;d=c<<4;q[d+3389004>>2]=512;q[d+3388996>>2]=(a<<11)+3358272;a=a<<4;pb(d+3388992|0,9,16,a+166864|0,a+167120|0,1,1);a=c;continue}break}}else{c=b+1|0;d=c<<4;q[d+3358156>>2]=32;q[d+3358148>>2]=(b<<7)+3357248;b=b<<3;pb(d+3358144|0,5,8,b+166704|0,b+166768|0,1,1);b=c;continue}break}}else{c=a+1|0;d=c<<4;q[d+3357196>>2]=8;q[d+3357188>>2]=(a<<5)+3357088;a=a<<2;pb(d+3357184|0,3,4,a+166672|0,a+166684|0,1,1);a=c;continue}break}}else{c=a<<4;q[c+3357028>>2]=(b<<2)+3351472;d=q[(a<<2)+166112>>2];q[c+3357036>>2]=d;e=c+3357024|0;c=w(a,68);pb(e,8,68,c+166128|0,c+166400|0,1,1);a=a+1|0;b=b+d|0;continue}break}}}function Bs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+16>>1],e)>>d;p[a+16>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+18>>1],e)>>d;p[a+18>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+20>>1],e)>>d;p[a+20>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+22>>1],e)>>d;p[a+22>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+24>>1],e)>>d;p[a+24>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+26>>1],e)>>d;p[a+26>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+28>>1],e)>>d;p[a+28>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+30>>1],e)>>d;p[a+30>>1]=b>>>0<512?b:(b>>31^-1)&511;g=g+1|0;a=a+h|0;continue}break}}function mk(a,b,c){var d=0,e=0,f=0,g=0,h=x(0),i=0,j=0,k=0,l=0,m=0,n=x(0);i=Ca-16|0;Ca=i;e=-28;a:{if(b+ -2>>>0>11){break a}d=nb(672);q[i+12>>2]=d;e=-48;if(!d){break a}q[d+652>>2]=824;q[d+648>>2]=825;q[d+640>>2]=826;q[d+12>>2]=1;f=15<>2]=f;q[d+644>>2]=827;q[d+8>>2]=(f|0)/2;b=b+ -1|0;q[d>>2]=b;b:{if((Fl(d+24|0,b,1)|0)<0){break b}if(iD(d)){break b}g=f<<1;b=md(g,16);q[d+92>>2]=b;if(!b){break b}f=md(q[d+8>>2],8);q[d+96>>2]=f;if(!f){break b}b=q[d+8>>2];j=c<0?+x(x(b|0)+x(.125)):.125;e=0;k=(b|0)>0?b:0;l=+(g|0);c=E(y(c));b=0;while(1)if((b|0)==(k|0)){while(1){if((e|0)!=19){c:{if(e>>>0<=14){b=(e<<3)+d|0;c=+(e|0)*6.283185307179586/15;h=x(q[d+12>>2]?c:-c);m=b,n=qe(h),u[m+132>>2]=n;m=b,n=Qe(h),u[m+128>>2]=n;break c}b=(e<<3)+d|0;f=q[b+12>>2];q[b+128>>2]=q[b+8>>2];q[b+132>>2]=f}e=e+1|0;continue}break}q[d+288>>2]=1062149053;q[d+292>>2]=1058437400;q[d+280>>2]=1050556281;q[d+284>>2]=1064532081;if(q[d+12>>2]){q[d+292>>2]=-1089046248;q[d+284>>2]=-1082951567}q[a>>2]=d;e=0;break a}else{g=f+(b<<3)|0;h=x((j+ +(b|0))*6.283185307179586/l);m=g,n=x(c*+qe(h)),u[m+4>>2]=n;m=g,n=x(c*+Qe(h)),u[m>>2]=n;b=b+1|0;continue}}Ki(i+12|0)}Ca=i+16|0;return e}function WG(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ca-16|0;Ca=i;e=-28;c=q[a+68>>2];a:{if((c|0)<1){break a}d=q[a+72>>2];if((d|0)<1){break a}e=-68;f=q[a+392>>2];j=q[a+396>>2];if(f>>>0>=2147483647-j>>>0){break a}g=q[a+384>>2];h=q[a+388>>2];if(g+h>>>0>=d>>>0|j+f>>>0>=c>>>0|g>>>0>=2147483647-h>>>0){break a}e=-558323010;c=q[a+80>>2];f=c>>>0>195?0:w(c,152)+59184|0;if(!f){break a}if(r[f+8|0]&12){b=q[a+388>>2];e=0;q[a+388>>2]=0;c=q[a+396>>2];q[a+396>>2]=0;q[a+68>>2]=q[a+68>>2]-c;q[a+72>>2]=q[a+72>>2]-b;break a}Vo(i,a,f);b:{if(b&1){break b}c=2147483647;j=2147483647;g=q[a+392>>2];if(g){j=r[(w(g&0-g,125613361)>>>27|0)+47248|0]}b=0;while(1){d=b<<2;if(q[d+a>>2]){k=c;d=q[d+i>>2];h=2147483647;c:{if(!d){break c}h=r[(w(d&0-d,125613361)>>>27|0)+47248|0]}c=(h|0)>(c|0)?k:h;b=b+1|0;continue}break}if((j|0)<(c|0)){break a}if((c|0)>4){break b}q[a+392>>2]=g&-1<<(j-c|0)+5;Vo(i,a,f)}e=0;while(1){b=e<<2;c=b+a|0;d=q[c>>2];if(d){q[c>>2]=d+q[b+i>>2];e=e+1|0;continue}break}q[a+68>>2]=q[a+68>>2]-(q[a+396>>2]+q[a+392>>2]|0);q[a+72>>2]=q[a+72>>2]-(q[a+388>>2]+q[a+384>>2]|0);q[a+392>>2]=0;q[a+396>>2]=0;q[a+384>>2]=0;q[a+388>>2]=0;e=0}Ca=i+16|0;return e}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,t=0,u=0,v=0;f=d>>1;g=w(f,14)+a|0;p=s[g+ -2>>1];h=w(f,12)+a|0;l=s[h+ -2>>1];i=w(f,10)+a|0;m=s[i+ -2>>1];j=(f<<3)+a|0;n=s[j+ -2>>1];k=w(f,6)+a|0;o=s[k+ -2>>1];c=d&-2;d=(c<<1)+a|0;r=s[d+ -2>>1];e=a+ -2|0;t=s[e>>1];c=a+c|0;u=s[c+ -2>>1];v=u+2|0;e=$R((v+s[(b?((f^-1)<<1)+a|0:e)>>1]|0)+(t<<1)>>>2|0,0,65537,65537);q[a+8>>2]=e;b=Da;q[a+12>>2]=b;q[a>>2]=e;q[a+4>>2]=b;e=r+2|0;b=$R((e+t|0)+(u<<1)>>>2|0,0,65537,65537);q[c+8>>2]=b;a=Da;q[c+12>>2]=a;q[c>>2]=b;q[c+4>>2]=a;b=$R(((r<<1)+v|0)+o>>>2|0,0,65537,65537);q[d+8>>2]=b;a=Da;q[d+12>>2]=a;q[d>>2]=b;q[d+4>>2]=a;b=$R((e+(o<<1)|0)+n>>>2|0,0,65537,65537);q[k+8>>2]=b;a=Da;q[k+12>>2]=a;q[k>>2]=b;q[k+4>>2]=a;b=$R((((n<<1)+o|0)+m|0)+2>>>2|0,0,65537,65537);q[j+8>>2]=b;a=Da;q[j+12>>2]=a;q[j>>2]=b;q[j+4>>2]=a;b=$R((((m<<1)+n|0)+l|0)+2>>>2|0,0,65537,65537);q[i+8>>2]=b;a=Da;q[i+12>>2]=a;q[i>>2]=b;q[i+4>>2]=a;b=$R((((l<<1)+m|0)+p|0)+2>>>2|0,0,65537,65537);q[h+8>>2]=b;a=Da;q[h+12>>2]=a;q[h>>2]=b;q[h+4>>2]=a;b=$R((w(p,3)+l|0)+2>>>2|0,0,65537,65537);q[g+8>>2]=b;a=Da;q[g+12>>2]=a;q[g>>2]=b;q[g+4>>2]=a}function Vp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a-(b&-2)|0;g=s[h+8>>1]-s[h+4>>1]|0;k=b>>1;f=((k<<4)+a|0)+ -2|0;i=f-((b&2147483646)<<1)|0;j=s[f>>1]-s[i>>1]|0;m=0-k|0;e=h+6|0;h=(w(k,22)+a|0)+ -2|0;b=2;while(1){if((b|0)==5){n=k<<2;l=0-n|0;b=5;f=h;e=i;while(1){if((b|0)!=9){f=(k<<1)+f|0;e=(m<<1)+e|0;j=w(s[f>>1]-s[e>>1]|0,b)+j|0;b=b+1|0;continue}break}f=16;j=w(j,5)+32>>6;e=w(g,17)+16>>5;g=w(e,3);b=((w(j,-7)-g|0)+(s[((l<<1)+i|0)+16>>1]+s[h+(n<<1)>>1]<<4)|0)+16|0;i=w(e,7);h=w(e,6);m=w(e,5);n=e<<2;l=e<<1;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<512?c:(b>>31^-1)&511;c=b+i|0;d=c>>5;p[a+14>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+h|0;d=c>>5;p[a+12>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+m|0;d=c>>5;p[a+10>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+n|0;d=c>>5;p[a+8>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+g|0;d=c>>5;p[a+6>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+l|0;d=c>>5;p[a+4>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<512?d:(c>>31^-1)&511;f=f+ -1|0;b=b+j|0;a=(k<<1)+a|0;continue}break}}else{f=(k<<1)+f|0;i=(m<<1)+i|0;j=w(s[f>>1]-s[i>>1]|0,b)+j|0;l=g;g=b<<1;g=l+w(s[g+e>>1]-s[e-g>>1]|0,b)|0;b=b+1|0;continue}break}}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b>>1;b=0;while(1){if((b|0)!=4){h=s[(b-d<<1)+a>>1]+(s[((w(b,d)<<1)+a|0)+ -2>>1]+h|0)|0;i=b+4|0;e=s[(i-d<<1)+a>>1]+e|0;c=s[((w(b+12|0,d)<<1)+a|0)+ -2>>1]+c|0;f=s[((w(b+8|0,d)<<1)+a|0)+ -2>>1]+f|0;g=s[((w(d,i)<<1)+a|0)+ -2>>1]+g|0;b=b+1|0;continue}break}i=$R(e+2>>>2|0,0,65537,65537);j=Da;h=$R(h+4>>>3|0,0,65537,65537);k=Da;l=c+2>>>2|0;m=f+2>>>2|0;n=g+2>>>2|0;b=e+4|0;e=b+c>>>3|0;f=b+f>>>3|0;g=b+g>>>3|0;b=0;while(1){if((b|0)==4){e=$R(e,0,65537,65537);h=Da;i=$R(l,0,65537,65537);j=Da;f=$R(f,0,65537,65537);k=Da;l=$R(m,0,65537,65537);m=Da;g=$R(g,0,65537,65537);o=Da;n=$R(n,0,65537,65537);p=Da;c=4;while(1){b=8;if((c|0)==8){while(1){c=12;if((b|0)==12){while(1){if((c|0)!=16){b=(w(c,d)<<1)+a|0;q[b+8>>2]=e;q[b+12>>2]=h;q[b>>2]=i;q[b+4>>2]=j;c=c+1|0;continue}break}}else{c=(w(b,d)<<1)+a|0;q[c+8>>2]=f;q[c+12>>2]=k;q[c>>2]=l;q[c+4>>2]=m;b=b+1|0;continue}break}}else{b=(w(c,d)<<1)+a|0;q[b+8>>2]=g;q[b+12>>2]=o;q[b>>2]=n;q[b+4>>2]=p;c=c+1|0;continue}break}}else{c=(w(b,d)<<1)+a|0;q[c+8>>2]=i;q[c+12>>2]=j;q[c>>2]=h;q[c+4>>2]=k;b=b+1|0;continue}break}}function fx(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=Ca-224|0;Ca=f;q[f+28>>2]=0;h=Xa(c);q[d+44>>2]=h;if(!(!h|q[d+16>>2]!=1)){Oc(b,30889,0);if(a){q[a+6740>>2]=1}q[d+40>>2]=0;q[d+16>>2]=0}if(Xa(c)){h=q[c+8>>2]+14|0;g=q[c+16>>2];q[c+8>>2]=g>>>0>h>>>0?h:g}h=Xa(c);g=q[d>>2];if(!((g|0)!=6?(g|0)!=20:0)){g=q[c+8>>2]+3|0;i=q[c+16>>2];q[c+8>>2]=i>>>0>g>>>0?g:i}a:{b:{if(!e){e=q[c+8>>2]+4|0;g=q[c+16>>2];q[c+8>>2]=g>>>0>e>>>0?e:g;e=mm(b,d,f+32|0,c,0);q[f+28>>2]=e;if((e|0)>=0){break b}break a}e=Me(b,f+32|0,f+28|0,e);if(e){break a}e=q[f+28>>2]}c:{if((dx(f+32|0,e)|0)>=2){q[d+40>>2]=0;break c}if(q[d+16>>2]!=1|q[d+40>>2]!=-1){break c}q[d+40>>2]=1}if(a){e=jd(a,f+32|0,e,3,0);if(e){break a}}d:{if(h){e:{a=q[d>>2];if(a>>>0>23){break e}if(!(1<>2]+5|0;e=q[c+16>>2];q[c+8>>2]=e>>>0>a>>>0?a:e;a=q[c+8>>2]+11|0;e=q[c+16>>2];q[c+8>>2]=e>>>0>a>>>0?a:e;break e}a=Ua(c,3);if(!a){break e}q[f+16>>2]=a;Oc(b,31456,f+16|0);break d}a=q[c+8>>2]+1|0;e=q[c+16>>2];q[c+8>>2]=e>>>0>a>>>0?a:e}e=0;a=q[d>>2];if(a>>>0>23|!(1<>2]=a;Oc(b,31853,f)}e=-1163346256}Ca=f+224|0;return e}function eb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0;u=(g|0)>0?g:0;while(1){if((p|0)!=(u|0)){m=w(d,p)+a|0;g=m;j=w(e,p)+b|0;i=j;o=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);h=w(f,p)+c|0;s=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);k=o|s;i=r[i+4|0]|r[i+5|0]<<8|(r[i+6|0]<<16|r[i+7|0]<<24);l=r[h+4|0]|r[h+5|0]<<8|(r[h+6|0]<<16|r[h+7|0]<<24);n=i|l;i=i^l;l=o^s;o=i>>>1|0;t=q[g>>2];l=((i&1)<<31|l>>>1)&2147450879;s=k-l|0;i=t|s;m=q[g+4>>2];k=n-((o&2147450879)+(k>>>0>>0)|0)|0;n=m|k;k=k^m;m=s^t;l=k>>>1|0;k=((k&1)<<31|m>>>1)&2147450879;q[g>>2]=i-k;q[g+4>>2]=n-((l&2147450879)+(i>>>0>>0)|0);i=q[g+12>>2];l=r[j+8|0]|r[j+9|0]<<8|(r[j+10|0]<<16|r[j+11|0]<<24);n=r[h+8|0]|r[h+9|0]<<8|(r[h+10|0]<<16|r[h+11|0]<<24);k=l|n;j=r[j+12|0]|r[j+13|0]<<8|(r[j+14|0]<<16|r[j+15|0]<<24);h=r[h+12|0]|r[h+13|0]<<8|(r[h+14|0]<<16|r[h+15|0]<<24);o=j|h;j=h^j;h=l^n;l=j>>>1|0;m=q[g+8>>2];h=((j&1)<<31|h>>>1)&2147450879;n=k-h|0;j=m|n;h=o-((l&2147450879)+(k>>>0>>0)|0)|0;k=h|i;h=h^i;i=h>>>1|0;h=((h&1)<<31|(n^m)>>>1)&2147450879;q[g+8>>2]=j-h;q[g+12>>2]=k-((i&2147450879)+(j>>>0>>0)|0);p=p+1|0;continue}break}}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;f=r[(w(f,87968)+a|0)+88036|0];l=Za(b,0,19456);b=f>>>0>16?(f<<1)+ -32|0:0;j=(b|0)>0?b:0;h=q[a+72>>2];while(1){f=0;if((h|0)==(g|0)){f=q[a+80>>2];g=f+h|0;g=g>>>0>>0?h:g;while(1){f=0;if((h|0)==(g|0)){c=(b|0)>38?b:38;h=q[a+76>>2];g=0;while(1){f=b;if((h|0)==(g|0)){a=q[a+84>>2];c=a+h|0;a=c>>>0>>0?h:c;c=(b|0)>32?b:32;while(1){f=b;if((a|0)!=(h|0)){while(1){if((c|0)!=(f|0)){e=((f<<8)+l|0)+(h<<2)|0;g=((f<<9)+d|0)+(h<<3)|0;q[e>>2]=q[g>>2];q[e+9728>>2]=q[g+4>>2];f=f+1|0;continue}break}h=h+1|0;continue}break}}else{while(1){if((c|0)!=(f|0)){j=((f<<8)+l|0)+(g<<2)|0;i=(w(g,320)+e|0)+(f<<3)|0;q[j>>2]=q[i+16>>2];q[j+9728>>2]=q[i+20>>2];f=f+1|0;continue}break}g=g+1|0;continue}break}}else{while(1){if((f|0)!=(j|0)){i=((f<<8)+l|0)+(h<<2)|0;k=((f<<9)+c|0)+(h<<3)|0;q[i>>2]=q[k+16384>>2];q[i+9728>>2]=q[k+16388>>2];f=f+1|0;continue}break}h=h+1|0;continue}break}}else{while(1){if((f|0)!=(j|0)){i=((f<<8)+l|0)+(g<<2)|0;k=(w(g,320)+e|0)+(f<<3)|0;q[i>>2]=q[k+16>>2];q[i+9728>>2]=q[k+20>>2];f=f+1|0;continue}break}g=g+1|0;continue}break}return 0}function qm(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-48|0;Ca=e;q[e+32>>2]=b;a:{b:{if(r[a+156|0]){b=q[c+4>>2];c:{if(o[b+11|0]<=-1){b=q[b>>2];d=q[c+8>>2];if((r[b+d|0]&240)==16){break c}break b}d=q[c+8>>2];if((r[d+b|0]&240)!=16){break b}}if(r[(b+d|0)+1|0]){break b}Jh(a+76|0,c);o[a+156|0]=0;q[e+20>>2]=q[a+196>>2];q[e+16>>2]=1708;K(0,e+16|0);break b}d=q[c+4>>2];d:{e:{if(o[d+11|0]<=-1){d=r[(q[c+8>>2]+q[d>>2]|0)+1|0];if((d|0)!=1){break e}break d}d=r[(d+q[c+8>>2]|0)+1|0];if((d|0)==1){break d}}if(d){break b}}if(q[a+164>>2]?!b:0){break a}d=q[a+4>>2];f:{if(o[216592]&1){break f}if(!Mc(216592)){break f}h=216588,i=M(2,1788)|0,q[h>>2]=i;Lc(216592)}g=q[54147];q[e+40>>2]=b;f=+fa(g|0,d|0,1743,e+36|0,e+40|0);P(q[e+36>>2]);d=a;if(y(f)<2147483648){b=~~f}else{b=-2147483648}q[d+184>>2]=b;if(!q[a+196>>2]){if((b|0)>=3001){q[e+4>>2]=b;q[e>>2]=1752;K(0,e|0);break a}q[a+120>>2]=q[e+32>>2];Jh(a+76|0,c);break b}Pw(a+124|0,e+32|0,c);b=q[a+140>>2];c=(b>>>0)/170|0;if(r[a+148|0]|((q[a+164>>2]+q[a+184>>2]|0)-q[q[q[a+128>>2]+(c<<2)>>2]+w(b-w(c,170)|0,24)>>2]|0)<=q[a+196>>2]){break b}o[a+148|0]=1;Ok(a)}q[a+164>>2]=q[e+32>>2]}Ca=e+48|0}function Ib(a,b,c,d){var e=0,f=0,g=0,h=0;while(1){if((g|0)!=8){e=b+ -1|0;h=(r[b+3|0]+((r[b+ -2|0]+w(r[b+1|0]+r[b|0]|0,20)|0)+w(r[b+2|0]+r[e|0]|0,-5)|0)|0)+16|0;f=h>>5;o[a|0]=f>>>0>255?h>>31^-1:f;e=(r[b+4|0]+((r[e|0]+w(r[b+2|0]+r[b+1|0]|0,20)|0)+w(r[b+3|0]+r[b|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+1|0]=f>>>0>255?e>>31^-1:f;e=(r[b+5|0]+((r[b|0]+w(r[b+3|0]+r[b+2|0]|0,20)|0)+w(r[b+4|0]+r[b+1|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+2|0]=f>>>0>255?e>>31^-1:f;e=(r[b+6|0]+((r[b+1|0]+w(r[b+4|0]+r[b+3|0]|0,20)|0)+w(r[b+5|0]+r[b+2|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+3|0]=f>>>0>255?e>>31^-1:f;e=(r[b+7|0]+((r[b+2|0]+w(r[b+5|0]+r[b+4|0]|0,20)|0)+w(r[b+6|0]+r[b+3|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+4|0]=f>>>0>255?e>>31^-1:f;e=(r[b+8|0]+((r[b+3|0]+w(r[b+6|0]+r[b+5|0]|0,20)|0)+w(r[b+7|0]+r[b+4|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+5|0]=f>>>0>255?e>>31^-1:f;e=(r[b+9|0]+((r[b+4|0]+w(r[b+7|0]+r[b+6|0]|0,20)|0)+w(r[b+8|0]+r[b+5|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+6|0]=f>>>0>255?e>>31^-1:f;e=(r[b+10|0]+((r[b+5|0]+w(r[b+8|0]+r[b+7|0]|0,20)|0)+w(r[b+9|0]+r[b+6|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+7|0]=f>>>0>255?e>>31^-1:f;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Va(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ja(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){o[c|0]=r[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=e>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(c>>>0>f>>>0){break c}while(1){q[c>>2]=q[b>>2];q[c+4>>2]=q[b+4>>2];q[c+8>>2]=q[b+8>>2];q[c+12>>2]=q[b+12>>2];q[c+16>>2]=q[b+16>>2];q[c+20>>2]=q[b+20>>2];q[c+24>>2]=q[b+24>>2];q[c+28>>2]=q[b+28>>2];q[c+32>>2]=q[b+32>>2];q[c+36>>2]=q[b+36>>2];q[c+40>>2]=q[b+40>>2];q[c+44>>2]=q[b+44>>2];q[c+48>>2]=q[b+48>>2];q[c+52>>2]=q[b+52>>2];q[c+56>>2]=q[b+56>>2];q[c+60>>2]=q[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=f>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){q[c>>2]=q[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e+ -4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){o[c|0]=r[b|0];o[c+1|0]=r[b+1|0];o[c+2|0]=r[b+2|0];o[c+3|0]=r[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=d>>>0){continue}break}}if(c>>>0>>0){while(1){o[c|0]=r[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Wu(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;q[e+12>>2]=0;c=Vd(b,2,e+12|0);a:{if(!c){break a}b:{if(!(r[q[a+12>>2]+17|0]&64)){Ta(a,16,29636,0);b=-28;break b}c:{d:{f=q[e+12>>2];if((f|0)<4){break d}g=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);d=f+ -4|0;q[e+12>>2]=d;b=c+4|0;if(g&1){if((f|0)<8){break d}b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);if((b|0)<=0){Ta(a,16,30085,0);break c}q[a+348>>2]=b;d=f+ -8|0;q[e+12>>2]=d;b=c+8|0}if(g&2){if((d|0)<8){break d}c=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);q[a+376>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+380>>2]=c;d=d+ -8|0;q[e+12>>2]=d;b=b+8|0}if(g&4){if((d|0)<4){break d}c=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);if((c|0)<=0){Ta(a,16,30557,0);break c}q[a+344>>2]=c;d=d+ -4|0;q[e+12>>2]=d;b=b+4|0}if(!(g&8)){break a}if((d|0)<8){break d}c=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+92>>2]=c;b=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);q[a+96>>2]=b;q[e+12>>2]=d+ -8;b=Ii(a,c,b);if((b|0)<=-1){break b}break a}Ta(a,16,30992,0)}b=-1094995529}Ta(a,16,31565,0);h=q[a+580>>2]<<28>>31&b}Ca=e+16|0;return h}function es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=Ca-16|0;Ca=f;h=q[b+12>>2];if((h|0)>=5){while(1){e=q[a+32>>2]+ -1|0;a:{if(e>>>0<=2){b:{switch(e-1|0){case 1:c=q[b+8>>2];g=c+4|0;e=q[b+4>>2];c:{if(o[e+11|0]<=-1){d=q[e>>2];break c}d=e}c=d+c|0;d=c+3|0;k=r[c|0];j=r[c+1|0];i=r[c+2|0];c=-4;break a;case 0:c=q[b+8>>2];g=c+3|0;e=q[b+4>>2];d:{if(o[e+11|0]<=-1){d=q[e>>2];break d}d=e}c=d+c|0;d=c+2|0;j=r[c|0];i=r[c+1|0];c=-3;break a;default:break b}}c=q[b+8>>2];g=c+2|0;e=q[b+4>>2];e:{if(o[e+11|0]<=-1){d=q[e>>2];break e}d=e}c=d+c|0;d=c+1|0;i=r[c|0];c=-2;break a}c=q[b+8>>2];g=c+1|0;e=q[b+4>>2];f:{if(o[e+11|0]<=-1){d=q[e>>2];break f}d=e}d=d+c|0;c=-1}d=r[d|0];q[b+12>>2]=c+h;q[b+8>>2]=g;c=q[e+12>>2];q[f+8>>2]=g;q[f+4>>2]=e;g=d|i<<8|j<<16|k<<24;q[f+12>>2]=g;q[e+12>>2]=c+2;q[f>>2]=1580;n[q[q[a>>2]+28>>2]](a,f);q[f>>2]=1636;d=q[f+4>>2];c=q[d+12>>2]+ -1|0;q[d+12>>2]=c;if(!(c|!d)){if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(!(d|!e)){if(o[e+11|0]<=-1){Ya(q[e>>2])}Ya(e)}q[b+8>>2]=g+q[b+8>>2];h=q[b+12>>2]-g|0;q[b+12>>2]=h;if((h|0)>4){continue}break}}Ca=f+16|0}function yk(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;q[b+21752>>2]=-1;h=q[a+27024>>2];q[b+21748>>2]=165360;k=q[b+21796>>2];j=k+ -1|0;f=k-(h<>2])|0;i=f+1|0;g=f+ -1|0;d=q[a+24364>>2];a:{b:{c:{if(!q[a+26384>>2]){break c}c=c&128;e=q[(j<<2)+d>>2]&128;if(o[b+21792|0]&1){if((c|0)==(e|0)){break c}e=(h^-1)+k|0;if(c){q[b+21748>>2]=165456;c=j;break a}q[b+21748>>2]=165392;q[b+21752>>2]=0;g=g+h|0;c=e;break a}if(c){f=((q[(f<<2)+d>>2]>>>7&1)+ -1&h)+f|0;i=((q[(i<<2)+d>>2]>>>7&1)+ -1&h)+i|0;g=((q[(g<<2)+d>>2]>>>7&1)+ -1&h)+g|0;if((c|0)==(e|0)){break c}q[b+21748>>2]=165456;c=h+j|0;break b}if(!e){break c}q[b+21748>>2]=165424}c=j}e=j}q[b+21720>>2]=e;q[b+21716>>2]=i;q[b+21712>>2]=f;q[b+21708>>2]=g;q[b+21724>>2]=c;q[b+21728>>2]=q[(g<<2)+d>>2];q[b+21732>>2]=q[(f<<2)+d>>2];q[b+21736>>2]=q[(i<<2)+d>>2];q[b+21740>>2]=q[(e<<2)+d>>2];q[b+21744>>2]=q[(c<<2)+d>>2];c=q[b+832>>2];a=q[a+26380>>2];d:{if((c|0)==s[a+(g<<1)>>1]){break d}q[b+21728>>2]=0;if((c|0)!=s[a+(f<<1)>>1]){q[b+21732>>2]=0}if((c|0)==s[a+(e<<1)>>1]){break d}q[b+21740>>2]=0;q[b+21744>>2]=0}if((c|0)!=s[a+(i<<1)>>1]){q[b+21736>>2]=0}}function Bk(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;q[b+21752>>2]=-1;h=q[a+27024>>2];q[b+21748>>2]=165232;k=q[b+21796>>2];j=k+ -1|0;f=k-(h<>2])|0;i=f+1|0;g=f+ -1|0;d=q[a+24364>>2];a:{b:{c:{if(!q[a+26384>>2]){break c}c=c&128;e=q[(j<<2)+d>>2]&128;if(o[b+21792|0]&1){if((c|0)==(e|0)){break c}e=(h^-1)+k|0;if(c){q[b+21748>>2]=165328;c=j;break a}q[b+21748>>2]=165264;q[b+21752>>2]=0;g=g+h|0;c=e;break a}if(c){f=((q[(f<<2)+d>>2]>>>7&1)+ -1&h)+f|0;i=((q[(i<<2)+d>>2]>>>7&1)+ -1&h)+i|0;g=((q[(g<<2)+d>>2]>>>7&1)+ -1&h)+g|0;if((c|0)==(e|0)){break c}q[b+21748>>2]=165328;c=h+j|0;break b}if(!e){break c}q[b+21748>>2]=165296}c=j}e=j}q[b+21720>>2]=e;q[b+21716>>2]=i;q[b+21712>>2]=f;q[b+21708>>2]=g;q[b+21724>>2]=c;q[b+21728>>2]=q[(g<<2)+d>>2];q[b+21732>>2]=q[(f<<2)+d>>2];q[b+21736>>2]=q[(i<<2)+d>>2];q[b+21740>>2]=q[(e<<2)+d>>2];q[b+21744>>2]=q[(c<<2)+d>>2];c=q[b+832>>2];a=q[a+26380>>2];d:{if((c|0)==s[a+(g<<1)>>1]){break d}q[b+21728>>2]=0;if((c|0)!=s[a+(f<<1)>>1]){q[b+21732>>2]=0}if((c|0)==s[a+(e<<1)>>1]){break d}q[b+21740>>2]=0;q[b+21744>>2]=0}if((c|0)!=s[a+(i<<1)>>1]){q[b+21736>>2]=0}}function ED(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-16|0;Ca=f;c=q[a+4>>2];d=q[a+28224>>2];b=q[d+104>>2];q[f+8>>2]=q[d+100>>2];q[f+12>>2]=b;UB(c,f+8|0);Py(q[q[a+4>>2]+112>>2],a+25684|0,a+25688|0);if(q[d+136>>2]){c=q[a+4>>2];g=c+764|0;h=c+760|0;i=w(q[c+84>>2],q[d+140>>2]);b=q[d+144>>2];e=t[a+25712>>2]<44;c=e;if(32<=(c&63)>>>0){e=b<>>32-c;c=b<>2]=1;q[a+26392>>2]=0;DD(a);c=a;b=ft(a);a:{b:{if((b|0)<=-1){Ta(q[a+4>>2],16,19992,0);break b}c:{d:{b=q[d+1700>>2];if(b+ -8>>>0>6){break d}e=b+ -11|0;if(e>>>0>2){break c}if(e-1){break d}break c}d=q[a+4>>2];q[f>>2]=b;Ta(d,16,20618,f);b=-1094995529;break b}q[q[a+4>>2]+676>>2]=b;q[a+29612>>2]=b;e=q[d+12>>2];q[a+27056>>2]=e;q[a+25672>>2]=(b|0)>8;q[a+29608>>2]=e;q[a+27052>>2]=b;rl(a+16|0,b,e);yt(a+152|0,q[d+1704>>2]);dQ(a+184|0,q[d+1700>>2]);nq(a+25744|0,q[q[a+4>>2]+16>>2],q[d+1700>>2],q[d+12>>2]);d=q[d+1700>>2];q[a+12>>2]=886;q[a+8>>2]=(d|0)<9?887:888;b=dt(a,q[a+25628>>2]);if((b|0)>-1){b=0;a=1;break a}Ta(q[a+4>>2],16,21135,0)}bf(a);a=0}q[c+25700>>2]=a;Ca=f+16|0;return b}function jm(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ca-16|0;Ca=g;b=q[a+6472>>2];d=106;a:{if((b|0)==23){break a}d=107;if((b|0)==39){break a}d=108;if(q[a+6516>>2]){break a}d=q[a+6748>>2]}c=3;while(1){if((c|0)>=0){e=0;while(1){if((e|0)!=16){b=q[(((c<<6)+a|0)+(e<<2)|0)+492>>2];b:{if(!b){break b}if(q[b>>2]){i=(c|0)>1;if(!i){zj(a,b,c,e,0,109)}c:{if(!q[b+388>>2]|q[a+6472>>2]!=4){break c}if(r[b+316|0]){n[q[a+6752>>2]](a,b+288|0)}if(!r[b+74524|0]|(c|0)!=1){break c}n[q[a+6752>>2]](a,b+74496|0)}h=b+288|0;f=b+580|0;if(q[f>>2]){n[q[a+6756>>2]](b+14048|0,f,h,1)}f=b+74496|0;j=b+74788|0;if(q[j>>2]){n[q[a+6756>>2]](b+88256|0,j,f,1)}d:{e:{f:{if(!i){zj(a,b,c,e,1,109);break f}if((c|0)!=2){break f}if(q[b+148704>>2]!=3){break e}}n[d](a,h);if(q[a+6472>>2]==4){n[q[a+6764>>2]](a,h)}g:{if((c|0)!=1){break g}n[d](a,f);if(q[a+6472>>2]!=4){break g}n[q[a+6764>>2]](a,f)}if(q[a+6488>>2]>=1){Kv(a,b+156512|0,c,q[b+74464>>2],q[b+148672>>2])}if((c|0)>2){break d}}zj(a,b,c,e,3,110)}q[b>>2]=0;break b}b=q[a+4>>2];q[g+4>>2]=e;q[g>>2]=c;Ta(b,40,43005,g)}e=e+1|0;continue}break}c=c+ -1|0;continue}break}Ca=g+16|0}function IA(a){a=+a;var b=0,c=0,d=0,i=0,j=0,k=0;h(+a);c=e(1)|0;i=e(0)|0;j=c;a:{b:{c=c&2147483647;if(c>>>0>=1072693248){if(c+ -1072693248|i){break b}return+(a*1.5707963267948966+7.52316384526264e-37)}if(c>>>0<=1071644671){if(c+ -1048576>>>0<1044381696){break a}b=a*a;return+(b*(b*(b*(b*(b*(b*3479331075960212e-20+.0007915349942898145)+ -.04005553450067941)+.20121253213486293)+ -.3255658186224009)+.16666666666666666)/(b*(b*(b*(b*.07703815055590194+ -.6882839716054533)+2.0209457602335057)+ -2.403394911734414)+1)*a+a)}a=(1-y(a))*.5;k=a*(a*(a*(a*(a*(a*3479331075960212e-20+.0007915349942898145)+ -.04005553450067941)+.20121253213486293)+ -.3255658186224009)+.16666666666666666)/(a*(a*(a*(a*.07703815055590194+ -.6882839716054533)+2.0209457602335057)+ -2.403394911734414)+1);b=E(a);c:{if(c>>>0>=1072640819){a=b+b*k;a=1.5707963267948966-(a+a+ -6.123233995736766e-17);break c}d=a;h(+b);c=e(1)|0;e(0)|0;f(0,0);f(1,c|0);a=+g();d=(d-a*a)/(b+a);a=.7853981633974483-(a+a)-((b+b)*k-(6.123233995736766e-17-(d+d)))+.7853981633974483}return+(((j|0)<0?1:(j|0)<=0?i>>>0>=0?0:1:0)?-a:a)}a=0/(a-a)}return+a}function Fu(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=Ca-16|0;Ca=g;i=1;j=q[a+592>>2];a:{b:{d=q[a+8>>2];if(d>>>0>1){break b}if(d-1){if(!(l=(Jf(q[a+92>>2]+7&-8,q[a+96>>2],q[a+872>>2],q[a+876>>2],a)|0)>=0,m=0,o=q[a+112>>2]>-1,o?l:m)){Ta(a,16,41955,0);d=-28;break a}if(!(q[b+72>>2]>0?q[b+68>>2]>=1:0)){d=q[a+92>>2];e=q[a+680>>2];f=0-(0-q[a+100>>2]>>e)|0;q[b+68>>2]=(d|0)>(f|0)?d:f;d=q[a+96>>2];e=0-(0-q[a+104>>2]>>e)|0;q[b+72>>2]=(d|0)>(e|0)?d:e;i=0}if(!(q[b+8>>2]|(q[b>>2]|q[b+4>>2]))){if(!q[b+12>>2]){break b}}Ta(a,16,42237,0);d=-28;break a}d=q[a+348>>2];e=d;f=d>>31;d=q[b+76>>2];k=$R(e,f,d,d>>31);e=q[a+904>>2];f=Da;h=q[a+908>>2];if((f|0)<(h|0)?1:(f|0)<=(h|0)?k>>>0>e>>>0?0:1:0){break b}b=g;q[b+8>>2]=e;q[b+12>>2]=h;q[b>>2]=d;Ta(a,16,42438,b);d=-28;break a}d=Ku(a,b);if((d|0)<0){break a}c:{d:{if(j){d=q[j+20>>2];if(!d){break d}d=n[d](a,b)|0;break c}q[a+768>>2]=q[a+112>>2]}d=n[q[a+400>>2]](a,b,c)|0;if((d|0)<0){break c}Eu(a,b);d=Hu(b)}if(!(r[q[a+12>>2]+116|0]&16|(q[a+8>>2]|i))){q[b+68>>2]=q[a+92>>2];q[b+72>>2]=q[a+96>>2]}if((d|0)>-1){break a}pc(b)}Ca=g+16|0;return d}function DD(a){var b=0,c=0,d=0,e=0;while(1){if((b|0)==16){while(1){if((c|0)!=64){b=a+c|0;d=r[c+169504|0];o[b+26660|0]=d<<3&56|d>>>3;d=r[c+169424|0];o[b+26596|0]=d<<3&56|d>>>3;d=r[c+169344|0];o[b+26516|0]=d<<3&56|d>>>3;d=b+26452|0;b=r[c+171888|0];o[d|0]=b<<3&56|b>>>3;c=c+1|0;continue}break}c=a+26724|0;if(q[q[a+28224>>2]+16>>2]){b=q[42991];q[c+8>>2]=q[42990];q[c+12>>2]=b;b=q[42989];q[c>>2]=q[42988];q[c+4>>2]=b;Va(a+26740|0,171888,64);Va(a+26804|0,169344,64);b=q[42331];c=a+26876|0;q[c>>2]=q[42330];q[c+4>>2]=b;c=q[42329];q[a+26868>>2]=q[42328];q[a+26872>>2]=c;Va(a+26884|0,169424,64);Va(a+26948|0,169504,64);return}b=q[a+26440>>2];q[c>>2]=q[a+26436>>2];q[c+4>>2]=b;b=a+26444|0;d=q[b+4>>2];q[c+8>>2]=q[b>>2];q[c+12>>2]=d;Va(a+26740|0,a+26452|0,64);Va(a+26804|0,a+26516|0,64);b=a+26588|0;d=q[b+4>>2];c=a+26876|0;q[c>>2]=q[b>>2];q[c+4>>2]=d;c=q[a+26584>>2];q[a+26868>>2]=q[a+26580>>2];q[a+26872>>2]=c;Va(a+26884|0,a+26596|0,64);Va(a+26948|0,a+26660|0,64)}else{d=a+b|0;e=r[b+169312|0];o[d+26580|0]=e<<2&12|e>>>2;e=d+26436|0;d=r[b+171952|0];o[e|0]=d<<2&12|d>>>2;b=b+1|0;continue}break}}function wd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0;c=c-((e&2147483646)<<1)|0;n=e>>1<<1;e=b;while(1){if((l|0)!=9){g=s[c+6>>1];h=s[c+2>>1];j=s[c>>1];k=s[c+4>>1];i=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(h+j|0,20)|0)+w(k+i|0,-5)|0);f=(i+w(h+k|0,20)|0)+w(g+j|0,-5)|0;i=s[c+8>>1];q[e+4>>2]=f+i;f=(j+w(g+k|0,20)|0)+w(h+i|0,-5)|0;j=s[c+10>>1];q[e+8>>2]=f+j;q[e+12>>2]=s[c+12>>1]+((h+w(g+i|0,20)|0)+w(j+k|0,-5)|0);l=l+1|0;e=e+32|0;c=c+n|0;continue}break}c=b- -64|0;l=0;j=(d&-2)<<1;i=d>>1;n=w(i,3)<<1;while(1){if((l|0)!=4){r=q[c+192>>2];k=q[c+160>>2];b=q[c+128>>2];d=q[c+96>>2];e=q[c+32>>2];g=q[c>>2];h=q[c+64>>2];f=q[c+ -32>>2];m=(((d+q[c+ -64>>2]|0)+w(e+g|0,20)|0)+w(h+f|0,-5)|0)+512|0;o=m>>10;p[a>>1]=o>>>0<16384?o:(m>>31^-1)&16383;f=(((b+f|0)+w(e+h|0,20)|0)+w(d+g|0,-5)|0)+512|0;m=f>>10;p[(i<<1)+a>>1]=m>>>0<16384?m:(f>>31^-1)&16383;g=(((g+k|0)+w(d+h|0,20)|0)+w(b+e|0,-5)|0)+512|0;f=g>>10;p[a+j>>1]=f>>>0<16384?f:(g>>31^-1)&16383;b=(((e+r|0)+w(b+d|0,20)|0)+w(h+k|0,-5)|0)+512|0;d=b>>10;p[a+n>>1]=d>>>0<16384?d:(b>>31^-1)&16383;l=l+1|0;c=c+4|0;a=a+2|0;continue}break}}function tx(){q[579527]=304;q[579525]=2316880;pb(2318096,8,s[55032],q[27504],q[27152],2,2);q[579531]=270;q[579529]=2318272;pb(2318112,8,s[55033],q[27505],q[27153],2,2);q[579535]=550;q[579533]=2319360;pb(2318128,8,s[55034],q[27506],q[27154],2,2);q[579539]=300;q[579537]=2321568;pb(2318144,8,s[55035],q[27507],q[27155],2,2);q[579543]=328;q[579541]=2322768;pb(2318160,8,s[55036],q[27508],q[27156],2,2);q[579547]=294;q[579545]=2324080;pb(2318176,8,s[55037],q[27509],q[27157],2,2);q[579551]=306;q[579549]=2325264;pb(2318192,8,s[55038],q[27510],q[27158],2,2);q[579555]=268;q[579553]=2326496;pb(2318208,8,s[55039],q[27511],q[27159],2,2);q[579559]=510;q[579557]=2327568;pb(2318224,8,s[55040],q[27512],q[27160],2,2);q[579563]=366;q[579561]=2329616;pb(2318240,8,s[55041],q[27513],q[27161],2,2);q[579567]=462;q[579565]=2331088;pb(2318256,8,s[55042],q[27514],q[27162],2,2);$v();sx();q[583591]=352;q[583589]=2332944;pb(2334352,7,121,105872,105376,4,4);Li(2423968,x(4),1024);Li(2428064,x(6),128);Li(2428576,x(4),960);Li(2432416,x(6),120);fk(3459424,960);fk(3458944,120);ek(10);ek(9);ek(7);bv()}function Ad(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0;c=c-((e&2147483646)<<1)|0;n=e>>1<<1;e=b;while(1){if((l|0)!=9){g=s[c+6>>1];h=s[c+2>>1];j=s[c>>1];k=s[c+4>>1];i=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(h+j|0,20)|0)+w(k+i|0,-5)|0);f=(i+w(h+k|0,20)|0)+w(g+j|0,-5)|0;i=s[c+8>>1];q[e+4>>2]=f+i;f=(j+w(g+k|0,20)|0)+w(h+i|0,-5)|0;j=s[c+10>>1];q[e+8>>2]=f+j;q[e+12>>2]=s[c+12>>1]+((h+w(g+i|0,20)|0)+w(j+k|0,-5)|0);l=l+1|0;e=e+32|0;c=c+n|0;continue}break}c=b- -64|0;l=0;j=(d&-2)<<1;i=d>>1;n=w(i,3)<<1;while(1){if((l|0)!=4){r=q[c+192>>2];k=q[c+160>>2];b=q[c+128>>2];d=q[c+96>>2];e=q[c+32>>2];g=q[c>>2];h=q[c+64>>2];f=q[c+ -32>>2];m=(((d+q[c+ -64>>2]|0)+w(e+g|0,20)|0)+w(h+f|0,-5)|0)+512|0;o=m>>10;p[a>>1]=o>>>0<4096?o:(m>>31^-1)&4095;f=(((b+f|0)+w(e+h|0,20)|0)+w(d+g|0,-5)|0)+512|0;m=f>>10;p[(i<<1)+a>>1]=m>>>0<4096?m:(f>>31^-1)&4095;g=(((g+k|0)+w(d+h|0,20)|0)+w(b+e|0,-5)|0)+512|0;f=g>>10;p[a+j>>1]=f>>>0<4096?f:(g>>31^-1)&4095;b=(((e+r|0)+w(b+d|0,20)|0)+w(h+k|0,-5)|0)+512|0;d=b>>10;p[a+n>>1]=d>>>0<4096?d:(b>>31^-1)&4095;l=l+1|0;c=c+4|0;a=a+2|0;continue}break}}function LA(a,b,c,d){var e=0,g=0,h=0,i=0,j=0,l=0,m=0;i=Ca-32|0;Ca=i;g=d&2147483647;h=g;e=g+ -1065418752|0;g=c;j=g;if(g>>>0<0){e=e+1|0}m=j;l=h+ -1082064896|0;j=g;if(g>>>0<0){l=l+1|0}a:{if((e|0)==(l|0)&m>>>0>>0|e>>>0>>0){h=(d&33554431)<<7|c>>>25;g=0;l=g;j=c&33554431;if(!(!g&(j|0)==16777216?!(a|b):!g&j>>>0<16777216|g>>>0<0)){e=h+1073741825|0;break a}e=h+1073741824|0;if(j^16777216|a|(b|l)){break a}e=(e&1)+e|0;break a}if(!(!g&(h|0)==2147418112?!(a|b):(h|0)==2147418112&g>>>0<0|h>>>0<2147418112)){e=((d&33554431)<<7|c>>>25)&4194303|2143289344;break a}e=2139095040;if((h|0)==1082064895&g>>>0>4294967295|h>>>0>1082064895){break a}e=0;h=h>>>16|0;if(h>>>0<16145){break a}e=d&65535|65536;Rb(i+16|0,a,b,c,e,h+ -16129|0);Re(i,a,b,g,e,16257-h|0);b=q[i+8>>2];e=(q[i+12>>2]&33554431)<<7|b>>>25;g=q[i+4>>2];h=g;a=0;j=a;l=q[i>>2]|((q[i+16>>2]|q[i+24>>2])!=0|(q[i+20>>2]|q[i+28>>2])!=0);b=b&33554431;if(!(!a&(b|0)==16777216?!(g|l):!a&b>>>0<16777216|a>>>0<0)){e=e+1|0;break a}if(b^16777216|l|(h|j)){break a}e=(e&1)+e|0}Ca=i+32|0;return f(0,d&-2147483648|e),k()}function GB(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,q=0;a:{if(!i|!j){break a}b:{if((h|0)>=(j|0)){l=j+ -1|0;b=(b-w(d,h)|0)+w(l,d)|0;break b}if((0-f|0)<(h|0)){l=h;break b}l=1-f|0;b=(b-w(d,h)|0)+w(l,d)|0}c:{if((g|0)>=(i|0)){k=i+ -1|0;b=((g^-1)+i<<1)+b|0;break c}if((0-e|0)<(g|0)){k=g;break c}k=1-e|0;b=(k-g<<1)+b|0}h=0;m=(l|0)>0?0:0-l|0;g=(m|0)>0?m:0;i=i-k|0;n=(i|0)<(e|0)?i:e;k=(k|0)>0?0:0-k|0;o=n-k<<1;q=k<<1;b=(q+w(d,m)|0)+b|0;i=a+q|0;a=j-l|0;while(1)if((g|0)==(h|0)){a=(a|0)<(f|0)?a:f;h=(g|0)>(a|0)?g:a;while(1){if((g|0)!=(h|0)){g=g+1|0;i=Va(i,b,o)+c|0;b=b+d|0;continue}break}a=(h|0)>(f|0)?h:f;b=b-d|0;while(1){if((a|0)!=(h|0)){h=h+1|0;i=Va(i,b,o)+c|0;continue}break}a=(k|0)>0?k:0;g=i-(w(c,f)+q|0)|0;b=k<<1;d=n+ -1<<1;d:while(1){if(!f){break a}f=f+ -1|0;h=b+g|0;i=0;while(1)if((a|0)==(i|0)){h=d+g|0;i=n;while(1){if((e|0)!=(i|0)){p[(i<<1)+g>>1]=s[h>>1];i=i+1|0;continue}break}g=c+g|0;continue d}else{p[(i<<1)+g>>1]=s[h>>1];i=i+1|0;continue}}}else{h=h+1|0;i=Va(i,b,o)+c|0;continue}}}function Od(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0;c=c-(e<<1)|0;f=b;while(1){if((h|0)!=9){i=c+ -1|0;p[f>>1]=r[c+3|0]+((r[c+ -2|0]+w(r[c+1|0]+r[c|0]|0,20)|0)+w(r[c+2|0]+r[i|0]|0,-5)|0);p[f+2>>1]=r[c+4|0]+((r[i|0]+w(r[c+2|0]+r[c+1|0]|0,20)|0)+w(r[c+3|0]+r[c|0]|0,-5)|0);p[f+4>>1]=r[c+5|0]+((r[c|0]+w(r[c+3|0]+r[c+2|0]|0,20)|0)+w(r[c+4|0]+r[c+1|0]|0,-5)|0);p[f+6>>1]=r[c+6|0]+((r[c+1|0]+w(r[c+4|0]+r[c+3|0]|0,20)|0)+w(r[c+5|0]+r[c+2|0]|0,-5)|0);h=h+1|0;c=c+e|0;f=f+8|0;continue}break}n=w(d,3);q=d<<1;c=b+16|0;b=0;while(1){if((b|0)!=4){s=p[c+48>>1];l=p[c+40>>1];e=p[c+32>>1];f=p[c+24>>1];h=p[c+8>>1];j=p[c>>1];i=p[c+16>>1];k=p[c+ -8>>1];m=(((f+p[c+ -16>>1]|0)+w(h+j|0,20)|0)+w(i+k|0,-5)|0)+512|0;g=m>>10;o[a|0]=g>>>0>255?m>>31^-1:g;k=(((e+k|0)+w(h+i|0,20)|0)+w(f+j|0,-5)|0)+512|0;g=k>>10;o[a+d|0]=g>>>0>255?k>>31^-1:g;g=(((j+l|0)+w(f+i|0,20)|0)+w(e+h|0,-5)|0)+512|0;j=g>>10;o[a+q|0]=j>>>0>255?g>>31^-1:j;f=(((h+s|0)+w(e+f|0,20)|0)+w(i+l|0,-5)|0)+512|0;e=f>>10;o[a+n|0]=e>>>0>255?f>>31^-1:e;b=b+1|0;c=c+2|0;a=a+1|0;continue}break}}function gD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=x(0),h=0,i=x(0),j=0,k=0,l=0,m=0,o=0,p=0,r=0,t=0,v=0,y=0,z=0,A=x(0),B=x(0),C=x(0),D=x(0),E=x(0),F=x(0);k=1<>2];j=k>>3;r=(j|0)>0?j:0;t=k>>1;p=k>>2;v=w(p,3);l=q[a+28>>2];m=q[a+24>>2];y=q[a+8>>2];while(1){if((d|0)!=(r|0)){e=d<<1;f=(s[e+y>>1]<<3)+b|0;o=e^-1;g=x(u[(e+v<<2)+c>>2]+u[(v+o<<2)+c>>2]);h=d<<2;z=h+m|0;i=x(u[(o+p<<2)+c>>2]-u[(e+p<<2)+c>>2]);h=h+l|0;u[f>>2]=x(g*u[z>>2])-x(i*u[h>>2]);u[f+4>>2]=x(i*x(-u[z>>2]))-x(g*u[h>>2]);f=d+j|0;h=(s[(f<<1)+y>>1]<<3)+b|0;g=x(u[(e+t<<2)+c>>2]+u[(k+o<<2)+c>>2]);e=f<<2;f=e+l|0;i=x(u[(d<<3)+c>>2]-u[(o+t<<2)+c>>2]);e=e+m|0;u[h>>2]=x(g*u[f>>2])-x(i*u[e>>2]);u[h+4>>2]=x(i*u[f>>2])+x(g*u[e>>2]);d=d+1|0;continue}break}n[q[a+36>>2]](a,b);c=0;while(1){if((c|0)!=(r|0)){d=(c^-1)+j|0;a=(d<<3)+b|0;g=u[a+4>>2];d=d<<2;i=u[d+l>>2];A=u[d+m>>2];e=c+j|0;d=(e<<3)+b|0;B=u[d+4>>2];e=e<<2;C=u[e+m>>2];D=u[d>>2];E=u[e+l>>2];u[a+4>>2]=x(B*C)-x(D*E);F=u[a>>2];u[a>>2]=x(g*x(-i))-x(A*F);u[d+4>>2]=x(g*A)-x(F*i);u[d>>2]=x(B*x(-E))-x(D*C);c=c+1|0;continue}break}}function ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;n=d<<2;d=0;o=c<<2;v=(o>>2)+2|0;l=b>>1;x=0-l<<1;q=b&-2;y=0-q<<1;z=w(l,-3)<<1;A=0-(l<<2)<<1;B=w(l,3)<<1;while(1){if((d|0)!=16){c=a+x|0;h=s[c>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(o|0)){break a}r=a+y|0;g=s[r>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(n|0)){break a}t=(l<<1)+a|0;b=s[t>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(n|0)){break a}if((j|0)<(v|0)){u=(q<<1)+a|0;j=s[u>>1];e=a+z|0;f=s[e>>1];k=f-h|0;m=k>>31;b:{if((m^m+k)<(n|0)){m=3;C=s[a+A>>1];k=h+i|0;p[c>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[r>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;c=C<<1;break b}m=2;f=h+2|0;k=g<<1;e=c;c=b}p[e>>1]=c+(f+k|0)>>>m;e=j-i|0;c=e>>31;if((c^c+e)<(n|0)){c=s[a+B>>1];b=b+(h+i|0)|0;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;p[t>>1]=(b+j|0)+2>>>2;p[u>>1]=((b+w(j,3)|0)+(c<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[c>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}d=d+1|0;a=a+2|0;continue}break}}function Ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;n=d<<1;d=0;o=c<<1;v=(o>>2)+2|0;l=b>>1;x=0-l<<1;q=b&-2;y=0-q<<1;z=w(l,-3)<<1;A=0-(l<<2)<<1;B=w(l,3)<<1;while(1){if((d|0)!=16){c=a+x|0;h=s[c>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(o|0)){break a}r=a+y|0;g=s[r>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(n|0)){break a}t=(l<<1)+a|0;b=s[t>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(n|0)){break a}if((j|0)<(v|0)){u=(q<<1)+a|0;j=s[u>>1];e=a+z|0;f=s[e>>1];k=f-h|0;m=k>>31;b:{if((m^m+k)<(n|0)){m=3;C=s[a+A>>1];k=h+i|0;p[c>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[r>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;c=C<<1;break b}m=2;f=h+2|0;k=g<<1;e=c;c=b}p[e>>1]=c+(f+k|0)>>>m;e=j-i|0;c=e>>31;if((c^c+e)<(n|0)){c=s[a+B>>1];b=b+(h+i|0)|0;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;p[t>>1]=(b+j|0)+2>>>2;p[u>>1]=((b+w(j,3)|0)+(c<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[c>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}d=d+1|0;a=a+2|0;continue}break}}function wr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;q=d<<6;B=c<<6;v=b>>1;C=0-v<<1;D=w(v,-3)<<1;y=b&-2;E=0-y<<1;while(1){if((x|0)!=4){a:{r=o[e+x|0];if((r|0)<0){break a}i=r<<6;z=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+C|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(B|0)){break b}k=b+E|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}A=(v<<1)+b|0;l=s[A>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[(y<<1)+b>>1];n=s[b+D>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:z;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=z}h=g-j|0;n=h>>31;F=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[A>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[F>>1]=d>>>0<16384?d:(d>>31^-1)&16383;d=j-f|0;p[b>>1]=d>>>0<16384?d:(d>>31^-1)&16383}c=c+1|0;b=b+2|0;continue}}x=x+1|0;a=a+8|0;continue}break}}function zr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;n=d<<6;d=0;o=c<<6;v=o>>2|2;l=b>>1;x=0-l<<1;q=b&-2;y=0-q<<1;z=w(l,-3)<<1;A=0-(l<<2)<<1;B=w(l,3)<<1;while(1){if((d|0)!=16){c=a+x|0;h=s[c>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(o|0)){break a}r=a+y|0;g=s[r>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(n|0)){break a}t=(l<<1)+a|0;b=s[t>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(n|0)){break a}if((j|0)<(v|0)){u=(q<<1)+a|0;j=s[u>>1];e=a+z|0;f=s[e>>1];k=f-h|0;m=k>>31;b:{if((m^m+k)<(n|0)){m=3;C=s[a+A>>1];k=h+i|0;p[c>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[r>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;c=C<<1;break b}m=2;f=h+2|0;k=g<<1;e=c;c=b}p[e>>1]=c+(f+k|0)>>>m;e=j-i|0;c=e>>31;if((c^c+e)<(n|0)){c=s[a+B>>1];b=b+(h+i|0)|0;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;p[t>>1]=(b+j|0)+2>>>2;p[u>>1]=((b+w(j,3)|0)+(c<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[c>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}d=d+1|0;a=a+2|0;continue}break}}function Tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;n=d<<4;d=0;o=c<<4;v=o>>2|2;l=b>>1;x=0-l<<1;q=b&-2;y=0-q<<1;z=w(l,-3)<<1;A=0-(l<<2)<<1;B=w(l,3)<<1;while(1){if((d|0)!=16){c=a+x|0;h=s[c>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(o|0)){break a}r=a+y|0;g=s[r>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(n|0)){break a}t=(l<<1)+a|0;b=s[t>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(n|0)){break a}if((j|0)<(v|0)){u=(q<<1)+a|0;j=s[u>>1];e=a+z|0;f=s[e>>1];k=f-h|0;m=k>>31;b:{if((m^m+k)<(n|0)){m=3;C=s[a+A>>1];k=h+i|0;p[c>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[r>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;c=C<<1;break b}m=2;f=h+2|0;k=g<<1;e=c;c=b}p[e>>1]=c+(f+k|0)>>>m;e=j-i|0;c=e>>31;if((c^c+e)<(n|0)){c=s[a+B>>1];b=b+(h+i|0)|0;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;p[t>>1]=(b+j|0)+2>>>2;p[u>>1]=((b+w(j,3)|0)+(c<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[c>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}d=d+1|0;a=a+2|0;continue}break}}function qD(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca-32|0;Ca=e;c=q[b>>2];a:{if(!q[c>>2]){q[b+4>>2]=c;d=q[b+640>>2]!=0;c=q[a+4>>2];q[b+8>>2]=c;q[b+12>>2]=c;b:{c:{f=Kl(c,q[b+4>>2],d);if((f|0)<0){break c}c=q[q[a+4>>2]+592>>2];d:{if(!c){break d}if(q[b+56>>2]){break a}c=q[c+40>>2];if(!c){break d}c=xe(c);q[b+52>>2]=c;if(!c){h=-48;break b}q[b+56>>2]=q[c+4>>2]}d=b;c=q[a+30012>>2];if(!c){f=pD(a);if((f|0)<0){break c}c=q[a+30012>>2]}j=d,k=ve(c),q[j+20>>2]=k;c=ve(q[a+30016>>2]);q[b+44>>2]=c;if(!c){break c}d=q[b+20>>2];if(!d){break c}g=q[c+4>>2];c=q[a+27024>>2];q[b+48>>2]=(g+(c<<3)|0)+4;q[b+24>>2]=(q[d+4>>2]+(c<<1)|0)+1;c=0;while(1){if((c|0)==2){break b}d=(c<<2)+b|0;j=d,k=ve(q[a+30020>>2]),q[j+28>>2]=k;g=ve(q[a+30024>>2]);q[d+60>>2]=g;if(!g){break c}i=q[d+28>>2];if(!i){break c}q[d+36>>2]=q[i+4>>2]+16;q[d+68>>2]=q[g+4>>2];c=c+1|0;continue}}Dc(b);h=(f|0)<0?f:-48}Ca=e+32|0;return h}q[e+24>>2]=191;q[e+20>>2]=12455;q[e+16>>2]=34474;Ta(0,0,10109,e+16|0);I();F()}q[e+8>>2]=201;q[e+4>>2]=12455;q[e>>2]=34871;Ta(0,0,10109,e);I();F()}function ks(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;q=d<<2;B=c<<2;v=b>>1;C=0-v<<1;D=w(v,-3)<<1;y=b&-2;E=0-y<<1;while(1){if((x|0)!=4){a:{r=o[e+x|0];if((r|0)<0){break a}i=r<<2;z=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+C|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(B|0)){break b}k=b+E|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}A=(v<<1)+b|0;l=s[A>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[(y<<1)+b>>1];n=s[b+D>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:z;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=z}h=g-j|0;n=h>>31;F=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[A>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[F>>1]=d>>>0<1024?d:(d>>31^-1)&1023;d=j-f|0;p[b>>1]=d>>>0<1024?d:(d>>31^-1)&1023}c=c+1|0;b=b+2|0;continue}}x=x+1|0;a=a+8|0;continue}break}}function Qr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;q=d<<4;B=c<<4;v=b>>1;C=0-v<<1;D=w(v,-3)<<1;y=b&-2;E=0-y<<1;while(1){if((x|0)!=4){a:{r=o[e+x|0];if((r|0)<0){break a}i=r<<4;z=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+C|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(B|0)){break b}k=b+E|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}A=(v<<1)+b|0;l=s[A>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[(y<<1)+b>>1];n=s[b+D>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:z;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=z}h=g-j|0;n=h>>31;F=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[A>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[F>>1]=d>>>0<4096?d:(d>>31^-1)&4095;d=j-f|0;p[b>>1]=d>>>0<4096?d:(d>>31^-1)&4095}c=c+1|0;b=b+2|0;continue}}x=x+1|0;a=a+8|0;continue}break}}function Ov(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=x(0);f=Ca-48|0;Ca=f;d=r[b+22|0];c=q[b+92>>2]-d|0;q[b+310116>>2]=c;h=c+1>>>1|0;q[b+310112>>2]=h;g=((d<<1)+b|0)+310128|0;d=c<<1;e=s[Va(b+310276|0,g,d+2|0)+d>>1];d=s[b+310276>>1];q[b+76>>2]=d;q[b+84>>2]=e-d;a:{b:{c:{if(e>>>0>=65){a=q[a+4>>2];q[f>>2]=e;Ta(a,16,28030,f);break c}if(d>>>0>=33){a=q[a+4>>2];q[f+16>>2]=d;Ta(a,16,28576,f+16|0);break c}p[b+310226>>1]=d;e=h+1|0;g=c&1;c=1;while(1){if((c|0)!=(e|0)){i=c<<1;p[(i+b|0)+310226>>1]=s[((i-g<<1)+b|0)+310276>>1];c=c+1|0;continue}break}e=r[b+25|0];g=b;j=cS(x(Kj(x(x(t[b+60>>2])/x(d>>>0)))*x(e>>>0)));d:{if(x(y(j))1?d:1;q[g+310120>>2]=c;if(c>>>0>=6){a=q[a+4>>2];q[f+32>>2]=c;Ta(a,16,29068,f+32|0);break c}p[b+310374>>1]=s[b+310226>>1];e=c+1|0;d=0;c=1;while(1){if((c|0)!=(e|0)){d=((h-d>>>0)/(e-c>>>0)|0)+d|0;p[((c<<1)+b|0)+310374>>1]=s[((d<<1)+b|0)+310226>>1];c=c+1|0;continue}break}c=0;if((zv(a,b)|0)>=0){break b}}c=-1;break a}_l(b);q[b+176008>>2]=0;q[b+88040>>2]=0}Ca=f+48|0;return c}function Cv(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=0,k=0,l=0,m=0,o=0,p=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=x(0);m=q[c+76>>2];a:{if(q[c+40>>2]){j=d+87932|0;b:while(1){if(f>>>0>=t[d+8>>2]){break a}h=f+1|0;e=r[h+j|0];g=r[f+j|0];k=g<<1;l=(e<<1)-k|0;i=x(x(.5)/x(e-g|0));g=k+2|0;e=0;while(1)if(e>>>0>=t[c+84>>2]){f=h;continue b}else{E=(w(f,192)+a|0)+(e<<2)|0,F=x(i*x(n[q[c+390956>>2]]((w(e+m|0,320)+b|0)+(g<<3)|0,l))),u[E>>2]=F;e=e+1|0;continue}}}y=c+310226|0;z=c+310276|0;k=d+87932|0;c:while(1){if(h>>>0>=t[d+8>>2]){break a}j=h+1|0;f=r[j+k|0];e=r[h+k|0];g=e<<1;A=(f<<1)-g|0;B=f-e<<1;o=d+j|0;e=r[o+12|0];l=e?z:y;C=g+2|0;g=0;while(1)if(g>>>0>=t[(((e&255)<<2)+c|0)+310112>>2]){h=j;continue c}else{e=g<<1;g=g+1|0;p=l+(g<<1)|0;f=s[p>>1];v=e+l|0;e=s[v>>1];D=f-e|0;i=x(0);while(1){f=f&65535;if(e>>>0>>0){i=x(i+x(n[q[c+390956>>2]]((w(e,320)+b|0)+(C<<3)|0,A)));e=e+1|0;f=s[p>>1];continue}break}e=s[v>>1];f=f>>>0>e>>>0?f:e;i=x(i/x(w(B,D)|0));while(1){if((e|0)!=(f|0)){u[(w(h,192)+a|0)+(e-m<<2)>>2]=i;e=e+1|0;continue}break}e=r[o+12|0];continue}}}}function IB(a,b){var c=0,d=0;Hi(a);c=q[b+8>>2];q[a>>2]=c;q[a+4>>2]=q[b+16>>2];q[a+8>>2]=q[b+20>>2];d=q[b+44>>2];q[a+24>>2]=q[b+40>>2];q[a+28>>2]=d;q[a+32>>2]=q[b+672>>2];q[a+36>>2]=q[b+676>>2];q[a+40>>2]=q[b+716>>2];q[a+44>>2]=q[b+720>>2];a:{if(c>>>0>3){break a}b:{switch(c-1|0){default:q[a+20>>2]=q[b+112>>2];q[a+48>>2]=q[b+92>>2];q[a+52>>2]=q[b+96>>2];q[a+64>>2]=q[b+340>>2];q[a+68>>2]=q[b+328>>2];q[a+72>>2]=q[b+316>>2];q[a+76>>2]=q[b+320>>2];q[a+80>>2]=q[b+324>>2];q[a+84>>2]=q[b+332>>2];c=q[b+192>>2];q[a+56>>2]=q[b+188>>2];q[a+60>>2]=c;q[a+88>>2]=q[b+140>>2];break a;case 0:q[a+20>>2]=q[b+352>>2];c=q[b+380>>2];q[a+96>>2]=q[b+376>>2];q[a+100>>2]=c;q[a+104>>2]=q[b+348>>2];q[a+108>>2]=q[b+344>>2];q[a+112>>2]=q[b+364>>2];q[a+116>>2]=q[b+356>>2];q[a+120>>2]=q[b+756>>2];q[a+124>>2]=q[b+868>>2];q[a+128>>2]=q[b+828>>2];break a;case 1:break a;case 2:break b}}q[a+48>>2]=q[b+92>>2];q[a+52>>2]=q[b+96>>2]}if(q[b+68>>2]){c=nb(q[b+72>>2]- -64|0);q[a+12>>2]=c;if(!c){return-48}d=q[b+68>>2];b=q[b+72>>2];Va(c,d,b);q[a+16>>2]=b}return 0}function Gs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;q=d<<1;B=c<<1;v=b>>1;C=0-v<<1;D=w(v,-3)<<1;y=b&-2;E=0-y<<1;while(1){if((x|0)!=4){a:{r=o[e+x|0];if((r|0)<0){break a}i=r<<1;z=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+C|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(B|0)){break b}k=b+E|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}A=(v<<1)+b|0;l=s[A>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[(y<<1)+b>>1];n=s[b+D>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:z;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=z}h=g-j|0;n=h>>31;F=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[A>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[F>>1]=d>>>0<512?d:(d>>31^-1)&511;d=j-f|0;p[b>>1]=d>>>0<512?d:(d>>31^-1)&511}c=c+1|0;b=b+2|0;continue}}x=x+1|0;a=a+8|0;continue}break}}function HA(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0;h(+b);d=e(1)|0;i=e(0)|0;a:{c=d&2147483647;if((c|0)==2146435072&i>>>0<=0|c>>>0<2146435072){h(+a);c=e(1)|0;j=e(0)|0;k=c&2147483647;if((k|0)==2146435072&j>>>0<1|k>>>0<2146435072){break a}}return a+b}k=d;if(!(d+ -1072693248|i)){return Tj(a)}m=d>>>30&2;d=m|c>>>31;b:{c:{d:{c=c&2147483647;if(!(j|c)){e:{switch(d-2|0){case 0:break d;case 1:break e;default:break c}}return-3.141592653589793}j=i;i=k&2147483647;if(!(j|i)){break b}f:{if((i|0)==2146435072){if((c|0)!=2146435072){break f}return v[(d<<3)+205440>>3]}if(!(i+67108864>>>0>=c>>>0?(c|0)!=2146435072:0)){break b}g:{if(m){l=0;if(c+67108864>>>0>>0){break g}}l=Tj(y(a/b))}a=l;if(d>>>0<=2){h:{switch(d-1|0){case 0:return-a;case 1:break h;default:break c}}return 3.141592653589793-(a+ -1.2246467991473532e-16)}return a+ -1.2246467991473532e-16+ -3.141592653589793}return v[(d<<3)+205472>>3]}a=3.141592653589793}return a}h(1.5707963267948966);d=e(1)|0;i=e(0)|0;h(+a);c=e(1)|0;e(0)|0;f(0,i|0);f(1,d&2147483647|c&-2147483648);return+g()}function tg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;h=Ca-16|0;Ca=h;g=e>>1;i=s[(2-g<<1)+a>>1];k=i+2|0;l=s[(4-g<<1)+a>>1];m=s[(3-g<<1)+a>>1];f=l+(k+(m<<1)|0)>>>2|0;n=i<<1;i=s[(1-g<<1)+a>>1];j=i+2|0;n=m+(n+j|0)>>>2|0;o=e&-2;e=s[a-o>>1];q=(e+k|0)+(i<<1)>>>2|0;k=0;r=(j+s[((c?g^-1:0-g|0)<<1)+a>>1]|0)+(e<<1)>>>2|0;c=s[(7-g<<1)+a>>1];j=s[(5-g<<1)+a>>1];i=s[(6-g<<1)+a>>1];e=c;e=d?s[(8-g<<1)+a>>1]:e;p[h+12>>1]=(c+(j+(i<<1)|0)|0)+2>>>2;p[h+10>>1]=(i+(l+(j<<1)|0)|0)+2>>>2;p[h+8>>1]=(j+(m+(l<<1)|0)|0)+2>>>2;p[h+6>>1]=f;p[h+4>>1]=n;p[h+2>>1]=q;p[h>>1]=r;p[h+14>>1]=((i+(c<<1)|0)+e|0)+2>>>2;c=o<<1;d=w(g,3)<<1;m=g<<3;l=w(g,5)<<1;i=w(g,6)<<1;j=w(g,7)<<1;e=b;while(1){if((k|0)!=8){f=s[(k<<1)+h>>1]+s[e>>1]|0;p[a>>1]=f;f=f+s[e+32>>1]|0;p[(g<<1)+a>>1]=f;f=f+s[e+64>>1]|0;p[a+c>>1]=f;f=f+s[e+96>>1]|0;p[a+d>>1]=f;f=f+s[e+128>>1]|0;p[a+m>>1]=f;f=f+s[e+160>>1]|0;p[a+l>>1]=f;f=f+s[e+192>>1]|0;p[a+i>>1]=f;p[a+j>>1]=f+s[e+224>>1];k=k+1|0;e=e+4|0;a=a+2|0;continue}break}Za(b,0,256);Ca=h+16|0}function yx(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=Ca-32|0;Ca=h;e=q[a+24>>2];k=q[e+6516>>2]?960:1024;g=q[e+6484>>2];f=q[e+6472>>2];if(!((f|0)!=23?(f|0)!=39:0)){k=k>>>1|0}q[e+8>>2]=b;b=Cj(a);a:{if((b|0)<0){break a}q[q[e+4>>2]+716>>2]=f+ -1;q[e+1004>>2]=0;if(!((g|0)<0|(g|0)>12|g+ -8>>>0<3)){i=o[g+95744|0];m=(i|0)>0?i:0;n=w(g+ -1|0,15);p=(f|0)==39;g=0;while(1){if((g|0)!=(m|0)){f=w(g,3)+n|0;i=r[f+95760|0];j=r[f+95761|0];f=lm(e,i,j);if(!f){a=q[e+4>>2];q[h+20>>2]=j;q[h+16>>2]=i;Ta(a,16,36554,h+16|0);b=-1094995529;break a}q[f>>2]=1;if(!p){j=q[d+8>>2]+4|0;l=q[d+16>>2];q[d+8>>2]=l>>>0>j>>>0?j:l}b:{if(i>>>0>3){break b}c:{switch(i-1|0){default:b=me(e,f+288|0,d,0);break b;case 0:b=km(e,d,f);break b;case 1:break b;case 2:break c}}b=me(e,f+288|0,d,0)}g=g+1|0;if((b|0)>=0){continue}break a}break}jm(e);b=q[e+8>>2];if(!q[b>>2]){Ta(a,16,36872,0);b=-1094995529;break a}q[b+76>>2]=k;q[b+232>>2]=q[a+344>>2];q[c>>2]=1;Mb(d,q[d+12>>2]-q[d+8>>2]|0);b=0;break a}q[h>>2]=g;Pc(a,36172,h);b=-1094995529}Ca=h+32|0;return b}function WQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0;i=a-d|0;n=r[i+2|0];o=n+2|0;f=r[(a+d|0)+ -1|0];k=f+2|0;l=r[i+7|0];p=l;g=a+ -1|0;h=r[g|0];j=r[((d<<1)+a|0)+ -1|0];e=j+2|0;t=(h+e|0)+(f<<1)>>>2|0;f=d^-1;m=r[(w(d,3)+a|0)+ -1|0];k=t+((r[(b?f+a|0:g)|0]+k|0)+(h<<1)>>>2|0)+(m+((j<<1)+k|0)>>>2)|0;g=r[((d<<2)+a|0)+ -1|0];h=r[(w(d,5)+a|0)+ -1|0];j=r[(w(d,6)+a|0)+ -1|0];g=k+(g+((m<<1)+e|0)>>>2|0)+((h+((g<<1)+m|0)|0)+2>>>2)+((j+((h<<1)+g|0)|0)+2>>>2)|0;e=r[(w(d,7)+a|0)+ -1|0];g=g+((w(e,3)+j|0)+2>>>2|0)+((e+((j<<1)+h|0)|0)+2>>>2)|0;h=r[(b?f:0-d|0)+a|0];f=r[i+1|0];e=f+2|0;b=r[i|0];f=g+((h+e|0)+(b<<1)>>>2|0)+((b+o|0)+(f<<1)>>>2)|0;b=r[i+3|0];f=f+(b+(e+(n<<1)|0)>>>2|0)|0;e=r[i+4|0];f=f+(e+(o+(b<<1)|0)>>>2|0)|0;g=(e<<1)+b|0;b=r[i+5|0];h=(b<<1)+e|0;e=r[i+6|0];b=f+((g+b|0)+2>>>2|0)+((h+e|0)+2>>>2)+((l+(b+(e<<1)|0)|0)+2>>>2)|0;if(c){p=r[i+8|0]}b=w(((((e+(l<<1)|0)+p|0)+2>>>2|0)+b|0)+8>>4,16843009);while(1){if((s|0)!=8){q[a+4>>2]=b;q[a>>2]=b;s=s+1|0;a=a+d|0;continue}break}}function OQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=2;h=a-b|0;i=r[h+4|0]-r[h+2|0]|0;g=((b<<3)+a|0)+ -1|0;f=g-(b<<1)|0;c=r[g|0]-r[f|0]|0;l=0-b|0;j=w(b,3)+ -1|0;k=w(b,11)+ -1|0;h=h+3|0;while(1){if((d|0)==5){h=b<<2;m=0-h|0;d=5;k=a+k|0;g=k;j=a+j|0;f=j;while(1){if((d|0)!=9){g=b+g|0;f=f+l|0;c=w(r[g|0]-r[f|0]|0,d)+c|0;d=d+1|0;continue}break}g=16;l=w(c,5)+32>>6;f=w(i,17)+16>>5;i=w(f,3);d=((w(l,-7)-i|0)+(r[(j+m|0)+8|0]+r[h+k|0]<<4)|0)+16|0;h=w(f,7);j=w(f,6);k=w(f,5);m=f<<2;n=f<<1;while(1){if(g){c=d>>5;o[a|0]=c>>>0>255?d>>31^-1:c;e=d+h|0;c=e>>5;o[a+7|0]=c>>>0>255?e>>31^-1:c;e=d+j|0;c=e>>5;o[a+6|0]=c>>>0>255?e>>31^-1:c;e=d+k|0;c=e>>5;o[a+5|0]=c>>>0>255?e>>31^-1:c;e=d+m|0;c=e>>5;o[a+4|0]=c>>>0>255?e>>31^-1:c;e=d+i|0;c=e>>5;o[a+3|0]=c>>>0>255?e>>31^-1:c;e=d+n|0;c=e>>5;o[a+2|0]=c>>>0>255?e>>31^-1:c;e=d+f|0;c=e>>5;o[a+1|0]=c>>>0>255?e>>31^-1:c;g=g+ -1|0;a=a+b|0;d=d+l|0;continue}break}}else{g=b+g|0;f=f+l|0;c=w(r[g|0]-r[f|0]|0,d)+c|0;i=w(r[d+h|0]-r[h-d|0]|0,d)+i|0;d=d+1|0;continue}break}}function My(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ca-176|0;Ca=a;if(t[22788]<=120){h=q[54414];i=q[54415];while(1){a:{f=Y()|0;c=f-b|0;b:{if(((e<<1|1)+b|0)>=(f|0)){b=((q[54414]&511)<<2)+217664|0;q[b>>2]=(w(q[b>>2],1664525)+(c>>>0<3294638521?c:c+1000328775|0)|0)+1013904223;break b}b=q[54415];e=q[54414]+1|0;if(e>>>0<1){b=b+1|0}d=b;q[54414]=e;q[54415]=b;b=((e&511)<<2)+217664|0;q[b>>2]=q[b>>2]+(c>>>0<3294638521?c:c+1000328775|0);if((f-g|0)<31250){break b}b=d;d=h;b=b-(i+(e>>>0>>0)|0)|0;d=e-d|0;if(((h|0)!=0|(i|0)!=0)&(!b&d>>>0>4|b>>>0>0)|(!b&d>>>0>64|b>>>0>0)){break a}}g=g?g:f;e=c;b=f;continue}break}o[a+48|0]=5;q[a+128>>2]=1732584193;q[a+132>>2]=-271733879;q[a+144>>2]=-1009589776;q[a+136>>2]=-1732584194;q[a+140>>2]=271733878;q[a+56>>2]=0;q[a+60>>2]=0;q[a+160>>2]=99;zi(a+48|0,217664,2048);Hy(a+48|0,a+16|0);Ca=a+176|0;c=q[a+32>>2];d=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);c=q[a+16>>2];return d+(c<<8&16711680|c<<24|(c>>>8&65280|c>>>24))|0}q[a+8>>2]=77;q[a+4>>2]=10691;q[a>>2]=8771;Ta(0,0,7457,a);I();F()}function zv(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Ca-16|0;Ca=i;q[b+310448>>2]=0;j=q[b+52>>2];d=q[b>>2];d=((d>>1)+2048e3|0)/(d|0)|0;k=q[b+76>>2];a:{if(d>>>0>2]>>>0){while(1){c=e;e=c+1|0;if((d|0)>s[((c<<1)+b|0)+310128>>1]){continue}break a}}c=q[b+92>>2]}l=b+310452|0;g=-1;d=-1;e=0;b:{c:{while(1){if((d|0)==(j|0)?(c|0)==(g|0):0){break c}d=c;h=q[b+52>>2];g=0;while(1){if(!(e>>>0<=h+((g^-1)+j|0)>>>0?(c|0)!=(d|0):0)){e=s[((c<<1)+b|0)+310128>>1];g=h+e&1;c=c+ -1|0;continue}break}if(f>>>0>=6){a=q[a+4>>2];q[i>>2]=f;Ta(a,16,30044,i);c=-1;break b}c=e-k|0;o[f+l|0]=(c|0)>0?c:0;c=q[b+310448>>2];o[(c+b|0)+310458|0]=(q[b+52>>2]-g|0)-r[c+l|0];f=q[b+310448>>2];d:{if(r[l+f|0]){f=f+1|0;q[b+310448>>2]=f;k=e;h=e;break d}h=q[b+76>>2]}c=d;if((s[((c<<1)+b|0)+310128>>1]-e|0)<=2){c=q[b+92>>2]}g=d;d=j;j=h;if((q[b+84>>2]+q[b+76>>2]|0)!=(e|0)){continue}break}c=0;if(f>>>0<2){break b}a=f+ -1|0;if(r[(a+b|0)+310452|0]>2){break b}q[b+310448>>2]=a;break b}Ta(q[a+4>>2],16,29573,0);c=-1094995529}Ca=i+16|0;return c}function bb(a,b,c){var d=0,e=0,f=0;while(1){if((f|0)!=21){d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);e=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=e;o[a+1|0]=e>>>8;o[a+2|0]=e>>>16;o[a+3|0]=e>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;d=r[b+12|0]|r[b+13|0]<<8|(r[b+14|0]<<16|r[b+15|0]<<24);e=r[b+8|0]|r[b+9|0]<<8|(r[b+10|0]<<16|r[b+11|0]<<24);o[a+8|0]=e;o[a+9|0]=e>>>8;o[a+10|0]=e>>>16;o[a+11|0]=e>>>24;o[a+12|0]=d;o[a+13|0]=d>>>8;o[a+14|0]=d>>>16;o[a+15|0]=d>>>24;d=r[b+20|0]|r[b+21|0]<<8|(r[b+22|0]<<16|r[b+23|0]<<24);e=r[b+16|0]|r[b+17|0]<<8|(r[b+18|0]<<16|r[b+19|0]<<24);o[a+16|0]=e;o[a+17|0]=e>>>8;o[a+18|0]=e>>>16;o[a+19|0]=e>>>24;o[a+20|0]=d;o[a+21|0]=d>>>8;o[a+22|0]=d>>>16;o[a+23|0]=d>>>24;d=r[b+28|0]|r[b+29|0]<<8|(r[b+30|0]<<16|r[b+31|0]<<24);e=r[b+24|0]|r[b+25|0]<<8|(r[b+26|0]<<16|r[b+27|0]<<24);o[a+24|0]=e;o[a+25|0]=e>>>8;o[a+26|0]=e>>>16;o[a+27|0]=e>>>24;o[a+28|0]=d;o[a+29|0]=d>>>8;o[a+30|0]=d>>>16;o[a+31|0]=d>>>24;f=f+1|0;b=b+c|0;a=a+32|0;continue}break}}function HB(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,p=0;a:{if(!i|!j){break a}b:{if((h|0)>=(j|0)){l=j+ -1|0;b=(b-w(d,h)|0)+w(l,d)|0;break b}if((0-f|0)<(h|0)){l=h;break b}l=1-f|0;b=(b-w(d,h)|0)+w(l,d)|0}c:{if((g|0)>=(i|0)){k=i+ -1|0;b=((g^-1)+i|0)+b|0;break c}if((0-e|0)<(g|0)){k=g;break c}k=1-e|0;b=(k-g|0)+b|0}h=0;m=(l|0)>0?0:0-l|0;g=(m|0)>0?m:0;i=i-k|0;n=(i|0)<(e|0)?i:e;k=(k|0)>0?0:0-k|0;p=n-k|0;b=(k+w(d,m)|0)+b|0;i=a+k|0;a=j-l|0;while(1)if((g|0)==(h|0)){a=(a|0)<(f|0)?a:f;h=(g|0)>(a|0)?g:a;while(1){if((g|0)!=(h|0)){g=g+1|0;i=Va(i,b,p)+c|0;b=b+d|0;continue}break}a=(h|0)>(f|0)?h:f;b=b-d|0;while(1){if((a|0)!=(h|0)){h=h+1|0;i=Va(i,b,p)+c|0;continue}break}a=(k|0)>0?k:0;b=n+ -1|0;g=i-(k+w(c,f)|0)|0;d:while(1){if(!f){break a}f=f+ -1|0;d=g+k|0;i=0;while(1)if((a|0)==(i|0)){d=b+g|0;i=n;while(1){if((e|0)!=(i|0)){o[g+i|0]=r[d|0];i=i+1|0;continue}break}g=c+g|0;continue d}else{o[g+i|0]=r[d|0];i=i+1|0;continue}}}else{h=h+1|0;i=Va(i,b,p)+c|0;continue}}}function jd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=Ca-144|0;Ca=h;i=q[a+4>>2];q[h+140>>2]=0;Za(h+16|0,0,112);o[h+11|0]=0;o[h+12|0]=0;o[h+13|0]=0;o[h+14|0]=0;q[h+8>>2]=0;g=a+6520|0;if((g|0)!=(b|0)){Va(g,b,w(c,3));q[a+6712>>2]=c}n=(c|0)>0?c:0;a:{b:{while(1){if((f|0)==(n|0)){break b}g=w(f,3)+b|0;k=r[g+1|0];j=r[g|0];p=j+(h+8|0)|0;g=r[p|0];o[p|0]=g+1;o[k+((h+16|0)+(j<<4)|0)|0]=g;f=f+1|0;if(g>>>0<16){continue}break}Pc(i,35885,0);f=-1163346256;break a}if(q[i+384>>2]|q[i+388>>2]!=-2147483648){l=lx(b,c);m=Da}c=0;while(1){if((c|0)!=(n|0)){f=w(c,3)+b|0;g=r[f|0];k=r[f+1|0];j=r[k+((h+16|0)+(g<<4)|0)|0];f=kx(a,r[f+2|0],g,j,h+140|0);if((f|0)<0){break a}f=(g<<6)+a|0;q[(f+(k<<2)|0)+748>>2]=q[(f+(j<<2)|0)+492>>2];c=c+1|0;continue}break}c=q[h+140>>2];f=(c|0)==2;g=q[a+6512>>2]==1;b=g?f?!m&(l|0)==4?3:0:l:l;g=g?f?0:m:m;f=g;if(b|g){q[i+376>>2]=b;q[i+380>>2]=f}q[a+6716>>2]=c;g=a+6720|0;q[g>>2]=b;q[g+4>>2]=f;q[i+348>>2]=c;q[a+6728>>2]=d;if(e){f=Cj(q[a+4>>2]);if((f|0)<0){break a}}f=0}Ca=h+144|0;return f}function FR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a-(b&-2)|0;f=s[g+8>>1]-s[g+4>>1]|0;j=b>>1;e=((j<<3)+a|0)+ -2|0;h=e-((b&2147483646)<<1)|0;i=s[e>>1]-s[h>>1]|0;g=g+6|0;k=(w(j,14)+a|0)+ -2|0;b=2;l=0-j<<1;while(1){if((b|0)!=5){e=(j<<1)+e|0;h=h+l|0;i=w(s[e>>1]-s[h>>1]|0,b)+i|0;c=f;f=b<<1;f=c+w(s[f+g>>1]-s[g-f>>1]|0,b)|0;b=b+1|0;continue}break}i=w(i,17)+16>>5;e=w(f,17)+16>>5;b=(w(i+e|0,-3)+(s[h+16>>1]+s[k>>1]<<4)|0)+16|0;h=w(e,7);g=w(e,6);k=w(e,5);l=e<<2;m=w(e,3);n=e<<1;f=8;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<16384?c:(b>>31^-1)&16383;c=b+h|0;d=c>>5;p[a+14>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+g|0;d=c>>5;p[a+12>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+k|0;d=c>>5;p[a+10>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+l|0;d=c>>5;p[a+8>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+m|0;d=c>>5;p[a+6>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+n|0;d=c>>5;p[a+4>>1]=d>>>0<16384?d:(c>>31^-1)&16383;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<16384?d:(c>>31^-1)&16383;f=f+ -1|0;b=b+i|0;a=(j<<1)+a|0;continue}break}}function Vn(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;if(a|b){if(!(c|d)){Da=b;return a}h=c;e=d;$R(c&0-c,d&0-((0>>0)+d|0),-862635923,36691299);i=r[(Da>>>26|0)+47904|0];c=i;f=c&31;if(32<=(c&63)>>>0){d=e>>31;h=e>>f}else{d=e>>f;h=((1<>>f}c=d;f=c>>31;d=c>>31;e=c+f|0;c=d;h=c+h|0;if(h>>>0>>0){e=e+1|0}g=d^h;f=e^f;d=a;c=d;$R(0-c&c,0-((0>>0)+b|0)&b,-862635923,36691299);h=r[(Da>>>26|0)+47904|0];a=h;e=a&31;if(32<=(a&63)>>>0){c=b>>31;d=b>>e}else{c=b>>e;d=((1<>>e}a=c;e=c>>31;c=c>>31;b=e;e=b+a|0;d=c+d|0;if(d>>>0>>0){e=e+1|0}c=c^d;d=b^e;while(1){if(!((c|0)==(g|0)&(d|0)==(f|0))){b=(d|0)>(f|0)?1:(d|0)>=(f|0)?c>>>0<=g>>>0?0:1:0;a=b?c:g;e=b?d:f;d=b?f:d;c=b?g:c;b=e-(d+(a>>>0>>0)|0)|0;a=a-c|0;e=a;$R(0-a&a,0-((0>>0)+b|0)&b,-862635923,36691299);a=r[(Da>>>26|0)+47904|0];g=a&31;if(32<=(a&63)>>>0){f=b>>31;g=b>>g}else{f=b>>g;g=((1<>>g}continue}break}b=c;a=h>>>0>i>>>0?i:h;c=a&31;if(32<=(a&63)>>>0){d=b<>>32-c|d<>2];Rn(f+80|0,b,d);Rn(f+16|0,c,d);n[q[a+2964>>2]](f+144|0,f+80|0,f+16|0,8);d=0;h=n[q[a+6272>>2]](a,f+144|0,0,q[a+1920>>2],f+12|0)|0;q[a+16>>2]=h;j=q[a+4312>>2];a:{if(j){c=a+4924|0;g=r[(p[f+144>>1]+q[a+4944>>2]|0)+256|0];d=1;b=a+4920|0;break a}c=a+4940|0;b=a+4936|0}b:{if((h|0)<(d|0)){break b}k=q[b>>2];l=q[c>>2];c=0;while(1){q[f+12>>2]=d;if((d|0)!=(h|0)){i=p[(f+144|0)+(r[(a+d|0)+204|0]<<1)>>1];c:{if(i){b=e;i=i- -64|0;if(i>>>0<=127){b=r[(i+(c<<7)|0)+k|0]}g=b+g|0;c=0;break c}c=c+1|0}d=d+1|0;continue}break}b=r[(a+h|0)+204|0];q[f+12>>2]=b;b=p[(f+144|0)+(b<<1)>>1]- -64|0;if(b>>>0<=127){g=r[(b+(c<<7)|0)+l|0]+g|0;break b}g=e+g|0}d:{if((h|0)<0){break d}if(j){n[q[a+6260>>2]](a,f+144|0,0,q[a+1920>>2]);break d}n[q[a+6264>>2]](a,f+144|0,0,q[a+1920>>2])}n[q[a+2300>>2]](f+16|0,8,f+144|0);b=n[q[a+2408>>2]](0,f+16|0,f+80|0,8,8)|0;Ca=f+272|0;a=q[a+1920>>2];return b+(w(w(w(a,g),a),109)- -64>>7)|0}function Yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;while(1){if((g|0)!=(h|0)){c=f+w(r[a|0],e)>>d;o[a|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+1|0],e)>>d;o[a+1|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+2|0],e)>>d;o[a+2|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+3|0],e)>>d;o[a+3|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+4|0],e)>>d;o[a+4|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+5|0],e)>>d;o[a+5|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+6|0],e)>>d;o[a+6|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+7|0],e)>>d;o[a+7|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+8|0],e)>>d;o[a+8|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+9|0],e)>>d;o[a+9|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+10|0],e)>>d;o[a+10|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+11|0],e)>>d;o[a+11|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+12|0],e)>>d;o[a+12|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+13|0],e)>>d;o[a+13|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+14|0],e)>>d;o[a+14|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+15|0],e)>>d;o[a+15|0]=c>>>0>255?c>>31^-1:c;a=a+b|0;g=g+1|0;continue}break}}function zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a-(b&-2)|0;f=s[g+8>>1]-s[g+4>>1]|0;j=b>>1;e=((j<<3)+a|0)+ -2|0;h=e-((b&2147483646)<<1)|0;i=s[e>>1]-s[h>>1]|0;g=g+6|0;k=(w(j,14)+a|0)+ -2|0;b=2;l=0-j<<1;while(1){if((b|0)!=5){e=(j<<1)+e|0;h=h+l|0;i=w(s[e>>1]-s[h>>1]|0,b)+i|0;c=f;f=b<<1;f=c+w(s[f+g>>1]-s[g-f>>1]|0,b)|0;b=b+1|0;continue}break}i=w(i,17)+16>>5;e=w(f,17)+16>>5;b=(w(i+e|0,-3)+(s[h+16>>1]+s[k>>1]<<4)|0)+16|0;h=w(e,7);g=w(e,6);k=w(e,5);l=e<<2;m=w(e,3);n=e<<1;f=8;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<1024?c:(b>>31^-1)&1023;c=b+h|0;d=c>>5;p[a+14>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+g|0;d=c>>5;p[a+12>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+k|0;d=c>>5;p[a+10>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+l|0;d=c>>5;p[a+8>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+m|0;d=c>>5;p[a+6>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+n|0;d=c>>5;p[a+4>>1]=d>>>0<1024?d:(c>>31^-1)&1023;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<1024?d:(c>>31^-1)&1023;f=f+ -1|0;b=b+i|0;a=(j<<1)+a|0;continue}break}}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a-(b&-2)|0;f=s[g+8>>1]-s[g+4>>1]|0;j=b>>1;e=((j<<3)+a|0)+ -2|0;h=e-((b&2147483646)<<1)|0;i=s[e>>1]-s[h>>1]|0;g=g+6|0;k=(w(j,14)+a|0)+ -2|0;b=2;l=0-j<<1;while(1){if((b|0)!=5){e=(j<<1)+e|0;h=h+l|0;i=w(s[e>>1]-s[h>>1]|0,b)+i|0;c=f;f=b<<1;f=c+w(s[f+g>>1]-s[g-f>>1]|0,b)|0;b=b+1|0;continue}break}i=w(i,17)+16>>5;e=w(f,17)+16>>5;b=(w(i+e|0,-3)+(s[h+16>>1]+s[k>>1]<<4)|0)+16|0;h=w(e,7);g=w(e,6);k=w(e,5);l=e<<2;m=w(e,3);n=e<<1;f=8;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<4096?c:(b>>31^-1)&4095;c=b+h|0;d=c>>5;p[a+14>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+g|0;d=c>>5;p[a+12>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+k|0;d=c>>5;p[a+10>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+l|0;d=c>>5;p[a+8>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+m|0;d=c>>5;p[a+6>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+n|0;d=c>>5;p[a+4>>1]=d>>>0<4096?d:(c>>31^-1)&4095;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<4096?d:(c>>31^-1)&4095;f=f+ -1|0;b=b+i|0;a=(j<<1)+a|0;continue}break}}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=Ca+ -64|0;Ca=e;a:{b:{c:{if(xb(b,206372,0)){q[c>>2]=0;break c}if(iA(a,b)){f=1;a=q[c>>2];if(!a){break a}q[c>>2]=q[a>>2];break a}if(!b){break b}b=Kc(b,206152);if(!b){break a}d=q[c>>2];if(d){q[c>>2]=q[d>>2]}g=q[b+8>>2];d=q[a+8>>2];if(g&(d^-1)&7|(g^-1)&d&96){break a}f=1;if(xb(q[a+12>>2],q[b+12>>2],0)){break a}if(xb(q[a+12>>2],206360,0)){a=q[b+12>>2];if(!a){break a}f=!Kc(a,206204);break a}d=q[a+12>>2];if(!d){break b}f=0;d=Kc(d,206152);if(d){if(!(o[a+8|0]&1)){break a}f=gA(d,q[b+12>>2]);break a}d=q[a+12>>2];if(!d){break a}d=Kc(d,206264);if(d){if(!(o[a+8|0]&1)){break a}f=Tm(d,q[b+12>>2]);break a}a=q[a+12>>2];if(!a){break a}d=Kc(a,206056);if(!d){break a}a=q[b+12>>2];if(!a){break a}a=Kc(a,206056);if(!a){break a}q[e+20>>2]=-1;q[e+16>>2]=d;q[e+12>>2]=0;q[e+8>>2]=a;Za(e+24|0,0,39);q[e+56>>2]=1;n[q[q[a>>2]+28>>2]](a,e+8|0,q[c>>2],1);if(q[e+32>>2]!=1){break a}if(!q[c>>2]){break c}q[c>>2]=q[e+24>>2]}f=1;break a}f=0}Ca=e- -64|0;return f|0}function yr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<6;x=c<<6;y=(b&-2)<<1;z=b>>1<<1;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<6;w=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==2){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(x|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:w;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=w}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<16384?d:(d>>31^-1)&16383;d=j-f|0;p[b>>1]=d>>>0<16384?d:(d>>31^-1)&16383}c=c+1|0;b=b+z|0;continue}}v=v+1|0;a=a+y|0;continue}break}}function xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<6;y=c<<6;w=b>>1;z=w<<3;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<6;x=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(y|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:x;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=x}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<16384?d:(d>>31^-1)&16383;d=j-f|0;p[b>>1]=d>>>0<16384?d:(d>>31^-1)&16383}c=c+1|0;b=(w<<1)+b|0;continue}}v=v+1|0;a=a+z|0;continue}break}}function ms(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<2;x=c<<2;y=(b&-2)<<1;z=b>>1<<1;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<2;w=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==2){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(x|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:w;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=w}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<1024?d:(d>>31^-1)&1023;d=j-f|0;p[b>>1]=d>>>0<1024?d:(d>>31^-1)&1023}c=c+1|0;b=b+z|0;continue}}v=v+1|0;a=a+y|0;continue}break}}function Sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<4;x=c<<4;y=(b&-2)<<1;z=b>>1<<1;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<4;w=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==2){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(x|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:w;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=w}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<4096?d:(d>>31^-1)&4095;d=j-f|0;p[b>>1]=d>>>0<4096?d:(d>>31^-1)&4095}c=c+1|0;b=b+z|0;continue}}v=v+1|0;a=a+y|0;continue}break}}function ls(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<2;y=c<<2;w=b>>1;z=w<<3;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<2;x=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(y|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:x;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=x}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<1024?d:(d>>31^-1)&1023;d=j-f|0;p[b>>1]=d>>>0<1024?d:(d>>31^-1)&1023}c=c+1|0;b=(w<<1)+b|0;continue}}v=v+1|0;a=a+z|0;continue}break}}function Rr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<4;y=c<<4;w=b>>1;z=w<<3;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<4;x=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(y|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:x;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=x}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<4096?d:(d>>31^-1)&4095;d=j-f|0;p[b>>1]=d>>>0<4096?d:(d>>31^-1)&4095}c=c+1|0;b=(w<<1)+b|0;continue}}v=v+1|0;a=a+z|0;continue}break}}function Is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<1;x=c<<1;y=(b&-2)<<1;z=b>>1<<1;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<1;w=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==2){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(x|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:w;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=w}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<512?d:(d>>31^-1)&511;d=j-f|0;p[b>>1]=d>>>0<512?d:(d>>31^-1)&511}c=c+1|0;b=b+z|0;continue}}v=v+1|0;a=a+y|0;continue}break}}function Tj(a){a=+a;var b=0,c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h(+a);b=e(1)|0;k=e(0)|0;i=b;d=b&2147483647;if(d>>>0<1141899264){a:{b:{if(d>>>0<=1071382527){b=-1;if(d>>>0>=1044381696){break b}break a}a=y(a);if(d>>>0<=1072889855){if(d>>>0<=1072037887){a=(a+a+ -1)/(a+2);b=0;break b}a=(a+ -1)/(a+1);b=1;break b}if(d>>>0<=1073971199){a=(a+ -1.5)/(a*1.5+1);b=2;break b}a=-1/a;b=3}j=a*a;c=j*j;l=c*(c*(c*(c*(c*-.036531572744216916+ -.058335701337905735)+ -.0769187620504483)+ -.11111110405462356)+ -.19999999999876483);c=j*(c*(c*(c*(c*(c*.016285820115365782+.049768779946159324)+.06661073137387531)+.09090887133436507)+.14285714272503466)+.3333333333333293);if((b|0)<=-1){return+(a-a*(l+c))}b=b<<3;a=v[b+205344>>3]-(a*(l+c)-v[b+205376>>3]-a);a=((i|0)<0?1:(i|0)<=0?k>>>0>=0?0:1:0)?-a:a}return+a}h(1.5707963267948966);b=e(1)|0;m=e(0)|0;h(+a);d=e(1)|0;e(0)|0;f(0,m|0);f(1,b&2147483647|d&-2147483648);b=i&2147483647;return+(n=a,o=+g(),p=(b|0)==2146435072&k>>>0>0|b>>>0>2146435072,p?n:o)}function Hs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=d<<1;y=c<<1;w=b>>1;z=w<<3;while(1){if((v|0)!=4){a:{r=o[e+v|0];if((r|0)<0){break a}i=r<<1;x=i|1;c=0;t=0-i|0;b=a;while(1){if((c|0)==4){break a}m=b+ -2|0;f=s[m>>1];j=s[b>>1];k=f-j|0;d=k>>31;b:{if((d^d+k)>=(y|0)){break b}k=b+ -4|0;u=s[k>>1];l=u-f|0;d=l>>31;if((d^d+l)>=(q|0)){break b}l=s[b+2>>1];g=l-j|0;d=g>>31;if((d^d+g)>=(q|0)){break b}g=s[b+4>>1];n=s[b+ -6>>1];h=n-f|0;d=h>>31;h=(d^d+h)>=(q|0);d=h?i:x;if(!(h|!r)){d=(((f+j|0)+1>>>1|0)+n>>>1|0)-u|0;p[k>>1]=((d|0)<(t|0)?t:(d|0)>(i|0)?i:d)+u;d=x}h=g-j|0;n=h>>31;A=m;k=f;if((n^h+n)<(q|0)){if(r){g=(g+((f+j|0)+1>>>1|0)>>>1|0)-l|0;p[b+2>>1]=((g|0)<(t|0)?t:(g|0)>(i|0)?i:g)+l}d=d+1|0}m=0-d|0;f=((u-l|0)+(j-f<<2)|0)+4>>3;f=(f|0)<(m|0)?m:(f|0)>(d|0)?d:f;d=k+f|0;p[A>>1]=d>>>0<512?d:(d>>31^-1)&511;d=j-f|0;p[b>>1]=d>>>0<512?d:(d>>31^-1)&511}c=c+1|0;b=(w<<1)+b|0;continue}}v=v+1|0;a=a+z|0;continue}break}}function er(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;v=w(b,3);x=0-b|0;y=w(b,-3);z=0-(b<<2)|0;A=(c>>2)+2|0;p=b<<1;B=0-p|0;while(1){if((q|0)!=16){g=a+x|0;j=r[g|0];k=r[a|0];f=j-k|0;e=f>>31;l=e^e+f;a:{if((l|0)>=(c|0)){break a}s=a+B|0;i=r[s|0];f=i-j|0;e=f>>31;if((e^e+f)>=(d|0)){break a}t=a+b|0;e=r[t|0];h=e-k|0;f=h>>31;if((f^f+h)>=(d|0)){break a}if((l|0)<(A|0)){u=a+p|0;l=r[u|0];f=a+y|0;h=r[f|0];m=h-j|0;n=m>>31;b:{if((n^n+m)<(d|0)){n=3;C=r[a+z|0];m=j+k|0;o[g|0]=((e+h|0)+(m+i<<1)|0)+4>>>3;o[s|0]=(((h+j|0)+i|0)+k|0)+2>>>2;h=(w(h,3)+i|0)+4|0;g=C<<1;break b}n=2;h=j+2|0;m=i<<1;f=g;g=e}o[f|0]=g+(h+m|0)>>>n;f=l-k|0;g=f>>31;if((g^f+g)<(d|0)){g=r[a+v|0];e=e+(j+k|0)|0;o[a|0]=((i+l|0)+(e<<1)|0)+4>>>3;o[t|0]=(e+l|0)+2>>>2;o[u|0]=((e+w(l,3)|0)+(g<<1)|0)+4>>>3;break a}o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2;break a}o[g|0]=(e+((i<<1)+j|0)|0)+2>>>2;o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2}q=q+1|0;a=a+1|0;continue}break}}function Wp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a-(b&-2)|0;f=s[g+8>>1]-s[g+4>>1]|0;j=b>>1;e=((j<<3)+a|0)+ -2|0;h=e-((b&2147483646)<<1)|0;i=s[e>>1]-s[h>>1]|0;g=g+6|0;k=(w(j,14)+a|0)+ -2|0;b=2;l=0-j<<1;while(1){if((b|0)!=5){e=(j<<1)+e|0;h=h+l|0;i=w(s[e>>1]-s[h>>1]|0,b)+i|0;c=f;f=b<<1;f=c+w(s[f+g>>1]-s[g-f>>1]|0,b)|0;b=b+1|0;continue}break}i=w(i,17)+16>>5;e=w(f,17)+16>>5;b=(w(i+e|0,-3)+(s[h+16>>1]+s[k>>1]<<4)|0)+16|0;h=w(e,7);g=w(e,6);k=w(e,5);l=e<<2;m=w(e,3);n=e<<1;f=8;while(1){if(f){c=b>>5;p[a>>1]=c>>>0<512?c:(b>>31^-1)&511;c=b+h|0;d=c>>5;p[a+14>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+g|0;d=c>>5;p[a+12>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+k|0;d=c>>5;p[a+10>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+l|0;d=c>>5;p[a+8>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+m|0;d=c>>5;p[a+6>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+n|0;d=c>>5;p[a+4>>1]=d>>>0<512?d:(c>>31^-1)&511;c=b+e|0;d=c>>5;p[a+2>>1]=d>>>0<512?d:(c>>31^-1)&511;f=f+ -1|0;b=b+i|0;a=(j<<1)+a|0;continue}break}}function vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=8-f|0;h=8-e|0;i=w(g,h);j=c>>1;h=w(f,h);g=w(e,g);a:{e=w(e,f);if(e){f=0;d=(d|0)>0?d:0;m=j+1<<1;n=j+2<<1;while(1){if((d|0)==(f|0)){break a}k=j<<1;c=k+b|0;l=b+m|0;p[a>>1]=(s[a>>1]+((((w(s[b>>1],i)+w(g,s[b+2>>1])|0)+w(h,s[c>>1])|0)+w(e,s[l>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+((((w(s[b+2>>1],i)+w(g,s[b+4>>1])|0)+w(h,s[l>>1])|0)+w(e,s[b+n>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;a=a+k|0;b=c;continue}}c=h+g|0;if(!c){f=0;c=(d|0)>0?d:0;while(1){if((c|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+(w(s[b>>1],i)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+(w(s[b+2>>1],i)+32>>>6|0)|0)+1>>>1;f=f+1|0;d=j<<1;b=d+b|0;a=a+d|0;continue}}f=0;d=(d|0)>0?d:0;e=h?j:1;h=e+1<<1;while(1){if((d|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+((w(s[b>>1],i)+w(c,s[(e<<1)+b>>1])|0)+32>>>6|0)|0)+1>>>1;p[a+2>>1]=(s[a+2>>1]+((w(s[b+2>>1],i)+w(c,s[b+h>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;g=j<<1;b=g+b|0;a=a+g|0;continue}}}function eD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;a=0;M=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(M|0)){f=r[b|0]-r[c|0]|0;g=f>>31;h=r[b+1|0]-r[c+1|0]|0;i=h>>31;j=r[b+2|0]-r[c+2|0]|0;k=j>>31;l=r[b+3|0]-r[c+3|0]|0;m=l>>31;n=r[b+4|0]-r[c+4|0]|0;o=n>>31;p=r[b+5|0]-r[c+5|0]|0;q=p>>31;s=r[b+6|0]-r[c+6|0]|0;t=s>>31;u=r[b+7|0]-r[c+7|0]|0;v=u>>31;w=r[b+8|0]-r[c+8|0]|0;x=w>>31;y=r[b+9|0]-r[c+9|0]|0;z=y>>31;A=r[b+10|0]-r[c+10|0]|0;B=A>>31;C=r[b+11|0]-r[c+11|0]|0;D=C>>31;E=r[b+12|0]-r[c+12|0]|0;F=E>>31;G=r[b+13|0]-r[c+13|0]|0;H=G>>31;I=r[b+14|0]-r[c+14|0]|0;J=I>>31;K=r[b+15|0]-r[c+15|0]|0;L=K>>31;a=((((((((((((((((g^g+f)+a|0)+(i^i+h)|0)+(k^k+j)|0)+(m^m+l)|0)+(o^o+n)|0)+(q^q+p)|0)+(t^t+s)|0)+(v^v+u)|0)+(x^x+w)|0)+(z^z+y)|0)+(B^B+A)|0)+(D^D+C)|0)+(F^F+E)|0)+(H^H+G)|0)+(J^J+I)|0)+(L^L+K)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function br(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=w(b,-3);B=0-b|0;x=b<<1;C=0-x|0;while(1){if((u|0)!=4){a:{h=o[e+u|0];if((h|0)<0){break a}y=h+1|0;v=0;s=0-h|0;i=a;while(1){if((v|0)==4){break a}p=i+B|0;g=r[p|0];l=r[i|0];m=g-l|0;f=m>>31;b:{if((f^f+m)>=(c|0)){break b}m=i+C|0;t=r[m|0];n=t-g|0;f=n>>31;if((f^f+n)>=(d|0)){break b}z=b+i|0;n=r[z|0];j=n-l|0;f=j>>31;if((f^f+j)>=(d|0)){break b}j=r[i+x|0];q=r[i+A|0];k=q-g|0;f=k>>31;k=(f^f+k)>=(d|0);f=k?h:y;if(!(k|!h)){f=(((g+l|0)+1>>>1|0)+q>>>1|0)-t|0;o[m|0]=((f|0)<(s|0)?s:(f|0)>(h|0)?h:f)+t;f=y}k=j-l|0;q=k>>31;m=p;D=g;if((q^k+q)<(d|0)){if(h){j=(j+((g+l|0)+1>>>1|0)>>>1|0)-n|0;o[z|0]=((j|0)<(s|0)?s:(j|0)>(h|0)?h:j)+n}f=f+1|0}p=0-f|0;g=((t-n|0)+(l-g<<2)|0)+4>>3;f=(g|0)<(p|0)?p:(g|0)>(f|0)?f:g;g=D+f|0;o[m|0]=g>>>0>255?g>>31^-1:g;g=l-f|0;o[i|0]=g>>>0>255?g>>31^-1:g}v=v+1|0;i=i+1|0;continue}}u=u+1|0;a=a+4|0;continue}break}}function rg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ca-16|0;Ca=d;g=e>>1;f=a+ -2|0;o=s[(c?((g^-1)<<1)+a|0:f)>>1];c=s[(w(g,10)+a|0)+ -2>>1];i=s[f>>1];j=s[((e&-2)+a|0)+ -2>>1];f=s[((g<<3)+a|0)+ -2>>1];k=s[(((e&2147483646)<<1)+a|0)+ -2>>1];e=s[(w(g,6)+a|0)+ -2>>1];h=s[(w(g,12)+a|0)+ -2>>1];l=s[(w(g,14)+a|0)+ -2>>1];p[d+14>>1]=(h+w(l,3)|0)+2>>>2;m=k+2|0;p[d+6>>1]=f+(m+(e<<1)|0)>>>2;n=j+2|0;p[d+4>>1]=e+(n+(k<<1)|0)>>>2;p[d+2>>1]=(i+m|0)+(j<<1)>>>2;p[d>>1]=(o+n|0)+(i<<1)>>>2;p[d+12>>1]=((c+(h<<1)|0)+l|0)+2>>>2;p[d+10>>1]=((f+(c<<1)|0)+h|0)+2>>>2;p[d+8>>1]=(c+(e+(f<<1)|0)|0)+2>>>2;c=0;e=b;while(1){if((c|0)!=8){f=s[(c<<1)+d>>1]+s[e>>1]|0;p[a>>1]=f;f=f+s[e+4>>1]|0;p[a+2>>1]=f;f=f+s[e+8>>1]|0;p[a+4>>1]=f;f=f+s[e+12>>1]|0;p[a+6>>1]=f;f=f+s[e+16>>1]|0;p[a+8>>1]=f;f=f+s[e+20>>1]|0;p[a+10>>1]=f;f=f+s[e+24>>1]|0;p[a+12>>1]=f;p[a+14>>1]=f+s[e+28>>1];c=c+1|0;e=e+32|0;a=(g<<1)+a|0;continue}break}Za(b,0,256);Ca=d+16|0}function kD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=x(0),i=0,j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0);i=Ca-144|0;Ca=i;f=c+152|0;lk(i+96|0,b,f);lk(i+48|0,b+8|0,f);lk(i,b+16|0,f);b=0;while(1){if((b|0)!=5){e=(w(b,d)<<3)+a|0;f=b<<3;g=f+(i+48|0)|0;n=u[g>>2];j=c+f|0;h=u[j>>2];o=u[g+4>>2];k=u[j+4>>2];g=f+(i+96|0)|0;s=u[g>>2];j=f+i|0;p=u[j>>2];f=(b<<4)+c|0;l=u[f>>2];q=u[j+4>>2];m=u[f+4>>2];u[e>>2]=x(x(x(n*h)-x(o*k))+s)+x(x(p*l)-x(q*m));r=x(x(h*o)+x(n*k));h=u[g+4>>2];u[e+4>>2]=x(x(l*q)+x(p*m))+x(r+h);e=b+5|0;g=(w(e,d)<<3)+a|0;j=(e<<3)+c|0;k=u[j>>2];l=u[j+4>>2];e=(e<<4)+c|0;m=u[e>>2];r=u[e+4>>2];u[g+4>>2]=x(h+x(x(o*k)+x(n*l)))+x(x(q*m)+x(p*r));u[g>>2]=x(s+x(x(n*k)-x(o*l)))+x(x(p*m)-x(q*r));e=b+10|0;g=(w(e,d)<<3)+a|0;r=h;e=(e<<3)+c|0;h=u[e>>2];k=u[e+4>>2];l=u[f+40>>2];m=u[f+44>>2];u[g+4>>2]=x(r+x(x(o*h)+x(n*k)))+x(x(q*l)+x(p*m));u[g>>2]=x(s+x(x(n*h)-x(o*k)))+x(x(p*l)-x(q*m));b=b+1|0;continue}break}Ca=i+144|0}function wo(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ca-32|0;Ca=f;a:{b:{c:{if(d&8|(wk(a,b,c,1,e)|0)>-1){break c}Ta(e,24,21018,0);h=-68;if((b|0)>21801){break c}j=w(b,3);d=((j|0)/2|0)- -64|0;h=nb(d);q[f+28>>2]=h;if(!h){h=-48;break c}if((b|0)<=-1){break b}if((j|0)<=-130){break a}j=a+b|0;l=d+h|0;b=0;g=h;d:while(1){k=l-g|0;e:{while(1){i=j-a|0;if(!i){break e}d=b;f:{g:{if((i|0)>=3){if((r[a+2|0]|(r[a+1|0]<<8|r[a|0]<<16))>>>0>3){break g}a=a+2|0;b=1;if((k|0)<3|d){continue d}o[g+2|0]=3;b=0;o[g|0]=0;o[g+1|0]=0;g=g+3|0;continue d}if((i|0)>=1){break g}i=0;a=j;break f}i=r[a|0];a=a+1|0}b=1;if((k|0)<1|d){continue}break}o[g|0]=i;g=g+1|0;b=0;continue}break}d=q[f+28>>2];b=g-h|0;a=b+ -2|0;a=(a<<24|a<<8&16711680)>>>16|0;o[d|0]=a;o[d+1|0]=a>>>8;wk(q[f+28>>2],b,c,1,e);Wa(f+28|0);h=0}Ca=f+32|0;return h}q[f+24>>2]=137;q[f+20>>2]=22963;q[f+16>>2]=22324;Ta(0,0,21619,f+16|0);I();F()}q[f+8>>2]=147;q[f+4>>2]=22963;q[f>>2]=22324;Ta(0,0,21619,f);I();F()}function Mu(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-32|0;Ca=e;i=q[q[a+28>>2]+16>>2];g=q[b+80>>2];g=g>>>0>195?0:w(g,152)+59184|0;a:{b:{if(!(q[b+8>>2]|(q[b>>2]|q[b+4>>2]))){if(!q[b+12>>2]){break b}}Ta(a,16,40767,0);c=-1;break a}if(!g){c=e;b=q[b+80>>2];if(b>>>0<=195){b=q[w(b,152)+59184>>2]}else{b=0}q[c>>2]=b;Ta(a,16,40943,e);c=-28;break a}q[b>>2]=0;q[b+4>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b+64>>2]=b;c:{while(1){d:{if((c|0)==4){break d}d=c<<2;f=d+i|0;h=q[f>>2];if(!h){break d}d=b+d|0;q[d+32>>2]=q[f+60>>2];f=ve(h);q[d+248>>2]=f;if(!f){break c}q[d>>2]=q[f+4>>2];c=c+1|0;continue}break}while(1){if((c|0)!=8){d=(c<<2)+b|0;q[d>>2]=0;q[d+32>>2]=0;c=c+1|0;continue}break}c=q[g+8>>2];e:{f:{if(c&2){c=q[b+4>>2];break f}if(!(c&64)){break e}c=q[b+4>>2];if(!c){break e}}vF(c,q[b+80>>2])}c=0;if(!(r[a+577|0]&128)){break a}q[e+16>>2]=b;Ta(a,48,41246,e+16|0);break a}pc(b);c=-48}Ca=e+32|0;return c}function os(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<2;n=c<<2;q=(n>>2)+2|0;c=0;r=b>>1<<1;while(1){if((c|0)!=16){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<1;n=c<<1;q=(n>>2)+2|0;c=0;r=b>>1<<1;while(1){if((c|0)!=16){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function qs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<2;n=c<<2;q=(n>>2)+2|0;c=0;r=b>>1<<1;while(1){if((c|0)!=8){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<1;n=c<<1;q=(n>>2)+2|0;c=0;r=b>>1<<1;while(1){if((c|0)!=8){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;p[b>>1]=s[b>>1]+32;while(1){if((d|0)==4){i=w(c,3);k=c<<1;e=0;while(1){if((e|0)!=4){d=e<<3;f=p[(d|6)+b>>1];g=a+e|0;h=p[b+d>>1];j=p[(d|4)+b>>1];l=h+j|0;m=p[(d|2)+b>>1];n=m+(f>>1)|0;d=r[g|0]+(l+n>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(c+e|0)+a|0;f=(m>>1)-f|0;h=h-j|0;d=r[g|0]+(f+h>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;g=(e+k|0)+a|0;d=r[g|0]+(h-f>>6)|0;o[g|0]=d>>>0>255?d>>31^-1:d;f=(e+i|0)+a|0;d=r[f|0]+(l-n>>6)|0;o[f|0]=d>>>0>255?d>>31^-1:d;e=e+1|0;continue}break}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}else{e=(d<<1)+b|0;f=p[e+8>>1];i=p[e+24>>1];k=(f>>1)-i|0;g=p[e>>1];h=p[e+16>>1];j=g-h|0;p[e+8>>1]=k+j;f=f+(i>>1)|0;i=g+h|0;p[e>>1]=f+i;p[e+16>>1]=j-k;p[e+24>>1]=i-f;d=d+1|0;continue}break}}function _w(a,b,c,d,e){var f=0,g=0,h=0,i=0;h=Ca-16|0;Ca=h;g=Ua(b,4);f=q[a+4>>2];if(o[f+577|0]&1){q[h+4>>2]=c;q[h>>2]=g;Ta(f,48,44555,h)}a:{b:{f=g+ -11|0;if(f>>>0>3){if(g){break b}Ew(a,b,(c<<3)+ -4|0);break a}g=0;c:{switch(f-1|0){case 2:g=1;case 1:if(!d){Ta(q[a+4>>2],16,45344,0);break a}if(q[a+6516>>2]){if(!q[a+6740>>2]){Oc(q[a+4>>2],30889,0)}q[a+6740>>2]=1;Mb(b,(c<<3)+ -4|0);break a}d:{f=q[a+6488>>2]+1|0;if(f>>>0>1){break d}if(!(f-1)){Ta(q[a+4>>2],16,48002,0);Mb(b,(c<<3)+ -4|0);break a}if(q[a+6728>>2]!=4){break d}Ta(q[a+4>>2],16,48202,0);Mb(b,(c<<3)+ -4|0);break a}e:{f:{if(q[a+6512>>2]!=-1){break f}f=q[a+6728>>2];if(f>>>0>3){break f}i=q[a+4>>2];if(q[i+348>>2]!=1){break f}q[a+6512>>2]=1;q[a+6488>>2]=1;q[i+716>>2]=28;jd(a,a+6520|0,q[a+6712>>2],f,1);break e}q[a+6488>>2]=1;q[q[a+4>>2]+716>>2]=4}c=Uv(a,d+156512|0,b,g,c,e);break a;case 0:break b;default:break c}}c=Dw(a+16|0,b);break a}Mb(b,(c<<3)+ -4|0)}Ca=h+16|0;return c}function Ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<4;n=c<<4;q=n>>2|2;c=0;r=b>>1<<1;while(1){if((c|0)!=16){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Ar(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<6;n=c<<6;q=n>>2|2;c=0;r=b>>1<<1;while(1){if((c|0)!=16){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<4;n=c<<4;q=n>>2|2;c=0;r=b>>1<<1;while(1){if((c|0)!=8){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function Br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0;m=d<<6;n=c<<6;q=n>>2|2;c=0;r=b>>1<<1;while(1){if((c|0)!=8){d=a+ -2|0;h=s[d>>1];i=s[a>>1];e=h-i|0;b=e>>31;j=b^b+e;a:{if((j|0)>=(n|0)){break a}o=a+ -4|0;g=s[o>>1];e=g-h|0;b=e>>31;if((b^b+e)>=(m|0)){break a}b=s[a+2>>1];f=b-i|0;e=f>>31;if((e^e+f)>=(m|0)){break a}if((j|0)<(q|0)){j=s[a+4>>1];e=a+ -6|0;f=s[e>>1];k=f-h|0;l=k>>31;b:{if((l^l+k)<(m|0)){l=3;t=s[a+ -8>>1];k=h+i|0;p[d>>1]=((b+f|0)+(k+g<<1)|0)+4>>>3;p[o>>1]=(((f+h|0)+g|0)+i|0)+2>>>2;f=(w(f,3)+g|0)+4|0;d=t<<1;break b}l=2;f=h+2|0;k=g<<1;e=d;d=b}p[e>>1]=d+(f+k|0)>>>l;e=j-i|0;d=e>>31;if((d^d+e)<(m|0)){b=b+(h+i|0)|0;p[a+2>>1]=(b+j|0)+2>>>2;p[a+4>>1]=((b+w(j,3)|0)+(s[a+6>>1]<<1)|0)+4>>>3;p[a>>1]=((g+j|0)+(b<<1)|0)+4>>>3;break a}p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2;break a}p[d>>1]=(b+((g<<1)+h|0)|0)+2>>>2;p[a>>1]=((g+i|0)+(b<<1)|0)+2>>>2}c=c+1|0;a=a+r|0;continue}break}}function dr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=b<<1;while(1){if((u|0)!=4){a:{h=o[e+u|0];if((h|0)<0){break a}w=h+1|0;v=0;s=0-h|0;i=a;while(1){if((v|0)==2){break a}p=i+ -1|0;g=r[p|0];l=r[i|0];m=g-l|0;f=m>>31;b:{if((f^f+m)>=(c|0)){break b}m=i+ -2|0;t=r[m|0];n=t-g|0;f=n>>31;if((f^f+n)>=(d|0)){break b}n=r[i+1|0];j=n-l|0;f=j>>31;if((f^f+j)>=(d|0)){break b}j=r[i+2|0];q=r[i+ -3|0];k=q-g|0;f=k>>31;k=(f^f+k)>=(d|0);f=k?h:w;if(!(k|!h)){f=(((g+l|0)+1>>>1|0)+q>>>1|0)-t|0;o[m|0]=((f|0)<(s|0)?s:(f|0)>(h|0)?h:f)+t;f=w}k=j-l|0;q=k>>31;m=p;y=g;if((q^k+q)<(d|0)){if(h){j=(j+((g+l|0)+1>>>1|0)>>>1|0)-n|0;o[i+1|0]=((j|0)<(s|0)?s:(j|0)>(h|0)?h:j)+n}f=f+1|0}p=0-f|0;g=((t-n|0)+(l-g<<2)|0)+4>>3;f=(g|0)<(p|0)?p:(g|0)>(f|0)?f:g;g=y+f|0;o[m|0]=g>>>0>255?g>>31^-1:g;g=l-f|0;o[i|0]=g>>>0>255?g>>31^-1:g}v=v+1|0;i=b+i|0;continue}}u=u+1|0;a=a+x|0;continue}break}}function cr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=b<<2;while(1){if((u|0)!=4){a:{h=o[e+u|0];if((h|0)<0){break a}w=h+1|0;v=0;s=0-h|0;i=a;while(1){if((v|0)==4){break a}p=i+ -1|0;g=r[p|0];l=r[i|0];m=g-l|0;f=m>>31;b:{if((f^f+m)>=(c|0)){break b}m=i+ -2|0;t=r[m|0];n=t-g|0;f=n>>31;if((f^f+n)>=(d|0)){break b}n=r[i+1|0];j=n-l|0;f=j>>31;if((f^f+j)>=(d|0)){break b}j=r[i+2|0];q=r[i+ -3|0];k=q-g|0;f=k>>31;k=(f^f+k)>=(d|0);f=k?h:w;if(!(k|!h)){f=(((g+l|0)+1>>>1|0)+q>>>1|0)-t|0;o[m|0]=((f|0)<(s|0)?s:(f|0)>(h|0)?h:f)+t;f=w}k=j-l|0;q=k>>31;m=p;y=g;if((q^k+q)<(d|0)){if(h){j=(j+((g+l|0)+1>>>1|0)>>>1|0)-n|0;o[i+1|0]=((j|0)<(s|0)?s:(j|0)>(h|0)?h:j)+n}f=f+1|0}p=0-f|0;g=((t-n|0)+(l-g<<2)|0)+4>>3;f=(g|0)<(p|0)?p:(g|0)>(f|0)?f:g;g=y+f|0;o[m|0]=g>>>0>255?g>>31^-1:g;g=l-f|0;o[i|0]=g>>>0>255?g>>31^-1:g}v=v+1|0;i=b+i|0;continue}}u=u+1|0;a=a+x|0;continue}break}}function uE(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,s=0;g=Ca+ -64|0;Ca=g;i=a?q[a>>2]:i;bh(e,1);j=e+1024|0;bh(j,1);m=e+2048|0;bh(m,1);k=e+3072|0;bh(k,65536);if(f){q[f>>2]=16;q[f+4>>2]=16}a:{if(!i|!q[53120]){break a}b:{h=q[i+20>>2];c:{if(!h){break c}h=q[a+h>>2];if(!h){break c}l=q[h>>2];if(!l){break c}l=n[q[l+4>>2]](h)|0;q[g+52>>2]=h;q[g+48>>2]=l;id(e,8727,g+48|0);if(!f){break b}p=f,s=Bo(h),q[p>>2]=s}i=n[q[i+4>>2]](a)|0;q[g+20>>2]=a;q[g+16>>2]=i;id(j,8727,g+16|0);if(!f){break a}p=f,s=Bo(a),q[p+4>>2]=s;break a}f=n[q[i+4>>2]](a)|0;q[g+36>>2]=a;q[g+32>>2]=f;id(j,8727,g+32|0)}if(!(!(r[217652]&2)|(!q[53120]|(b|0)<-7))){a=g;b=eS(b+8|0,29);d:{if(b>>>0<=8){b=q[(b<<2)+47608>>2];break d}b=20800}q[a>>2]=b;id(m,10604,g)}kq(k,c,d);e:{if(!(r[q[m>>2]]|(r[q[e>>2]]|r[q[j>>2]]))){if(!r[q[k>>2]]){break e}}a=0;b=q[e+3076>>2];if(!(!b|b>>>0>t[e+3080>>2])){a=o[(b+q[k>>2]|0)+ -1|0]}q[53120]=(a|0)==10|(a|0)==13}Ca=g- -64|0} + + + +function fE(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca-20816|0;Ca=d;e=q[a+32>>2]&3;f=q[a>>2];if(q[q[f+1200>>2]+60>>2]){to(b)}if((e|0)==3){Tb(b)}g=-1094995529;a:{if((yo(d+44|0,d+36|0,b,q[f+1200>>2],e,q[f+1728>>2],c)|0)<0){break a}b:{if((e|0)==1){break b}while(1){if((h|0)>=q[d+44>>2]){break b}c:{if(!Tb(b)){break c}j=(d+36|0)+(h<<2)|0;a=0;while(1){d:{i=gd(b);if(i>>>0<=2){ke(b);if((a|0)>2]){break d}q[d+16>>2]=a;Ta(c,16,18011,d+16|0);break a}if((i|0)==3){break c}q[d+32>>2]=i;Ta(c,16,17201,d+32|0);break a}a=a+1|0;continue}}h=h+1|0;continue}}a=q[f+1200>>2];if(!((e|0)!=3|q[a+32>>2]!=1?!(q[a+28>>2]?(e|0)==2:0):0)){Ao(b,q[f+1204>>2],d+36|0,e,d+48|0,q[f+1728>>2],c)}e=0;e:{if(!Tb(b)){break e}while(1){if((e|0)==66){break e}a=gd(b);if(a>>>0>=7){q[d>>2]=a;Ta(c,16,19059,d);break a}if(!a){g=a;break a}if((a|0)==5){g=1;break a}if((a|2)==3){ke(b)}if(!(!(1<>>0>6)){gd(b)}e=e+1|0;continue}}g=0}Ca=d+20816|0;return g}function _C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(x|0)){a=c+d|0;l=r[a+1|0];g=r[c+1|0]+2|0;m=r[b|0]-(l+(r[a|0]+(g+r[c|0]|0)|0)>>>2|0)|0;n=m>>31;h=r[a+2|0];f=g+l|0;g=r[c+2|0];o=r[b+1|0]-(h+(f+g|0)>>>2|0)|0;l=o>>31;f=r[a+3|0];g=g+h|0;h=r[c+3|0];p=r[b+2|0]-((f+(g+h|0)|0)+2>>>2|0)|0;g=p>>31;i=r[a+4|0];h=h+f|0;f=r[c+4|0];q=r[b+3|0]-((i+(h+f|0)|0)+2>>>2|0)|0;h=q>>31;j=r[a+5|0];f=f+i|0;i=r[c+5|0];s=r[b+4|0]-((j+(f+i|0)|0)+2>>>2|0)|0;f=s>>31;k=r[a+6|0];i=i+j|0;j=r[c+6|0];t=r[b+5|0]-((k+(i+j|0)|0)+2>>>2|0)|0;i=t>>31;u=r[a+7|0];j=j+k|0;k=r[c+7|0];v=r[b+6|0]-((u+(j+k|0)|0)+2>>>2|0)|0;j=v>>31;k=r[b+7|0]-((r[a+8|0]+(r[c+8|0]+(k+u|0)|0)|0)+2>>>2|0)|0;c=k>>31;w=((((((((n^n+m)+w|0)+(l^l+o)|0)+(g^g+p)|0)+(h^h+q)|0)+(f^f+s)|0)+(i^i+t)|0)+(j^j+v)|0)+(c^c+k)|0;e=e+1|0;b=b+d|0;c=a;continue}break}return w|0}function ut(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=8-f|0;g=8-e|0;i=w(h,g);g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;k=(d|0)>0?d:0;l=c+2|0;m=c+1|0;while(1){if((f|0)==(k|0)){break a}d=b+c|0;j=b+m|0;o[a|0]=(r[a|0]+((((w(r[b|0],i)+w(h,r[b+1|0])|0)+w(g,r[d|0])|0)+w(e,r[j|0])|0)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+((((w(r[b+1|0],i)+w(h,r[b+2|0])|0)+w(g,r[j|0])|0)+w(e,r[b+l|0])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;a=a+c|0;b=d;continue}}e=g+h|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+(w(r[b|0],i)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+(w(r[b+1|0],i)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;h=g+1|0;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+((w(r[b|0],i)+w(e,r[b+g|0])|0)+32>>>6|0)|0)+1>>>1;o[a+1|0]=(r[a+1|0]+((w(r[b+1|0],i)+w(e,r[b+h|0])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function vQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0;g=Ca-16|0;Ca=g;h=a-e|0;i=r[h+2|0];j=i+2|0;l=r[h+4|0];m=r[h+3|0];n=l+(j+(m<<1)|0)>>>2|0;f=i<<1;i=r[h+1|0];k=i+2|0;p=m+(f+k|0)>>>2|0;f=j;j=r[h|0];q=(f+j|0)+(i<<1)>>>2|0;i=0;s=(k+r[(c?e^-1:0-e|0)+a|0]|0)+(j<<1)>>>2|0;c=r[h+7|0];f=r[h+5|0];k=r[h+6|0];j=d?r[h+8|0]:c;o[g+14|0]=(c+(f+(k<<1)|0)|0)+2>>>2;o[g+13|0]=(k+(l+(f<<1)|0)|0)+2>>>2;o[g+12|0]=(f+(m+(l<<1)|0)|0)+2>>>2;o[g+11|0]=n;o[g+10|0]=p;o[g+9|0]=q;o[g+8|0]=s;o[g+15|0]=((k+(c<<1)|0)+j|0)+2>>>2;d=w(e,7);j=w(e,6);h=w(e,5);m=e<<2;l=w(e,3);k=e<<1;c=b;while(1){if((i|0)!=8){f=r[(g+8|0)+i|0]+r[c|0]|0;o[a|0]=f;f=f+r[c+16|0]|0;o[a+e|0]=f;f=f+r[c+32|0]|0;o[a+k|0]=f;f=f+r[c+48|0]|0;o[a+l|0]=f;f=f+r[c+64|0]|0;o[a+m|0]=f;f=f+r[c+80|0]|0;o[a+h|0]=f;f=f+r[c+96|0]|0;o[a+j|0]=f;o[a+d|0]=f+r[c+112|0];i=i+1|0;c=c+2|0;a=a+1|0;continue}break}Za(b,0,128);Ca=g+16|0}function me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ca-48|0;Ca=f;g=q[a+6472>>2];a:{if(g>>>0<=23){i=1;if(1<>2]=0;m=Ua(c,8);b:{c:{if(!d){e=im(a,b,c);if((e|0)<0){break c}}j=b+5872|0;k=b+6896|0;e=Zw(a,j,k,c,b);if((e|0)<0){break c}l=b+7376|0;e=Yw(a,l,c,m,b,j,k);if((e|0)<0){break c}d:{if((g|0)==39){break d}e=Xa(c);if(!e){break d}e:{if(q[b+4>>2]==2){Ta(q[a+4>>2],16,39064,0);break e}n=e;if(!Ww(f+8|0,c,q[b+80>>2],q[b+88>>2])){break d}Ta(q[a+4>>2],16,39258,0)}e=-1094995529;break c}e=Xa(c);q[h>>2]=e;if(!(!e|i)){e=hm(a,h,c,b);if((e|0)<0){break c}}f:{if((g|0)==39){break f}if(!Xa(c)){break f}Vw(b,c);if(q[a+6744>>2]){break f}Oc(q[a+4>>2],39449,0);q[a+6744>>2]=1}if(!(!q[h>>2]|i^1)){e=hm(a,h,c,b);if((e|0)<0){break c}}e=Uw(a,b+13760|0,c,l,n,f+8|0,b,j);if((e|0)<0){break c}if(!(q[a+6472>>2]!=1|d)){Aj(a,b)}e=0;break b}q[h>>2]=0}Ca=f+48|0;return e}function Uc(a){var b=0,c=0;a:{if(!a){break a}b:{c:{c=q[a>>2];if(c>>>0>45){break c}b=1;d:{switch(c-2|0){case 0:case 1:case 3:case 4:case 5:case 6:case 7:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 43:b=0;if(!Uc(q[a+24>>2])){break b}return!q[a+28>>2];case 36:b=0;if(!Uc(q[a+24>>2])){break b}b=1;a=q[a+28>>2];if(!a){break b}return(Uc(a)|0)!=0;case 23:case 34:case 35:if(!Uc(q[a+24>>2])){break a}b=0;if(!Uc(q[a+28>>2])){break b}b=1;a=q[a+32>>2];if(!a){break b}return(Uc(a)|0)!=0;case 2:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 24:case 32:case 33:case 37:case 38:case 41:break c;case 39:case 40:case 42:break d;default:break b}}if(!Uc(q[a+24>>2])){break a}b=0;if(!Uc(q[a+28>>2])){break b}return(Uc(q[a+32>>2])|0)!=0}if(!Uc(q[a+24>>2])){break a}b=0;if(!Uc(q[a+28>>2])){break b}b=!q[a+32>>2]}return b}return 0}function GD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-28;a:{if((c|0)<3){break a}if((Ua(b,8)|0)!=3){c=c+ -1|0;f=0;a=0;while(1){if((a|0)==(c|0)){break a}d=q[b+8>>2]+8|0;e=q[b+16>>2];q[b+8>>2]=e>>>0>d>>>0?d:e;a=a+1|0;continue}}f=q[b+8>>2]+1|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>f>>>0?f:d;f=0;if(!Ua(b,1)){break a}d=q[b+8>>2]+1|0;e=q[b+16>>2];q[b+8>>2]=e>>>0>d>>>0?d:e;d=Ua(b,5);e=q[b+8>>2]+8|0;g=q[b+16>>2];q[b+8>>2]=g>>>0>e>>>0?e:g;if(!d|(c+ -2|0)<(w(d,3)|0)){break a}f=-28;e=q[a>>2];c=0;b:{if(!e){break b}c=q[e+8>>2]}h=$R(d,d>>31,3,0);g=c+h|0;e=Da+(c>>31)|0;e=g>>>0>>0?e+1|0:e;if(!e&g>>>0>2147483647|e>>>0>0){break a}f=dj(a,g);if((f|0)<0){break a}f=(d|0)>0?d:0;while(1){if((f|0)!=(i|0)){d=Ua(b,8);o[q[q[a>>2]+4>>2]+c|0]=d;d=Ua(b,8);o[(q[q[a>>2]+4>>2]+c|0)+1|0]=d;d=Ua(b,8);o[(q[q[a>>2]+4>>2]+c|0)+2|0]=d;i=i+1|0;c=c+3|0;continue}break}c=b;a=q[b+8>>2]+8|0;b=q[b+16>>2];q[c+8>>2]=b>>>0>a>>>0?a:b;f=0}return f}function AC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;f=r[b+1|0]-r[c+1|0]|0;n=r[b|0];o=r[c|0];p=n-o|0;q=f-p|0;t=q>>31;a=r[b+2|0]-r[c+2|0]|0;k=a-f|0;u=k>>31;f=r[b+3|0]-r[c+3|0]|0;i=f-a|0;v=i>>31;a=r[b+4|0]-r[c+4|0]|0;g=a-f|0;w=g>>31;f=r[b+5|0]-r[c+5|0]|0;l=f-a|0;j=l>>31;a=r[b+6|0]-r[c+6|0]|0;h=a-f|0;m=h>>31;f=(r[b+7|0]-r[c+7|0]|0)-a|0;s=f>>31;a=p>>31;j=(((((((t^q+t)+(a+p^a)|0)+(u^k+u)|0)+(v^i+v)|0)+(w^g+w)|0)+(j^j+l)|0)+(m^h+m)|0)+(s^f+s)|0;s=(e|0)>1?e:1;q=d^-1;m=1;while(1){if((m|0)!=(s|0)){e=o-n|0;f=b+d|0;n=r[f|0];a=c+d|0;o=r[a|0];e=e+(n-o|0)|0;h=e>>31;j=(h^e+h)+j|0;e=1;l=o;h=n;while(1){if((e|0)!=8){k=l&255;g=h&255;h=r[e+f|0];l=r[a+e|0];i=r[b+e|0]-r[c+e|0]|0;g=g-k|0;k=g;p=g+i|0;g=e+q|0;g=(h-l|0)-ob(i,k,(p-r[g+f|0]|0)+r[a+g|0]|0)|0;i=g>>31;j=(i^g+i)+j|0;e=e+1|0;continue}break}m=m+1|0;c=a;b=f;continue}break}return j|0}function Xd(a){var b=x(0),c=x(0),d=x(0),e=x(0),f=x(0);c=u[a+24>>2];q[a+24>>2]=q[a+40>>2];d=u[a+16>>2];u[a+16>>2]=x(c+u[a+28>>2])*x(.5);c=u[a+20>>2];u[a+20>>2]=x(u[a+32>>2]+u[a+36>>2])*x(.5);b=u[a>>2];e=u[a+4>>2];u[a>>2]=x(x(b+b)+e)*x(.3333333432674408);b=u[a+8>>2];f=u[a+12>>2];u[a+8>>2]=x(d+x(f+f))*x(.3333333432674408);u[a+4>>2]=x(e+x(b+b))*x(.3333333432674408);u[a+12>>2]=x(d+x(c+c))*x(.3333333432674408);q[a+28>>2]=q[a+44>>2];u[a+32>>2]=x(u[a+48>>2]+u[a+52>>2])*x(.5);u[a+36>>2]=x(u[a+56>>2]+u[a+60>>2])*x(.5);q[a+40>>2]=q[a+64>>2];q[a+44>>2]=q[a+68>>2];q[a+48>>2]=q[a+72>>2];q[a+52>>2]=q[a+76>>2];u[a+56>>2]=x(u[a+80>>2]+u[a+84>>2])*x(.5);u[a+60>>2]=x(u[a+88>>2]+u[a+92>>2])*x(.5);u[a+64>>2]=x(u[a+96>>2]+u[a+100>>2])*x(.5);u[a+68>>2]=x(u[a+104>>2]+u[a+108>>2])*x(.5);u[a+72>>2]=x(x(x(u[a+112>>2]+u[a+116>>2])+u[a+120>>2])+u[a+124>>2])*x(.25);u[a+76>>2]=x(u[a+128>>2]+u[a+132>>2])*x(.5)}function yu(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=q[a+704>>2];c=1;a:{if(!b|!q[b>>2]){break a}c=0;if(o[q[a>>2]+573|0]&1){break a}b=q[a+552>>2];b=(b|0)>0?b:0;while(1){if((b|0)!=(e|0)){d=((r[q[a+580>>2]+q[q[a+548>>2]+(e<<2)>>2]|0]&12)!=12)+d|0;e=e+1|0;continue}break}c=0;if(d>>>0<5){break a}l=d>>>0>99?(d>>>0)/50|0:1;d=0;while(1){if((d|0)<(q[a+560>>2]+ -1|0)){m=d<<4;e=0;while(1){if((e|0)>2]){b=w(q[a+564>>2],d)+e|0;b:{if((r[b+q[a+580>>2]|0]&12)==12){break b}j=j+1|0;if((j|0)%(l|0)){break b}g=q[a+672>>2];if(q[g+88>>2]==1){b=q[g+32>>2];k=w(b,m);h=e<<4;c=k+(h+q[q[a+704>>2]>>2]|0)|0;i=c;h=k+(q[g>>2]+h|0)|0;if(q[q[a>>2]+16>>2]!=27){b=q[g+32>>2]}i=(n[q[a+8>>2]](0,i,h,b,16)|0)+f|0;b=q[g+32>>2];f=i-(n[q[a+8>>2]](0,c,c+(b<<4)|0,b,16)|0)|0;break b}if(r[q[a+696>>2]+(b<<2)|0]&7){f=f+1|0;break b}f=f+ -1|0}e=e+1|0;continue}break}d=d+1|0;continue}break}c=(f|0)>0}return c}function $B(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=p[a>>1];b=p[a+2>>1];h=q[a+12>>2];e=q[a+4>>2];if(!(b|(h|(e|q[a+8>>2])))){b=g<<3&65528|g<<19;q[a+12>>2]=b;q[a+8>>2]=b;q[a+4>>2]=b;q[a>>2]=b;return}d=p[a+6>>1];k=w(d,-12873)+w(b,4520)|0;l=w(d,-22725)+w(b,12873)|0;m=w(d,-4520)+w(b,19266)|0;b=w(d,19266)+w(b,22725)|0;f=w(g,16383)+1024|0;d=e<<16>>16;c=w(d,21407);g=f-c|0;e=w(d,8867);d=f-e|0;e=e+f|0;f=c+f|0;j=q[a+8>>2];if(j|q[a+12>>2]){c=p[a+10>>1];i=p[a+14>>1];k=(w(c,19266)+k|0)+w(i,-22725)|0;l=(w(c,4520)+l|0)+w(i,19266)|0;m=(w(c,-22725)+m|0)+w(i,-12873)|0;b=(w(c,12873)+b|0)+w(i,4520)|0;c=j<<16>>16;i=w(c,16383);h=h<<16>>16;j=w(h,8867);g=(i+g|0)-j|0;h=w(h,21407);c=w(c,-16383);d=h+(c+d|0)|0;f=(f+i|0)+j|0;e=(e+c|0)-h|0}p[a+14>>1]=f-b>>>11;p[a>>1]=b+f>>>11;p[a+12>>1]=e-m>>>11;p[a+2>>1]=e+m>>>11;p[a+10>>1]=d-l>>>11;p[a+4>>1]=d+l>>>11;p[a+8>>1]=g-k>>>11;p[a+6>>1]=g+k>>>11}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Ca-32|0;Ca=d;c=rb(216);q[c>>2]=2360;q[c+4>>2]=q[b>>2];q[b>>2]=0;q[c+12>>2]=0;q[c+16>>2]=0;o[c+8|0]=0;q[c+20>>2]=0;q[c+32>>2]=0;q[c+36>>2]=0;q[c+24>>2]=2452;e=c,f=Cd(),q[e+40>>2]=f;b=Le();q[c+48>>2]=0;q[c+24>>2]=2376;q[c+44>>2]=b;q[d+16>>2]=2388;K(0,d+16|0);q[c+60>>2]=0;q[c+64>>2]=0;q[c+52>>2]=2452;e=c,f=Cd(),q[e+68>>2]=f;b=Le();o[c+112|0]=0;q[c+108>>2]=0;q[c+92>>2]=0;q[c+84>>2]=0;q[c+88>>2]=0;q[c+72>>2]=b;q[c+76>>2]=2524;q[c+52>>2]=2492;q[d>>2]=2556;K(0,d|0);q[c+124>>2]=0;q[c+128>>2]=0;q[c+152>>2]=0;q[c+132>>2]=0;q[c+136>>2]=0;q[c+140>>2]=0;q[c+144>>2]=0;o[c+148|0]=0;q[c+160>>2]=0;q[c+164>>2]=0;p[c+156>>1]=257;q[c+168>>2]=0;q[c+172>>2]=0;q[c+176>>2]=0;q[c+180>>2]=0;p[c+182>>1]=0;p[c+184>>1]=0;p[c+186>>1]=0;p[c+188>>1]=0;q[c+192>>2]=12;o[c+208|0]=0;q[c+80>>2]=c+4;q[c+212>>2]=q[a>>2];q[a>>2]=0;q[c>>2]=2328;Ca=d+32|0;return c|0}function fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0;s=(c>>2)+2|0;while(1){if((p|0)!=16){g=a+ -1|0;j=r[g|0];k=r[a|0];f=j-k|0;e=f>>31;l=e^e+f;a:{if((l|0)>=(c|0)){break a}q=a+ -2|0;i=r[q|0];f=i-j|0;e=f>>31;if((e^e+f)>=(d|0)){break a}e=r[a+1|0];h=e-k|0;f=h>>31;if((f^f+h)>=(d|0)){break a}if((l|0)<(s|0)){l=r[a+2|0];f=a+ -3|0;h=r[f|0];m=h-j|0;n=m>>31;b:{if((n^n+m)<(d|0)){n=3;t=r[a+ -4|0];m=j+k|0;o[g|0]=((e+h|0)+(m+i<<1)|0)+4>>>3;o[q|0]=(((h+j|0)+i|0)+k|0)+2>>>2;h=(w(h,3)+i|0)+4|0;g=t<<1;break b}n=2;h=j+2|0;m=i<<1;f=g;g=e}o[f|0]=g+(h+m|0)>>>n;f=l-k|0;g=f>>31;if((g^f+g)<(d|0)){e=e+(j+k|0)|0;o[a+1|0]=(e+l|0)+2>>>2;o[a+2|0]=((e+w(l,3)|0)+(r[a+3|0]<<1)|0)+4>>>3;o[a|0]=((i+l|0)+(e<<1)|0)+4>>>3;break a}o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2;break a}o[g|0]=(e+((i<<1)+j|0)|0)+2>>>2;o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2}p=p+1|0;a=a+b|0;continue}break}}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0;s=(c>>2)+2|0;while(1){if((p|0)!=8){g=a+ -1|0;j=r[g|0];k=r[a|0];f=j-k|0;e=f>>31;l=e^e+f;a:{if((l|0)>=(c|0)){break a}q=a+ -2|0;i=r[q|0];f=i-j|0;e=f>>31;if((e^e+f)>=(d|0)){break a}e=r[a+1|0];h=e-k|0;f=h>>31;if((f^f+h)>=(d|0)){break a}if((l|0)<(s|0)){l=r[a+2|0];f=a+ -3|0;h=r[f|0];m=h-j|0;n=m>>31;b:{if((n^n+m)<(d|0)){n=3;t=r[a+ -4|0];m=j+k|0;o[g|0]=((e+h|0)+(m+i<<1)|0)+4>>>3;o[q|0]=(((h+j|0)+i|0)+k|0)+2>>>2;h=(w(h,3)+i|0)+4|0;g=t<<1;break b}n=2;h=j+2|0;m=i<<1;f=g;g=e}o[f|0]=g+(h+m|0)>>>n;f=l-k|0;g=f>>31;if((g^f+g)<(d|0)){e=e+(j+k|0)|0;o[a+1|0]=(e+l|0)+2>>>2;o[a+2|0]=((e+w(l,3)|0)+(r[a+3|0]<<1)|0)+4>>>3;o[a|0]=((i+l|0)+(e<<1)|0)+4>>>3;break a}o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2;break a}o[g|0]=(e+((i<<1)+j|0)|0)+2>>>2;o[a|0]=((i+k|0)+(e<<1)|0)+2>>>2}p=p+1|0;a=a+b|0;continue}break}}function GA(a,b){var c=0,d=0,g=0,h=0,i=x(0),l=0;a:{c=(j(b),e(0));g=c&2147483647;if(g>>>0<=2139095040){h=(j(a),e(0));d=h&2147483647;if(d>>>0<2139095041){break a}}return x(a+b)}if((c|0)==1065353216){return Sj(a)}l=h>>>31|0;h=c>>>30&2;c=l|h;b:{c:{d:{e:{if(!d){f:{switch(c-2|0){case 0:break e;case 1:break f;default:break d}}return x(-3.1415927410125732)}if((g|0)!=2139095040){if(!g|!(g+218103808>>>0>=d>>>0?(d|0)!=2139095040:0)){break b}g:{if(d+218103808>>>0>>0){i=x(0);if(h){break g}}i=Sj(x(y(x(a/b))))}a=i;if(c>>>0<=2){h:{switch(c-1|0){case 0:return x(-a);case 1:break h;default:break d}}return x(x(3.1415927410125732)-x(a+x(8.742277657347586e-8)))}return x(x(a+x(8.742277657347586e-8))+x(-3.1415927410125732))}if((d|0)==2139095040){break c}return u[(c<<2)+205520>>2]}a=x(3.1415927410125732)}return a}return u[(c<<2)+205504>>2]}return f(0,(j(a),e(0))&-2147483648|1070141403),k()} + + + +function tQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;d=Ca-16|0;Ca=d;g=r[(w(e,5)+a|0)+ -1|0];f=r[((e<<2)+a|0)+ -1|0];j=r[((e<<1)+a|0)+ -1|0];h=r[(w(e,3)+a|0)+ -1|0];i=r[(w(e,6)+a|0)+ -1|0];k=r[(w(e,7)+a|0)+ -1|0];l=a+ -1|0;m=r[l|0];n=r[(a+e|0)+ -1|0];p=n+2|0;o[d+8|0]=(p+r[(c?(e^-1)+a|0:l)|0]|0)+(m<<1)>>>2;o[d+15|0]=(w(k,3)+i|0)+2>>>2;c=j+2|0;o[d+11|0]=f+(c+(h<<1)|0)>>>2;o[d+10|0]=((j<<1)+p|0)+h>>>2;o[d+9|0]=(c+m|0)+(n<<1)>>>2;o[d+14|0]=((g+(i<<1)|0)+k|0)+2>>>2;o[d+13|0]=((f+(g<<1)|0)+i|0)+2>>>2;o[d+12|0]=(g+((f<<1)+h|0)|0)+2>>>2;g=0;c=b;while(1){if((g|0)!=8){f=r[(d+8|0)+g|0]+r[c|0]|0;o[a|0]=f;f=f+r[c+2|0]|0;o[a+1|0]=f;f=f+r[c+4|0]|0;o[a+2|0]=f;f=f+r[c+6|0]|0;o[a+3|0]=f;f=f+r[c+8|0]|0;o[a+4|0]=f;f=f+r[c+10|0]|0;o[a+5|0]=f;f=f+r[c+12|0]|0;o[a+6|0]=f;o[a+7|0]=f+r[c+14|0];g=g+1|0;c=c+16|0;a=a+e|0;continue}break}Za(b,0,128);Ca=d+16|0}function Iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0,w=0,x=0;j=Ca-256|0;Ca=j;o=q[a>>2];c=o;p=q[a+4>>2];e=p;s=q[a+8>>2];i=s;t=q[a+12>>2];n=t;u=q[a+16>>2];d=u;v=q[a+20>>2];f=v;w=q[a+24>>2];k=w;x=q[a+28>>2];g=x;while(1){l=k;k=f;f=d;m=i;i=e;e=c;if((h|0)!=64){a:{if(h>>>0<=15){c=(h<<2)+b|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);c=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);break a}c=(h<<2)+j|0;d=q[c+ -60>>2];d=(q[c+ -28>>2]+q[c+ -64>>2]|0)+(eS(d,14)^d>>>3^eS(d,25))|0;c=q[c+ -8>>2];c=d+(eS(c,13)^c>>>10^eS(c,15))|0}d=h<<2;q[d+j>>2]=c;g=q[d+91168>>2]+(c+(((eS(f,26)^eS(f,21)^eS(f,7))+g|0)+((k^l)&f^l)|0)|0)|0;c=g+(((i|m)&e|i&m)+(eS(e,30)^eS(e,19)^eS(e,10))|0)|0;d=g+n|0;h=h+1|0;n=m;g=l;continue}break}q[a+28>>2]=g+x;q[a+24>>2]=l+w;q[a+20>>2]=k+v;q[a+16>>2]=f+u;q[a+12>>2]=n+t;q[a+8>>2]=m+s;q[a+4>>2]=i+p;q[a>>2]=e+o;Ca=j+256|0}function rx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r[b+12|0];e=b+13760|0;a:{c=q[b+4>>2]+ -1|0;if(c>>>0<=1){f=d?2428064:3393920;if(!(c-1)){Va(e,b+17856|0,2048);c=0;Za(b+16064|0,0,1792);n[q[q[a+5404>>2]+28>>2]](b+15552|0,a+4864|0,d?2428320:3394176,64);while(1){if((c|0)==64){break a}u[((c<<2)+b|0)+15808>>2]=u[((0-c<<2)+a|0)+5116>>2]*u[f+(63-c<<2)>>2];c=c+1|0;continue}}Va(e,a+3072|0,1792);c=0;Za(b+16064|0,0,1792);n[q[q[a+5404>>2]+28>>2]](b+15552|0,a+4864|0,d?2428320:3394176,64);while(1){if((c|0)==64){break a}u[((c<<2)+b|0)+15808>>2]=u[((0-c<<2)+a|0)+5116>>2]*u[f+(63-c<<2)>>2];c=c+1|0;continue}}f=d?2423968:3397504;n[q[q[a+5404>>2]+28>>2]](e,a+3072|0,d?2426016:3399552,512);c=0;while(1){if((c|0)==512){break a}u[((c<<2)+b|0)+15808>>2]=u[((0-c<<2)+a|0)+5116>>2]*u[f+(511-c<<2)>>2];c=c+1|0;continue}}a=b+36288|0;Va(b+32192|0,a,4096);Va(a,q[b+74176>>2],4096);Va(b+40384|0,e,4096)}function Mi(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=Ca-32|0;Ca=j;n=f^3;a:while(1){if(!((i|0)>=(d|0)?(g|0)>=(d|0):0)){k=(g|0)>(d|0)?g:d;while(1){b:{if((g|0)!=(k|0)){h=q[(g<<2)+c>>2];if(!h|!(q[h+640>>2]&f)){break b}k=g}m=(i|0)>(d|0)?i:d;h=i;c:{while(1){d:{e:{if((h|0)==(m|0)){i=m}else{i=q[(h<<2)+c>>2];if(!i|!(q[i+640>>2]&n)){break e}i=h}if((g|0)<(d|0)){if((l|0)>=(b|0)){break d}g=k;m=q[(g<<2)+c>>2];o=m;if(!e){g=q[q[(k<<2)+c>>2]+88>>2]}q[o+96>>2]=g;eo(w(l,40)+a|0,m,f,1);l=l+1|0;k=k+1|0}g=k;if((h|0)>=(d|0)){continue a}if((l|0)>=(b|0)){break c}k=i;h=q[(i<<2)+c>>2];m=h;if(!e){k=q[h+88>>2]}q[m+96>>2]=k;eo(w(l,40)+a|0,h,n,0);i=i+1|0;l=l+1|0;continue a}h=h+1|0;continue}break}q[j+24>>2]=90;q[j+20>>2]=11218;q[j+16>>2]=30156;Ta(0,0,8057,j+16|0);I();F()}q[j+8>>2]=95;q[j+4>>2]=11218;q[j>>2]=30156;Ta(0,0,8057,j);I();F()}g=g+1|0;continue}}break}Ca=j+32|0;return l}function vC(a,b){var c=0,d=0,e=0,f=0;e=Ca-16|0;Ca=e;a=Za(a,0,920);q[a>>2]=174136;a:{if(!b){q[a+8>>2]=-1;break a}f=q[b+8>>2];q[a+12>>2]=b;q[a+8>>2]=f;q[a+16>>2]=q[b+12>>2];if(f>>>0>3){break a}c=q[(f<<2)+194848>>2]}Em(a,c,c);q[a+776>>2]=1;q[a+760>>2]=0;q[a+764>>2]=1;q[a+76>>2]=0;q[a+80>>2]=1;q[a+400>>2]=868;q[a+708>>2]=869;q[a+704>>2]=870;q[a+120>>2]=871;q[a+188>>2]=0;q[a+192>>2]=1;q[a+768>>2]=-1;q[a+772>>2]=0;q[a+112>>2]=-1;q[a+584>>2]=0;q[a+588>>2]=-2147483648;q[a+352>>2]=-1;f=0;b:{if(!b){break b}d=q[b+56>>2];c:{if(!d){break c}d:{c=q[a+24>>2];if(c){break d}c=nb(d);q[a+24>>2]=c;if(c){break d}f=-48;break b}d=q[b+44>>2];if(!d){break c}q[c>>2]=d;Jj(q[a+24>>2])}b=q[b+72>>2];if(!b){break b}while(1){c=q[b>>2];if(!c){break b}d=q[b+4>>2];b=b+8|0;if((Wj(a,c,d)|0)>-1){continue}break}q[e+8>>2]=142;q[e+4>>2]=10156;q[e>>2]=11279;Ta(0,0,6584,e);I();F()}Ca=e+16|0;return f}function ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((c|0)!=4){h=r[(c-b|0)+a|0]+(r[(w(b,c)+a|0)+ -1|0]+h|0)|0;i=c+4|0;e=r[(i-b|0)+a|0]+e|0;d=r[(w(c+12|0,b)+a|0)+ -1|0]+d|0;f=r[(w(c+8|0,b)+a|0)+ -1|0]+f|0;g=r[(w(b,i)+a|0)+ -1|0]+g|0;c=c+1|0;continue}break}i=d+2>>>2|0;j=f+2>>>2|0;l=g+2>>>2|0;c=e+4|0;d=c+d>>>3|0;f=c+f>>>3|0;g=c+g>>>3|0;e=w(e+2>>>2|0,16843009);h=w(h+4>>>3|0,16843009);c=0;while(1){if((c|0)==4){e=w(d,16843009);h=w(i,16843009);f=w(f,16843009);i=w(j,16843009);g=w(g,16843009);j=w(l,16843009);d=4;while(1){c=8;if((d|0)==8){while(1){d=12;if((c|0)==12){while(1){if((d|0)!=16){c=w(b,d)+a|0;q[c+4>>2]=e;q[c>>2]=h;d=d+1|0;continue}break}}else{d=w(b,c)+a|0;q[d+4>>2]=f;q[d>>2]=i;c=c+1|0;continue}break}}else{c=w(b,d)+a|0;q[c+4>>2]=g;q[c>>2]=j;d=d+1|0;continue}break}}else{k=w(b,c)+a|0;q[k+4>>2]=e;q[k>>2]=h;c=c+1|0;continue}break}}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=2;g=a-b|0;h=r[g+4|0]-r[g+2|0]|0;f=((b<<2)+a|0)+ -1|0;c=f-(b<<1)|0;i=r[f|0]-r[c|0]|0;j=b^-1;k=0-b|0;l=w(b,7)+ -1|0;g=g+3|0;while(1){if((e|0)!=5){f=b+f|0;c=c+k|0;i=w(r[f|0]-r[c|0]|0,e)+i|0;h=w(r[e+g|0]-r[g-e|0]|0,e)+h|0;e=e+1|0;continue}break}i=w(i,17)+16>>5;f=w(h,17)+16>>5;e=(w(i+f|0,-3)+(r[(a+j|0)+8|0]+r[a+l|0]<<4)|0)+16|0;g=w(f,7);j=w(f,6);k=w(f,5);l=f<<2;m=w(f,3);n=f<<1;h=8;while(1){if(h){c=e>>5;o[a|0]=c>>>0>255?e>>31^-1:c;d=e+g|0;c=d>>5;o[a+7|0]=c>>>0>255?d>>31^-1:c;d=e+j|0;c=d>>5;o[a+6|0]=c>>>0>255?d>>31^-1:c;d=e+k|0;c=d>>5;o[a+5|0]=c>>>0>255?d>>31^-1:c;d=e+l|0;c=d>>5;o[a+4|0]=c>>>0>255?d>>31^-1:c;d=e+m|0;c=d>>5;o[a+3|0]=c>>>0>255?d>>31^-1:c;d=e+n|0;c=d>>5;o[a+2|0]=c>>>0>255?d>>31^-1:c;d=e+f|0;c=d>>5;o[a+1|0]=c>>>0>255?d>>31^-1:c;h=h+ -1|0;a=a+b|0;e=e+i|0;continue}break}}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;Dh(a);b=p[a+16>>1];c=p[a+20>>1];h=b-c|0;p[a+20>>1]=h>>>1;e=p[a+18>>1];f=p[a+22>>1];i=e-f|0;p[a+22>>1]=i>>>1;d=p[a+24>>1];j=p[a+28>>1];k=d-j|0;p[a+28>>1]=k>>>1;g=p[a+26>>1];l=p[a+10>>1];d=d+j>>1;b=b+c>>1;c=d-b>>1;p[a+26>>1]=l-c>>>1;b=b+d>>1;d=p[a>>1];p[a>>1]=b+d>>>1;p[a+16>>1]=d-b>>>1;p[a+10>>1]=c+l>>>1;b=e+f>>1;c=p[a+30>>1];e=c+g>>1;f=b-e>>1;d=p[a+8>>1];p[a+8>>1]=f+d>>>1;p[a+24>>1]=d-f>>>1;b=b+e>>1;e=p[a+2>>1];p[a+2>>1]=b+e>>>1;p[a+18>>1]=e-b>>>1;b=w(k>>1,23170);g=w(g-c>>1,23170);c=b-g>>15;e=i>>1;h=h>>1;f=w(e+h|0,23170)>>15;i=c+f>>1;d=p[a+4>>1];p[a+4>>1]=i+d>>>1;p[a+20>>1]=d-i>>>1;c=c-f>>1;f=p[a+14>>1];p[a+14>>1]=c+f>>>1;p[a+30>>1]=f-c>>>1;c=w(e-h|0,23170)>>15;g=b+g>>15;b=c-g>>1;h=p[a+12>>1];p[a+12>>1]=b+h>>>1;p[a+28>>1]=h-b>>>1;g=c+g>>1;b=p[a+6>>1];p[a+6>>1]=g+b>>>1;p[a+22>>1]=b-g>>>1}function nE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Ca-5184|0;Ca=e;g=(b|0)>-1;f=g?b&255:b;if((f|0)<=q[53121]){uE(a,f,c,d,e+1088|0,e+56|0);q[e+32>>2]=q[e+1088>>2];q[e+36>>2]=q[e+2112>>2];q[e+40>>2]=q[e+3136>>2];q[e+44>>2]=q[e+4160>>2];vf(e- -64|0,1024,3175,e+32|0);a=q[54412];if(!a){a=hn()?1:-1;q[54412]=a}a:{b:{if(!q[53120]|!(o[217652]&1)){break b}if(Sb(e- -64|0,216624)|!r[e+64|0]){break b}if(r[(ub(e- -64|0)+e|0)+63|0]==13){break b}b=q[54155]+1|0;q[54155]=b;if((a|0)!=1){break a}q[e+16>>2]=b;wf(q[49879],5791,e+16|0);break a}a=q[54155];if((a|0)>=1){q[e>>2]=a;wf(q[49879],7307,e);q[54155]=0}YA(e- -64|0);Pi(q[e+1088>>2]);Oi(q[e+56>>2],0,q[e+1088>>2]);Pi(q[e+2112>>2]);Oi(q[e+60>>2],0,q[e+2112>>2]);Pi(q[e+3136>>2]);a=f>>3;a=(a|0)<7?a:7;a=(a|0)>0?a:0;b=g?b>>>8&255:0;Oi(a,b,q[e+3136>>2]);Pi(q[e+4160>>2]);Oi(a,b,q[e+4160>>2])}gq(e+4160|0)}Ca=e+5184|0}function nr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<6|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<16384?h:(h>>31^-1)&16383;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Lu(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-32|0;Ca=f;g=q[q[a+28>>2]+16>>2];c=q[g+76>>2];q[b+32>>2]=q[g+60>>2];a:{b:{c:{d:{if((c|0)>=9){d=sd(c,4);e=c+ -8|0;q[b+284>>2]=e;q[b+64>>2]=d;d=sd(e,4);q[b+280>>2]=d;if(q[b+64>>2]?d:0){break d}Wa(b- -64|0);Wa(b+280|0);break c}q[b+64>>2]=b;if(q[b+284>>2]){break a}}d=0;c=(c|0)>8?8:c;e=(c|0)>0?c:0;e:{while(1){f:{if((d|0)==(e|0)){d=0;while(1){if((d|0)>=q[b+284>>2]){break f}e=ve(q[g>>2]);c=d<<2;q[c+q[b+280>>2]>>2]=e;e=q[c+q[b+280>>2]>>2];if(!e){break e}q[(c+q[b+64>>2]|0)+32>>2]=q[e+4>>2];d=d+1|0;continue}}h=d<<2;i=h+b|0;c=ve(q[g>>2]);q[i+248>>2]=c;if(!c){break e}c=q[c+4>>2];q[i>>2]=c;q[q[b+64>>2]+h>>2]=c;d=d+1|0;continue}break}d=0;if(!(r[a+577|0]&128)){break b}q[f>>2]=b;Ta(a,48,41728,f);break b}pc(b)}d=-48}Ca=f+32|0;return d}q[f+24>>2]=1629;q[f+20>>2]=20914;q[f+16>>2]=41435;Ta(0,0,19766,f+16|0);I();F()}function Mx(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=q[a+20>>2];a:{if(!d){b=q[a+8>>2];if((b|0)!=q[a+4>>2]){while(1){Ya(q[b+ -4>>2]);b=q[a+8>>2]+ -4|0;q[a+8>>2]=b;if(q[a+4>>2]!=(b|0)){continue}break}}q[a+16>>2]=0;e=b;break a}c=q[a+16>>2];b:{if(c>>>0<=169){b=q[a+4>>2];break b}Ya(q[q[a+4>>2]>>2]);b=q[a+4>>2]+4|0;q[a+4>>2]=b;c=q[a+16>>2]+ -170|0;q[a+16>>2]=c;d=q[a+20>>2]}e=q[a+8>>2];f=e-b|0;if((f?w(f>>2,170)+ -1|0:0)-(d+c|0)>>>0<170){break a}Ya(q[e+ -4>>2]);e=q[a+8>>2]+ -4|0;q[a+8>>2]=e;b=q[a+4>>2]}c:{f=q[a>>2];c=e-b|0;d=c>>2;d:{if(q[a+12>>2]-f>>2>>>0<=d>>>0){break d}if(c){if(d>>>0>=1073741824){break c}c=rb(c)}else{c=0}g=c+(d<<2)|0;if((b|0)!=(e|0)){d=c;while(1){q[d>>2]=q[b>>2];d=d+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}f=q[a>>2];d=q[a+8>>2]-q[a+4>>2]>>2}q[a+12>>2]=g;q[a+4>>2]=c;q[a>>2]=c;q[a+8>>2]=c+(d<<2);if(!f){break d}Ya(f)}return}oe(1504);F()}function of(a){a=+a;var b=0,c=0,d=0,f=0,g=0,i=0,j=0,k=0;h(+a);d=e(1)|0;j=e(0)|0;g=d>>>31|0;a:{b:{c:{d:{f=a;e:{f:{c=d;d=c&2147483647;g:{if(d>>>0>=1082532651){c=c&2147483647;if((c|0)==2146435072&j>>>0>0|c>>>0>2146435072){return+a}if(!!(a>709.782712893384)){return+(a*8.98846567431158e+307)}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(d>>>0<1071001155){break d}if(d>>>0<1072734898){break f}}a=a*1.4426950408889634+v[(g<<3)+205536>>3];if(y(a)<2147483648){c=~~a;break e}c=-2147483648;break e}c=(g^1)-g|0}b=+(c|0);a=f+b*-.6931471803691238;i=b*1.9082149292705877e-10;f=a-i;break c}if(d>>>0<=1043333120){break a}c=0;f=a}b=f;k=a;b=b*b;a=f-b*(b*(b*(b*(b*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);b=k+(f*a/(2-a)-i)+1;if(!c){break b}b=kd(b,c)}return+b}return+(a+1)}function mI(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=q[a+80>>2];if(b>>>0<=11){b=q[w(b,20)+90924>>2]}else{b=0}c=q[a+352>>2];if(!c){c=gg(q[a+240>>2],q[a+244>>2]);q[a+352>>2]=c}a:{if(!q[a+32>>2]){d=ym(a+32|0,c,q[a+76>>2],q[a+80>>2],32);if((d|0)<0){break a}}b:{b=b?c:1;c:{if((b|0)>=9){h=a,i=sd(b,4),q[h+64>>2]=i;c=b+ -8|0;d=sd(c,4);q[a+280>>2]=d;if(!(q[a+64>>2]?d:0)){Wa(a- -64|0);Wa(a+280|0);break b}q[a+284>>2]=c;break c}q[a+64>>2]=a}c=0;d=(b|0)>8?8:b;f=(d|0)>0?d:0;while(1){d:{e:{if((c|0)==(f|0)){d=0;b=b+ -8|0;f=(b|0)>0?b:0;c=0;while(1){if((c|0)==(f|0)){break a}e=ye(q[a+32>>2]);b=c<<2;q[b+q[a+280>>2]>>2]=e;e=q[b+q[a+280>>2]>>2];if(!e){break e}q[(b+q[a+64>>2]|0)+32>>2]=q[e+4>>2];c=c+1|0;continue}}e=c<<2;g=e+a|0;d=ye(q[a+32>>2]);q[g+248>>2]=d;if(d){break d}}pc(a);break b}d=q[d+4>>2];q[g>>2]=d;q[e+q[a+64>>2]>>2]=d;c=c+1|0;continue}}d=-48}return d}function $p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r[(w(c,6)+a|0)+ -1|0];k=r[(w(c,5)+a|0)+ -1|0];g=r[((c<<2)+a|0)+ -1|0];f=w(c,3)+a|0;h=r[f+ -1|0];q=c<<1;i=q+a|0;l=r[i+ -1|0];m=r[b+3|0];j=r[b+2|0];n=r[b+1|0];e=r[b|0];d=a-c|0;p=r[d+3|0];b=a+c|0;s=r[b+ -1|0];c=(s<<1)+4|0;v=p+(c+r[d+1|0]|0)|0;t=r[a+ -1|0];d=r[d+2|0];o[a|0]=v+(t+d<<1)>>>3;o[a+1|0]=e+((d+((c+t|0)+l|0)|0)+(p<<1)|0)>>>3;d=c;c=l<<1;d=(((d+c|0)+p|0)+(e<<1)|0)+n>>>3|0;o[b|0]=d;o[a+2|0]=d;c=c+4|0;e=((e+((c+s|0)+h|0)|0)+(n<<1)|0)+j>>>3|0;o[b+1|0]=e;o[a+3|0]=e;c=((c+n|0)+m|0)+(h+j<<1)>>>3|0;o[i|0]=c;o[b+2|0]=c;c=(q|1)+a|0;a=((j+l|0)+w(h+m|0,3)|0)+4>>>3|0;o[c|0]=a;o[b+3|0]=a;a=h+2|0;b=(a+(g<<1)|0)+k>>>2|0;o[f+1|0]=b;a=((a+g|0)+j|0)+m>>>2|0;o[i+2|0]=a;o[i+3|0]=b;o[f+3|0]=(((k<<1)+g|0)+u|0)+2>>>2;o[f+2|0]=(g+k|0)+1>>>1;o[f|0]=a}function kC(a,b){a=a|0;b=b|0;var c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=0,j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=x(0);e=u[a>>2];c=u[a+20>>2];h=u[a+16>>2];d=u[a+4>>2];k=x(x(e*c)-x(h*d));l=x(x(e*h)+x(d*c));i=1;while(1){if((i|0)!=38){j=(i<<3)+a|0;f=u[j>>2];e=u[j+20>>2];g=u[j+4>>2];d=u[j+16>>2];k=x(k+x(x(f*e)-x(g*d)));l=x(l+x(x(f*d)+x(g*e)));m=x(m+x(x(f*c)-x(g*h)));n=x(n+x(x(f*h)+x(g*c)));o=x(o+x(x(f*f)+x(g*g)));i=i+1|0;c=e;h=d;continue}break}u[b+8>>2]=l;u[b+12>>2]=k;c=u[a>>2];d=x(o+x(c*c));c=u[a+4>>2];u[b+40>>2]=d+x(c*c);c=u[a+304>>2];d=x(o+x(c*c));c=u[a+308>>2];u[b+16>>2]=d+x(c*c);u[b+24>>2]=x(n+x(u[a>>2]*u[a+8>>2]))+x(u[a+4>>2]*u[a+12>>2]);u[b+28>>2]=x(m+x(u[a>>2]*u[a+12>>2]))-x(u[a+4>>2]*u[a+8>>2]);u[b>>2]=x(n+x(u[a+304>>2]*u[a+312>>2]))+x(u[a+308>>2]*u[a+316>>2]);u[b+4>>2]=x(m+x(u[a+304>>2]*u[a+316>>2]))-x(u[a+308>>2]*u[a+312>>2])}function bs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<2|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<1024?h:(h>>31^-1)&1023;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Mk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a-b|0;i=r[e+8|0]-r[e+6|0]|0;g=((b<<3)+a|0)+ -1|0;h=g-(b<<1)|0;j=r[g|0]-r[h|0]|0;m=b^-1;f=0-b|0;n=w(b,15)+ -1|0;k=e+7|0;e=2;while(1){if((e|0)!=9){g=b+g|0;h=h+f|0;j=w(r[g|0]-r[h|0]|0,e)+j|0;i=w(r[e+k|0]-r[k-e|0]|0,e)+i|0;e=e+1|0;continue}break}f=a+m|0;e=a+n|0;a:{if(c){h=(w((j|0)/4|0,5)|0)/16|0;d=(w((i|0)/4|0,5)|0)/16|0;break a}if(d){h=(i>>2)+i>>4;d=(j>>2)+j>>4;break a}h=w(i,5)+32>>6;d=w(j,5)+32>>6}c=(w(d+h|0,-7)+(r[f+16|0]+r[e|0]<<4)|0)+16|0;k=h<<2;m=w(h,3);n=h<<1;j=16;while(1){i=-16;e=c;if(j){while(1){if((i|0)<=-1){l=a+i|0;f=e>>5;o[l+16|0]=f>>>0>255?e>>31^-1:f;f=e+m|0;g=f>>5;o[l+19|0]=g>>>0>255?f>>31^-1:g;f=e+n|0;g=f>>5;o[l+18|0]=g>>>0>255?f>>31^-1:g;f=e+h|0;g=f>>5;o[l+17|0]=g>>>0>255?f>>31^-1:g;i=i+4|0;e=e+k|0;continue}break}j=j+ -1|0;a=a+b|0;c=c+d|0;continue}break}}function Ir(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<4|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<4096?h:(h>>31^-1)&4095;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function at(a,b){var c=0,d=0;q[b+29608>>2]=-1;q[b+4>>2]=a;q[b+29680>>2]=q[a+92>>2];c=q[a+96>>2];q[b+26388>>2]=3;q[b+29684>>2]=c;q[b+25708>>2]=q[a+564>>2];c=q[a+60>>2];q[b+29588>>2]=-1;q[b+29592>>2]=0;q[b+28264>>2]=65536;q[b+25704>>2]=c;q[b+29948>>2]=-1;q[b+28280>>2]=-1;q[b+29800>>2]=-1;q[b+28760>>2]=-2147483648;c=0;while(1){if((c|0)!=16){q[((c<<2)+b|0)+28692>>2]=-2147483648;c=c+1|0;continue}break}We(b+29692|0);c=1;c=r[a+696|0]&2?q[a+688>>2]:c;q[b+25632>>2]=c;a=sd(c,34768);q[b+25628>>2]=a;a:{b:{if(a){c=0;while(1){c:{a=Cd();if((c|0)==36){break c}q[(w(c,656)+b|0)+696>>2]=a;c=c+1|0;if(a){continue}break b}break}q[b+24316>>2]=a;d=-48;if(!a){break a}a=Cd();q[b+24972>>2]=a;if(!a){break a}d=0;a=q[b+25632>>2];a=(a|0)>0?a:0;c=0;while(1){if((a|0)==(c|0)){break a}q[q[b+25628>>2]+w(c,34768)>>2]=b;c=c+1|0;continue}}q[b+25632>>2]=0}d=-48}return d}function ki(a){a=a|0;var b=x(0),c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=0,q=0,r=0,s=0;$d(a);e=u[a>>2];f=u[a+32>>2];g=u[a+40>>2];b=x(f+g);h=u[a+48>>2];k=u[a+56>>2];c=x(h+k);i=x(b+c);u[a+32>>2]=e-i;d=u[a+52>>2];j=u[a+20>>2];b=x(c-b);u[a+52>>2]=j-b;u[a>>2]=i+e;e=u[a+16>>2];i=u[a+36>>2];l=u[a+44>>2];c=x(i+l);m=u[a+60>>2];n=x(d+m);o=x(c-n);u[a+48>>2]=e-o;u[a+20>>2]=b+j;b=u[a+4>>2];c=x(c+n);u[a+36>>2]=b-c;u[a+16>>2]=o+e;u[a+4>>2]=c+b;e=u[a+12>>2];b=u[a+28>>2];c=u[a+24>>2];j=u[a+8>>2];p=+x(f-g)*.7071067811865476;q=+x(i-l)*.7071067811865476;f=x(p+q);r=+x(h-k)*.7071067811865476;s=+x(d-m)*.7071067811865476;d=x(r-s);g=x(f+d);u[a+40>>2]=j-g;d=x(d-f);u[a+60>>2]=b-d;u[a+8>>2]=g+j;f=x(q-p);g=x(r+s);h=x(f-g);u[a+56>>2]=c-h;u[a+28>>2]=d+b;d=x(f+g);u[a+44>>2]=e-d;u[a+24>>2]=h+c;u[a+12>>2]=d+e}function mt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=8-f|0;h=8-e|0;i=w(g,h);j=c>>1;h=w(f,h);g=w(e,g);a:{e=w(e,f);if(e){f=0;d=(d|0)>0?d:0;m=j+1<<1;n=j+2<<1;while(1){if((d|0)==(f|0)){break a}k=j<<1;c=k+b|0;l=b+m|0;p[a>>1]=(((w(s[b>>1],i)+w(g,s[b+2>>1])|0)+w(h,s[c>>1])|0)+w(e,s[l>>1])|0)+32>>>6;p[a+2>>1]=(((w(s[b+2>>1],i)+w(g,s[b+4>>1])|0)+w(h,s[l>>1])|0)+w(e,s[b+n>>1])|0)+32>>>6;f=f+1|0;a=a+k|0;b=c;continue}}c=h+g|0;if(!c){f=0;c=(d|0)>0?d:0;while(1){if((c|0)==(f|0)){break a}p[a>>1]=w(s[b>>1],i)+32>>>6;p[a+2>>1]=w(s[b+2>>1],i)+32>>>6;f=f+1|0;d=j<<1;b=d+b|0;a=a+d|0;continue}}f=0;d=(d|0)>0?d:0;e=h?j:1;h=e+1<<1;while(1){if((d|0)==(f|0)){break a}p[a>>1]=(w(s[b>>1],i)+w(c,s[(e<<1)+b>>1])|0)+32>>>6;p[a+2>>1]=(w(s[b+2>>1],i)+w(c,s[b+h>>1])|0)+32>>>6;f=f+1|0;g=j<<1;b=g+b|0;a=a+g|0;continue}}}function tj(a){a=a|0;var b=0,c=0,d=0;c=Ca+ -64|0;Ca=c;q[a>>2]=2360;b=Z(1804)|0;q[c+56>>2]=q[a+152>>2];J($(b|0,1,1820,c+56|0)|0);J(b|0);q[c+48>>2]=2772;K(0,c+48|0);Fj(a+124|0);b=q[a+128>>2];d=q[a+132>>2];a:{if((b|0)==(d|0)){break a}while(1){Ya(q[b>>2]);b=b+4|0;if((d|0)!=(b|0)){continue}break}b=q[a+132>>2];d=q[a+128>>2];if((b|0)==(d|0)){break a}q[a+132>>2]=b+(((b-d|0)+ -4>>>2^-1)<<2)}b=q[a+124>>2];if(b){Ya(b)}q[a+52>>2]=2492;q[a+76>>2]=2524;q[c+32>>2]=2704;K(0,c+32|0);q[a+76>>2]=2648;b=a+52|0;b:{if(r[a+112|0]){break b}d=q[a+84>>2];if(!d){break b}Ya(d)}q[c+16>>2]=2680;K(0,c+16|0);q[a+52>>2]=2452;wb(a+68|0);mc(a+72|0);n[q[q[a+52>>2]+8>>2]](b);q[a+24>>2]=2376;dk(a+48|0);q[c>>2]=2464;K(0,c|0);q[a+24>>2]=2452;wb(a+40|0);mc(a+44|0);n[q[q[a+24>>2]+8>>2]](a+24|0);if(o[a+23|0]<=-1){Ya(q[a+12>>2])}J(q[a+4>>2]);Ca=c- -64|0;return a|0}function eQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a-(b&-2)|0;d=s[f+16>>1]-s[f+12>>1]|0;j=b>>1;g=((j<<4)+a|0)+ -2|0;c=g-((b&2147483646)<<1)|0;h=s[g>>1]-s[c>>1]|0;f=f+14|0;l=(w(j,30)+a|0)+ -2|0;b=2;k=0-j<<1;while(1){if((b|0)!=9){g=(j<<1)+g|0;c=c+k|0;h=w(s[g>>1]-s[c>>1]|0,b)+h|0;i=d;d=b<<1;d=i+w(s[d+f>>1]-s[f-d>>1]|0,b)|0;b=b+1|0;continue}break}f=16;k=w(h,5)+32>>6;h=w(d,5)+32>>6;g=(w(k+h|0,-7)+(s[c+32>>1]+s[l>>1]<<4)|0)+16|0;l=h<<2;m=w(h,3);n=h<<1;while(1){d=-16;b=g;if(f){while(1){if((d|0)<=-1){c=(d<<1)+a|0;e=b>>5;p[c+32>>1]=e>>>0<16384?e:(b>>31^-1)&16383;e=b+h|0;i=e>>5;p[c+34>>1]=i>>>0<16384?i:(e>>31^-1)&16383;e=b+n|0;i=e>>5;p[c+36>>1]=i>>>0<16384?i:(e>>31^-1)&16383;i=c;c=b+m|0;e=c>>5;p[i+38>>1]=e>>>0<16384?e:(c>>31^-1)&16383;d=d+4|0;b=b+l|0;continue}break}f=f+ -1|0;g=g+k|0;a=(j<<1)+a|0;continue}break}}function ct(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c=q[a+25628>>2];q[c+21792>>2]=g;q[c+21788>>2]=f;q[c+21796>>2]=w(q[a+27024>>2],g)+f;Za(c+27824|0,0,120);b=t[c+23404>>2]>b>>>0?b:0;if(!q[(w(b,40)+c|0)+23416>>2]){Ta(q[a+4>>2],48,7826,0);b=0}if((q[(w(b,40)+c|0)+23440>>2]&3)!=3){Ta(q[a+4>>2],48,9852,0);return}d=q[a+24384>>2]+(q[c+21796>>2]<<2)|0;f=w(b,257);p[d+2>>1]=f;p[d>>1]=f;b=w(b,16843009);q[c+28308>>2]=b;q[c+28300>>2]=b;q[c+28292>>2]=b;q[c+28284>>2]=b;b=s[e>>1];d=q[e+4>>2];q[c+21828>>2]=0;q[c+21832>>2]=0;b=b|d<<16;q[c+28108>>2]=b;q[c+28104>>2]=b;q[c+28100>>2]=b;q[c+28096>>2]=b;q[c+28076>>2]=b;q[c+28072>>2]=b;q[c+28068>>2]=b;q[c+28064>>2]=b;q[c+28044>>2]=b;q[c+28040>>2]=b;q[c+28036>>2]=b;q[c+28032>>2]=b;q[c+28012>>2]=b;q[c+28008>>2]=b;q[c+28004>>2]=b;q[c+28e3>>2]=b;If(a,q[a+25628>>2])}function ph(a){a=a|0;var b=x(0),c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0);$d(a);c=u[a>>2];d=u[a+32>>2];g=u[a+40>>2];b=x(d+g);i=u[a+48>>2];h=u[a+56>>2];e=x(i+h);f=x(b+e);u[a+32>>2]=c-f;u[a>>2]=f+c;b=x(e-b);e=u[a+20>>2];u[a+20>>2]=b+e;c=u[a+52>>2];u[a+52>>2]=e-b;b=u[a+36>>2];e=u[a+44>>2];f=x(b+e);k=u[a+60>>2];j=x(c+k);l=x(f-j);m=u[a+16>>2];u[a+16>>2]=l+m;u[a+48>>2]=m-l;f=x(f+j);j=u[a+4>>2];u[a+4>>2]=f+j;u[a+36>>2]=j-f;d=x(x(d-g)*x(.7071067690849304));g=x(x(b-e)*x(.7071067690849304));b=x(d+g);i=x(x(i-h)*x(.7071067690849304));c=x(x(c-k)*x(.7071067690849304));h=x(i-c);e=x(b+h);f=u[a+8>>2];u[a+8>>2]=e+f;u[a+40>>2]=f-e;b=x(h-b);h=u[a+28>>2];u[a+28>>2]=b+h;u[a+60>>2]=h-b;d=x(g-d);c=x(i+c);g=x(d-c);b=u[a+24>>2];u[a+24>>2]=g+b;u[a+56>>2]=b-g;c=x(d+c);d=u[a+12>>2];u[a+12>>2]=c+d;u[a+44>>2]=d-c}function fb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=(g|0)>0?g:0;while(1){if((n|0)!=(p|0)){j=w(e,n)+b|0;i=j;k=r[i|0]|r[i+1|0]<<8|(r[i+2|0]<<16|r[i+3|0]<<24);h=w(f,n)+c|0;m=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);g=k|m;l=r[i+4|0]|r[i+5|0]<<8|(r[i+6|0]<<16|r[i+7|0]<<24);i=r[h+4|0]|r[h+5|0]<<8|(r[h+6|0]<<16|r[h+7|0]<<24);o=l|i;l=i^l;i=k^m;m=w(d,n)+a|0;k=m;i=((l&1)<<31|i>>>1)&2147450879;q[k>>2]=g-i;q[k+4>>2]=o-((l>>>1&2147450879)+(g>>>0>>0)|0);k=r[j+8|0]|r[j+9|0]<<8|(r[j+10|0]<<16|r[j+11|0]<<24);l=r[h+8|0]|r[h+9|0]<<8|(r[h+10|0]<<16|r[h+11|0]<<24);g=k|l;j=r[j+12|0]|r[j+13|0]<<8|(r[j+14|0]<<16|r[j+15|0]<<24);h=r[h+12|0]|r[h+13|0]<<8|(r[h+14|0]<<16|r[h+15|0]<<24);i=j|h;o=h^j;h=l^k;h=((o&1)<<31|h>>>1)&2147450879;q[m+8>>2]=g-h;q[m+12>>2]=i-((o>>>1&2147450879)+(g>>>0>>0)|0);n=n+1|0;continue}break}}function xs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<1|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+8>>1],g)|0)+w(s[a+8>>1],f)>>d;p[a+8>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+10>>1],g)|0)+w(s[a+10>>1],f)>>d;p[a+10>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+12>>1],g)|0)+w(s[a+12>>1],f)>>d;p[a+12>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+14>>1],g)|0)+w(s[a+14>>1],f)>>d;p[a+14>>1]=h>>>0<512?h:(h>>31^-1)&511;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function gQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a-(b&-2)|0;d=s[f+16>>1]-s[f+12>>1]|0;j=b>>1;g=((j<<4)+a|0)+ -2|0;c=g-((b&2147483646)<<1)|0;h=s[g>>1]-s[c>>1]|0;f=f+14|0;l=(w(j,30)+a|0)+ -2|0;b=2;k=0-j<<1;while(1){if((b|0)!=9){g=(j<<1)+g|0;c=c+k|0;h=w(s[g>>1]-s[c>>1]|0,b)+h|0;i=d;d=b<<1;d=i+w(s[d+f>>1]-s[f-d>>1]|0,b)|0;b=b+1|0;continue}break}f=16;k=w(h,5)+32>>6;h=w(d,5)+32>>6;g=(w(k+h|0,-7)+(s[c+32>>1]+s[l>>1]<<4)|0)+16|0;l=h<<2;m=w(h,3);n=h<<1;while(1){d=-16;b=g;if(f){while(1){if((d|0)<=-1){c=(d<<1)+a|0;e=b>>5;p[c+32>>1]=e>>>0<1024?e:(b>>31^-1)&1023;e=b+h|0;i=e>>5;p[c+34>>1]=i>>>0<1024?i:(e>>31^-1)&1023;e=b+n|0;i=e>>5;p[c+36>>1]=i>>>0<1024?i:(e>>31^-1)&1023;i=c;c=b+m|0;e=c>>5;p[i+38>>1]=e>>>0<1024?e:(c>>31^-1)&1023;d=d+4|0;b=b+l|0;continue}break}f=f+ -1|0;g=g+k|0;a=(j<<1)+a|0;continue}break}}function fQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a-(b&-2)|0;d=s[f+16>>1]-s[f+12>>1]|0;j=b>>1;g=((j<<4)+a|0)+ -2|0;c=g-((b&2147483646)<<1)|0;h=s[g>>1]-s[c>>1]|0;f=f+14|0;l=(w(j,30)+a|0)+ -2|0;b=2;k=0-j<<1;while(1){if((b|0)!=9){g=(j<<1)+g|0;c=c+k|0;h=w(s[g>>1]-s[c>>1]|0,b)+h|0;i=d;d=b<<1;d=i+w(s[d+f>>1]-s[f-d>>1]|0,b)|0;b=b+1|0;continue}break}f=16;k=w(h,5)+32>>6;h=w(d,5)+32>>6;g=(w(k+h|0,-7)+(s[c+32>>1]+s[l>>1]<<4)|0)+16|0;l=h<<2;m=w(h,3);n=h<<1;while(1){d=-16;b=g;if(f){while(1){if((d|0)<=-1){c=(d<<1)+a|0;e=b>>5;p[c+32>>1]=e>>>0<4096?e:(b>>31^-1)&4095;e=b+h|0;i=e>>5;p[c+34>>1]=i>>>0<4096?i:(e>>31^-1)&4095;e=b+n|0;i=e>>5;p[c+36>>1]=i>>>0<4096?i:(e>>31^-1)&4095;i=c;c=b+m|0;e=c>>5;p[i+38>>1]=e>>>0<4096?e:(c>>31^-1)&4095;d=d+4|0;b=b+l|0;continue}break}f=f+ -1|0;g=g+k|0;a=(j<<1)+a|0;continue}break}}function Xl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=-16976906;a:{if((Ua(a,12)|0)!=4095){break a}d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;d=q[a+8>>2]+2|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;h=Xa(a);i=Ua(a,2);g=Ua(a,4);f=q[(g<<2)+174032>>2];if(!f){return-50531338}d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;j=Ua(a,3);d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;d=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>d>>>0?d:c;c=Ua(a,13);e=-67308554;if((c|0)<7){break a}e=q[a+8>>2]+11|0;d=q[a+16>>2];q[a+8>>2]=d>>>0>e>>>0?e:d;a=Ua(a,2);o[b+15|0]=j;o[b+13|0]=i+1;o[b+12|0]=h;o[b+14|0]=g;q[b>>2]=f;a=a+1|0;o[b+16|0]=a;a=a<<10;q[b+4>>2]=a;q[b+8>>2]=(w(c,f)<<3>>>0)/(a>>>0);e=c}return e}function bx(a,b){var c=0,d=0,e=0,f=0;c=Ca-240|0;Ca=c;e=Xl(b,c+216|0);a:{b:{if((e|0)<1){break b}if(!(q[a+6736>>2]|r[c+232|0]==1)){Oc(q[a+4>>2],44196,0);q[a+6736>>2]=1}Kh(a);d=r[c+231|0];c:{if(d){q[a+6484>>2]=d;d=Me(q[a+4>>2],c+16|0,c+12|0,d);if((d|0)<0){break a}d=q[a+6728>>2];d=jd(a,c+16|0,q[c+12>>2],d>>>0>2?d:2,0);if((d|0)>=0){break c}break a}q[a+6484>>2]=0;if(q[a+6464>>2]|!q[a+5672>>2]){break c}o[c+19|0]=0;q[c+12>>2]=2;o[c+16|0]=0;p[c+20>>1]=257;o[c+17|0]=256;o[c+18|0]=1;d=-7;if(jd(a,c+16|0,2,2,0)){break a}}d=q[c+216>>2];q[a+6480>>2]=d;q[a+6476>>2]=r[c+230|0];f=r[c+229|0];q[a+6516>>2]=0;q[a+6472>>2]=f;if(!((d|0)==q[a+6216>>2]?!(q[a+6464>>2]!=4|q[a+6220>>2]!=r[c+231|0]):0)){q[a+6512>>2]=-1;q[a+6488>>2]=-1}if(r[c+228|0]){break b}d=b;a=q[b+8>>2]+16|0;b=q[b+16>>2];q[d+8>>2]=b>>>0>a>>>0?a:b}d=e}Ca=c+240|0;return d}function VQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0;e=w(d,7)+a|0;o=r[e+ -1|0];f=w(d,6)+a|0;c=r[f+ -1|0];g=w(d,5)+a|0;h=r[g+ -1|0];i=(d<<2)+a|0;j=r[i+ -1|0];k=w(d,3)+a|0;l=r[k+ -1|0];m=(d<<1)+a|0;p=r[m+ -1|0];s=a+ -1|0;t=r[s|0];n=a+d|0;u=r[n+ -1|0];v=u+2|0;b=w((v+r[(b?(d^-1)+a|0:s)|0]|0)+(t<<1)>>>2|0,16843009);q[a+4>>2]=b;q[a>>2]=b;a=p+2|0;b=w((a+t|0)+(u<<1)>>>2|0,16843009);q[n+4>>2]=b;q[n>>2]=b;b=w(((p<<1)+v|0)+l>>>2|0,16843009);q[m+4>>2]=b;q[m>>2]=b;a=w((a+(l<<1)|0)+j>>>2|0,16843009);q[k+4>>2]=a;q[k>>2]=a;a=w((((j<<1)+l|0)+h|0)+2>>>2|0,16843009);q[i+4>>2]=a;q[i>>2]=a;a=w((((h<<1)+j|0)+c|0)+2>>>2|0,16843009);q[g+4>>2]=a;q[g>>2]=a;a=w((((c<<1)+h|0)+o|0)+2>>>2|0,16843009);q[f+4>>2]=a;q[f>>2]=a;a=w((w(o,3)+c|0)+2>>>2|0,16843009);q[e+4>>2]=a;q[e>>2]=a}function hQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a-(b&-2)|0;d=s[f+16>>1]-s[f+12>>1]|0;j=b>>1;g=((j<<4)+a|0)+ -2|0;c=g-((b&2147483646)<<1)|0;h=s[g>>1]-s[c>>1]|0;f=f+14|0;l=(w(j,30)+a|0)+ -2|0;b=2;k=0-j<<1;while(1){if((b|0)!=9){g=(j<<1)+g|0;c=c+k|0;h=w(s[g>>1]-s[c>>1]|0,b)+h|0;i=d;d=b<<1;d=i+w(s[d+f>>1]-s[f-d>>1]|0,b)|0;b=b+1|0;continue}break}f=16;k=w(h,5)+32>>6;h=w(d,5)+32>>6;g=(w(k+h|0,-7)+(s[c+32>>1]+s[l>>1]<<4)|0)+16|0;l=h<<2;m=w(h,3);n=h<<1;while(1){d=-16;b=g;if(f){while(1){if((d|0)<=-1){c=(d<<1)+a|0;e=b>>5;p[c+32>>1]=e>>>0<512?e:(b>>31^-1)&511;e=b+h|0;i=e>>5;p[c+34>>1]=i>>>0<512?i:(e>>31^-1)&511;e=b+n|0;i=e>>5;p[c+36>>1]=i>>>0<512?i:(e>>31^-1)&511;i=c;c=b+m|0;e=c>>5;p[i+38>>1]=e>>>0<512?e:(c>>31^-1)&511;d=d+4|0;b=b+l|0;continue}break}f=f+ -1|0;g=g+k|0;a=(j<<1)+a|0;continue}break}}function hm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0;h=Ca-16|0;Ca=h;j=7;e=q[d+4>>2]==2;if(!e){j=q[a+6472>>2]==1?20:12}m=e?1:2;e=e<<1;n=5-e|0;o=6-e|0;e=0;while(1){a:{if((e|0)>=q[d+92>>2]){break a}k=(e<<2)+b|0;g=Ua(c,m);q[k+4>>2]=g;b:{if(!g){break b}l=Xa(c);p=l+3|0;g=0;while(1){if((g|0)>=q[k+4>>2]){break b}i=((e<<4)+b|0)+(g<<2)|0;u=i,v=Ua(c,o),q[u+36>>2]=v;f=Ua(c,n);q[i+292>>2]=f;if((f|0)>(j|0)){a=q[a+4>>2];q[h+4>>2]=j;q[h>>2]=f;Ta(a,16,42365,h);q[i+292>>2]=0;r=-1094995529;break a}c:{if(!f){break c}u=i,v=Xa(c),q[u+164>>2]=v;f=Xa(c);s=p-f|0;t=((f<<1)+l<<2)+96032|0;f=0;while(1){if((f|0)>=q[i+292>>2]){break c}u=(((w(e,320)+b|0)+w(g,80)|0)+(f<<2)|0)+2980|0,v=q[q[t>>2]+(Ua(c,s)<<2)>>2],q[u>>2]=v;f=f+1|0;continue}}g=g+1|0;continue}}e=e+1|0;continue}break}Ca=h+16|0;return r}function lk(a,b,c){var d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0),t=x(0),v=x(0);d=u[b+100>>2];e=u[b+76>>2];f=u[b+52>>2];g=u[b+28>>2];h=u[b+96>>2];i=u[b+72>>2];j=u[b+48>>2];k=u[b+24>>2];u[a>>2]=h+x(i+x(j+x(k+u[b>>2])));u[a+4>>2]=d+x(e+x(f+x(g+u[b+4>>2])));p=x(k+h);l=u[c>>2];q=x(j+i);m=u[c+8>>2];r=x(x(p*l)-x(q*m));s=x(g-d);n=u[c+4>>2];t=x(f-e);o=u[c+12>>2];v=x(x(s*n)+x(t*o));u[a+8>>2]=u[b>>2]+x(r+v);d=x(g+d);e=x(f+e);f=x(x(l*d)-x(m*e));g=x(k-h);h=x(j-i);i=x(x(n*g)+x(o*h));u[a+12>>2]=u[b+4>>2]+x(f-i);j=x(x(q*l)-x(p*m));k=x(x(t*n)-x(s*o));u[a+16>>2]=x(j-k)+u[b>>2];d=x(x(e*l)-x(d*m));e=x(x(h*n)-x(g*o));u[a+20>>2]=x(d+e)+u[b+4>>2];u[a+24>>2]=x(j+k)+u[b>>2];u[a+28>>2]=x(d-e)+u[b+4>>2];u[a+32>>2]=x(r-v)+u[b>>2];u[a+36>>2]=x(f+i)+u[b+4>>2]}function OC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;a=0;f=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(f|0)){a=q[(r[b+15|0]-r[c+15|0]<<2)+173008>>2]+(q[(r[b+14|0]-r[c+14|0]<<2)+173008>>2]+(q[(r[b+13|0]-r[c+13|0]<<2)+173008>>2]+(q[(r[b+12|0]-r[c+12|0]<<2)+173008>>2]+(q[(r[b+11|0]-r[c+11|0]<<2)+173008>>2]+(q[(r[b+10|0]-r[c+10|0]<<2)+173008>>2]+(q[(r[b+9|0]-r[c+9|0]<<2)+173008>>2]+(q[(r[b+8|0]-r[c+8|0]<<2)+173008>>2]+(q[(r[b+7|0]-r[c+7|0]<<2)+173008>>2]+(q[(r[b+6|0]-r[c+6|0]<<2)+173008>>2]+(q[(r[b+5|0]-r[c+5|0]<<2)+173008>>2]+(q[(r[b+4|0]-r[c+4|0]<<2)+173008>>2]+(q[(r[b+3|0]-r[c+3|0]<<2)+173008>>2]+(q[(r[b+2|0]-r[c+2|0]<<2)+173008>>2]+(q[(r[b+1|0]-r[c+1|0]<<2)+173008>>2]+(q[(r[b|0]-r[c|0]<<2)+173008>>2]+a|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function bn(a,b,c){var d=0,i=0,j=0,k=0,l=0,m=0,n=0;h(+a);l=e(1)|0;n=e(0)|0;k=l&2147483640;k=(k|0)==1072010279|k>>>0<1072010279;if(!k){m=(l|0)<0?1:(l|0)<=0?n>>>0>=0?0:1:0;a=.7853981633974483-(m?-a:a)+(3.061616997868383e-17-(m?-b:b));m=l>>>31|0;b=0}d=a*a;i=a*d;j=b;b=d*d;d=i*.3333333333333341+(j+d*(j+i*(b*(b*(b*(b*(b*-18558637485527546e-21+7817944429395571e-20)+.0005880412408202641)+.0035920791075913124)+.021869488294859542)+.13333333333320124+d*(b*(b*(b*(b*(b*2590730518636337e-20+7140724913826082e-20)+.0002464631348184699)+.0014562094543252903)+.0088632398235993)+.05396825397622605))));b=a+d;if(!k){i=b*b;j=b;b=+(1-(c<<1)|0);a=a+(d-i/(j+b));a=b-(a+a);return m?-a:a}if(c){h(+b);c=e(1)|0;e(0)|0;f(0,0);f(1,c|0);i=+g();j=-1/b;h(+j);c=e(1)|0;e(0)|0;f(0,0);f(1,c|0);b=+g();b=j*(i*b+1+(d-(i-a))*b)+b}return b}function Ti(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+28272|0;f=r[e+b|0];g=r[c+e|0];e=(f|0)!=(g|0);if(!((f|0)==255|(f|0)!=(g|0))){e=a+27952|0;h=e+(b<<2)|0;i=e+(c<<2)|0;j=p[h+2>>1]-p[i+2>>1]|0;e=j>>31;e=(p[h>>1]-p[i>>1]|0)+3>>>0>6|(e^e+j)>=(d|0)}k=e;a:{if(q[a+23412>>2]!=2){break a}b:{if(e){e=a+28312|0;h=r[e+b|0];i=r[c+e|0];break b}e=a+28312|0;h=r[e+b|0];i=r[c+e|0];if((h|0)!=(i|0)){break b}e=a+28112|0;j=e+(b<<2)|0;e=e+(c<<2)|0;if((p[j>>1]-p[e>>1]|0)+3>>>0>6){break b}e=p[j+2>>1]-p[e+2>>1]|0;j=e>>31;k=0;if((j^e+j)<(d|0)){break a}}k=1;if((f|0)!=(i|0)|(g|0)!=(h|0)){break a}e=a+28112|0;f=b<<2;b=e+f|0;g=a+27952|0;c=c<<2;a=g+c|0;f=f+g|0;g=c+e|0;h=p[f+2>>1]-p[g+2>>1]|0;c=h>>31;i=p[b+2>>1]-p[a+2>>1]|0;e=i>>31;k=(p[f>>1]-p[g>>1]|0)+3>>>0>6|(c^c+h)>=(d|0)|(p[b>>1]-p[a>>1]|0)+3>>>0>6|(e^e+i)>=(d|0)}return k}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;q[b>>2]=q[b>>2]+32;while(1){if((e|0)==4){i=c&-2;g=c>>1;k=w(g,3);c=0;while(1){if((c|0)!=4){d=c<<4;e=q[(d|12)+b>>2];f=(c<<1)+a|0;h=q[b+d>>2];j=q[(d|8)+b>>2];l=h+j|0;m=q[(d|4)+b>>2];n=m+(e>>1)|0;d=s[f>>1]+(l+n>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+g<<1)+a|0;e=(m>>1)-e|0;h=h-j|0;d=s[f>>1]+(e+h>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;f=(c+i<<1)+a|0;d=s[f>>1]+(h-e>>6)|0;p[f>>1]=d>>>0<16384?d:(d>>31^-1)&16383;e=(c+k<<1)+a|0;d=s[e>>1]+(l-n>>6)|0;p[e>>1]=d>>>0<16384?d:(d>>31^-1)&16383;c=c+1|0;continue}break}Za(b,0,64)}else{d=(e<<2)+b|0;i=q[d+16>>2];g=q[d+48>>2];k=(i>>1)-g|0;f=q[d>>2];h=q[d+32>>2];j=f-h|0;q[d+16>>2]=k+j;i=i+(g>>1)|0;g=f+h|0;q[d>>2]=i+g;q[d+32>>2]=j-k;q[d+48>>2]=g-i;e=e+1|0;continue}break}}function mm(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=q[d+8>>2]+2|0;i=q[d+16>>2];q[d+8>>2]=i>>>0>h>>>0?h:i;if((Ua(d,4)|0)!=q[b+4>>2]){Ta(a,24,32185,0)}h=Ua(d,4);j=Ua(d,4);k=Ua(d,4);i=Ua(d,2);l=Ua(d,3);b=Ua(d,4);if(Xa(d)){f=q[d+8>>2]+4|0;g=q[d+16>>2];q[d+8>>2]=g>>>0>f>>>0?f:g}if(Xa(d)){f=q[d+8>>2]+4|0;g=q[d+16>>2];q[d+8>>2]=g>>>0>f>>>0?f:g}if(Xa(d)){f=q[d+8>>2]+3|0;g=q[d+16>>2];q[d+8>>2]=g>>>0>f>>>0?f:g}g=h+j|0;f=g+k|0;if((q[d+12>>2]-q[d+8>>2]|0)<(w(f+b|0,5)+(b+(i+l|0)<<2)|0)){Ta(a,16,32786,0);return-1}gf(c,1,d,h);gf(w(h,3)+c|0,2,d,j);gf(w(g,3)+c|0,3,d,k);gf(w(f,3)+c|0,4,d,i);Mb(d,l<<2);h=f+i|0;gf(w(h,3)+c|0,5,d,b);c=e-q[d+8>>2]&7;if(c){c=c+q[d+8>>2]|0;e=q[d+16>>2];q[d+8>>2]=e>>>0>c>>>0?c:e}c=Ua(d,8)<<3;if((q[d+12>>2]-q[d+8>>2]|0)<(c|0)){Ta(a,16,32786,0);return-1094995529}Mb(d,c);return b+h|0}function wk(a,b,c,d,e){var f=0,g=0,h=0;f=Ca+ -64|0;Ca=f;q[f+56>>2]=0;q[f+60>>2]=0;q[f+48>>2]=0;q[f+52>>2]=0;q[f+40>>2]=0;q[f+44>>2]=0;q[f+32>>2]=0;q[f+36>>2]=0;a:{b=Al(f+32|0,a,b,e,d,2,27,1);if((b|0)<0){break a}a=0;g=b;while(1){if((a|0)>=q[f+52>>2]){break a}b:{c:{b=q[f+32>>2]+w(a,72)|0;d=q[b+44>>2];h=d+ -7|0;if(h>>>0<=1){if(!(h-1)){break c}q[f+24>>2]=q[b+40>>2];d=q[b+36>>2];q[f+16>>2]=q[b+32>>2];q[f+20>>2]=d;d=q[b+28>>2];q[f+8>>2]=q[b+24>>2];q[f+12>>2]=d;g=ue(f+8|0,e,c,0);if((g|0)>-1){break b}Ta(e,48,23599,0);d=q[b+16>>2]+ -1|0;xk(f+8|0,q[b+20>>2]+1|0,d>>>0>268435455?-8:d<<3);g=ue(f+8|0,e,c,0);if((g|0)>-1){break b}g=ue(b+24|0,e,c,1);if((g|0)>=0){break b}break a}q[f>>2]=d;Ta(e,40,24241,f);break b}g=tk(b+24|0,e,c,q[b+12>>2]);if((g|0)<0){break a}}a=a+1|0;continue}}zl(f+32|0);Ca=f- -64|0;return g}function Sv(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ca-16|0;Ca=d;g=q[b+8>>2];h=q[a+32>>2];q[a+4>>2]=1;q[a+8>>2]=0;p[d+12>>1]=r[a+24|0]|r[a+25|0]<<8;q[d+8>>2]=r[a+20|0]|r[a+21|0]<<8|(r[a+22|0]<<16|r[a+23|0]<<24);j=a,k=Xa(b),q[j+28>>2]=k;j=a,k=Ua(b,4),o[j+20|0]=k;j=a,k=Ua(b,4),o[j+21|0]=k;j=a,k=Ua(b,3),o[j+22|0]=k;e=2;c=q[b+8>>2]+2|0;f=q[b+16>>2];q[b+8>>2]=f>>>0>c>>>0?c:f;c=a+20|0;f=Xa(b);i=Xa(b);a:{if(f&255){j=a,k=Ua(b,2),o[j+23|0]=k;j=a,k=Xa(b),o[j+24|0]=k;e=Ua(b,2);break a}o[a+23|0]=258;o[a+24|0]=1}o[a+25|0]=e;if(se(d+8|0,c,6)){q[a+16>>2]=1}b:{if(i&255){j=a,k=Ua(b,2),q[j+32>>2]=k;j=a,k=Ua(b,2),q[j+36>>2]=k;j=a,k=Xa(b),q[j+40>>2]=k;e=Xa(b);c=q[a+32>>2];break b}e=1;q[a+40>>2]=1;q[a+32>>2]=2;q[a+36>>2]=2;c=2}q[a+44>>2]=e;if(!(q[a+16>>2]|(c|0)==(h|0))){_l(a)}Ca=d+16|0;return q[b+8>>2]-g|0}function Zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0;i=r[(w(c,7)+a|0)+ -1|0];j=r[(w(c,6)+a|0)+ -1|0];k=r[(w(c,5)+a|0)+ -1|0];l=r[((c<<2)+a|0)+ -1|0];d=a-c|0;f=r[d+3|0];e=w(c,3)+a|0;v=r[e+ -1|0];m=r[b+3|0];n=r[b+2|0];p=r[b+1|0];q=r[b|0];s=c<<1;g=s+a|0;t=r[g+ -1|0]+r[d+2|0]|0;u=t+4|0;h=r[a+ -1|0]+(u+r[d|0]|0)|0;b=a+c|0;c=r[b+ -1|0];d=r[d+1|0];o[a|0]=h+(c+d<<1)>>>3;h=d;d=f+v|0;f=d+4|0;c=(c+(h+f|0)|0)+(t<<1)>>>3|0;o[b|0]=c;o[a+1|0]=c;c=((q+u|0)+l|0)+(d<<1)>>>3|0;o[g|0]=c;o[b+1|0]=c;o[a+2|0]=c;d=l+q|0;c=((f+p|0)+k|0)+(d<<1)>>>3|0;o[e|0]=c;o[(s|1)+a|0]=c;o[b+2|0]=c;o[a+3|0]=c;c=k+p|0;a=(((d+n|0)+j|0)+(c<<1)|0)+4>>>3|0;o[e+1|0]=a;o[g+2|0]=a;o[b+3|0]=a;a=j+n|0;b=(((c+m|0)+i|0)+(a<<1)|0)+4>>>3|0;o[e+2|0]=b;o[g+3|0]=b;o[e+3|0]=((a+m|0)+i|0)+2>>>2}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;q[b>>2]=q[b>>2]+32;while(1){if((e|0)==4){i=c&-2;g=c>>1;k=w(g,3);c=0;while(1){if((c|0)!=4){d=c<<4;e=q[(d|12)+b>>2];f=(c<<1)+a|0;h=q[b+d>>2];j=q[(d|8)+b>>2];l=h+j|0;m=q[(d|4)+b>>2];n=m+(e>>1)|0;d=s[f>>1]+(l+n>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+g<<1)+a|0;e=(m>>1)-e|0;h=h-j|0;d=s[f>>1]+(e+h>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;f=(c+i<<1)+a|0;d=s[f>>1]+(h-e>>6)|0;p[f>>1]=d>>>0<1024?d:(d>>31^-1)&1023;e=(c+k<<1)+a|0;d=s[e>>1]+(l-n>>6)|0;p[e>>1]=d>>>0<1024?d:(d>>31^-1)&1023;c=c+1|0;continue}break}Za(b,0,64)}else{d=(e<<2)+b|0;i=q[d+16>>2];g=q[d+48>>2];k=(i>>1)-g|0;f=q[d>>2];h=q[d+32>>2];j=f-h|0;q[d+16>>2]=k+j;i=i+(g>>1)|0;g=f+h|0;q[d>>2]=i+g;q[d+32>>2]=j-k;q[d+48>>2]=g-i;e=e+1|0;continue}break}}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;q[b>>2]=q[b>>2]+32;while(1){if((e|0)==4){i=c&-2;g=c>>1;k=w(g,3);c=0;while(1){if((c|0)!=4){d=c<<4;e=q[(d|12)+b>>2];f=(c<<1)+a|0;h=q[b+d>>2];j=q[(d|8)+b>>2];l=h+j|0;m=q[(d|4)+b>>2];n=m+(e>>1)|0;d=s[f>>1]+(l+n>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+g<<1)+a|0;e=(m>>1)-e|0;h=h-j|0;d=s[f>>1]+(e+h>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;f=(c+i<<1)+a|0;d=s[f>>1]+(h-e>>6)|0;p[f>>1]=d>>>0<4096?d:(d>>31^-1)&4095;e=(c+k<<1)+a|0;d=s[e>>1]+(l-n>>6)|0;p[e>>1]=d>>>0<4096?d:(d>>31^-1)&4095;c=c+1|0;continue}break}Za(b,0,64)}else{d=(e<<2)+b|0;i=q[d+16>>2];g=q[d+48>>2];k=(i>>1)-g|0;f=q[d>>2];h=q[d+32>>2];j=f-h|0;q[d+16>>2]=k+j;i=i+(g>>1)|0;g=f+h|0;q[d>>2]=i+g;q[d+32>>2]=j-k;q[d+48>>2]=g-i;e=e+1|0;continue}break}}function ZB(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=p[a+16>>1];f=w(d,4520);b=p[a+48>>1];g=w(b,-12873);c=w(p[a>>1],16383)+524256|0;e=p[a+32>>1];h=c+w(e,-21407)|0;i=c+w(e,-8867)|0;j=c+w(e,8867)|0;e=c+w(e,21407)|0;c=p[a+64>>1];if(c){k=w(c,16383);h=k+h|0;c=w(c,-16383);i=c+i|0;e=e+k|0;j=c+j|0}c=f+g|0;f=w(d,12873)+w(b,-22725)|0;g=w(d,19266)+w(b,-4520)|0;d=w(d,22725)+w(b,19266)|0;b=p[a+80>>1];if(b){f=w(b,4520)+f|0;g=w(b,-22725)+g|0;d=w(b,12873)+d|0;c=w(b,19266)+c|0}b=p[a+96>>1];if(b){i=w(b,21407)+i|0;j=w(b,-21407)+j|0;e=w(b,8867)+e|0;h=w(b,-8867)+h|0}b=p[a+112>>1];if(b){f=w(b,19266)+f|0;g=w(b,-12873)+g|0;d=w(b,4520)+d|0;c=w(b,-22725)+c|0}p[a+112>>1]=e-d>>20;p[a+96>>1]=j-g>>20;p[a+80>>1]=i-f>>20;p[a+64>>1]=h-c>>20;p[a+48>>1]=c+h>>20;p[a+32>>1]=f+i>>20;p[a+16>>1]=g+j>>20;p[a>>1]=d+e>>20}function Jl(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{if(!d&(e|0)==-2147483648){g=0;if(!b&(c|0)==-2147483648){break a}q[a+808>>2]=b;q[a+812>>2]=c;break c}f=a;h=q[f+808>>2];k=q[f+812>>2];q[f+808>>2]=d;q[f+812>>2]=e;g=f;j=f;i=q[f+796>>2];h=(k|0)>(e|0)?1:(k|0)>=(e|0)?h>>>0>>0?0:1:0;f=h+q[f+792>>2]|0;if(f>>>0>>0){i=i+1|0}q[j+792>>2]=f;q[g+796>>2]=i;if(!b&(c|0)==-2147483648){break b}}f=a;h=q[f+800>>2];k=q[f+804>>2];q[f+800>>2]=b;q[f+804>>2]=c;g=f;j=f;i=q[f+788>>2];h=(k|0)>(c|0)?1:(k|0)>=(c|0)?h>>>0>>0?0:1:0;f=h+q[f+784>>2]|0;if(f>>>0>>0){i=i+1|0}q[j+784>>2]=f;q[g+788>>2]=i;g=1;break a}q[a+800>>2]=d;q[a+804>>2]=e;g=0}j=b;f=t[a+784>>2]>t[a+792>>2]?0:1;b=q[a+788>>2];a=q[a+796>>2];f=(b|0)<(a|0)?1:(b|0)<=(a|0)?f:0;b=!d&(e|0)==-2147483648;a=g?b?j:f?j:d:d;Da=g?b?c:f?c:e:e;return a}function DA(a){a=+a;var b=0,c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{h(+a);b=e(1)|0;d=e(0)|0;if((b|0)>0?1:(b|0)>=0?d>>>0<0?0:1:0){j=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|d)){return+(-1/(a*a))}if((b|0)>-1?1:(b|0)>=-1?d>>>0<=4294967295?0:1:0){break c}return+((a-a)/0)}if(j>>>0>2146435071){break a}b=1072693248;k=-1023;if((j|0)!=1072693248){b=j;break b}if(d){break b}return 0}h(+(a*0x40000000000000));b=e(1)|0;d=e(0)|0;k=-1077}b=b+614242|0;i=+((b>>>20|0)+k|0);f(0,d|0);f(1,(b&1048575)+1072079006|0);a=+g()+ -1;c=a/(a+2);l=i*.6931471803691238;m=a;n=i*1.9082149292705877e-10;o=c;i=a*(a*.5);c=c*c;a=c*c;a=l+(m+(n+o*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return+a}function Qi(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;j=Ca-48|0;Ca=j;h=-1;a:{if(!a|(b|0)<1){break a}b:{c:{if(r[a|0]==1){q[d>>2]=1;if((b|0)<=6){q[j>>2]=b;Ta(g,16,17992,j);break b}m=a+b|0;d=a+6|0;l=r[a+5|0]&31;while(1){if((i|0)!=(l|0)){h=r[d|0]|r[d+1|0]<<8;k=((h<<24|h<<8&16711680)>>>16|0)+2|0;if((k|0)>(m-d|0)){break b}h=wo(d,k,c,f,g);if((h|0)<=-1){q[j+32>>2]=i;Ta(g,16,19025,j+32|0);break a}else{i=i+1|0;d=d+k|0;continue}}break}i=d+1|0;l=r[d|0];d=0;while(1){if((d|0)!=(l|0)){h=r[i|0]|r[i+1|0]<<8;k=((h<<24|h<<8&16711680)>>>16|0)+2|0;if((k|0)>(m-i|0)){break b}h=wo(i,k,c,f,g);if((h|0)<=-1){q[j+16>>2]=d;Ta(g,16,19905,j+16|0);break a}else{d=d+1|0;i=i+k|0;continue}}break}q[e>>2]=(r[a+4|0]&3)+1;break c}q[d>>2]=0;h=wk(a,b,c,0,g);if((h|0)<0){break a}}h=b;break a}h=-1094995529}Ca=j+48|0;return h}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;q[b>>2]=q[b>>2]+32;while(1){if((e|0)==4){i=c&-2;g=c>>1;k=w(g,3);c=0;while(1){if((c|0)!=4){d=c<<4;e=q[(d|12)+b>>2];f=(c<<1)+a|0;h=q[b+d>>2];j=q[(d|8)+b>>2];l=h+j|0;m=q[(d|4)+b>>2];n=m+(e>>1)|0;d=s[f>>1]+(l+n>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+g<<1)+a|0;e=(m>>1)-e|0;h=h-j|0;d=s[f>>1]+(e+h>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;f=(c+i<<1)+a|0;d=s[f>>1]+(h-e>>6)|0;p[f>>1]=d>>>0<512?d:(d>>31^-1)&511;e=(c+k<<1)+a|0;d=s[e>>1]+(l-n>>6)|0;p[e>>1]=d>>>0<512?d:(d>>31^-1)&511;c=c+1|0;continue}break}Za(b,0,64)}else{d=(e<<2)+b|0;i=q[d+16>>2];g=q[d+48>>2];k=(i>>1)-g|0;f=q[d>>2];h=q[d+32>>2];j=f-h|0;q[d+16>>2]=k+j;i=i+(g>>1)|0;g=f+h|0;q[d>>2]=i+g;q[d+32>>2]=j-k;q[d+48>>2]=g-i;e=e+1|0;continue}break}}function Qe(a){var b=x(0),c=0,d=0,f=0,g=0;d=Ca-16|0;Ca=d;f=(j(a),e(0));c=f&2147483647;a:{if(c>>>0<=1061752794){b=x(1);if(c>>>0<964689920){break a}b=ad(+a);break a}if(c>>>0<=1081824209){g=+a;if(c>>>0>=1075235812){b=x(-ad(((f|0)<0?3.141592653589793:-3.141592653589793)+g));break a}if((f|0)<=-1){b=$c(g+1.5707963267948966);break a}b=$c(1.5707963267948966-g);break a}if(c>>>0<=1088565717){if(c>>>0>=1085271520){b=ad(((f|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((f|0)<=-1){b=$c(-4.71238898038469- +a);break a}b=$c(+a+ -4.71238898038469);break a}b=x(a-a);if(c>>>0>=2139095040){break a}c=dn(a,d+8|0)&3;if(c>>>0<=2){b:{switch(c-1|0){default:b=ad(v[d+8>>3]);break a;case 0:b=$c(-v[d+8>>3]);break a;case 1:break b}}b=x(-ad(v[d+8>>3]));break a}b=$c(v[d+8>>3])}a=b;Ca=d+16|0;return a}function MB(a){var b=0,c=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{b=a+ -65536|0;if(b>>>0>30){b=a+ -67584|0;if(b>>>0<=4){break i}if(a+ -88069>>>0<4){break c}b=4;c=a+ -69655|0;if(c>>>0>6|!(1<>>0>2){c=a+ -83968|0;if(c>>>0<=2){break j}if((a|0)==69636|a+ -86070>>>0<2|((a|0)==71681|(a|0)==71687)){break b}break a}if(c-1){break b}break a}if(c-1){break c}break a}return 8}return b}return 0}function Yv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=x(0),h=x(0),i=x(0),j=0,k=x(0),l=x(0),m=0,o=x(0),p=x(0),r=x(0),s=0;f=Ca-48|0;Ca=f;s=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(s|0)){n[q[a+28>>2]](w(e,320)+d|0,f);o=x(0);h=x(0);p=x(0);g=u[f+16>>2];k=u[f+24>>2];l=u[f+28>>2];i=x(x(u[f+40>>2]*g)+x(x(x(k*k)+x(l*l))/x(-1.0000009536743164)));if(i!=x(0)){h=u[f>>2];r=u[f+4>>2];p=x(x(x(x(l*h)+x(k*r))-x(g*u[f+12>>2]))/i);h=x(x(x(x(k*h)-x(l*r))-x(g*u[f+8>>2]))/i)}j=e<<3;m=j+c|0;u[m+4>>2]=p;u[m>>2]=h;i=x(0);if(g!=x(0)){i=x(x(x(l*h)-x(u[f+4>>2]+x(k*p)))/g);o=x(x(-x(x(u[f>>2]+x(k*h))+x(l*p)))/g)}j=b+j|0;u[j+4>>2]=i;u[j>>2]=o;g=u[m>>2];h=x(g*g);g=u[m+4>>2];if(!(x(x(o*o)+x(i*i))>=x(16)^1?!(x(h+x(g*g))>=x(16)):0)){q[m>>2]=0;q[m+4>>2]=0;q[j>>2]=0;q[j+4>>2]=0}e=e+1|0;continue}break}Ca=f+48|0}function NB(a){var b=0,c=0,d=0,e=0;if(a){if(q[a+28>>2]){c=a+28|0;d=q[a+28>>2];e=q[d+16>>2];b=q[a+12>>2];a:{if(!b){break a}b=q[b+96>>2];if(!b){break a}n[b](a)|0;d=q[a+28>>2]}b=0;q[d+48>>2]=0;Wa(d+44|0);wb(q[c>>2]+12|0);wb(q[c>>2]+100|0);wb(q[c>>2]+76|0);mc(q[c>>2]+68|0);mc(q[c>>2]+40|0);mc(q[c>>2]+24|0);while(1){if((b|0)!=4){Yc((b<<2)+e|0);b=b+1|0;continue}break}Wa(q[a+28>>2]+16|0);b=q[a+592>>2];b:{if(!b){break b}b=q[b+52>>2];if(!b){break b}n[b](a)|0}Wa(q[a+28>>2]+60|0);oj(a);Wa(c)}c=a+852|0;b=0;while(1){if((b|0)>2]){Wa(q[c>>2]+w(b,12)|0);b=b+1|0;continue}break}Wa(c);q[a+856>>2]=0;lb(a+860|0);lb(a+880|0);b=a+24|0;c=q[a+24>>2];c:{if(!c){break c}d=q[a+12>>2];if(!d|!q[d+44>>2]){break c}lf(c)}lf(a);Wa(b);if(yf(q[a+12>>2])){Wa(a+68|0);wb(a+684|0)}q[a+696>>2]=0;q[a+12>>2]=0}}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=x(0),o=x(0),p=x(0),r=x(0),t=x(0),v=x(0),w=x(0),y=x(0),z=0;f=1<>2];d=f>>2;h=(d|0)>0?d:0;d=((f<<1&-4)+c|0)+ -4|0;i=q[a+28>>2];j=q[a+24>>2];z=q[a+8>>2];while(1){if((e|0)!=(h|0)){k=(s[(e<<1)+z>>1]<<3)+b|0;g=e<<2;l=g+j|0;g=i+g|0;u[k>>2]=x(u[d>>2]*u[l>>2])-x(u[c>>2]*u[g>>2]);u[k+4>>2]=x(u[d>>2]*u[g>>2])+x(u[c>>2]*u[l>>2]);e=e+1|0;d=d+ -8|0;c=c+8|0;continue}break}n[q[a+36>>2]](a,b);e=0;a=f>>3;f=(a|0)>0?a:0;while(1){if((e|0)!=(f|0)){c=a+(e^-1)|0;d=c<<2;m=u[d+i>>2];c=(c<<3)+b|0;o=u[c+4>>2];p=u[d+j>>2];d=a+e|0;h=d<<2;r=u[h+i>>2];d=(d<<3)+b|0;t=u[d>>2];v=u[d+4>>2];w=u[h+j>>2];u[c+4>>2]=x(r*t)+x(v*w);y=u[c>>2];u[c>>2]=x(o*m)-x(p*y);u[d+4>>2]=x(m*y)+x(o*p);u[d>>2]=x(v*r)-x(t*w);e=e+1|0;continue}break}}function gF(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<16384?h:(f>>31^-1)&16383)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<16384?f:(e>>31^-1)&16383)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-32|0;Ca=e;g=q[a+28>>2];q[e+16>>2]=g;d=q[a+20>>2];q[e+28>>2]=c;q[e+24>>2]=b;b=d-g|0;q[e+20>>2]=b;g=b+c|0;i=2;b=e+16|0;a:{b:{f=da(q[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}q[865816]=f;d=-1}d:{if(!d){while(1){d=q[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=q[b+4>>2];f=d>>>0>h>>>0;b=f?b+8|0:b;h=d-(f?h:0)|0;q[b>>2]=h+q[b>>2];q[b+4>>2]=q[b+4>>2]-h;g=g-d|0;i=i-f|0;f=da(q[a+60>>2],b|0,i|0,e+12|0)|0;d=0;e:{if(!f){break e}q[865816]=f;d=-1}if(!d){continue}break}}q[e+12>>2]=-1;if((g|0)!=-1){break b}}b=q[a+44>>2];q[a+28>>2]=b;q[a+20>>2]=b;q[a+16>>2]=b+q[a+48>>2];a=c;break a}q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a>>2]=q[a>>2]|32;a=0;if((i|0)==2){break a}a=c-q[b+4>>2]|0}Ca=e+32|0;return a|0}function zw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=x(g);h=h|0;var i=0,j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=0,p=0,q=0,r=0,s=x(0),t=x(0),v=x(0),y=0,z=0,A=0;p=Ca-16|0;while(1){if((i|0)==3){j=0;y=(h|0)>0?h:0;while(1){if((j|0)!=(y|0)){m=u[d>>2];q=j<<3;h=q+b|0;k=u[h+4>>2];l=u[h>>2];n=u[d+4>>2];g=x(x(m*k)+x(l*n));k=x(x(l*m)-x(k*n));z=j+5|0;A=j+2|0;i=0;while(1){if((i|0)!=3){o=w(i,296)+c|0;h=o+(z<<3)|0;m=g;o=o+(A-i<<3)|0;n=u[o+4>>2];r=(i<<3)+e|0;s=u[r>>2];t=u[o>>2];v=u[r+4>>2];l=u[(p+4|0)+(i<<2)>>2];g=x(x(x(n*s)+x(t*v))-x(g*l));u[h+4>>2]=m+x(l*g);m=k;k=x(x(x(t*s)-x(n*v))-x(k*l));u[h>>2]=m+x(l*k);i=i+1|0;continue}break}h=a+q|0;i=(j<<2)+f|0;u[h>>2]=k*u[i>>2];u[h+4>>2]=g*u[i>>2];j=j+1|0;continue}break}}else{j=i<<2;u[j+(p+4|0)>>2]=u[j+96224>>2]*g;i=i+1|0;continue}break}}function $E(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;n=(c&-2)<<1;k=c>>1;o=w(k,3)<<1;while(1){if((l|0)!=4){q=s[b+48>>1];m=s[b+40>>1];c=s[b+32>>1];g=s[b+24>>1];i=s[b+8>>1];f=s[b>>1];j=s[b+16>>1];d=s[b+ -8>>1];e=(((g+s[b+ -16>>1]|0)+w(i+f|0,20)|0)+w(j+d|0,-5)|0)+16|0;h=e>>5;p[a>>1]=(s[a>>1]+(h>>>0<16384?h:(e>>31^-1)&16383)|0)+1>>>1;e=(k<<1)+a|0;h=e;r=s[e>>1];d=(((c+d|0)+w(i+j|0,20)|0)+w(f+g|0,-5)|0)+16|0;e=d>>5;p[h>>1]=(r+(e>>>0<16384?e:(d>>31^-1)&16383)|0)+1>>>1;d=a+n|0;h=d;e=s[d>>1];f=(((f+m|0)+w(g+j|0,20)|0)+w(c+i|0,-5)|0)+16|0;d=f>>5;p[h>>1]=(e+(d>>>0<16384?d:(f>>31^-1)&16383)|0)+1>>>1;f=a+o|0;c=(((i+q|0)+w(c+g|0,20)|0)+w(j+m|0,-5)|0)+16|0;g=c>>5;p[f>>1]=(s[f>>1]+(g>>>0<16384?g:(c>>31^-1)&16383)|0)+1>>>1;l=l+1|0;b=b+2|0;a=a+2|0;continue}break}}function qe(a){var b=0,c=0,d=0,f=0;c=Ca-16|0;Ca=c;f=(j(a),e(0));b=f&2147483647;a:{if(b>>>0<=1061752794){if(b>>>0<964689920){break a}a=$c(+a);break a}if(b>>>0<=1081824209){d=+a;if(b>>>0<=1075235811){if((f|0)<=-1){a=x(-ad(d+1.5707963267948966));break a}a=ad(d+ -1.5707963267948966);break a}a=$c(-(((f|0)<0?3.141592653589793:-3.141592653589793)+d));break a}if(b>>>0<=1088565717){d=+a;if(b>>>0<=1085271519){if((f|0)<=-1){a=ad(d+4.71238898038469);break a}a=x(-ad(d+ -4.71238898038469));break a}a=$c(((f|0)<0?6.283185307179586:-6.283185307179586)+d);break a}if(b>>>0>=2139095040){a=x(a-a);break a}b=dn(a,c+8|0)&3;if(b>>>0<=2){b:{switch(b-1|0){default:a=$c(v[c+8>>3]);break a;case 0:a=ad(v[c+8>>3]);break a;case 1:break b}}a=$c(-v[c+8>>3]);break a}a=x(-ad(v[c+8>>3]))}Ca=c+16|0;return a}function lt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=8-f|0;g=8-e|0;i=w(h,g);g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;k=(d|0)>0?d:0;l=c+2|0;m=c+1|0;while(1){if((f|0)==(k|0)){break a}d=b+c|0;j=b+m|0;o[a|0]=(((w(r[b|0],i)+w(h,r[b+1|0])|0)+w(g,r[d|0])|0)+w(e,r[j|0])|0)+32>>>6;o[a+1|0]=(((w(r[b+1|0],i)+w(h,r[b+2|0])|0)+w(g,r[j|0])|0)+w(e,r[b+l|0])|0)+32>>>6;f=f+1|0;a=a+c|0;b=d;continue}}e=g+h|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=w(r[b|0],i)+32>>>6;o[a+1|0]=w(r[b+1|0],i)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;h=g+1|0;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(w(r[b|0],i)+w(e,r[b+g|0])|0)+32>>>6;o[a+1|0]=(w(r[b+1|0],i)+w(e,r[b+h|0])|0)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function Jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=Ca-320|0;Ca=i;l=q[a>>2];c=l;m=q[a+4>>2];j=m;n=q[a+8>>2];d=n;o=q[a+12>>2];g=o;p=q[a+16>>2];h=p;while(1){k=h;h=g;g=d;d=j;j=c;if((e|0)!=80){f=(e<<2)+i|0;a:{if(e>>>0<=15){c=(e<<2)+b|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);c=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);break a}c=(e<<2)+i|0;c=eS(q[c+ -32>>2]^q[c+ -12>>2]^q[c+ -56>>2]^q[c+ -64>>2],1)}q[f>>2]=c;k=c+(eS(j,5)+k|0)|0;b:{if(e>>>0<=39){c=g^h;f=(c&d^h)+1518500249|0;if(e>>>0<=19){break b}f=(c^d)+1859775393|0;break b}f=((d|g)&h|d&g)+ -1894007588|0;if(e>>>0<=59){break b}f=(d^(g^h))+ -899497514|0}c=f;e=e+1|0;d=eS(d,30);c=c+k|0;continue}break}q[a+16>>2]=k+p;q[a+12>>2]=h+o;q[a+8>>2]=g+n;q[a+4>>2]=d+m;q[a>>2]=j+l;Ca=i+320|0}function zJ(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<1024?h:(f>>31^-1)&1023)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<1024?f:(e>>31^-1)&1023)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function oH(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<4096?h:(f>>31^-1)&4095)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<4096?f:(e>>31^-1)&4095)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function sw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=0,s=x(0),t=x(0),v=x(0),w=x(0),y=x(0),z=x(0),A=x(0),B=x(0);e=(e|0)>0?e:0;s=u[d+28>>2];t=u[d+24>>2];v=u[d+20>>2];f=u[c+28>>2];g=u[c+24>>2];h=u[c+20>>2];w=u[d+12>>2];y=u[d+8>>2];z=u[d+4>>2];A=u[d+16>>2];B=u[d>>2];i=u[c+12>>2];j=u[c+8>>2];k=u[c+4>>2];l=u[c+16>>2];m=u[c>>2];while(1){if((e|0)!=(r|0)){d=r<<3;c=d+a|0;g=x(t+g);d=b+d|0;n=u[d>>2];l=x(A+l);o=u[c>>2];m=x(B+m);p=u[c+4>>2];j=x(y+j);q=u[d+4>>2];u[c+4>>2]=x(g*n)+x(x(l*o)+x(x(m*p)+x(j*q)));u[c>>2]=x(x(x(m*o)+x(j*n))-x(l*p))-x(g*q);f=x(s+f);h=x(v+h);k=x(z+k);i=x(w+i);u[d+4>>2]=x(n*f)+x(x(o*h)+x(x(p*k)+x(q*i)));u[d>>2]=x(x(x(k*o)+x(i*n))-x(h*p))-x(f*q);r=r+1|0;continue}break}}function sJ(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;n=(c&-2)<<1;k=c>>1;o=w(k,3)<<1;while(1){if((l|0)!=4){q=s[b+48>>1];m=s[b+40>>1];c=s[b+32>>1];g=s[b+24>>1];i=s[b+8>>1];f=s[b>>1];j=s[b+16>>1];d=s[b+ -8>>1];e=(((g+s[b+ -16>>1]|0)+w(i+f|0,20)|0)+w(j+d|0,-5)|0)+16|0;h=e>>5;p[a>>1]=(s[a>>1]+(h>>>0<1024?h:(e>>31^-1)&1023)|0)+1>>>1;e=(k<<1)+a|0;h=e;r=s[e>>1];d=(((c+d|0)+w(i+j|0,20)|0)+w(f+g|0,-5)|0)+16|0;e=d>>5;p[h>>1]=(r+(e>>>0<1024?e:(d>>31^-1)&1023)|0)+1>>>1;d=a+n|0;h=d;e=s[d>>1];f=(((f+m|0)+w(g+j|0,20)|0)+w(c+i|0,-5)|0)+16|0;d=f>>5;p[h>>1]=(e+(d>>>0<1024?d:(f>>31^-1)&1023)|0)+1>>>1;f=a+o|0;c=(((i+q|0)+w(c+g|0,20)|0)+w(j+m|0,-5)|0)+16|0;g=c>>5;p[f>>1]=(s[f>>1]+(g>>>0<1024?g:(c>>31^-1)&1023)|0)+1>>>1;l=l+1|0;b=b+2|0;a=a+2|0;continue}break}}function hH(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;n=(c&-2)<<1;k=c>>1;o=w(k,3)<<1;while(1){if((l|0)!=4){q=s[b+48>>1];m=s[b+40>>1];c=s[b+32>>1];g=s[b+24>>1];i=s[b+8>>1];f=s[b>>1];j=s[b+16>>1];d=s[b+ -8>>1];e=(((g+s[b+ -16>>1]|0)+w(i+f|0,20)|0)+w(j+d|0,-5)|0)+16|0;h=e>>5;p[a>>1]=(s[a>>1]+(h>>>0<4096?h:(e>>31^-1)&4095)|0)+1>>>1;e=(k<<1)+a|0;h=e;r=s[e>>1];d=(((c+d|0)+w(i+j|0,20)|0)+w(f+g|0,-5)|0)+16|0;e=d>>5;p[h>>1]=(r+(e>>>0<4096?e:(d>>31^-1)&4095)|0)+1>>>1;d=a+n|0;h=d;e=s[d>>1];f=(((f+m|0)+w(g+j|0,20)|0)+w(c+i|0,-5)|0)+16|0;d=f>>5;p[h>>1]=(e+(d>>>0<4096?d:(f>>31^-1)&4095)|0)+1>>>1;f=a+o|0;c=(((i+q|0)+w(c+g|0,20)|0)+w(j+m|0,-5)|0)+16|0;g=c>>5;p[f>>1]=(s[f>>1]+(g>>>0<4096?g:(c>>31^-1)&4095)|0)+1>>>1;l=l+1|0;b=b+2|0;a=a+2|0;continue}break}}function Gj(a,b,c){var d=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ca-16|0;Ca=f;h(+b);d=e(1)|0;g=e(0)|0;d=d&2147483647;a:{if((d|0)==2146435072&g>>>0>=1|d>>>0>2146435072){q[a>>2]=0;q[a+4>>2]=0;break a}if(!!(y(b)>2147483650)){q[a+4>>2]=0;q[a>>2]=b<0?-1:1;break a}bk(b,f+4|0);d=q[f+4>>2];d=(d|0)>1?d:1;q[f+4>>2]=d+ -1;m=f+8|0;l=f+8|4;n=l;d=62-d|0;g=d&31;if(32<=(d&63)>>>0){j=1<>>32-g;k=1<>>0)+4294967296*+(j|0))*b+.5);b:{if(y(i)<0x8000000000000000){g=~~i>>>0;d=y(i)>=1?i>0?~~A(C(i/4294967296),4294967295)>>>0:~~D((i- +(~~i>>>0>>>0))/4294967296)>>>0:0;break b}g=0;d=-2147483648}kf(m,n,g,d,k,j,c,c>>31);if(!(b==0|(q[f+12>>2]?q[f+8>>2]:0)|c+ -1>>>0>2147483645)){kf(f+8|0,l,g,d,k,j,2147483647,0)}c=q[f+12>>2];q[a>>2]=q[f+8>>2];q[a+4>>2]=c}Ca=f+16|0}function sD(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=Ca-32|0;Ca=c;g=q[a+25676>>2];b=q[a+28224>>2];i=q[b+80>>2];j=q[b+84>>2];e=i+j|0;a:{if(g>>>0>e>>>0){h=q[a+25680>>2];k=q[b+92>>2];l=q[b+88>>2];b=k+l|0;if(h>>>0<=b>>>0){break a}b=h-b|0;e=g-e|0;b:{c:{d=q[a+29680>>2];if(i|l|(d|0)<1){break c}f=q[a+29684>>2];if((f|0)<1|(d+15^e+15)>>>0>15|((f|0)>(b|0)|(d|0)>(e|0))){break c}if((f+15^b+15)>>>0>15){break c}k=h-f|0;j=g-d|0;e=d;b=f;break b}q[a+29680>>2]=0;q[a+29684>>2]=0}d=q[a+4>>2];q[d+104>>2]=h;q[d+100>>2]=g;q[d+96>>2]=b;q[d+92>>2]=e;q[a+25736>>2]=k;q[a+25732>>2]=l;q[a+25724>>2]=i;q[a+25728>>2]=j;Ca=c+32|0;return}q[c+24>>2]=876;q[c+20>>2]=12455;q[c+16>>2]=33029;Ta(0,0,10109,c+16|0);I();F()}q[c+8>>2]=877;q[c+4>>2]=12455;q[c>>2]=33388;Ta(0,0,10109,c);I();F()}function PL(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=(s[a>>1]+(h>>>0<512?h:(f>>31^-1)&511)|0)+1>>>1;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=(s[a+2>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=(s[a+4>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=(s[a+6>>1]+(f>>>0<512?f:(e>>31^-1)&511)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function vu(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,r=0,s=0;m=f<<1;n=e<<1;l=q[a+672>>2];while(1){if((i|0)!=4){j=0;g=i>>>1|0;k=i&1;h=p[q[a+588>>2]+(w(q[a+568>>2],g+m|0)+(k|n)<<1)>>1];h=(h|0)<2040?h:2040;h=(((h|0)>0?h:0)&65528)>>>3|0;r=g<<3;k=k<<3;while(1){if((j|0)!=8){s=j+r|0;g=0;while(1){if((g|0)!=8){o[((g+k|0)+w(q[l+32>>2],s)|0)+b|0]=h;g=g+1|0;continue}break}j=j+1|0;continue}break}i=i+1|0;continue}break}a:{if(!d){break a}b=0;e=w(q[a+564>>2],f)+e<<1;f=p[e+q[a+596>>2]>>1];f=(f|0)<2040?f:2040;f=(((f|0)>0?f:0)&65528)>>>3|0;a=p[e+q[a+592>>2]>>1];a=(a|0)<2040?a:2040;a=(((a|0)>0?a:0)&65528)>>>3|0;while(1){g=0;if((b|0)==8){break a}while(1){if((g|0)!=8){o[(w(q[l+36>>2],b)+g|0)+c|0]=a;o[(w(q[l+40>>2],b)+g|0)+d|0]=f;g=g+1|0;continue}break}b=b+1|0;continue}}}function Vf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c-((e&2147483646)<<1)|0;h=e>>1<<1;e=b;while(1){if((f|0)!=7){g=c+ -2|0;p[e>>1]=(s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[g>>1]|0,-5)|0)|0)+ -10230;p[e+2>>1]=(s[c+8>>1]+((s[g>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0)|0)+ -10230;f=f+1|0;e=e+8|0;c=c+h|0;continue}break}c=b+16|0;e=0;b=d>>1<<1;while(1){if((e|0)!=2){d=p[c+32>>1];f=p[c+24>>1]+10230|0;h=p[c+8>>1]+10230|0;g=p[c>>1]+10230|0;i=p[c+ -8>>1];j=p[c+16>>1]+10230|0;k=(((f+p[c+ -16>>1]|0)+w(h+g|0,20)|0)+w(i+j|0,-5)|0)+ -40408|0;l=k>>10;p[a>>1]=l>>>0<1024?l:(k>>31^-1)&1023;d=(((d+i|0)+w(h+j|0,20)|0)+w(f+g|0,-5)|0)+20972|0;f=d>>10;p[a+b>>1]=f>>>0<1024?f:(d>>31^-1)&1023;e=e+1|0;c=c+2|0;a=a+2|0;continue}break}}function HL(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;n=(c&-2)<<1;k=c>>1;o=w(k,3)<<1;while(1){if((l|0)!=4){q=s[b+48>>1];m=s[b+40>>1];c=s[b+32>>1];g=s[b+24>>1];i=s[b+8>>1];f=s[b>>1];j=s[b+16>>1];d=s[b+ -8>>1];e=(((g+s[b+ -16>>1]|0)+w(i+f|0,20)|0)+w(j+d|0,-5)|0)+16|0;h=e>>5;p[a>>1]=(s[a>>1]+(h>>>0<512?h:(e>>31^-1)&511)|0)+1>>>1;e=(k<<1)+a|0;h=e;r=s[e>>1];d=(((c+d|0)+w(i+j|0,20)|0)+w(f+g|0,-5)|0)+16|0;e=d>>5;p[h>>1]=(r+(e>>>0<512?e:(d>>31^-1)&511)|0)+1>>>1;d=a+n|0;h=d;e=s[d>>1];f=(((f+m|0)+w(g+j|0,20)|0)+w(c+i|0,-5)|0)+16|0;d=f>>5;p[h>>1]=(e+(d>>>0<512?d:(f>>31^-1)&511)|0)+1>>>1;f=a+o|0;c=(((i+q|0)+w(c+g|0,20)|0)+w(j+m|0,-5)|0)+16|0;g=c>>5;p[f>>1]=(s[f>>1]+(g>>>0<512?g:(c>>31^-1)&511)|0)+1>>>1;l=l+1|0;b=b+2|0;a=a+2|0;continue}break}}function QQ(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;a:{while(1){if((c|0)!=28){b:{h=q[(c<<4)+13712>>2];if((ub(h)|0)!=(b|0)){break b}if(se(h,a,b)){break b}a=(c<<4)+13720|0;f=q[a>>2];g=q[a+4>>2];break a}c=c+1|0;continue}break}c:{while(1){if((d|0)==36){break c}d:{e:{if(d+ -18>>>0<11){break e}c=q[(d<<3)+14160>>2];if((ub(c)|0)!=(b|0)){break e}if(!se(c,a,b)){break d}}d=d+1|0;continue}break}a=d&31;if(32<=(d&63)>>>0){g=1<>>32-a;f=1<>2];if(((c-a|0)+1|0)!=(b|0)|r[c|0]!=99){break f}f=JQ(d);g=Da;break a}q[865816]=0;c=kn(a,e+12|0,0);d=Da;if(q[865816]|(q[e+12>>2]-a|0)!=(b|0)){break a}a=d;b=(a|0)>0?1:(a|0)>=0?c>>>0<=0?0:1:0;f=b?c:0;g=b?a:0}Ca=e+16|0;Da=g;return f}function Sj(a){var b=0,c=x(0),d=0,g=x(0),h=0,i=x(0);h=(j(a),e(0));b=h&2147483647;if(b>>>0<1283457024){a:{b:{if(b>>>0<=1054867455){d=-1;if(b>>>0>=964689920){break b}break a}a=x(y(a));if(b>>>0<=1066926079){if(b>>>0<=1060110335){a=x(x(x(a+a)+x(-1))/x(a+x(2)));d=0;break b}a=x(x(a+x(-1))/x(a+x(1)));d=1;break b}if(b>>>0<=1075576831){a=x(x(a+x(-1.5))/x(x(a*x(1.5))+x(1)));d=2;break b}a=x(x(-1)/a);d=3}b=d;g=x(a*a);c=x(g*g);i=x(c*x(x(c*x(-.106480173766613))+x(-.19999158382415771)));c=x(g*x(x(c*x(x(c*x(.06168760731816292))+x(.14253635704517365)))+x(.333333283662796)));if((b|0)<=-1){return x(a-x(a*x(i+c)))}b=b<<2;a=x(u[b+205408>>2]-x(x(x(a*x(i+c))-u[b+205424>>2])-a));a=(h|0)<0?x(-a):a}return a}return b>>>0>2139095040?a:(f(0,(j(a),e(0))&-2147483648|1070141402),k())}function mD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=x(0),o=0,p=x(0),r=0,t=0,v=0,y=0,z=0,A=0,B=0,C=0;g=Ca-128|0;Ca=g;j=q[a+24>>2];i=1<0?i:0;t=a+128|0;v=a+24|0;y=(w(q[a+4>>2]+ -1|0,d)<<2)+c|0;z=q[a+8>>2];while(1){if((h|0)!=(r|0)){A=w(h,15);B=q[a+96>>2];C=q[a+16>>2];e=0;while(1){if((e|0)!=15){f=q[(e+A<<2)+C>>2];k=w(f,d)<<2;l=u[y-k>>2];f=(f<<2&-8)+B|0;m=u[f+4>>2];o=(e<<3)+g|0;p=u[c+k>>2];u[o>>2]=x(l*u[f>>2])-x(p*m);u[o+4>>2]=x(l*m)+x(p*u[f>>2]);e=e+1|0;continue}break}n[q[a+640>>2]](q[a+92>>2]+(s[q[a+32>>2]+(h<<1)>>1]<<3)|0,g,t,i);h=h+1|0;continue}break}c=z>>1;e=0;while(1){if((e|0)!=15){n[q[a+60>>2]](v,q[a+92>>2]+(e<>2]](b,q[a+92>>2],q[a+96>>2],q[a+20>>2],c);Ca=g+128|0}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;d=q[a>>2];q[e+12>>2]=0;q[e+8>>2]=0;q[e+4>>2]=0;g=Lk(d,b,0,0);h=ck(b);q[e+8>>2]=h;if(h){f=ck(c);q[e+4>>2]=f}a:{b:{c:{if(d){break c}d=nb(8);q[a>>2]=d;if(d){break c}b=f;break b}d:{if(!(h|!b)){b=f;break d}if(c){b=0;if(!f){break d}}e:{f:{g:{h:{if(g){b=q[g+4>>2];break h}if(!f){break f}b=f;c=nd(q[d+4>>2],(q[d>>2]<<3)+8|0);if(!c){break d}q[d+4>>2]=c;break g}Ya(b);Ya(q[g>>2]);b=q[d>>2]+ -1|0;q[d>>2]=b;b=q[d+4>>2]+(b<<3)|0;c=q[b+4>>2];q[g>>2]=q[b>>2];q[g+4>>2]=c;if(!f){break f}}b=q[d>>2];c=q[d+4>>2]+(b<<3)|0;q[c>>2]=h;q[c+4>>2]=q[e+4>>2];b=b+1|0;q[d>>2]=b;break e}Wa(e+8|0);b=q[d>>2]}c=0;if(b){break a}Wa(d+4|0);Wa(a);break a}if(q[d>>2]){break b}Wa(d+4|0);Wa(a)}Ya(q[e+8>>2]);Ya(b);c=-48}Ca=e+16|0;return c}function Yd(a){var b=0,c=x(0),d=0,e=x(0),f=0;b=q[a+76>>2];q[a+132>>2]=b;q[a+128>>2]=b;b=q[a+72>>2];q[a+124>>2]=b;q[a+120>>2]=b;q[a+116>>2]=b;q[a+112>>2]=b;b=q[a+68>>2];q[a+108>>2]=b;q[a+104>>2]=b;b=q[a+64>>2];q[a+100>>2]=b;q[a+96>>2]=b;b=q[a+60>>2];q[a+92>>2]=b;q[a+88>>2]=b;b=q[a+56>>2];q[a+84>>2]=b;q[a+80>>2]=b;b=q[a+52>>2];f=q[a+48>>2];d=q[a+32>>2];q[a+52>>2]=d;q[a+48>>2]=d;q[a+72>>2]=f;q[a+76>>2]=b;b=q[a+44>>2];q[a+64>>2]=q[a+40>>2];q[a+68>>2]=b;b=q[a+36>>2];q[a+60>>2]=b;q[a+56>>2]=b;q[a+44>>2]=q[a+28>>2];q[a+40>>2]=q[a+24>>2];b=q[a+20>>2];q[a+32>>2]=b;q[a+36>>2]=b;b=q[a+16>>2];q[a+28>>2]=b;q[a+24>>2]=b;c=u[a+12>>2];q[a+20>>2]=q[a+12>>2];e=u[a+8>>2];u[a+12>>2]=e;u[a+16>>2]=x(e+c)*x(.5);c=u[a+4>>2];q[a+8>>2]=q[a+4>>2];u[a+4>>2]=x(u[a>>2]+c)*x(.5)}function Zy(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=Ca-144|0;Ca=d;q[d+140>>2]=b;q[d+136>>2]=0;a:{if(!b){break a}c=c?c:d+136|0;while(1){if(!r[b|0]){e=i;break a}b:{b=uz(d+140|0,q[c>>2]!=0,d+132|0,d+128|0);if((b|0)<=-1){e=-28;c=q[d+140>>2];if((b|0)!=-28){break b}q[d>>2]=c;Ta(a,16,29510,d);break a}b=q[d+140>>2];if(r[b|0]){b=b+1|0;q[d+140>>2]=b}e=d;g=q[d+132>>2];c:{if(g){while(1){f=c;c=c+4|0;if(q[f>>2]){continue}break}c=g;break c}f=c+4|0;c=q[c>>2]}q[e+48>>2]=c;h=q[d+128>>2];q[d+52>>2]=h;Ta(a,48,30429,d+48|0);e=Wj(a,c,h);if((e|0)<=-1){if((e|0)==-1414549496){q[d+32>>2]=c;Ta(a,16,30856,d+32|0)}Ya(h);Ya(g);break a}Ya(h);Ya(g);i=i+1|0;c=f;continue}break}Za(d- -64|0,0,64);f=d- -64|0;yO(b,f);q[d+20>>2]=f;q[d+16>>2]=c;Ta(a,16,30001,d+16|0);e=b}Ca=d+144|0;return e}function Pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d>>1;f=s[(2-e<<1)+a>>1];g=f+2|0;h=s[(4-e<<1)+a>>1];i=s[(3-e<<1)+a>>1];l=h+(g+(i<<1)|0)>>>2|0;k=f<<1;f=s[(1-e<<1)+a>>1];j=f+2|0;k=(k+j|0)+i>>>2|0;d=s[a-(d&-2)>>1];m=(d+g|0)+(f<<1)>>>2|0;j=(j+s[((b?e^-1:0-e|0)<<1)+a>>1]|0)+(d<<1)>>>2|0;b=s[(7-e<<1)+a>>1];f=s[(5-e<<1)+a>>1];g=s[(6-e<<1)+a>>1];d=b;d=c?s[(8-e<<1)+a>>1]:d;p[a+6>>1]=l;p[a+4>>1]=k;p[a+2>>1]=m;p[a>>1]=j;p[a+12>>1]=(b+(f+(g<<1)|0)|0)+2>>>2;p[a+10>>1]=(g+((f<<1)+h|0)|0)+2>>>2;p[a+8>>1]=(f+((h<<1)+i|0)|0)+2>>>2;p[a+14>>1]=((g+(b<<1)|0)+d|0)+2>>>2;c=q[a>>2];g=q[a+4>>2];h=q[a+8>>2];i=q[a+12>>2];d=1;while(1){if((d|0)!=8){b=(w(d,e)<<1)+a|0;q[b+8>>2]=h;q[b+12>>2]=i;q[b>>2]=c;q[b+4>>2]=g;d=d+1|0;continue}break}}function be(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}b:{if(b+c>>>0>a>>>0){e=a+c|0;if(e>>>0>b>>>0){break b}}Va(a,b,c);return}d=(a^b)&3;c:{d:{if(a>>>0>>0){if(d){break c}if(!(a&3)){break d}while(1){if(!c){break a}o[a|0]=r[b|0];b=b+1|0;c=c+ -1|0;a=a+1|0;if(a&3){continue}break}break d}e:{if(d){break e}if(e&3){while(1){if(!c){break a}c=c+ -1|0;d=c+a|0;o[d|0]=r[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break e}while(1){c=c+ -4|0;q[c+a>>2]=q[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;o[c+a|0]=r[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break c}while(1){q[a>>2]=q[b>>2];b=b+4|0;a=a+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){o[a|0]=r[b|0];a=a+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,t=0,v=0,y=x(0),z=0,A=0,B=0;a:{if(q[a+6472>>2]==4){Ta(q[a+4>>2],16,43147,0);break a}k=q[c+368>>2];a=q[c+304>>2];p=(a|0)>0?a:0;h=b+13760|0;i=c+14048|0;t=c+288|0;v=w(d,480)+c|0;b=0;b:while(1){if((j|0)==(p|0)){break a}l=j+t|0;m=r[c+288|0];e=0;d=b;while(1){c:{if((e|0)!=(m|0)){a=d<<2;if(!q[(a+c|0)+6160>>2]){e=e+1|0;break c}y=u[(a+v|0)+148808>>2];z=(e<<1)+k|0;e=e+1|0;A=(e<<1)+k|0;f=0;while(1){if(f>>>0>=r[l+20|0]){break c}a=s[z>>1];g=s[A>>1];g=a>>>0>g>>>0?a:g;B=f<<7;while(1){if((a|0)!=(g|0)){n=a+B<<2;o=n+h|0;u[o>>2]=u[o>>2]+x(y*u[i+n>>2]);a=a+1|0;continue}break}f=f+1|0;continue}}j=j+1|0;b=b+m|0;a=r[l+20|0]<<9;i=a+i|0;h=a+h|0;continue b}d=d+1|0;continue}}}}function cx(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=q[b+4>>2];a:{if(o[d+11|0]<=-1){f=q[d>>2];break a}f=d}c=q[b+8>>2];f=r[f+c|0];e=c+1|0;q[b+8>>2]=e;c=q[b+12>>2]+ -1|0;q[b+12>>2]=c;b:{if(f){d=o[d+11|0]<=-1?q[d>>2]:d;b=q[a+20>>2];q[b+28>>2]=c;q[b+24>>2]=d+e;if((Nl(q[a+12>>2],b)|0)<0){break b}b=Ll(q[a+12>>2],q[a+16>>2]);if((b|0)==-541478725|(b|0)==-6){break b}f=q[q[a+12>>2]+348>>2];b=q[q[a+12>>2]+352>>2];if(b>>>0<=11){b=q[w(b,20)+90920>>2]>>3}else{b=0}return w(f,w(b,q[q[a+16>>2]+76>>2]))}if(q[a+12>>2]){n[q[q[a>>2]+8>>2]](a)}c=sj(86018);q[a+4>>2]=c;g=a,h=Nn(q[c+12>>2]),q[g+8>>2]=h;e=Pn(q[a+4>>2]);q[a+12>>2]=e;c=q[b+12>>2];q[e+72>>2]=c;c=Nb(c);q[e+68>>2]=c;d=q[b+4>>2];if(o[d+11|0]<=-1){d=q[d>>2]}Va(c,q[b+8>>2]+d|0,q[e+72>>2]);Ln(e,q[a+4>>2])}return 0}function Cn(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ca-32|0;Ca=d;h(+a);k=e(1)|0;n=e(0)|0;h(+b);j=e(1)|0;o=e(0)|0;m=k&2147483647;i=m;p=j&2147483647;j=p;l=(i|0)==(j|0)&n>>>0>>0|i>>>0>>0;k=l?n:o;i=l?i:j;q=i;f(0,k|0);f(1,i|0);a=+g();j=i>>>20|0;c=a;a:{if((j|0)==2047){break a}m=l?p:m;i=m;f(0,(l?o:n)|0);f(1,i|0);b=+g();b:{if(!(k|q)){break b}k=i>>>20|0;if((k|0)==2047){break b}c=b+a;if((k-j|0)>=65){break a}c:{if(k>>>0>=1534){a=a*1.90109156629516e-211;b=b*1.90109156629516e-211;c=5.260135901548374e+210;break c}c=1;if(j>>>0>572){break c}a=a*5.260135901548374e+210;b=b*5.260135901548374e+210;c=1.90109156629516e-211}Bn(d+24|0,d+16|0,b);Bn(d+8|0,d,a);c=c*E(v[d>>3]+v[d+16>>3]+v[d+8>>3]+v[d+24>>3]);break a}c=b}a=c;Ca=d+32|0;return a}function Su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{c=q[a+880>>2];if(!c){break d}f=q[q[a+12>>2]+124>>2];if(!f){break d}c=q[c+4>>2];while(1){h=q[f+(g<<2)>>2];if(!h){break d}e:{if(!(o[h+4|0]&1)|q[c+8>>2]!=q[h+8>>2]){break e}e=0;while(1){d=q[(e<<2)+b>>2];if((d|0)==-1){break e}e=e+1|0;if(q[h>>2]!=(d|0)){continue}break}break c}g=g+1|0;continue}}d=0;while(1){c=d;d=c+1|0;if(q[(c<<2)+b>>2]!=-1){continue}break}d=((c<<2)+b|0)+ -4|0;c=q[d>>2];if(!(r[(c>>>0>195?0:w(c,152)+59184|0)+8|0]&8)){break b}g=0;while(1){d=-1;e=0;f=(g<<2)+b|0;if(q[f>>2]==-1){break c}while(1){c=LB(q[a+12>>2],e);if(!c){break a}e=e+1|0;d=q[c>>2];if((d|0)!=q[f>>2]){continue}break}g=g+1|0;if(!(r[c+4|0]&4)){continue}break}}return d|0}return q[d>>2]}return q[f>>2]}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=Ca-16|0;Ca=f;a:{b:{c=q[b+4>>2];c:{if(o[c+11|0]<=-1){d=q[c>>2];e=q[b+8>>2];g=d+e|0;if((r[g|0]&240)!=16){break b}if(!r[g+1|0]){break c}break b}e=q[b+8>>2];d=c+e|0;if((r[d|0]&240)!=16|r[d+1|0]){break b}d=c}c=r[d+e|0];q[b+8>>2]=e+5;q[b+12>>2]=q[b+12>>2]+ -5;d:{c=c&15;d=c+ -7|0;if(d>>>0>5){break d}e:{switch(d-1|0){default:n[q[q[a>>2]+12>>2]](a,b);break a;case 0:case 1:case 2:case 3:break d;case 4:break e}}n[q[q[a>>2]+16>>2]](a,b);break a}q[f+4>>2]=c;q[f>>2]=1764;K(0,f|0);break a}d=e+2|0;q[b+8>>2]=d;g=q[b+12>>2];q[b+12>>2]=g+ -2;if(o[c+11|0]<=-1){c=q[c>>2]}c=c+d|0;d=r[c|0];h=r[c+2|0];c=r[c+1|0];q[b+12>>2]=g+ -5;q[b+8>>2]=e+5;q[a+40>>2]=h|c<<8|d<<16;n[q[q[a>>2]+24>>2]](a,b)}Ca=f+16|0}function Fi(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;j=Ca-16|0;Ca=j;a:{if(!a){break a}h=q[a>>2];if(!h){break a}b:{if(!(e&1)){break b}if(!(e&2)){h=0;while(1){g=q[q[a>>2]+24>>2];i=0;c:{if(!g){break c}i=n[g](a,h)|0}h=i;if(!h){break b}g=Fi(h,b,c,d,e,f);if(!g){continue}break}break a}q[j+12>>2]=0;while(1){l=j;k=q[h+28>>2];i=0;d:{if(!k){break d}i=n[k](g)|0}g=i;q[l+12>>2]=g;if(!g){break b}g=Fi(j+12|0,b,c,d,e,0);if(g){break a}g=q[j+12>>2];continue}}g=0;while(1){g=uf(a,g);if(!g){g=0;break a}if(Sb(q[g>>2],b)|(q[g+40>>2]&d)!=(d|0)){continue}h=q[g+12>>2];e:{if(!c){if((h|0)==10){continue}break e}if((h|0)!=10){continue}h=q[g+44>>2];if(!h){continue}if(Sb(h,c)){continue}}break}if(!f){break a}if(!(e&2)){q[f>>2]=a;break a}q[f>>2]=0}Ca=j+16|0;return g}function ZC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(w|0)){a=c+d|0;f=r[b|0]-((r[c|0]+r[a|0]|0)+1>>>1|0)|0;g=f>>31;h=r[b+1|0]-((r[c+1|0]+r[a+1|0]|0)+1>>>1|0)|0;i=h>>31;j=r[b+2|0]-((r[c+2|0]+r[a+2|0]|0)+1>>>1|0)|0;k=j>>31;l=r[b+3|0]-((r[c+3|0]+r[a+3|0]|0)+1>>>1|0)|0;m=l>>31;n=r[b+4|0]-((r[c+4|0]+r[a+4|0]|0)+1>>>1|0)|0;o=n>>31;p=r[b+5|0]-((r[c+5|0]+r[a+5|0]|0)+1>>>1|0)|0;q=p>>31;s=r[b+6|0]-((r[c+6|0]+r[a+6|0]|0)+1>>>1|0)|0;t=s>>31;u=r[b+7|0]-((r[c+7|0]+r[a+7|0]|0)+1>>>1|0)|0;c=u>>31;v=((((((((g^g+f)+v|0)+(i^i+h)|0)+(k^k+j)|0)+(m^m+l)|0)+(o^o+n)|0)+(q^q+p)|0)+(t^t+s)|0)+(c^c+u)|0;e=e+1|0;b=b+d|0;c=a;continue}break}return v|0}function Vq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h+1|1)<>d;o[a|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+1|0],g)|0)+w(r[a+1|0],f)>>d;o[a+1|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+2|0],g)|0)+w(r[a+2|0],f)>>d;o[a+2|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+3|0],g)|0)+w(r[a+3|0],f)>>d;o[a+3|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+4|0],g)|0)+w(r[a+4|0],f)>>d;o[a+4|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+5|0],g)|0)+w(r[a+5|0],f)>>d;o[a+5|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+6|0],g)|0)+w(r[a+6|0],f)>>d;o[a+6|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+7|0],g)|0)+w(r[a+7|0],f)>>d;o[a+7|0]=h>>>0>255?h>>31^-1:h;b=b+c|0;a=a+c|0;i=i+1|0;continue}break}}function Dk(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=Ca-16|0;Ca=g;q[g+8>>2]=0;q[g+12>>2]=0;q[g>>2]=0;q[g+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;j=-28;i=b>>>0>195?0:w(b,152)+59184|0;a:{if(!i){break a}b=q[i+8>>2];if(b&8){break a}q[a>>2]=d;h=q[e>>2];if((h|0)>(2147482623/(c|0)|0)){break a}f=w(c,h);b:{if(!(b&66)){b=0;while(1)if((b|0)==4){l=c+ -1|0;h=f;b=1;while(1){if((b|0)==4){break b}k=b<<2;if(!q[k+g>>2]){break b}c=0;c=b+ -1>>>0<=1?r[i+6|0]:c;d=d+f|0;q[a+k>>2]=d;f=q[e+k>>2];c=(1<>c;if((f|0)>(2147483647/(c|0)|0)){break a}f=w(c,f);if((h|0)>(2147483647-f|0)){break a}b=b+1|0;h=f+h|0;continue}}else{q[(q[((b<<5)+i|0)+16>>2]<<2)+g>>2]=1;b=b+1|0;continue}}q[a+4>>2]=d+f;j=f+1024|0;break a}j=h}Ca=g+16|0;return j}function xi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;yi(a);e=v[a>>3];f=v[a+64>>3];g=v[a+80>>3];b=f+g;j=v[a+96>>3];h=v[a+112>>3];c=j+h;i=b+c;v[a+64>>3]=e-i;d=v[a+104>>3];k=v[a+40>>3];b=c-b;v[a+104>>3]=k-b;v[a>>3]=i+e;e=v[a+32>>3];i=v[a+72>>3];l=v[a+88>>3];c=i+l;m=v[a+120>>3];n=d+m;o=c-n;v[a+96>>3]=e-o;v[a+40>>3]=b+k;b=v[a+8>>3];c=c+n;v[a+72>>3]=b-c;v[a+32>>3]=o+e;v[a+8>>3]=c+b;e=v[a+24>>3];b=v[a+56>>3];c=v[a+48>>3];k=v[a+16>>3];f=(f-g)*.7071067811865476;g=(i-l)*.7071067811865476;i=f+g;j=(j-h)*.7071067811865476;d=(d-m)*.7071067811865476;h=j-d;l=i+h;v[a+80>>3]=k-l;h=h-i;v[a+120>>3]=b-h;v[a+16>>3]=l+k;f=g-f;d=j+d;g=f-d;v[a+112>>3]=c-g;v[a+56>>3]=h+b;d=f+d;v[a+88>>3]=e-d;v[a+48>>3]=g+c;v[a+24>>3]=d+e}function TN(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca-80|0;Ca=f;Za(f+24|0,0,52);q[f+20>>2]=0;h=rc(ub(b)+1|0);a:{if(!h){g=-48;break a}g=b;i=h;while(1){j=r[g|0];if(j){g=g+1|0;l=j<<24>>24;m=l+ -9|0;b:{if(m>>>0<=23){k=1;if(1<>2]=e;q[f+64>>2]=d;q[f+56>>2]=0;q[f+52>>2]=0;q[f+48>>2]=0;q[f+44>>2]=0;q[f+40>>2]=c;q[f+32>>2]=h;q[f+28>>2]=100;q[f+24>>2]=47136;g=cg(f+20|0,f+24|0);c:{if((g|0)<0){break c}d:{c=q[f+32>>2];e:{if(r[c|0]){q[f+4>>2]=b;q[f>>2]=c;Ta(f+24|0,16,2930,f);break e}b=q[f+20>>2];if(Uc(b)){break d}}g=-28;break c}c=nb(80);q[b+36>>2]=c;if(!c){g=-48;break c}q[a>>2]=b;q[f+20>>2]=0}yb(q[f+20>>2]);Ya(h)}Ca=f+80|0;return g}function vI(a){var b=0,c=0,d=0,e=0;b=q[a+80>>2];if(!(b>>>0>195?0:w(b,152)+59184|0)){return-28}a:{c=Po(q[a+68>>2],q[a+72>>2],0);b:{if((c|0)<0){break b}d=a+32|0;c:{if(q[a+32>>2]){break c}b=1;while(1){if((b|0)<=32){c=Qo(d,q[a+80>>2],(q[a+68>>2]+b|0)+ -1&0-b);if((c|0)<0){break b}b=b<<1;if(q[d>>2]&31){continue}}break}b=0;while(1){if((b|0)==4){break c}c=(b<<2)+a|0;e=q[c+32>>2];if(!e){break c}q[c+32>>2]=e+31&-32;b=b+1|0;continue}}e=q[a+72>>2]+31&-32;c=Dk(a,q[a+80>>2],e,0,d);if((c|0)<0){break b}b=ye(c+128|0);q[a+248>>2]=b;if(!b){b=-48;break a}b=Dk(a,q[a+80>>2],e,q[b+4>>2],d);if((b|0)<0){break a}b=1;while(1){if((b|0)!=4){c=(b<<2)+a|0;d=q[c>>2];if(d){q[c>>2]=d+(b<<5)}b=b+1|0;continue}break}q[a+64>>2]=a;c=0}return c}pc(a);return b}function Rw(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=0,o=0,p=0,t=0,v=0,y=0;i=b+88256|0;j=b+14048|0;m=q[b+74576>>2];while(1){if((k|0)>2]){o=(b+k|0)+74516|0;d=0;a:while(1){if((d|0)>2];if((q[e+80368>>2]&-2)==14){f=(d|0)>(f|0)?d:f;while(1)if((d|0)==(f|0)){d=f;continue a}else{h=(g<<2)+b|0;e=(q[h+80368>>2]<<1)+ -29|0;v=(d<<1)+m|0;d=d+1|0;y=(d<<1)+m|0;l=u[h+81872>>2];if(c){e=w(e,1-(r[(b+g|0)+13|0]<<1)|0)}l=x(l*x(e|0));e=0;while(1){if(e>>>0>1];p=h<<2;t=e<<9;n[q[q[a+5404>>2]+12>>2]](p+(t+i|0)|0,(j+t|0)+p|0,l,s[y>>1]-h|0);e=e+1|0;continue}break}g=g+1|0;continue}}else{g=f+(g-d|0)|0;d=f;continue}}break}k=k+1|0;d=r[o|0]<<9;i=d+i|0;j=d+j|0;continue}break}}function bt(a){a=a|0;var b=0,c=0,d=0;c=q[a+24>>2];b=at(a,c);a:{if((b|0)<0){break a}if(!r[3317636]){FE();o[3317636]=1}b:{if(q[a+84>>2]!=1){break b}b=q[c+4>>2];d=q[b+80>>2];if((d|0)<=1073741822){q[b+80>>2]=d<<1;break b}q[b+76>>2]=q[b+76>>2]/2}q[a+84>>2]=2;c:{b=q[a+72>>2];if((b|0)<1){break c}d=q[a+68>>2];if(!d){break c}b=Qi(d,b,c+27060|0,c+27044|0,c+27048|0,q[a+580>>2],a);if((b|0)>-1){break c}wl(a);return b|0}b=q[c+28224>>2];d:{if(!b|!q[b+1176>>2]){break d}d=q[c+4>>2];b=q[b+1180>>2];if(q[d+140>>2]>=(b|0)){break d}q[d+140>>2]=b}q[q[a+28>>2]+4>>2]=1;jj(c);e:{b=q[c+29688>>2];if((b|0)<=-1){if(!(r[a+696|0]&2)){break e}q[c+29688>>2]=0;return 0}if(b){break e}return 0}b=0;if(!(r[a+696|0]&2)){break a}Ta(a,24,20436,0)}return b|0}function Kj(a){var b=0,c=x(0),d=x(0),g=x(0),h=x(0),i=0,l=x(0);b=(j(a),e(0));a:{b:{if(!((b|0)>-1?b>>>0>=8388608:0)){if(!(b&2147483647)){return x(x(-1)/x(a*a))}if((b|0)<=-1){return x(x(a-a)/x(0))}b=(j(x(a*x(33554432))),e(0));i=-152;break b}if(b>>>0>2139095039){break a}i=-127;a=x(0);if((b|0)==1065353216){break a}}b=b+4913933|0;a=x((f(0,(b&8388607)+1060439283|0),k())+x(-1));c=x(a*x(a*x(.5)));d=x(a/x(a+x(2)));g=x(d*d);h=x(g*g);l=a;a=(f(0,(j(x(a-c)),e(0))&-4096),k());c=x(x(x(l-a)-c)+x(d*x(c+x(x(g*x(x(h*x(.2849878668785095))+x(.6666666269302368)))+x(h*x(x(h*x(.24279078841209412))+x(.40000972151756287)))))));a=x(x(x(a*x(1.44287109375))+x(x(c*x(1.44287109375))+x(x(c+a)*x(-.00017605285393074155))))+x((b>>>23|0)+i|0))}return a}function RD(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=Ca-32|0;Ca=f;a:{if(q[c+44>>2]==5){c=q[b+8>>2]+1|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;c=0;if(Xa(b)){q[a+33932>>2]=6;q[a+33940>>2]=0;c=1}q[a+34728>>2]=1;break a}c=Xa(b);q[a+34728>>2]=c;if(!c){c=0;break a}c=0;b:{while(1){if((c|0)==66){c=66;break a}h=w(c,12)+a|0;e=Cc(b);q[h+33932>>2]=e;if((e|2)==3){g=q[a+34752>>2];i=cd(b);q[h+33936>>2]=q[a+34756>>2]+ -1&g+(i^-1)}c:{d:{if(!(!(1<>>0>6)){g=Cc(b);if(g>>>0>31|(q[a+21824>>2]==3|(e|0)!=2?!((e|0)==4&(g|0)==16|g>>>0<16):0)){break c}q[h+33940>>2]=g;break d}if(e>>>0>=7){q[f>>2]=e;Ta(d,16,27206,f);break b}if(!e){break a}}c=c+1|0;continue}break}q[f+16>>2]=e;Ta(d,16,26628,f+16|0)}j=-1}q[a+34724>>2]=c;Ca=f+32|0;return j}function Za(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}d=a+c|0;o[d+ -1|0]=b;o[a|0]=b;if(c>>>0<3){break a}o[d+ -2|0]=b;o[a+1|0]=b;o[d+ -3|0]=b;o[a+2|0]=b;if(c>>>0<7){break a}o[d+ -4|0]=b;o[a+3|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=w(b&255,16843009);q[e>>2]=b;c=c-d&-4;d=c+e|0;q[d+ -4>>2]=b;if(c>>>0<9){break a}q[e+8>>2]=b;q[e+4>>2]=b;q[d+ -8>>2]=b;q[d+ -12>>2]=b;if(c>>>0<25){break a}q[e+24>>2]=b;q[e+20>>2]=b;q[e+16>>2]=b;q[e+12>>2]=b;q[d+ -16>>2]=b;q[d+ -20>>2]=b;q[d+ -24>>2]=b;q[d+ -28>>2]=b;g=e&4|24;c=c-g|0;if(c>>>0<32){break a}d=b;f=b;b=e+g|0;while(1){q[b+24>>2]=f;q[b+28>>2]=d;q[b+16>>2]=f;q[b+20>>2]=d;q[b+8>>2]=f;q[b+12>>2]=d;q[b>>2]=f;q[b+4>>2]=d;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ca-32|0;Ca=e;g=q[d+28>>2];i=q[d+24>>2];f=q[a+24>>2];h=Vd(d,1,e+4|0);j=Vd(d,12,e);a:{if(h){q[f+6728>>2]=0;k=h;d=q[e+4>>2];h=d>>31;d=om(f,q[f+4>>2],f+6472|0,k,d<<3,h<<3|d>>>29);if((d|0)<0){break a}}q[f+5672>>2]=0;if(!(!j|q[e>>2]<1)){q[f+5672>>2]=r[j|0]+1}d=q[f+5668>>2];if((d|0)>=0){q[f+5672>>2]=d}d=-1094995529;if((g|0)>268435454){break a}d=Lh(e+8|0,i,g);if((d|0)<0){break a}d=q[f+6472>>2]+ -17|0;b:{if(!(d>>>0>22|!(1<>2]+7>>3;c=(g|0)>(a|0)?g:a;d=a;while(1){b=d;if((c|0)!=(d|0)){d=b+1|0;if(!r[b+i|0]){continue}}break}d=(b|0)<(g|0)?a:g}Ca=e+32|0;return d|0}function fv(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=Ca-32|0;Ca=d;c=q[a+16>>2];a:{b:{e=q[q[a+4>>2]+4>>2];if(e){f=q[c+4>>2];while(1){g=q[(b<<2)+e>>2];if(!g){break b}b=b+1|0;if((f|0)!=(g|0)){continue}break}}b=Fn(q[a+20>>2],c);if((b|0)<0){break a}b=q[a+28>>2];q[a+32>>2]=q[a+24>>2];q[a+36>>2]=b;b=q[q[a+4>>2]+16>>2];if(b){b=n[b](a)|0;if((b|0)<0){break a}}b=0;break a}c=pj(f);b=6102;c:{if(!c){break c}b=q[c+8>>2]}c=q[q[a+16>>2]+4>>2];q[d+24>>2]=q[q[a+4>>2]>>2];q[d+20>>2]=c;q[d+16>>2]=b;Ta(a,16,3831,d+16|0);b=0;while(1){f=b<<2;e=q[f+q[q[a+4>>2]+4>>2]>>2];if(e){e=pj(e);c=6102;d:{if(!e){break d}c=q[e+8>>2]}q[d+4>>2]=q[f+q[q[a+4>>2]+4>>2]>>2];q[d>>2]=c;Ta(a,16,7705,d);b=b+1|0;continue}break}Ta(a,16,9603,0);b=-28}Ca=d+32|0;return b}function qn(a,b,c,d,e,f){var g=0;g=Ca-80|0;Ca=g;a:{if((f|0)>=16384){tb(g+32|0,b,c,d,e,0,0,0,2147352576);d=q[g+40>>2];e=q[g+44>>2];b=q[g+32>>2];c=q[g+36>>2];if((f|0)<32767){f=f+ -16383|0;break a}tb(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)+ -32766|0;d=q[g+24>>2];e=q[g+28>>2];b=q[g+16>>2];c=q[g+20>>2];break a}if((f|0)>-16383){break a}tb(g- -64|0,b,c,d,e,0,0,0,65536);d=q[g+72>>2];e=q[g+76>>2];b=q[g+64>>2];c=q[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}tb(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=q[g+56>>2];e=q[g+60>>2];b=q[g+48>>2];c=q[g+52>>2]}tb(g,b,c,d,e,0,0,0,f+16383<<16);b=q[g+12>>2];q[a+8>>2]=q[g+8>>2];q[a+12>>2]=b;b=q[g+4>>2];q[a>>2]=q[g>>2];q[a+4>>2]=b;Ca=g+80|0}function bq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0;h=w(c,3)+a|0;e=r[h+ -1|0];n=c<<1;i=n+a|0;k=r[i+ -1|0];l=r[b+3|0];j=r[b+2|0];f=r[b+1|0];g=r[b|0];d=a-c|0;m=r[d+3|0];b=a+c|0;p=r[b+ -1|0];c=(p<<1)+4|0;s=m+(c+r[d+1|0]|0)|0;q=r[a+ -1|0];d=r[d+2|0];o[a|0]=s+(q+d<<1)>>>3;o[a+1|0]=g+((d+((c+q|0)+k|0)|0)+(m<<1)|0)>>>3;d=c;c=k<<1;d=(((d+c|0)+m|0)+(g<<1)|0)+f>>>3|0;o[b|0]=d;o[a+2|0]=d;c=c+4|0;g=((g+((c+p|0)+e|0)|0)+(f<<1)|0)+j>>>3|0;o[b+1|0]=g;o[a+3|0]=g;d=c;c=e<<1;f=(((d+c|0)+f|0)+(j<<1)|0)+l>>>3|0;o[i|0]=f;o[b+2|0]=f;d=(n|1)+a|0;a=((j+k|0)+w(e+l|0,3)|0)+4>>>3|0;o[d|0]=a;o[b+3|0]=a;o[h+1|0]=e;a=((c+l|0)+j|0)+2>>>2|0;o[i+2|0]=a;o[i+3|0]=e;o[h+2|0]=e;o[h+3|0]=e;o[h|0]=a}function NN(a,b,c,d){var e=0,f=0,g=0,h=0;while(1){if((g|0)!=4){e=b+ -1|0;h=(r[b+3|0]+((r[b+ -2|0]+w(r[b+1|0]+r[b|0]|0,20)|0)+w(r[b+2|0]+r[e|0]|0,-5)|0)|0)+16|0;f=h>>5;o[a|0]=(r[a|0]+((f>>>0>255?h>>31^-1:f)&255)|0)+1>>>1;e=(r[b+4|0]+((r[e|0]+w(r[b+2|0]+r[b+1|0]|0,20)|0)+w(r[b+3|0]+r[b|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+1|0]=(r[a+1|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+5|0]+((r[b|0]+w(r[b+3|0]+r[b+2|0]|0,20)|0)+w(r[b+4|0]+r[b+1|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+2|0]=(r[a+2|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;e=(r[b+6|0]+((r[b+1|0]+w(r[b+4|0]+r[b+3|0]|0,20)|0)+w(r[b+5|0]+r[b+2|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+3|0]=(r[a+3|0]+((f>>>0>255?e>>31^-1:f)&255)|0)+1>>>1;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function YC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;a=0;w=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(w|0)){f=r[c+1|0]+1|0;m=r[b|0]-(f+r[c|0]>>>1|0)|0;n=m>>31;g=r[c+2|0];o=r[b+1|0]-(g+f>>>1|0)|0;f=o>>31;h=r[c+3|0];p=r[b+2|0]-((h+g|0)+1>>>1|0)|0;g=p>>31;i=r[c+4|0];q=r[b+3|0]-((i+h|0)+1>>>1|0)|0;h=q>>31;j=r[c+5|0];s=r[b+4|0]-((j+i|0)+1>>>1|0)|0;i=s>>31;k=r[c+6|0];t=r[b+5|0]-((k+j|0)+1>>>1|0)|0;j=t>>31;l=r[c+7|0];u=r[b+6|0]-((l+k|0)+1>>>1|0)|0;k=u>>31;v=r[b+7|0]-((l+r[c+8|0]|0)+1>>>1|0)|0;l=v>>31;a=((((((((n^n+m)+a|0)+(f^f+o)|0)+(g^g+p)|0)+(h^h+q)|0)+(i^i+s)|0)+(j^j+t)|0)+(k^k+u)|0)+(l^l+v)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function Do(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0;h=q[b+23404>>2];i=g?(h<<1)+16|0:h;h=0;k=q[b+25372>>2];j=1;j=g?j:q[a+26388>>2]!=3;m=Za(w(d,192)+c|0,0,192);o=((f<<3)+k|0)+(d<<2)|0;l=((g|0)!=0)<<4;i=(i|0)>(l|0)?i:l;p=((f<<8)+k|0)+(d<<7)|0;a:while(1){if((h|0)!=2){a=h+1|0;r=(e|0)!=(h|0)&j;s=(e^h)+16|0;c=0;b:while(1){if((c|0)>=q[o+616>>2]){h=a;continue a}n=c<<2;f=q[(n+p|0)+104>>2];c:{if(!j){f=f|3;break c}if((f&3)!=3){break c}f=a+(f&-4)|0}h=l;while(1){d:{e:{if((h|0)==(i|0)){break e}d=w(h,40)+b|0;if((q[d+23440>>2]&3|q[q[d+23452>>2]+88>>2]<<2)!=(f|0)){break d}d=g?h+ -16^e:h;if(q[k+632>>2]){q[((c<<1)+s<<2)+m>>2]=d}if(r){break e}q[m+n>>2]=d}c=c+1|0;continue b}h=h+1|0;continue}}}break}}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ca-144|0;Ca=f;e=q[a+4916>>2];n[q[a+2968>>2]](f+16|0,b,c,d);b=0;i=n[q[a+6272>>2]](a,f+16|0,0,q[a+1920>>2],f+12|0)|0;q[a+16>>2]=i;a:{if(q[a+4312>>2]){d=a+4920|0;g=r[(p[f+16>>1]+q[a+4944>>2]|0)+256|0];b=1;c=a+4924|0;break a}d=a+4936|0;c=a+4940|0}b:{if((i|0)<(b|0)){break b}j=q[d>>2];k=q[c>>2];c=0;while(1){q[f+12>>2]=b;if((b|0)!=(i|0)){h=p[(f+16|0)+(r[(a+b|0)+204|0]<<1)>>1];c:{if(h){d=e;h=h- -64|0;if(h>>>0<=127){d=r[(h+(c<<7)|0)+j|0]}g=d+g|0;c=0;break c}c=c+1|0}b=b+1|0;continue}break}a=r[(a+i|0)+204|0];q[f+12>>2]=a;a=p[(f+16|0)+(a<<1)>>1]- -64|0;if(a>>>0<=127){g=r[(a+(c<<7)|0)+k|0]+g|0;break b}g=e+g|0}Ca=f+144|0;return g|0}function MN(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;n=w(c,3);p=c<<1;while(1){if((l|0)!=4){q=r[b+24|0];m=r[b+20|0];h=r[b+16|0];f=r[b+12|0];g=r[b+4|0];i=r[b|0];k=r[b+8|0];d=r[b+ -4|0];j=(((f+r[b+ -8|0]|0)+w(g+i|0,20)|0)+w(k+d|0,-5)|0)+16|0;e=j>>5;o[a|0]=(r[a|0]+((e>>>0>255?j>>31^-1:e)&255)|0)+1>>>1;d=(((h+d|0)+w(g+k|0,20)|0)+w(f+i|0,-5)|0)+16|0;e=d>>5;j=a+c|0;o[j|0]=(r[j|0]+((e>>>0>255?d>>31^-1:e)&255)|0)+1>>>1;e=(((i+m|0)+w(f+k|0,20)|0)+w(h+g|0,-5)|0)+16|0;i=e>>5;d=a+p|0;o[d|0]=(r[d|0]+((i>>>0>255?e>>31^-1:i)&255)|0)+1>>>1;f=(((g+q|0)+w(h+f|0,20)|0)+w(k+m|0,-5)|0)+16|0;h=f>>5;g=a+n|0;o[g|0]=(r[g|0]+((h>>>0>255?f>>31^-1:h)&255)|0)+1>>>1;l=l+1|0;b=b+1|0;a=a+1|0;continue}break}}function bv(){var a=0,b=0,c=0,d=0,e=0;a:{if(q[632803]){break a}a=1;while(1)if((a|0)==8192){c=2;while(1){if((c|0)==90){b=91;while(1){if(b>>>0>8191){a=0;while(1){if((a|0)==8192){break a}u[(a<<2)+2498448>>2]=v[(a<<3)+2432912>>3];a=a+1|0;continue}}b:{if(v[(b<<3)+2432912>>3]!=1){break b}d=+(b|0);d=Dn(d)*d;a=b;while(1){if(a>>>0>8191){break b}c=(a<<3)+2432912|0;v[c>>3]=d*v[c>>3];a=a+b|0;continue}}b=b+2|0;continue}}c:{if(v[(c<<3)+2432912>>3]!=1){break c}d=+(c|0);d=Dn(d)*d;b=c;while(1){a=b;if(a>>>0>8191){break c}while(1){if(a>>>0<=8191){e=(a<<3)+2432912|0;v[e>>3]=d*v[e>>3];a=a+b|0;continue}break}b=w(b,c);continue}}c=c+1|0;continue}}else{b=(a<<3)+2432912|0;q[b>>2]=0;q[b+4>>2]=1072693248;a=a+1|0;continue}}}function dw(a,b,c){if(c){o[a+33|0]=r[b+19|0];o[a+32|0]=r[b+19|0];o[a+31|0]=r[b+18|0];o[a+30|0]=r[b+18|0];o[a+29|0]=r[b+18|0];o[a+28|0]=r[b+18|0];o[a+27|0]=r[b+17|0];o[a+26|0]=r[b+17|0];o[a+25|0]=r[b+16|0];o[a+24|0]=r[b+16|0];o[a+23|0]=r[b+15|0];o[a+22|0]=r[b+15|0];o[a+21|0]=r[b+14|0];o[a+20|0]=r[b+14|0];o[a+19|0]=r[b+13|0];o[a+18|0]=r[b+12|0];o[a+17|0]=r[b+11|0]}o[a+16|0]=r[b+10|0];o[a+15|0]=r[b+9|0];o[a+14|0]=r[b+9|0];o[a+13|0]=r[b+8|0];o[a+12|0]=r[b+8|0];o[a+11|0]=r[b+7|0];o[a+10|0]=r[b+6|0];o[a+9|0]=r[b+5|0];o[a+8|0]=r[b+5|0];o[a+7|0]=r[b+4|0];o[a+6|0]=r[b+4|0];o[a+5|0]=r[b+3|0];o[a+4|0]=(o[b+3|0]+o[b+2|0]|0)/2;o[a+3|0]=r[b+2|0];o[a+2|0]=r[b+1|0];o[a+1|0]=(o[b+1|0]+o[b|0]|0)/2;o[a|0]=r[b|0]}function xt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=8-f|0;g=8-e|0;j=w(h,g);i=c>>1;g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;d=(d|0)>0?d:0;l=i+1<<1;while(1){if((d|0)==(f|0)){break a}k=i<<1;c=k+b|0;p[a>>1]=(s[a>>1]+((((w(s[b>>1],j)+w(h,s[b+2>>1])|0)+w(g,s[c>>1])|0)+w(e,s[b+l>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;a=a+k|0;b=c;continue}}c=g+h|0;if(!c){f=0;c=(d|0)>0?d:0;while(1){if((c|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+(w(s[b>>1],j)+32>>>6|0)|0)+1>>>1;f=f+1|0;d=i<<1;b=d+b|0;a=a+d|0;continue}}f=0;d=(d|0)>0?d:0;e=(g?i:1)<<1;while(1){if((d|0)==(f|0)){break a}p[a>>1]=(s[a>>1]+((w(s[b>>1],j)+w(c,s[b+e>>1])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;g=i<<1;b=g+b|0;a=a+g|0;continue}}}function qb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=q[a+116>>2];c=b;a:{f=q[a+112>>2];b:{if(b|f){b=q[a+124>>2];if((b|0)>(c|0)?1:(b|0)>=(c|0)?t[a+120>>2]>>0?0:1:0){break b}}f=_A(a);if((f|0)>-1){break a}}q[a+104>>2]=0;return-1}b=q[a+8>>2];c=q[a+116>>2];d=c;c:{d:{e=q[a+112>>2];if(!(c|e)){break d}c=(q[a+124>>2]^-1)+d|0;d=q[a+120>>2]^-1;e=d+e|0;if(e>>>0>>0){c=c+1|0}d=e;e=q[a+4>>2];g=b-e|0;h=d>>>0>>0?0:1;g=g>>31;if((c|0)>(g|0)?1:(c|0)>=(g|0)?h:0){break d}q[a+104>>2]=d+e;break c}q[a+104>>2]=b}e:{if(!b){a=q[a+4>>2];break e}e=q[a+124>>2];c=a;d=q[a+120>>2];a=q[a+4>>2];b=(b-a|0)+1|0;g=b;d=d+b|0;b=(b>>31)+e|0;q[c+120>>2]=d;q[c+124>>2]=d>>>0>>0?b+1|0:b}a=a+ -1|0;if(r[a|0]!=(f|0)){o[a|0]=f}return f}function Zf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c-((e&2147483646)<<1)|0;h=e>>1<<1;e=b;while(1){if((f|0)!=7){g=c+ -2|0;p[e>>1]=s[c+6>>1]+((s[c+ -4>>1]+w(s[c+2>>1]+s[c>>1]|0,20)|0)+w(s[c+4>>1]+s[g>>1]|0,-5)|0);p[e+2>>1]=s[c+8>>1]+((s[g>>1]+w(s[c+4>>1]+s[c+2>>1]|0,20)|0)+w(s[c+6>>1]+s[c>>1]|0,-5)|0);f=f+1|0;e=e+8|0;c=c+h|0;continue}break}c=b+16|0;e=0;b=d>>1<<1;while(1){if((e|0)!=2){d=p[c+32>>1];f=p[c+24>>1];h=p[c+8>>1];g=p[c>>1];i=p[c+16>>1];j=p[c+ -8>>1];k=(((f+p[c+ -16>>1]|0)+w(h+g|0,20)|0)+w(i+j|0,-5)|0)+512|0;l=k>>10;p[a>>1]=l>>>0<512?l:(k>>31^-1)&511;d=(((d+j|0)+w(h+i|0,20)|0)+w(f+g|0,-5)|0)+512|0;f=d>>10;p[a+b>>1]=f>>>0<512?f:(d>>31^-1)&511;e=e+1|0;c=c+2|0;a=a+2|0;continue}break}}function $v(){q[597587]=1098;q[597585]=2385936;pb(2390336,9,121,102704,102208,4,4);q[597591]=1092;q[597589]=2390496;pb(2390352,9,121,103328,102832,4,4);q[597595]=768;q[597593]=2394864;pb(2390368,9,49,103664,103456,4,4);q[597599]=1026;q[597597]=2397936;pb(2390384,9,49,103936,103728,4,4);q[597603]=1058;q[597601]=2402048;pb(2390400,9,63,104256,104e3,4,4);q[597607]=1052;q[597605]=2406288;pb(2390416,9,63,104576,104320,4,4);q[597611]=544;q[597609]=2410496;pb(2390432,9,25,104704,104640,2,2);q[597615]=544;q[597613]=2412672;pb(2390448,9,25,104800,104736,2,2);q[597619]=592;q[597617]=2414848;pb(2390464,9,63,104960,104832,2,2);q[597623]=512;q[597621]=2417216;pb(2390480,9,25,105056,105024,1,1);_v();gw()}function Ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+ -2|0;f=s[g>>1];c=d>>1;e=s[(w(c,6)+a|0)+ -2>>1];h=s[((d&-2)+a|0)+ -2>>1];i=h+2|0;g=(i+s[(b?((c^-1)<<1)+a|0:g)>>1]|0)+(f<<1)>>>2|0;b=s[(((d&2147483646)<<1)+a|0)+ -2>>1];d=b+2|0;f=g+((d+f|0)+(h<<1)>>>2|0)+(e+((b<<1)+i|0)>>>2)|0;b=s[((c<<3)+a|0)+ -2>>1];f=f+(b+(d+(e<<1)|0)>>>2|0)|0;d=s[(w(c,10)+a|0)+ -2>>1];f=f+((d+(e+(b<<1)|0)|0)+2>>>2|0)|0;g=b+(d<<1)|0;b=s[(w(c,12)+a|0)+ -2>>1];e=s[(w(c,14)+a|0)+ -2>>1];b=(f+((g+b|0)+2>>>2|0)+((b+w(e,3)|0)+2>>>2)+((e+(d+(b<<1)|0)|0)+2>>>2)|0)+4>>3;b=$R(b,b>>31,65537,65537);e=Da;d=0;while(1){if((d|0)!=8){q[a+8>>2]=b;q[a+12>>2]=e;q[a>>2]=b;q[a+4>>2]=e;d=d+1|0;a=(c<<1)+a|0;continue}break}}function Vb(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<16384?h:(f>>31^-1)&16383;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<16384?f:(e>>31^-1)&16383;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<16384?f:(e>>31^-1)&16383;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function bc(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<1024?h:(f>>31^-1)&1023;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<1024?f:(e>>31^-1)&1023;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<1024?f:(e>>31^-1)&1023;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Zb(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<4096?h:(f>>31^-1)&4095;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<4096?f:(e>>31^-1)&4095;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<4096?f:(e>>31^-1)&4095;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Nf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c-((e&2147483646)<<1)|0;l=e>>1<<1;e=b;while(1){if((f|0)!=7){g=s[c+6>>1];h=s[c+2>>1];i=s[c>>1];j=s[c+4>>1];k=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(h+i|0,20)|0)+w(j+k|0,-5)|0);q[e+4>>2]=s[c+8>>1]+((k+w(h+j|0,20)|0)+w(i+g|0,-5)|0);f=f+1|0;e=e+16|0;c=c+l|0;continue}break}c=b+32|0;e=0;b=d>>1<<1;while(1){if((e|0)!=2){d=q[c+64>>2];f=q[c+48>>2];l=q[c+16>>2];h=q[c>>2];i=q[c+32>>2];j=q[c+ -16>>2];k=(((f+q[c+ -32>>2]|0)+w(l+h|0,20)|0)+w(i+j|0,-5)|0)+512|0;g=k>>10;p[a>>1]=g>>>0<16384?g:(k>>31^-1)&16383;d=(((d+j|0)+w(l+i|0,20)|0)+w(f+h|0,-5)|0)+512|0;f=d>>10;p[a+b>>1]=f>>>0<16384?f:(d>>31^-1)&16383;e=e+1|0;c=c+4|0;a=a+2|0;continue}break}}function rr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<16384?b:(b>>31^-1)&16383;g=g+1|0;a=a+h|0;continue}break}}function ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{if(q[b+4>>2]==2){break a}g=q[b+80>>2];d=p[b+30>>1];e=(d|0)<1024?(d<<16)+67108864>>16:2048;f=(e|0)>0?e:0;d=2048-d|0;e=q[b+74176>>2];while(1){if((c|0)!=(f|0)){u[e+(c<<2)>>2]=u[((c+d<<2)+b|0)+32192>>2]*u[b+36>>2];c=c+1|0;continue}break}d=0;c=f<<2;Za(c+e|0,0,8192-c|0);c=a+1024|0;n[q[a+6760>>2]](a,c,e,b);if(q[b+292>>2]){n[q[a+6756>>2]](c,b+292|0,b,0)}c=r[b|0];e=c>>>0<40?c:40;b:while(1){if((d|0)==(e|0)){break a}if(!r[(b+d|0)+40|0]){d=d+1|0;continue}c=s[(d<<1)+g>>1];d=d+1|0;f=s[(d<<1)+g>>1];f=c>>>0>f>>>0?c:f;while(1){if((c|0)==(f|0)){continue b}h=c<<2;i=(h+b|0)+13760|0;u[i>>2]=u[(a+h|0)+1024>>2]+u[i>>2];c=c+1|0;continue}}}}function SB(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Ca-16|0;Ca=g;c=q[a+80>>2];h=c>>>0>195?0:w(c,152)+59184|0;if(r[h+8|0]&16){while(1){if(j>>>0>2];f=q[a+68>>2];a:{if(j+ -1>>>0<=1){f=0-(0-f>>r[h+5|0])|0;c=0-(0-q[a+72>>2]>>r[h+6|0])|0;break a}c=q[a+72>>2]}k=b+d|0;b:{if(q[h+32>>2]<=8){d=0;c=(c|0)>0?c:0;while(1){if((c|0)==(d|0)){break b}d=d+1|0;e=Za(e,q[k>>2],f)+q[i+32>>2]|0;continue}}p[e>>1]=q[k>>2];vB(e+2|0,f+ -2|0);d=1;c=(c|0)>1?c:1;f=f<<1;e=q[i+32>>2]+e|0;while(1){if((c|0)==(d|0)){break b}d=d+1|0;e=Va(e,q[i>>2],f)+q[i+32>>2]|0;continue}}j=j+1|0;continue}break}Ca=g+16|0;return}q[g+8>>2]=417;q[g+4>>2]=10219;q[g>>2]=8279;Ta(0,0,6634,g);I();F()}function No(a,b,c,d){var e=0,f=0,g=0,h=0;a:{if(q[a+26384>>2]){h=d&1;e=q[a+27024>>2];g=w(e,d&-2)+c|0;f=g+ -1|0;if(!(!h|q[b+832>>2]!=s[q[a+26380>>2]+(f<<1)>>1])){f=(q[b+21828>>2]==(q[q[a+24364>>2]+(f<<2)>>2]>>>7&1)?e:0)+f|0}if(q[b+21828>>2]){c=g-e|0;if(q[b+832>>2]!=s[q[a+26380>>2]+(c<<1)>>1]|h){break a}c=c-(e&q[q[a+24364>>2]+(c<<2)>>2]<<24>>31)|0;break a}c=w(e,d+ -1|0)+c|0;break a}c=q[b+21796>>2];f=c+ -1|0;c=c-(q[a+27024>>2]<<(q[a+26388>>2]!=3))|0}d=0;g=q[b+832>>2];e=q[a+26380>>2];if((g|0)==s[e+(f<<1)>>1]){d=(q[q[a+24364>>2]+(f<<2)>>2]>>>11^-1)&1}d=(g|0)==s[e+(c<<1)>>1]?((q[q[a+24364>>2]+(c<<2)>>2]>>>11^-1)&1)+d|0:d;return _a(b+32856|0,((q[b+840>>2]==3?d+13|0:d)+b|0)+32915|0)} + + + +function Cr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0;l=d<<6;t=c<<6;d=0;m=b>>1;u=0-m<<1;v=0-(b&-2)<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<6;n=b+ -63|0;q=63-b|0;c=0;b=a;while(1){if((c|0)==2){break a}r=b+u|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+v>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[(m<<1)+b>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<16384?f:(f>>31^-1)&16383;f=j-g|0;p[b>>1]=f>>>0<16384?f:(f>>31^-1)&16383}c=c+1|0;b=b+2|0;continue}}d=d+1|0;a=a+4|0;continue}break}}function Rf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c-((e&2147483646)<<1)|0;l=e>>1<<1;e=b;while(1){if((f|0)!=7){g=s[c+6>>1];h=s[c+2>>1];i=s[c>>1];j=s[c+4>>1];k=s[c+ -2>>1];q[e>>2]=g+((s[c+ -4>>1]+w(h+i|0,20)|0)+w(j+k|0,-5)|0);q[e+4>>2]=s[c+8>>1]+((k+w(h+j|0,20)|0)+w(i+g|0,-5)|0);f=f+1|0;e=e+16|0;c=c+l|0;continue}break}c=b+32|0;e=0;b=d>>1<<1;while(1){if((e|0)!=2){d=q[c+64>>2];f=q[c+48>>2];l=q[c+16>>2];h=q[c>>2];i=q[c+32>>2];j=q[c+ -16>>2];k=(((f+q[c+ -32>>2]|0)+w(l+h|0,20)|0)+w(i+j|0,-5)|0)+512|0;g=k>>10;p[a>>1]=g>>>0<4096?g:(k>>31^-1)&4095;d=(((d+j|0)+w(l+i|0,20)|0)+w(f+h|0,-5)|0)+512|0;f=d>>10;p[a+b>>1]=f>>>0<4096?f:(d>>31^-1)&4095;e=e+1|0;c=c+4|0;a=a+2|0;continue}break}}function mx(a,b,c,d){var e=0,f=0,g=0,h=0;f=Ca+ -64|0;Ca=f;q[f+56>>2]=q[d+16>>2];e=q[d+12>>2];q[f+48>>2]=q[d+8>>2];q[f+52>>2]=e;e=q[d+4>>2];q[f+40>>2]=q[d>>2];q[f+44>>2]=e;e=-1094995529;h=zC(c,f+40|0,b);a:{if((h|0)<0){break a}g=q[c+4>>2];if((g|0)>=13){q[f>>2]=g;Ta(b,16,28544,f);break a}if(!(q[c>>2]!=23|g+ -3>>>0<5)){q[f+16>>2]=g;Ta(b,16,29026,f+16|0);break a}Mb(d,h);b:{c:{d:{e=q[c>>2];if(!(e+ -1>>>0<4|(e|0)==17)){if((e|0)==39){break c}if((e|0)!=23){break d}}e=fx(a,b,d,c,q[c+12>>2]);if((e|0)>=0){break b}break a}a=q[c+16>>2];q[f+36>>2]=e;q[f+32>>2]=(a|0)==1?30039:30469;Oc(b,29550,f+32|0);e=-52;break a}e=ex(a,b,d,c,q[c+12>>2]);if((e|0)<0){break a}}e=q[d+8>>2]}Ca=f- -64|0;return e}function Fj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=q[a+16>>2];b=(d>>>0)/170|0;c=q[a+4>>2];g=q[a+8>>2];a:{if((c|0)==(g|0)){h=a+20|0;break a}h=a+20|0;e=(b<<2)+c|0;b=q[e>>2]+w(d-w(b,170)|0,24)|0;d=d+q[a+20>>2]|0;f=(d>>>0)/170|0;f=q[(f<<2)+c>>2]+w(d-w(f,170)|0,24)|0;if((b|0)==(f|0)){break a}while(1){q[b+4>>2]=1636;c=q[b+8>>2];d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!(d|!c)){if(o[c+11|0]<=-1){Ya(q[c>>2])}Ya(c)}b=b+24|0;if((b-q[e>>2]|0)==4080){b=q[e+4>>2];e=e+4|0}if((b|0)!=(f|0)){continue}break}c=q[a+4>>2];g=q[a+8>>2]}q[h>>2]=0;b=g-c>>2;if(b>>>0>2){while(1){Ya(q[c>>2]);c=q[a+4>>2]+4|0;q[a+4>>2]=c;b=q[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}b=b+ -1|0;if(b>>>0<=1){q[a+16>>2]=b-1|0?85:170}}function Wr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0;l=d<<4;t=c<<4;d=0;m=b>>1;u=0-m<<1;v=0-(b&-2)<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<4;n=b+ -15|0;q=15-b|0;c=0;b=a;while(1){if((c|0)==2){break a}r=b+u|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+v>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[(m<<1)+b>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<4096?f:(f>>31^-1)&4095;f=j-g|0;p[b>>1]=f>>>0<4096?f:(f>>31^-1)&4095}c=c+1|0;b=b+2|0;continue}}d=d+1|0;a=a+4|0;continue}break}}function fc(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=4){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<512?h:(f>>31^-1)&511;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+10>>1]+((s[b>>1]+w(s[b+6>>1]+s[b+4>>1]|0,20)|0)+w(s[b+8>>1]+s[b+2>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+4>>1]=f>>>0<512?f:(e>>31^-1)&511;e=(s[b+12>>1]+((s[b+2>>1]+w(s[b+8>>1]+s[b+6>>1]|0,20)|0)+w(s[b+10>>1]+s[b+4>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+6>>1]=f>>>0<512?f:(e>>31^-1)&511;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function rs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0;l=d<<2;t=c<<2;d=0;m=b>>1;u=0-m<<1;v=0-(b&-2)<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<2;n=b+ -3|0;q=3-b|0;c=0;b=a;while(1){if((c|0)==2){break a}r=b+u|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+v>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[(m<<1)+b>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<1024?f:(f>>31^-1)&1023;f=j-g|0;p[b>>1]=f>>>0<1024?f:(f>>31^-1)&1023}c=c+1|0;b=b+2|0;continue}}d=d+1|0;a=a+4|0;continue}break}}function Og(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=d>>1;k=s[(2-e<<1)+a>>1];h=k+2|0;f=s[(1-e<<1)+a>>1];i=f+2|0;g=s[a-(d&-2)>>1];d=0;j=s[(7-e<<1)+a>>1];l=j;g=((h+g|0)+(f<<1)>>>2)+((i+s[((b?e^-1:0-e|0)<<1)+a>>1]|0)+(g<<1)>>>2)|0;b=s[(3-e<<1)+a>>1];f=s[(4-e<<1)+a>>1];h=g+(b+(i+(k<<1)|0)>>>2|0)+(f+(h+(b<<1)|0)>>>2)|0;i=(f<<1)+b|0;b=s[(5-e<<1)+a>>1];g=(b<<1)+f|0;f=s[(6-e<<1)+a>>1];b=h+((i+b|0)+2>>>2|0)+((g+f|0)+2>>>2)+((j+(b+(f<<1)|0)|0)+2>>>2)|0;if(c){l=s[(8-e<<1)+a>>1]}b=((((f+(j<<1)|0)+l|0)+2>>>2|0)+b|0)+4>>3;c=$R(b,b>>31,65537,65537);b=Da;while(1){if((d|0)!=8){q[a+8>>2]=c;q[a+12>>2]=b;q[a>>2]=c;q[a+4>>2]=b;d=d+1|0;a=(e<<1)+a|0;continue}break}}function Ns(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0,w=0;m=d<<1;t=c<<1;d=0;n=b>>1;u=0-n<<1;v=0-(b&-2)<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}l=b<<1;w=l+ -1|0;q=1-l|0;c=0;b=a;while(1){if((c|0)==2){break a}r=b+u|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+v>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(m|0)){break b}i=s[(n<<1)+b>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(m|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)<(l|0)?f:w;f=k+g|0;p[r>>1]=f>>>0<512?f:(f>>31^-1)&511;f=j-g|0;p[b>>1]=f>>>0<512?f:(f>>31^-1)&511}c=c+1|0;b=b+2|0;continue}}d=d+1|0;a=a+4|0;continue}break}}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c&-2;h=(f<<1)+a|0;n=s[h+ -2>>1];g=a+f|0;k=s[g+ -2>>1];j=s[a+ -2>>1];e=c>>1;l=s[(3-e<<1)+a>>1];i=s[(2-e<<1)+a>>1];b=s[(1-e<<1)+a>>1];o=(c<<1|2)+a|0;c=s[a-f>>1];d=c+1|0;f=s[((e^-1)<<1)+a>>1];m=d+f>>>1|0;p[o>>1]=m;p[a>>1]=m;d=b+d>>>1|0;p[h+4>>1]=d;p[a+2>>1]=d;d=(b+i|0)+1>>>1|0;p[h+6>>1]=d;p[a+6>>1]=(i+l|0)+1>>>1;p[a+4>>1]=d;a=w(e,6)+a|0;e=c+2|0;d=(e+(f<<1)|0)+j>>>2|0;p[a+2>>1]=d;p[g>>1]=d;d=c<<1;c=f+2|0;f=(d+c|0)+b>>>2|0;p[a+4>>1]=f;p[g+2>>1]=f;e=(e+(b<<1)|0)+i>>>2|0;p[a+6>>1]=e;p[g+6>>1]=(((i<<1)+b|0)+l|0)+2>>>2;p[g+4>>1]=e;p[h>>1]=(c+(j<<1)|0)+k>>>2;p[a>>1]=(((k<<1)+j|0)+n|0)+2>>>2}function Em(a,b,c){var d=0,e=0,f=0,g=0;f=Ca-16|0;Ca=f;while(1){d=uf(a,d);if(d){e=q[d+40>>2];if((e&b)!=(c|0)|e&128){continue}g=q[d+12>>2];if(g>>>0<=18){e=q[d+8>>2]+a|0;a:{switch(g-3|0){default:Oe(a,d,e,1,1,q[d+16>>2],q[d+20>>2]);continue;case 0:case 1:Oe(a,d,e,v[d+16>>3],1,1,0);continue;case 3:Gj(f+8|0,v[d+16>>3],2147483647);g=e;e=q[f+8>>2];Oe(a,d,g,1,q[f+12>>2],e,e>>31);continue;case 13:Um(a,q[d+16>>2],e);continue;case 2:fn(q[d+16>>2],e);continue;case 8:_m(a,q[d+16>>2],e);continue;case 11:Wm(a,q[d+16>>2],e);continue;case 4:cn(q[d+16>>2],e);continue;case 7:continue;case 5:break a}}Sm(q[d+16>>2],e)}else{q[f+4>>2]=q[d>>2];q[f>>2]=g;Ta(a,48,28966,f)}continue}break}Ca=f+16|0}function ew(a,b,c){var d=0;d=a;if(c){o[a+33|0]=r[b+9|0];o[a+32|0]=r[b+9|0];o[a+31|0]=r[b+9|0];o[a+30|0]=r[b+9|0];o[a+29|0]=r[b+9|0];o[a+28|0]=r[b+9|0];o[a+27|0]=r[b+8|0];o[a+26|0]=r[b+8|0];o[a+25|0]=r[b+8|0];o[a+24|0]=r[b+8|0];o[a+23|0]=r[b+7|0];o[a+22|0]=r[b+7|0];o[a+21|0]=r[b+7|0];o[a+20|0]=r[b+7|0];o[a+19|0]=r[b+6|0];o[a+18|0]=r[b+6|0];o[a+17|0]=r[b+5|0];c=r[b+5|0]}else{c=0}o[d+16|0]=c;o[a+15|0]=r[b+4|0];o[a+14|0]=r[b+4|0];o[a+13|0]=r[b+4|0];o[a+12|0]=r[b+4|0];o[a+11|0]=r[b+3|0];o[a+10|0]=r[b+3|0];o[a+9|0]=r[b+2|0];o[a+8|0]=r[b+2|0];o[a+7|0]=r[b+2|0];o[a+6|0]=r[b+2|0];o[a+5|0]=r[b+1|0];o[a+4|0]=r[b+1|0];o[a+3|0]=r[b+1|0];o[a+2|0]=r[b|0];o[a+1|0]=r[b|0];o[a|0]=r[b|0]}function wn(a,b,c,d){a:{b:{if(b>>>0>20){break b}b=b+ -9|0;if(b>>>0>9){break b}c:{switch(b-1|0){default:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=q[b>>2];return;case 0:b=q[c>>2];q[c>>2]=b+4;b=q[b>>2];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 1:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=q[b>>2];q[a+4>>2]=0;return;case 3:b=q[c>>2];q[c>>2]=b+4;b=p[b>>1];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 4:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=s[b>>1];q[a+4>>2]=0;return;case 5:b=q[c>>2];q[c>>2]=b+4;b=o[b|0];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 6:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=r[b|0];q[a+4>>2]=0;return;case 2:case 7:break a;case 8:break c}}n[d](a,c)}return}b=q[c>>2]+7&-8;q[c>>2]=b+8;c=q[b+4>>2];q[a>>2]=q[b>>2];q[a+4>>2]=c}function re(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&c>>>0>0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&g>>>0>0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0?(c&g)>>>0<0?0:1:0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>=g>>>0?0:1:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0<=g>>>0?0:1:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;f=w(c,3)+a|0;g=r[f+ -1|0];d=a-c|0;e=r[d+3|0];k=r[b+3|0];i=r[b+2|0];l=r[b+1|0];j=r[b|0];m=c<<1;h=m+a|0;n=r[h+ -1|0]+r[d+2|0]|0;p=n+4|0;q=r[a+ -1|0]+(p+r[d|0]|0)|0;b=a+c|0;c=r[b+ -1|0];d=r[d+1|0];o[a|0]=q+(c+d<<1)>>>3;c=(((c+(d+e|0)|0)+g|0)+(n<<1)|0)+4>>>3|0;o[b|0]=c;o[a+1|0]=c;c=((j+p|0)+(e<<1)|0)+w(g,3)>>>3|0;o[h|0]=c;o[b+1|0]=c;o[a+2|0]=c;c=e;d=g<<2;e=(d+l|0)+4|0;c=(c+e|0)+(j<<1)>>>3|0;o[f|0]=c;o[(m|1)+a|0]=c;o[b+2|0]=c;o[a+3|0]=c;a=(d+((i+j|0)+(l<<1)|0)|0)+4>>>3|0;o[f+1|0]=a;o[h+2|0]=a;o[b+3|0]=a;a=(e+k|0)+(i<<1)>>>3|0;o[f+2|0]=a;o[h+3|0]=a;o[f+3|0]=((i+k|0)+(g<<1)|0)+2>>>2}function yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=1;h=20;g=1;while(1){if((g|0)==3){g=24}else{f=g<<4;j=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ge(q[j>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}k=(f<<6)+c|0;if(!q[k>>2]){break a}Fe(q[j>>2]+q[(f<<2)+b>>2]|0,k,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}while(1){b:{if((i|0)!=3){f=i<<4|4;h=((i<<2)+a|0)+ -4|0;while(1){if((f|0)==(g|0)){break b}j=f+4|0;c:{if(r[r[f+153956|0]+e|0]){Ge(q[h>>2]+q[(j<<2)+b>>2]|0,(f<<6)+c|0,d);break c}k=(f<<6)+c|0;if(!q[k>>2]){break c}Fe(q[h>>2]+q[(j<<2)+b>>2]|0,k,d)}f=f+1|0;continue}}return}g=g+16|0;i=i+1|0;continue}}function tq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=1;h=20;g=1;while(1){if((g|0)==3){g=24}else{f=g<<4;j=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ee(q[j>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}k=(f<<6)+c|0;if(!q[k>>2]){break a}De(q[j>>2]+q[(f<<2)+b>>2]|0,k,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}while(1){b:{if((i|0)!=3){f=i<<4|4;h=((i<<2)+a|0)+ -4|0;while(1){if((f|0)==(g|0)){break b}j=f+4|0;c:{if(r[r[f+153956|0]+e|0]){Ee(q[h>>2]+q[(j<<2)+b>>2]|0,(f<<6)+c|0,d);break c}k=(f<<6)+c|0;if(!q[k>>2]){break c}De(q[h>>2]+q[(j<<2)+b>>2]|0,k,d)}f=f+1|0;continue}}return}g=g+16|0;i=i+1|0;continue}}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=1;h=20;g=1;while(1){if((g|0)==3){g=24}else{f=g<<4;j=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ce(q[j>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}k=(f<<6)+c|0;if(!q[k>>2]){break a}Be(q[j>>2]+q[(f<<2)+b>>2]|0,k,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}while(1){b:{if((i|0)!=3){f=i<<4|4;h=((i<<2)+a|0)+ -4|0;while(1){if((f|0)==(g|0)){break b}j=f+4|0;c:{if(r[r[f+153956|0]+e|0]){Ce(q[h>>2]+q[(j<<2)+b>>2]|0,(f<<6)+c|0,d);break c}k=(f<<6)+c|0;if(!q[k>>2]){break c}Be(q[h>>2]+q[(j<<2)+b>>2]|0,k,d)}f=f+1|0;continue}}return}g=g+16|0;i=i+1|0;continue}}function hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<6;r=c<<6;d=0;t=(b&-2)<<1;u=b>>1<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<6;m=b+ -63|0;n=63-b|0;c=0;b=a;while(1){if((c|0)==2){break a}q=b+ -2|0;f=s[q>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(r|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(n|0)?n:(f|0)>(m|0)?m:f;f=k+g|0;p[q>>1]=f>>>0<16384?f:(f>>31^-1)&16383;f=j-g|0;p[b>>1]=f>>>0<16384?f:(f>>31^-1)&16383}c=c+1|0;b=b+u|0;continue}}d=d+1|0;a=a+t|0;continue}break}}function Lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=1;h=20;g=1;while(1){if((g|0)==3){g=24}else{f=g<<4;j=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ke(q[j>>2]+q[(f<<2)+b>>2]|0,(f<<5)+c|0,d);break a}k=(f<<5)+c|0;if(!s[k>>1]){break a}Je(q[j>>2]+q[(f<<2)+b>>2]|0,k,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}while(1){b:{if((i|0)!=3){f=i<<4|4;h=((i<<2)+a|0)+ -4|0;while(1){if((f|0)==(g|0)){break b}j=f+4|0;c:{if(r[r[f+153956|0]+e|0]){Ke(q[h>>2]+q[(j<<2)+b>>2]|0,(f<<5)+c|0,d);break c}k=(f<<5)+c|0;if(!s[k>>1]){break c}Je(q[h>>2]+q[(j<<2)+b>>2]|0,k,d)}f=f+1|0;continue}}return}g=g+16|0;i=i+1|0;continue}}function Dq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=1;h=20;g=1;while(1){if((g|0)==3){g=24}else{f=g<<4;j=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ie(q[j>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}k=(f<<6)+c|0;if(!q[k>>2]){break a}He(q[j>>2]+q[(f<<2)+b>>2]|0,k,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}while(1){b:{if((i|0)!=3){f=i<<4|4;h=((i<<2)+a|0)+ -4|0;while(1){if((f|0)==(g|0)){break b}j=f+4|0;c:{if(r[r[f+153956|0]+e|0]){Ie(q[h>>2]+q[(j<<2)+b>>2]|0,(f<<6)+c|0,d);break c}k=(f<<6)+c|0;if(!q[k>>2]){break c}He(q[h>>2]+q[(j<<2)+b>>2]|0,k,d)}f=f+1|0;continue}}return}g=g+16|0;i=i+1|0;continue}}function gs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<1024?b:(b>>31^-1)&1023;g=g+1|0;a=a+h|0;continue}break}}function Zw(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0;h=Ca-16|0;Ca=h;l=q[e+4>>2]==2?3:5;p=-1<=q[e+16>>2]){break a}b:{c:while(1){if((f|0)>2],16,40924,0);break b}while(1){i=Ua(d,l);if((q[d+12>>2]-q[d+8>>2]|0)<=-1){Ta(q[a+4>>2],16,41174,0);break b}g=i+(g&255)|0;j=g&255;o=r[e|0];if(j>>>0>o>>>0){a=q[a+4>>2];q[h+4>>2]=o;q[h>>2]=j;Ta(a,16,41389,h);break b}if((i|0)==(p|0)){continue}break}g=(f|0)>(j|0)?f:j;f=(g+k|0)-f|0;while(1)if((f|0)==(k|0)){k=f;f=g;continue c}else{i=k<<2;q[i+b>>2]=n;q[c+i>>2]=j;k=k+1|0;continue}}break}m=m+1|0;continue}break}s=-1094995529}Ca=h+16|0;return s}function Mr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<4096?b:(b>>31^-1)&4095;g=g+1|0;a=a+h|0;continue}break}}function cw(a,b,c){o[a|0]=(o[b+1|0]+(o[b|0]<<1)|0)/3;o[a+1|0]=(o[b+1|0]+(o[b+2|0]<<1)|0)/3;o[a+2|0]=(o[b+4|0]+(o[b+3|0]<<1)|0)/3;o[a+3|0]=(o[b+4|0]+(o[b+5|0]<<1)|0)/3;o[a+4|0]=(o[b+7|0]+o[b+6|0]|0)/2;o[a+5|0]=(o[b+9|0]+o[b+8|0]|0)/2;o[a+6|0]=r[b+10|0];o[a+7|0]=r[b+11|0];o[a+8|0]=(o[b+13|0]+o[b+12|0]|0)/2;o[a+9|0]=(o[b+15|0]+o[b+14|0]|0)/2;o[a+10|0]=r[b+16|0];if(c){o[a+11|0]=r[b+17|0];o[a+12|0]=r[b+18|0];o[a+13|0]=r[b+19|0];o[a+14|0]=(o[b+21|0]+o[b+20|0]|0)/2;o[a+15|0]=(o[b+23|0]+o[b+22|0]|0)/2;o[a+16|0]=(o[b+25|0]+o[b+24|0]|0)/2;o[a+17|0]=(o[b+27|0]+o[b+26|0]|0)/2;o[a+18|0]=(o[b+31|0]+(o[b+30|0]+(o[b+29|0]+o[b+28|0]|0)|0)|0)/4;o[a+19|0]=(o[b+33|0]+o[b+32|0]|0)/2}}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;b=c>>1;g=w(b,6)+a|0;m=s[g+ -2>>1];d=c&-2;i=(d<<1)+a|0;j=s[i+ -2>>1];q=s[(2-b<<1)+a>>1];e=s[(1-b<<1)+a>>1];h=s[a-d>>1];d=a+d|0;k=s[a+ -2>>1];n=k+1|0;l=s[((b^-1)<<1)+a>>1];f=n+l>>>1|0;p[d+4>>1]=f;b=s[d+ -2>>1];p[a>>1]=f;f=h+2|0;o=(f+(l<<1)|0)+k>>>2|0;p[d+6>>1]=o;p[a+6>>1]=(f+(e<<1)|0)+q>>>2;f=h<<1;h=l+2|0;p[a+4>>1]=e+(f+h|0)>>>2;p[a+2>>1]=o;e=b+n>>>1|0;p[i+4>>1]=e;p[d>>1]=e;e=b+(h+(k<<1)|0)>>>2|0;p[i+6>>1]=e;p[d+2>>1]=e;d=(b+j|0)+1>>>1|0;p[g+4>>1]=d;p[i>>1]=d;d=(((b<<1)+k|0)+j|0)+2>>>2|0;p[g+6>>1]=d;p[(c<<1|2)+a>>1]=d;p[g+2>>1]=((b+(j<<1)|0)+m|0)+2>>>2;p[g>>1]=(j+m|0)+1>>>1}function kr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<6;t=c<<6;d=0;m=b>>1;u=m<<3;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<6;n=b+ -63|0;q=63-b|0;c=0;b=a;while(1){if((c|0)==4){break a}r=b+ -2|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<16384?f:(f>>31^-1)&16383;f=j-g|0;p[b>>1]=f>>>0<16384?f:(f>>31^-1)&16383}c=c+1|0;b=(m<<1)+b|0;continue}}d=d+1|0;a=a+u|0;continue}break}}function kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<4;r=c<<4;d=0;t=(b&-2)<<1;u=b>>1<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<4;m=b+ -15|0;n=15-b|0;c=0;b=a;while(1){if((c|0)==2){break a}q=b+ -2|0;f=s[q>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(r|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(n|0)?n:(f|0)>(m|0)?m:f;f=k+g|0;p[q>>1]=f>>>0<4096?f:(f>>31^-1)&4095;f=j-g|0;p[b>>1]=f>>>0<4096?f:(f>>31^-1)&4095}c=c+1|0;b=b+u|0;continue}}d=d+1|0;a=a+t|0;continue}break}}function fD(a){q[a+484>>2]=828;q[a>>2]=829;q[a+316>>2]=830;q[a+292>>2]=831;q[a+76>>2]=832;q[a+52>>2]=833;q[a+512>>2]=834;q[a+508>>2]=835;q[a+504>>2]=836;q[a+500>>2]=837;q[a+496>>2]=838;q[a+492>>2]=839;q[a+488>>2]=840;q[a+320>>2]=841;q[a+296>>2]=842;q[a+80>>2]=843;q[a+72>>2]=844;q[a+68>>2]=845;q[a+56>>2]=846;q[a+152>>2]=847;q[a+148>>2]=848;q[a+104>>2]=849;q[a+100>>2]=850;q[a+36>>2]=851;q[a+32>>2]=852;q[a+28>>2]=853;q[a+8>>2]=837;q[a+4>>2]=828;q[a+124>>2]=854;q[a+128>>2]=855;q[a+172>>2]=856;q[a+176>>2]=857;q[a+188>>2]=858;q[a+192>>2]=859;q[a+196>>2]=860;q[a+200>>2]=861;q[a+212>>2]=862;q[a+216>>2]=863;q[a+220>>2]=864;q[a+224>>2]=865;q[a+516>>2]=866;q[a+520>>2]=867}function pl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0;m=d<<1;r=c<<1;d=0;t=(b&-2)<<1;u=b>>1<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}l=b<<1;v=l+ -1|0;n=1-l|0;c=0;b=a;while(1){if((c|0)==2){break a}q=b+ -2|0;f=s[q>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(r|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(m|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(m|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(n|0)?n:(f|0)<(l|0)?f:v;f=k+g|0;p[q>>1]=f>>>0<512?f:(f>>31^-1)&511;f=j-g|0;p[b>>1]=f>>>0<512?f:(f>>31^-1)&511}c=c+1|0;b=b+u|0;continue}}d=d+1|0;a=a+t|0;continue}break}}function nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<2;r=c<<2;d=0;t=(b&-2)<<1;u=b>>1<<1;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<2;m=b+ -3|0;n=3-b|0;c=0;b=a;while(1){if((c|0)==2){break a}q=b+ -2|0;f=s[q>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(r|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(n|0)?n:(f|0)>(m|0)?m:f;f=k+g|0;p[q>>1]=f>>>0<1024?f:(f>>31^-1)&1023;f=j-g|0;p[b>>1]=f>>>0<1024?f:(f>>31^-1)&1023}c=c+1|0;b=b+u|0;continue}}d=d+1|0;a=a+t|0;continue}break}}function gw(){q[585139]=1544;q[585137]=2334368;pb(2340544,9,61,96544,96288,4,4);q[585143]=832;q[585141]=2340704;pb(2340560,9,61,96736,96608,2,2);q[585147]=1024;q[585145]=2344032;pb(2340576,9,29,96928,96800,4,4);q[585151]=1036;q[585149]=2348128;pb(2340592,9,29,97088,96960,4,4);q[585155]=544;q[585153]=2352272;pb(2340608,9,15,97150,97120,2,2);q[585159]=544;q[585157]=2354448;pb(2340624,9,15,97198,97168,2,2);q[585163]=512;q[585161]=2356624;pb(2340640,9,8,97221,97213,1,1);q[585167]=512;q[585165]=2358672;pb(2340656,9,8,97237,97229,1,1);q[585171]=512;q[585169]=2360720;pb(2340672,9,8,97253,97245,1,1);q[585175]=512;q[585173]=2362768;pb(2340688,9,8,97269,97261,1,1);fw()}function Fr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<4;t=c<<4;d=0;m=b>>1;u=m<<3;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<4;n=b+ -15|0;q=15-b|0;c=0;b=a;while(1){if((c|0)==4){break a}r=b+ -2|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<4096?f:(f>>31^-1)&4095;f=j-g|0;p[b>>1]=f>>>0<4096?f:(f>>31^-1)&4095}c=c+1|0;b=(m<<1)+b|0;continue}}d=d+1|0;a=a+u|0;continue}break}}function us(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0,v=0;m=d<<1;t=c<<1;d=0;n=b>>1;u=n<<3;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}l=b<<1;v=l+ -1|0;q=1-l|0;c=0;b=a;while(1){if((c|0)==4){break a}r=b+ -2|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(m|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(m|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)<(l|0)?f:v;f=k+g|0;p[r>>1]=f>>>0<512?f:(f>>31^-1)&511;f=j-g|0;p[b>>1]=f>>>0<512?f:(f>>31^-1)&511}c=c+1|0;b=(n<<1)+b|0;continue}}d=d+1|0;a=a+u|0;continue}break}}function _r(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0,t=0,u=0;l=d<<2;t=c<<2;d=0;m=b>>1;u=m<<3;while(1){if((d|0)!=4){a:{b=o[d+e|0];if((b|0)<1){break a}b=b<<2;n=b+ -3|0;q=3-b|0;c=0;b=a;while(1){if((c|0)==4){break a}r=b+ -2|0;f=s[r>>1];j=s[b>>1];h=f-j|0;g=h>>31;b:{if((g^g+h)>=(t|0)){break b}h=s[b+ -4>>1];i=h-f|0;g=i>>31;if((g^g+i)>=(l|0)){break b}i=s[b+2>>1];k=i-j|0;g=k>>31;if((g^g+k)>=(l|0)){break b}k=f;f=((h-i|0)+(j-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(n|0)?n:f;f=k+g|0;p[r>>1]=f>>>0<1024?f:(f>>31^-1)&1023;f=j-g|0;p[b>>1]=f>>>0<1024?f:(f>>31^-1)&1023}c=c+1|0;b=(m<<1)+b|0;continue}}d=d+1|0;a=a+u|0;continue}break}}function Ev(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,o=0,p=0,v=0,x=0,y=0;m=Ca-16|0;Ca=m;v=h+i|0;j=q[b+76>>2];i=0;a:{while(1){if(o>>>0>2]){k=b+o|0;x=k+310458|0;y=k+310452|0;k=0;while(1){if(k>>>0>2];while(1){if(!((j|0)>1]|i>>>0>p>>>0)){i=i+1|0;continue}break}if((i|0)<=0){a=q[a+4>>2];q[m>>2]=j;Ta(a,16,36208,m);break a}else{p=(w(l,320)+d|0)+16|0;l=l<<3;i=i+ -1|0;n[q[b+390984>>2]]((w(j,320)+c|0)+16|0,p,l+e|0,f+l|0,u[(i<<2)+g>>2],r[h|0]<<1,r[v|0]<<1);j=j+1|0;k=k+1|0;continue}}break}o=o+1|0;continue}break}a=q[b+76>>2]+q[b+84>>2]|0;if(a>>>0<=j>>>0){break a}Za(w(j,320)+c|0,0,w(a-j|0,320))}Ca=m+16|0}function Ub(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;n=(c&-2)<<1;j=c>>1;o=w(j,3)<<1;while(1){if((k|0)!=4){q=s[b+48>>1];l=s[b+40>>1];c=s[b+32>>1];e=s[b+24>>1];h=s[b+8>>1];f=s[b>>1];i=s[b+16>>1];d=s[b+ -8>>1];g=(((e+s[b+ -16>>1]|0)+w(h+f|0,20)|0)+w(i+d|0,-5)|0)+16|0;m=g>>5;p[a>>1]=m>>>0<16384?m:(g>>31^-1)&16383;d=(((c+d|0)+w(h+i|0,20)|0)+w(e+f|0,-5)|0)+16|0;g=d>>5;p[(j<<1)+a>>1]=g>>>0<16384?g:(d>>31^-1)&16383;f=(((f+l|0)+w(e+i|0,20)|0)+w(c+h|0,-5)|0)+16|0;d=f>>5;p[a+n>>1]=d>>>0<16384?d:(f>>31^-1)&16383;c=(((h+q|0)+w(c+e|0,20)|0)+w(i+l|0,-5)|0)+16|0;e=c>>5;p[a+o>>1]=e>>>0<16384?e:(c>>31^-1)&16383;k=k+1|0;b=b+2|0;a=a+2|0;continue}break}}function km(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{c:{if(q[a+6472>>2]==39){break c}if(Xa(b)){break c}break b}d=-1094995529;e=c+288|0;if(im(a,e,b)){break a}d=r[c+74508|0];e=Va(c+74496|0,e,292);o[c+74509|0]=d;d:{if(!q[c+74596>>2]|q[a+6472>>2]==1){break d}d=c+74524|0;f=Ua(b,1);o[d|0]=f;if(!(f&255)){break d}gm(d,b,r[e|0])}e:{e=Ua(b,2);if(e>>>0>3){break e}f=1;f:{switch(e-1|0){case 0:case 1:break e;case 2:break f;default:break b}}Ta(q[a+4>>2],16,42768,0);return-1094995529}Tw(c,b,e);f=1}g=c+288|0;d=me(a,g,b,f);if(d){break a}h=c+74496|0;d=me(a,h,b,f);if(d){break a}g:{if(!f){break g}if(e){Sw(a,c)}if(q[a+6472>>2]!=1){break g}Aj(a,g);Aj(a,h)}Rw(a,c,e);d=0}return d}function Dw(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=1;a:{if(!Xa(b)){break a}g=a,h=Ua(b,4),q[g>>2]=h;d=q[b+8>>2]+4|0;e=q[b+16>>2];q[b+8>>2]=e>>>0>d>>>0?d:e;d=2}if(Xa(b)){d=Cw(a,b)+d|0}e=1;b:{if(!Xa(b)){break b}g=a,h=Ua(b,4),q[g+396>>2]=h;g=a,h=Ua(b,4),q[g+400>>2]=h;e=q[a+396>>2];c=(e|0)>-1?e:-1;f=c+1|0;d=d+c|0;c=0;while(1){if((c|0)!=(f|0)){g=(c<<2)+a|0,h=Ua(b,8),q[g+404>>2]=h;c=c+1|0;continue}break}d=d+2|0;e=e+1|0}if(Xa(b)){g=a,h=Ua(b,7),q[g+472>>2]=h;c=q[b+8>>2]+1|0;f=q[b+16>>2];q[b+8>>2]=f>>>0>c>>>0?c:f;d=d+1|0}c=0;e=(e|0)>0?e:0;while(1){if((c|0)!=(e|0)){f=(c<<2)+a|0;g=f,h=Xa(b),q[g+4>>2]=h;g=f,h=Ua(b,7),q[g+72>>2]=h;c=c+1|0;continue}break}return d+e|0}function Cs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+8>>1],e)>>d;p[a+8>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+10>>1],e)>>d;p[a+10>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+12>>1],e)>>d;p[a+12>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+14>>1],e)>>d;p[a+14>>1]=b>>>0<512?b:(b>>31^-1)&511;g=g+1|0;a=a+h|0;continue}break}}function ac(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;n=(c&-2)<<1;j=c>>1;o=w(j,3)<<1;while(1){if((k|0)!=4){q=s[b+48>>1];l=s[b+40>>1];c=s[b+32>>1];e=s[b+24>>1];h=s[b+8>>1];f=s[b>>1];i=s[b+16>>1];d=s[b+ -8>>1];g=(((e+s[b+ -16>>1]|0)+w(h+f|0,20)|0)+w(i+d|0,-5)|0)+16|0;m=g>>5;p[a>>1]=m>>>0<1024?m:(g>>31^-1)&1023;d=(((c+d|0)+w(h+i|0,20)|0)+w(e+f|0,-5)|0)+16|0;g=d>>5;p[(j<<1)+a>>1]=g>>>0<1024?g:(d>>31^-1)&1023;f=(((f+l|0)+w(e+i|0,20)|0)+w(c+h|0,-5)|0)+16|0;d=f>>5;p[a+n>>1]=d>>>0<1024?d:(f>>31^-1)&1023;c=(((h+q|0)+w(c+e|0,20)|0)+w(i+l|0,-5)|0)+16|0;e=c>>5;p[a+o>>1]=e>>>0<1024?e:(c>>31^-1)&1023;k=k+1|0;b=b+2|0;a=a+2|0;continue}break}}function Yb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;n=(c&-2)<<1;j=c>>1;o=w(j,3)<<1;while(1){if((k|0)!=4){q=s[b+48>>1];l=s[b+40>>1];c=s[b+32>>1];e=s[b+24>>1];h=s[b+8>>1];f=s[b>>1];i=s[b+16>>1];d=s[b+ -8>>1];g=(((e+s[b+ -16>>1]|0)+w(h+f|0,20)|0)+w(i+d|0,-5)|0)+16|0;m=g>>5;p[a>>1]=m>>>0<4096?m:(g>>31^-1)&4095;d=(((c+d|0)+w(h+i|0,20)|0)+w(e+f|0,-5)|0)+16|0;g=d>>5;p[(j<<1)+a>>1]=g>>>0<4096?g:(d>>31^-1)&4095;f=(((f+l|0)+w(e+i|0,20)|0)+w(c+h|0,-5)|0)+16|0;d=f>>5;p[a+n>>1]=d>>>0<4096?d:(f>>31^-1)&4095;c=(((h+q|0)+w(c+e|0,20)|0)+w(i+l|0,-5)|0)+16|0;e=c>>5;p[a+o>>1]=e>>>0<4096?e:(c>>31^-1)&4095;k=k+1|0;b=b+2|0;a=a+2|0;continue}break}}function wG(a,b,c){var d=0,e=0,f=0;a:{d=q[b+376>>2];b:{if(!d){break b}c:{e=q[a+376>>2];if(!e){d=q[d+4>>2];break c}d=q[d+4>>2];e=q[e+4>>2];if(!(q[a+80>>2]==q[d+36>>2]?!((d|0)!=(e|0)|q[b+80>>2]!=q[d+40>>2]):0)){f=q[q[d+4>>2]+12>>2];if(!f|(e|0)!=q[f+4>>2]){break c}}b=q[b+248>>2];if(!b){Ta(d,16,10549,0);return-28}b=q[b+4>>2];pc(a);d=Ek(a,q[b>>2]);break a}if(q[d+36>>2]!=q[b+80>>2]){break b}e=q[q[q[d+4>>2]>>2]+80>>2];if(!e){break b}d=n[e](d,a,b,c)|0;if((d|0)!=-52){break a}}d=q[a+376>>2];d:{if(!d){break d}d=q[d+4>>2];if(q[d+36>>2]!=q[a+80>>2]){break d}e=q[q[q[d+4>>2]>>2]+76>>2];if(!e){break d}d=n[e](d,a,b,c)|0;if((d|0)!=-52){break a}}return-52}return d}function wu(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=1;c=c+ -1|0;i=(c|0)>1?c:1;b=b+ -1|0;j=(b|0)>1?b:1;e=1;while(1){if((e|0)!=(i|0)){b=1;h=w(d,e);c=p[(h<<1)+a>>1];while(1){if((b|0)!=(j|0)){k=(b+h<<1)+a|0;g=p[k>>1];b=b+1|0;c=((g<<3)-c|0)-p[(h+b<<1)+a>>1]|0;c=(c|0)<163834?c:163834;p[k>>1]=w((c|0)>-196602?c:-196602,10923)+32768>>>16;c=g;continue}break}e=e+1|0;continue}break}while(1){a:{if((f|0)!=(j|0)){b=1;c=p[(f<<1)+a>>1];while(1){if((b|0)==(i|0)){break a}e=(w(b,d)+f<<1)+a|0;g=p[e>>1];b=b+1|0;c=((g<<3)-c|0)-p[(w(d,b)+f<<1)+a>>1]|0;c=(c|0)<163834?c:163834;p[e>>1]=w((c|0)>-196602?c:-196602,10923)+32768>>>16;c=g;continue}}return}f=f+1|0;continue}}function wt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=8-f|0;g=8-e|0;i=w(h,g);g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;j=(d|0)>0?d:0;k=c+1|0;while(1){if((f|0)==(j|0)){break a}d=b+c|0;o[a|0]=(r[a|0]+((((w(r[b|0],i)+w(h,r[b+1|0])|0)+w(g,r[d|0])|0)+w(e,r[b+k|0])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;a=a+c|0;b=d;continue}}e=g+h|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+(w(r[b|0],i)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(r[a|0]+((w(r[b|0],i)+w(e,r[b+g|0])|0)+32>>>6|0)|0)+1>>>1;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function Hk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=(d|0)>0?d:0;while(1){if((j|0)!=(k|0)){f=q[a>>2];d=b;g=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);h=f|g;e=q[a+4>>2];d=r[d+4|0]|r[d+5|0]<<8|(r[d+6|0]<<16|r[d+7|0]<<24);i=e|d;f=f^g;e=e^d;g=e>>>1|0;d=a;e=((e&1)<<31|f>>>1)&2147450879;q[d>>2]=h-e;q[d+4>>2]=i-((g&2147450879)+(h>>>0>>0)|0);f=q[d+8>>2];d=b;g=r[d+8|0]|r[d+9|0]<<8|(r[d+10|0]<<16|r[d+11|0]<<24);h=f|g;e=q[a+12>>2];d=r[d+12|0]|r[d+13|0]<<8|(r[d+14|0]<<16|r[d+15|0]<<24);i=e|d;f=f^g;e=e^d;g=e>>>1|0;d=a;e=((e&1)<<31|f>>>1)&2147450879;q[d+8>>2]=h-e;q[d+12>>2]=i-((g&2147450879)+(h>>>0>>0)|0);j=j+1|0;a=c+d|0;b=b+c|0;continue}break}}function ld(a,b){var c=0,d=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Ca-16|0;Ca=g;h(+b);d=e(1)|0;i=e(0)|0;m=d&-2147483648;f=d&2147483647;c=f;j=c+ -1048576|0;f=i;k=f;if(f>>>0<0){j=j+1|0}a:{if((j|0)==2145386495&k>>>0<=4294967295|j>>>0<2145386495){l=f<<28;d=(c&15)<<28|f>>>4;c=(c>>>4|0)+1006632960|0;c=d>>>0<0?c+1|0:c;break a}if((c|0)==2146435072&f>>>0>=0|c>>>0>2146435072){l=i<<28;c=d>>>4|0;d=(d&15)<<28|i>>>4;c=c|2147418112;break a}if(!(c|f)){d=0;c=0;break a}k=c;c=(c|0)==1&f>>>0>=0|c>>>0>1?z(c):z(i)+32|0;Rb(g,f,k,0,0,c+49|0);n=q[g>>2];l=q[g+4>>2];d=q[g+8>>2];c=q[g+12>>2]^65536|15372-c<<16}q[a>>2]=n;q[a+4>>2]=l;q[a+8>>2]=d|o;q[a+12>>2]=c|m;Ca=g+16|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c>>1;m=s[(3-b<<1)+a>>1];j=s[(2-b<<1)+a>>1];h=s[(1-b<<1)+a>>1];e=c&-2;k=s[a-e>>1];l=s[((b^-1)<<1)+a>>1];i=s[a+ -2>>1];b=w(b,6)+a|0;g=a+e|0;d=s[g+ -2>>1];e=(e<<1)+a|0;f=s[e+ -2>>1];p[b>>1]=((d+s[b+ -2>>1]|0)+(f<<1)|0)+2>>>2;f=((f+i|0)+(d<<1)|0)+2>>>2|0;p[b+2>>1]=f;p[e>>1]=f;f=l+2|0;d=(f+d|0)+(i<<1)>>>2|0;p[b+4>>1]=d;p[(c<<1|2)+a>>1]=d;p[g>>1]=d;d=b;c=k+2|0;b=(c+(l<<1)|0)+i>>>2|0;p[d+6>>1]=b;p[e+4>>1]=b;p[g+2>>1]=b;p[a>>1]=b;b=(f+(k<<1)|0)+h>>>2|0;p[e+6>>1]=b;p[g+4>>1]=b;p[a+2>>1]=b;b=(c+(h<<1)|0)+j>>>2|0;p[g+6>>1]=b;p[a+6>>1]=(((j<<1)+h|0)+m|0)+2>>>2;p[a+4>>1]=b}function ec(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;n=(c&-2)<<1;j=c>>1;o=w(j,3)<<1;while(1){if((k|0)!=4){q=s[b+48>>1];l=s[b+40>>1];c=s[b+32>>1];e=s[b+24>>1];h=s[b+8>>1];f=s[b>>1];i=s[b+16>>1];d=s[b+ -8>>1];g=(((e+s[b+ -16>>1]|0)+w(h+f|0,20)|0)+w(i+d|0,-5)|0)+16|0;m=g>>5;p[a>>1]=m>>>0<512?m:(g>>31^-1)&511;d=(((c+d|0)+w(h+i|0,20)|0)+w(e+f|0,-5)|0)+16|0;g=d>>5;p[(j<<1)+a>>1]=g>>>0<512?g:(d>>31^-1)&511;f=(((f+l|0)+w(e+i|0,20)|0)+w(c+h|0,-5)|0)+16|0;d=f>>5;p[a+n>>1]=d>>>0<512?d:(f>>31^-1)&511;c=(((h+q|0)+w(c+e|0,20)|0)+w(i+l|0,-5)|0)+16|0;e=c>>5;p[a+o>>1]=e>>>0<512?e:(c>>31^-1)&511;k=k+1|0;b=b+2|0;a=a+2|0;continue}break}}function mO(a,b){var c=0,d=0,e=0,f=0;e=Ca-16|0;Ca=e;a:{if(!(r[a|0]!=48|(r[a+1|0]|32)!=120)){d=+(Xj(a,e+12|0)>>>0);break a}d=Zj(a,e+12|0)}c=q[e+12>>2];b:{if((c|0)==(a|0)){break b}a=r[c|0];c:{d:{e:{if((a|0)==100){if(r[c+1|0]!=66){break e}c=c+2|0;q[e+12>>2]=c;d=Ez(d/20*3.321928094887362);break d}if((a+ -69&255)>>>0>53){break c}}f=a+ -69|0;a=f&31;if(!((32<=(f&63)>>>0?3214154>>>a|0:((1<>>a)&1)){break d}if(r[c+1|0]==105){c=c+2|0;q[e+12>>2]=c;d=d*v[w(f,24)+45840>>3];break d}c=c+1|0;q[e+12>>2]=c;d=d*v[w(f,24)+45848>>3]}a=r[c|0]}if((a&255)!=66){break b}c=c+1|0;q[e+12>>2]=c;d=d*8}if(b){q[b>>2]=c}Ca=e+16|0;return d}function dj(a,b){var c=0,d=0,e=0,f=0,g=0;e=Ca-16|0;Ca=e;c=q[a>>2];a:{if(!c){c=nd(0,b);q[e+12>>2]=c;f=-48;if(!c){break a}b=Qg(c,b,68,0,0);if(!b){Wa(e+12|0);break a}c=q[b>>2];q[c+20>>2]=q[c+20>>2]|2;q[a>>2]=b;f=0;break a}if(q[c+8>>2]==(b|0)){break a}b:{c:{d:{if(!(r[q[c>>2]+20|0]&2)){break d}d=q[c>>2];if(o[d+20|0]&1){d=0}else{d=q[d+8>>2]==1}if(!d){break d}d=q[c+4>>2];if((d|0)==q[q[c>>2]>>2]){break c}}q[e+8>>2]=0;dj(e+8|0,b);d=q[e+8>>2];if(!d){break b}g=q[c+4>>2];c=q[c+8>>2];Va(q[d+4>>2],g,(c|0)<(b|0)?c:b);Vk(a,e+8|0);break a}a=nd(d,b);if(!a){break b}q[c+4>>2]=a;d=q[c>>2];q[d>>2]=a;q[c+8>>2]=b;q[d+4>>2]=b;break a}f=-48}Ca=e+16|0;return f}function Jm(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;h=Ca-48|0;Ca=h;j=-1;a:{b:{if(!c){break b}if(!Sb(c,8752)){break b}j=n[f](c)|0;if((j|0)!=-1){break b}j=tf(c,h+44|0,0);if(r[q[h+44>>2]]?0:j>>>0>>0){break b}q[h+36>>2]=g;q[h+32>>2]=c;Ta(a,16,38665,h+32|0);a=-28;break a}e=e+ -1|0;i=+(e|0);k=v[b+32>>3];i=k>i?i:k;c:{if(y(i)<2147483648){c=~~i;break c}c=-2147483648}l=c;m=e;i=v[b+24>>3];i=i>-1?i:-1;d:{if(y(i)<2147483648){f=~~i;break d}f=-2147483648}e=f|c;c=e?l:m;e=e?f:-1;if(!((j|0)<=(c|0)?(j|0)>=(e|0):0)){b=q[b>>2];q[h+16>>2]=c;q[h+12>>2]=e;q[h+8>>2]=g;q[h+4>>2]=b;q[h>>2]=j;Ta(a,16,38986,h);a=-68;break a}q[d>>2]=j;a=0}Ca=h+48|0;return a}function MD(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=Ca-16|0;Ca=g;a:{b:{e=Cc(b);f=e>>>0>31;if(!f){c=q[(e<<2)+c>>2];if(c){break b}}q[g>>2]=e;Ta(d,16,25070,g);a=f?-1094995529:-1397768184;break a}c:{c=q[c+4>>2];if(!q[c+1668>>2]){break c}d=0;while(1){if((d|0)>=q[c+1684>>2]){break c}h=(d<<2)+a|0,i=td(b,q[c+1688>>2]),q[h+4>>2]=i;e=q[c+1688>>2]+q[b+8>>2]|0;f=q[b+16>>2];q[b+8>>2]=f>>>0>e>>>0?e:f;d=d+1|0;continue}}d:{if(!q[c+1672>>2]){break d}d=0;while(1){if((d|0)>=q[c+1684>>2]){break d}h=(d<<2)+a|0,i=td(b,q[c+1688>>2]),q[h+4>>2]=i;e=q[c+1688>>2]+q[b+8>>2]|0;f=q[b+16>>2];q[b+8>>2]=f>>>0>e>>>0?e:f;d=d+1|0;continue}}q[a>>2]=1;a=0}Ca=g+16|0;return a}function bg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c-(e<<1)|0;f=b;while(1){if((g|0)!=7){h=c+ -1|0;p[f>>1]=r[c+3|0]+((r[c+ -2|0]+w(r[c+1|0]+r[c|0]|0,20)|0)+w(r[c+2|0]+r[h|0]|0,-5)|0);p[f+2>>1]=r[c+4|0]+((r[h|0]+w(r[c+2|0]+r[c+1|0]|0,20)|0)+w(r[c+3|0]+r[c|0]|0,-5)|0);g=g+1|0;c=c+e|0;f=f+4|0;continue}break}c=b+8|0;f=0;while(1){if((f|0)!=2){e=p[c+16>>1];g=p[c+12>>1];h=p[c+4>>1];i=p[c>>1];j=p[c+8>>1];k=p[c+ -4>>1];l=(((g+p[c+ -8>>1]|0)+w(h+i|0,20)|0)+w(j+k|0,-5)|0)+512|0;b=l>>10;o[a|0]=b>>>0>255?l>>31^-1:b;e=(((e+k|0)+w(h+j|0,20)|0)+w(g+i|0,-5)|0)+512|0;b=e>>10;o[a+d|0]=b>>>0>255?e>>31^-1:b;f=f+1|0;c=c+2|0;a=a+1|0;continue}break}}function Ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-32|0;Ca=c;a:{if(t[a+144>>2]>=2){d=q[a+140>>2];b=(d>>>0)/170|0;d=q[q[a+128>>2]+(b<<2)>>2]+w(d-w(b,170)|0,24)|0;q[a+120>>2]=q[d>>2];e=Y()|0;Jh(a+76|0,d+4|0);f=Y()|0;gx(a+124|0);g=q[a+140>>2];b=(g>>>0)/170|0;e=(f-e|0)/1e3|0;f=q[d>>2];if((q[a+164>>2]+(q[a+184>>2]-f|0)|0)>q[a+196>>2]){Ok(a);break a}g=q[q[q[a+128>>2]+(b<<2)>>2]+w(g-w(b,170)|0,24)>>2];d=Z(1824)|0;b=q[a+4>>2];h=L(1064)|0;b=U(b|0,h|0)|0;J(h|0);sm(c+8|0,b,a+4|0);J(b|0);T(q[c+8>>2]);a=g-f|0;q[c+24>>2]=a-((a|0)>(e|0)?e:0);q[c+16>>2]=q[c+8>>2];J($(d|0,2,1836,c+16|0)|0);J(q[c+8>>2]);J(d|0);break a}o[a+148|0]=0}Ca=c+32|0}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Ca+ -64|0;while(1){if((d|0)==4){while(1){if((k|0)!=4){b=(r[k+154323|0]<<1)+a|0;d=(k<<2)+g|0;e=q[d+16>>2];h=q[d+48>>2];f=e-h|0;i=q[d>>2];d=q[d+32>>2];j=i-d|0;p[b+32>>1]=w(f+j|0,c)+128>>>8;e=e+h|0;d=d+i|0;p[b>>1]=w(e+d|0,c)+128>>>8;p[b+128>>1]=w(j-f|0,c)+128>>>8;p[b+160>>1]=w(d-e|0,c)+128>>>8;k=k+1|0;continue}break}}else{e=d<<2;h=e|3;f=p[(h<<1)+b>>1];i=e|2;j=p[(i<<1)+b>>1];l=f+j|0;e=e|1;m=p[(e<<1)+b>>1];n=p[(d<<3)+b>>1];o=m+n|0;q[(d<<4)+g>>2]=l+o;q[(e<<2)+g>>2]=o-l;e=n-m|0;f=j-f|0;q[(i<<2)+g>>2]=e-f;q[(h<<2)+g>>2]=e+f;d=d+1|0;continue}break}}function Eo(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;g=q[(w(d,40)+a|0)+23444>>2];h=g;e=g;i=c-e|0;f=i;f=f+128>>>0>255?f>>31^127:f;g=e>>31;c=(c>>31)-(g+(c>>>0>>0)|0)|0;e=i+ -2147483648|0;if(e>>>0<2147483648){c=c+1|0}if((c|0)==1&e>>>0>=0|c>>>0>1){Pc(q[q[a>>2]+4>>2],11057,0)}c=256;if(!(q[q[(w(d,40)+a|0)+23452>>2]+100>>2]|!(f&255))){c=(b>>31)-((b>>>0>>0)+g|0)|0;e=b-h|0;b=e;h=(b+128>>>0>255?b>>31^127:b)<<24>>24;b=f<<24>>24;d=b>>31;d=(((d^b+d)>>>1|0)+16384|0)/(b|0)|0;b=c;c=e+ -2147483648|0;if(c>>>0<2147483648){b=b+1|0}if((b|0)==1&c>>>0>=0|b>>>0>1){Ta(q[q[a>>2]+4>>2],48,12225,0)}b=w(d,h)+32|0;a=b>>6;c=a+1024>>>0>2047?b>>31^1023:a}return c}function pt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=8-f|0;g=8-e|0;j=w(h,g);i=c>>1;g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;d=(d|0)>0?d:0;l=i+1<<1;while(1){if((d|0)==(f|0)){break a}k=i<<1;c=k+b|0;p[a>>1]=(((w(s[b>>1],j)+w(h,s[b+2>>1])|0)+w(g,s[c>>1])|0)+w(e,s[b+l>>1])|0)+32>>>6;f=f+1|0;a=a+k|0;b=c;continue}}c=g+h|0;if(!c){f=0;c=(d|0)>0?d:0;while(1){if((c|0)==(f|0)){break a}p[a>>1]=w(s[b>>1],j)+32>>>6;f=f+1|0;d=i<<1;b=d+b|0;a=a+d|0;continue}}f=0;d=(d|0)>0?d:0;e=(g?i:1)<<1;while(1){if((d|0)==(f|0)){break a}p[a>>1]=(w(s[b>>1],j)+w(c,s[b+e>>1])|0)+32>>>6;f=f+1|0;g=i<<1;b=g+b|0;a=a+g|0;continue}}}function Jf(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=Ca-48|0;Ca=f;q[f+40>>2]=e;q[f+36>>2]=0;q[f+32>>2]=47312;e=So(-1,a,0);a:{b:{c:{d:{if((a|0)<1|(b|0)<1){break d}i=a;g=(e|0)<1;h=g?a<<3:e;g=g?a>>>29|0:e>>31;e=g;if((e|0)>0?1:(e|0)>=0?h>>>0<=2147482622?0:1:0){break d}g=b+128|0;h=h+1024|0;if(h>>>0<1024){e=e+1|0}e=$R(g,0,h,e);h=Da;if(!h&e>>>0<2147483647|h>>>0<0){break c}}q[f+4>>2]=b;q[f>>2]=a;Ta(f+32|0,16,5760,f);break b}e=0;if((c|0)==-1&(d|0)==2147483647){break a}g=$R(b,0,i,0)>>>0>c>>>0?0:1;i=Da;if((i|0)<(d|0)?1:(i|0)<=(d|0)?g:0){break a}q[f+24>>2]=c;q[f+28>>2]=d;q[f+20>>2]=b;q[f+16>>2]=a;Ta(f+32|0,16,7198,f+16|0)}e=-28}Ca=f+48|0;return e}function Ez(a){var b=0,c=0,d=0,f=0,g=0;a:{h(+a);c=e(1)|0;f=e(0)|0;b=c;c=b&2147483647;b:{if(c>>>0>=1083174912){if(!(c>>>0<1083179008|((b|0)<0?1:(b|0)<=0?f>>>0>=0?0:1:0))){return a*8.98846567431158e+307}if(c>>>0>=2146435072){return-1/a}if(!(a<=-1075)){break a}d=0;if((b|0)<-1?1:(b|0)<=-1?f>>>0>4294967295?0:1:0){break b}break a}if(c>>>0>1016070143){break a}d=a+1}return d}g=a+26388279066624;h(+g);e(1)|0;b=(e(0)|0)+128|0;f=b<<4&4080;d=v[f+208368>>3];a=a-(g+ -26388279066624)-v[(f|8)+208368>>3];return kd(d+d*a*(a*(a*(a*(a*.0013333559164630223+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(b&-256)/256|0)}function DE(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;a:{k=e>>>0>195?0:w(e,152)+59184|0;if(!k){break a}j=q[k+8>>2];if(j&8){break a}b:{if(!(j&66)){l=r[k+4|0];break b}n[95](q[a>>2],q[b>>2],q[c>>2],q[d>>2],f,g);a=q[a+4>>2];c:{if(r[k+8|0]&2){h=q[c+4>>2];break c}if(!a){break a}h=q[c+4>>2];if(!h){break a}}Va(a,h,1024);return}while(1){if((i|0)!=(l|0)){j=q[((i<<5)+k|0)+16>>2]+1|0;h=(h|0)>(j|0)?h:j;i=i+1|0;continue}break}h=(h|0)>0?h:0;m=0-g|0;i=0;while(1){if((i|0)==(h|0)){break a}j=So(e,f,i);if((j|0)>=0){l=i<<2;n[95](q[l+a>>2],q[b+l>>2],q[c+l>>2],q[d+l>>2],j,i+ -1>>>0<=1?0-(m>>r[k+6|0])|0:g);i=i+1|0;continue}break}Ta(0,16,16739,0)}}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=b>>1;b=0;while(1){if((b|0)!=4){f=s[(b-e<<1)+a>>1]+(s[((w(b,e)<<1)+a|0)+ -2>>1]+f|0)|0;g=b+4|0;c=s[(g-e<<1)+a>>1]+c|0;d=s[((w(e,g)<<1)+a|0)+ -2>>1]+d|0;b=b+1|0;continue}break}g=$R(c+2>>>2|0,0,65537,65537);h=Da;f=$R(f+4>>>3|0,0,65537,65537);i=Da;j=d+2>>>2|0;d=(c+d|0)+4>>>3|0;b=0;while(1){if((b|0)==4){d=$R(d,0,65537,65537);f=Da;g=$R(j,0,65537,65537);h=Da;b=4;while(1){if((b|0)!=8){c=(w(b,e)<<1)+a|0;q[c+8>>2]=d;q[c+12>>2]=f;q[c>>2]=g;q[c+4>>2]=h;b=b+1|0;continue}break}}else{c=(w(b,e)<<1)+a|0;q[c+8>>2]=g;q[c+12>>2]=h;q[c>>2]=f;q[c+4>>2]=i;b=b+1|0;continue}break}}function yn(a,b,c,d,e){var f=0,g=0,h=0;f=Ca-208|0;Ca=f;q[f+204>>2]=c;c=0;Za(f+160|0,0,40);q[f+200>>2]=q[f+204>>2];a:{if(($j(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){b=-1;break a}c=q[a+76>>2]>=0?1:c;g=q[a>>2];if(o[a+74|0]<=0){q[a>>2]=g&-33}h=g&32;b:{if(q[a+48>>2]){b=$j(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}q[a+48>>2]=80;q[a+16>>2]=f+80;q[a+28>>2]=f;q[a+20>>2]=f;g=q[a+44>>2];q[a+44>>2]=f;d=$j(a,b,f+200|0,f+80|0,f+160|0,d,e);b=d;if(!g){break b}n[q[a+36>>2]](a,0,0)|0;q[a+48>>2]=0;q[a+44>>2]=g;q[a+28>>2]=0;q[a+16>>2]=0;b=q[a+20>>2];q[a+20>>2]=0;b=b?d:-1}d=a;a=q[a>>2];q[d>>2]=a|h;b=a&32?-1:b;if(!c){break a}}Ca=f+208|0;return b}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c>>1;d=s[(3-e<<1)+a>>1];f=s[(2-e<<1)+a>>1];m=s[b+4>>1];i=s[b+2>>1];b=s[b>>1];h=c&-2;l=s[a-h>>1];j=s[(1-e<<1)+a>>1];g=j+1|0;p[a>>1]=l+g>>>1;k=(h<<1)+a|0;g=f+g>>>1|0;p[k>>1]=g;p[a+2>>1]=g;g=(c<<1|2)+a|0;c=(d+f|0)+1>>>1|0;p[g>>1]=c;p[a+4>>1]=c;c=(b+d|0)+1>>>1|0;p[k+4>>1]=c;p[a+6>>1]=c;p[k+6>>1]=(b+i|0)+1>>>1;c=a+h|0;h=f+2|0;p[c>>1]=(h+l|0)+(j<<1)>>>2;a=w(e,6)+a|0;e=d+2|0;f=(e+j|0)+(f<<1)>>>2|0;p[a>>1]=f;p[c+2>>1]=f;d=b+(h+(d<<1)|0)>>>2|0;p[a+2>>1]=d;p[c+4>>1]=d;d=(e+(b<<1)|0)+i>>>2|0;p[a+4>>1]=d;p[c+6>>1]=d;p[a+6>>1]=((b+(i<<1)|0)+m|0)+2>>>2}function Ws(a,b){var c=0,d=0,e=0,f=0;c=Ca-112|0;Ca=c;Ta(b,48,28695,0);q[c+96>>2]=r[a|0];Ta(b,48,29206,c+96|0);e=r[a|0];a:{if(e>>>0>1){break a}if(e-1){q[c+48>>2]=r[a+1|0];Ta(b,48,29738,c+48|0);d=r[a+1|0]+ -2|0;if(d>>>0<=1){e=c;b:{if(d-1){f=30118;d=a+2|0;break b}f=30586;d=a+4|0}q[e+32>>2]=s[d>>1];Ta(b,48,f,c+32|0)}f=r[a+6|0];d=r[a+7|0];e=r[a+8|0];v[c+24>>3]=x(x(r[a+9|0])/x(255));v[c+16>>3]=x(x(e>>>0)/x(255));v[c+8>>3]=x(x(d>>>0)/x(255));v[c>>3]=x(x(f>>>0)/x(255));Ta(b,48,31038,c);break a}q[c+80>>2]=r[a+10|0];Ta(b,48,31609,c+80|0);if(r[a+10|0]){break a}v[c+64>>3]=x(x(s[a+12>>1])/x(100));Ta(b,48,31964,c- -64|0)}Ca=c+112|0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c>>1;d=s[(3-e<<1)+a>>1];k=s[b+6>>1];i=s[b+4>>1];j=s[b+2>>1];b=s[b>>1];f=s[(2-e<<1)+a>>1];l=f+2|0;g=c&-2;h=s[(1-e<<1)+a>>1];p[a>>1]=(l+s[a-g>>1]|0)+(h<<1)>>>2;g=a+g|0;m=h;h=d+2|0;f=(m+h|0)+(f<<1)>>>2|0;p[g>>1]=f;p[a+2>>1]=f;f=((c&2147483646)<<1)+a|0;d=(b+l|0)+(d<<1)>>>2|0;p[f>>1]=d;p[g+2>>1]=d;p[a+4>>1]=d;e=w(e,6)+a|0;d=(j+h|0)+(b<<1)>>>2|0;p[e>>1]=d;p[(c<<1|2)+a>>1]=d;p[g+4>>1]=d;p[a+6>>1]=d;a=((b+i|0)+(j<<1)|0)+2>>>2|0;p[e+2>>1]=a;p[f+4>>1]=a;p[g+6>>1]=a;a=((j+k|0)+(i<<1)|0)+2>>>2|0;p[e+4>>1]=a;p[f+6>>1]=a;p[e+6>>1]=(w(k,3)+i|0)+2>>>2}function rB(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;g=Ca-16|0;Ca=g;e=c?c:3463332;c=q[e>>2];a:{b:{c:{if(!b){if(c){break c}break a}d=-2;h=a?a:g+12|0;d:{if(c){a=1;break d}a=r[b|0];c=a<<24>>24;if((c|0)>=0){q[h>>2]=a;d=(c|0)!=0;break a}a=o[b|0];if(!q[q[54083]>>2]){q[h>>2]=a&57343;d=1;break a}a=(a&255)+ -194|0;if(a>>>0>50){break c}c=q[(a<<2)+199312>>2];break b}f=r[b|0];i=f>>>3|0;if((i+ -16|(c>>26)+i)>>>0>7){break c}while(1){a=a+ -1|0;c=f+ -128|c<<6;if((c|0)>=0){q[e>>2]=0;q[h>>2]=c;d=1-a|0;break a}if(!a){break b}b=b+1|0;f=r[b|0];if((f&192)==128){continue}break}}q[e>>2]=0;q[865816]=25;d=-1;break a}q[e>>2]=c}Ca=g+16|0;return d}function oc(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=q[a+16>>2];d=q[a>>2];c=q[a+8>>2];b=d+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;b=c+r[a+150384|0]|0;q[d+8>>2]=e>>>0>b>>>0?b:e;return o[a+151408|0]}f=d;g=c;c=b>>>0>65535;d=c<<4;b=c?b>>>16|0:b;c=b&65280;c=(c?d|8:d)+r[(c?b>>>8|0:b)+47648|0]|0;b=(g-c|0)+31|0;d=e>>>0>b>>>0?b:e;b=f+(d>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);f=a;a=(d-c|0)+32|0;q[f+8>>2]=e>>>0>a>>>0?a:e;e=(b<<8&16711680|b<<24|(b>>>8&65280|b>>>24))<<(d&7)>>>c|0;a=e&1;return a+(0-a^e>>>1)|0}function nR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;f=c<<1;h=f+a|0;n=r[h+ -1|0];g=a+c|0;k=r[g+ -1|0];j=r[a+ -1|0];e=a-c|0;l=r[e+3|0];i=r[e+2|0];b=r[e+1|0];p=(f|1)+a|0;e=r[e|0];d=e+1|0;f=r[(c^-1)+a|0];m=d+f>>>1|0;o[p|0]=m;o[a|0]=m;d=b+d>>>1|0;o[h+2|0]=d;o[a+1|0]=d;d=(b+i|0)+1>>>1|0;o[h+3|0]=d;o[a+3|0]=(i+l|0)+1>>>1;o[a+2|0]=d;a=w(c,3)+a|0;c=e+2|0;d=(c+(f<<1)|0)+j>>>2|0;o[a+1|0]=d;o[g|0]=d;d=e<<1;e=f+2|0;f=(d+e|0)+b>>>2|0;o[a+2|0]=f;o[g+1|0]=f;c=(c+(b<<1)|0)+i>>>2|0;o[a+3|0]=c;o[g+3|0]=(((i<<1)+b|0)+l|0)+2>>>2;o[g+2|0]=c;o[h|0]=(e+(j<<1)|0)+k>>>2;o[a|0]=(((k<<1)+j|0)+n|0)+2>>>2}function oR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;d=w(c,3)+a|0;k=r[d+ -1|0];l=c<<1;h=l+a|0;i=r[h+ -1|0];b=a-c|0;q=r[b+2|0];e=r[b+1|0];m=r[b|0];f=a+c|0;j=r[a+ -1|0];n=j+1|0;c=r[(c^-1)+a|0];g=n+c>>>1|0;o[f+2|0]=g;b=r[f+ -1|0];o[a|0]=g;g=m+2|0;p=(g+(c<<1)|0)+j>>>2|0;o[f+3|0]=p;o[a+3|0]=(g+(e<<1)|0)+q>>>2;c=c+2|0;o[a+2|0]=e+(c+(m<<1)|0)>>>2;o[a+1|0]=p;e=b+n>>>1|0;o[h+2|0]=e;o[f|0]=e;c=b+(c+(j<<1)|0)>>>2|0;o[h+3|0]=c;o[f+1|0]=c;c=(b+i|0)+1>>>1|0;o[d+2|0]=c;o[h|0]=c;c=(((b<<1)+j|0)+i|0)+2>>>2|0;o[d+3|0]=c;o[(l|1)+a|0]=c;o[d+1|0]=((b+(i<<1)|0)+k|0)+2>>>2;o[d|0]=(i+k|0)+1>>>1}function fR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a-d|0;f=r[e+2|0];g=f+2|0;j=r[e+4|0];k=r[e+3|0];l=j+(g+(k<<1)|0)>>>2|0;i=f<<1;f=r[e+1|0];h=f+2|0;m=(i+h|0)+k>>>2|0;i=g;g=r[e|0];i=(i+g|0)+(f<<1)>>>2|0;n=(h+r[(b?d^-1:0-d|0)+a|0]|0)+(g<<1)>>>2|0;b=r[e+7|0];h=r[e+5|0];f=r[e+6|0];g=c?r[e+8|0]:b;o[a+3|0]=l;o[a+2|0]=m;o[a+1|0]=i;o[a|0]=n;o[a+6|0]=(b+(h+(f<<1)|0)|0)+2>>>2;o[a+5|0]=(f+((h<<1)+j|0)|0)+2>>>2;o[a+4|0]=(h+((j<<1)+k|0)|0)+2>>>2;o[a+7|0]=((f+(b<<1)|0)+g|0)+2>>>2;c=q[a>>2];g=q[a+4>>2];b=1;while(1){if((b|0)!=8){e=w(b,d)+a|0;q[e+4>>2]=g;q[e>>2]=c;b=b+1|0;continue}break}}function Nz(a,b,c){var d=0;a:{d=q[a+12>>2];if(d>>>0>18){break a}b:{c:{switch(d-1|0){default:q[c>>2]=q[b>>2];q[c+4>>2]=0;break b;case 11:a=q[b>>2];q[c>>2]=a;q[c+4>>2]=a>>31;break b;case 12:a=q[b>>2];q[c>>2]=a;q[c+4>>2]=a>>31;break b;case 0:case 17:a=q[b>>2];q[c>>2]=a;q[c+4>>2]=a>>31;break b;case 1:case 8:case 14:case 16:a=q[b+4>>2];q[c>>2]=q[b>>2];q[c+4>>2]=a;break b;case 3:v[0]=u[b>>2];break b;case 2:a=q[b+4>>2];q[0]=q[b>>2];q[1]=a;break b;case 5:a=q[b>>2];q[c>>2]=a;q[c+4>>2]=a>>31;q[0]=q[b+4>>2];break b;case 4:case 6:case 7:case 10:case 13:case 15:break a;case 9:break c}}b=q[a+20>>2];q[0]=q[a+16>>2];q[1]=b}}}function Uv(a,b,c,d,e,f){var g=0,h=0;g=Ca-32|0;Ca=g;q[g+24>>2]=q[c+16>>2];h=q[c+12>>2];q[g+16>>2]=q[c+8>>2];q[g+20>>2]=h;h=q[c+4>>2];q[g+8>>2]=q[c>>2];q[g+12>>2]=h;Mb(c,(e<<3)+ -4|0);q[b+16>>2]=0;if(!q[b>>2]){q[b>>2]=q[a+6480>>2]<<1}if(!q[a+6500>>2]){q[a+6500>>2]=q[a+6480>>2]<<1}c=1;if(d){c=q[g+16>>2]+10|0;d=q[g+24>>2];q[g+16>>2]=d>>>0>c>>>0?c:d;c=11}q[b+88>>2]=1;q[b+72>>2]=q[b+76>>2];q[b+80>>2]=q[b+84>>2];if(Xa(g+8|0)){c=Sv(b,g+8|0)+c|0}if(q[b+16>>2]){Rv(a,b)}if(q[b+4>>2]){c=Qv(a,b,g+8|0,f)+c|0}c=((4-c&7)+c|0)+4>>>3|0;if(c>>>0>e>>>0){a=q[a+4>>2];q[g+4>>2]=c;q[g>>2]=e;Ta(a,16,3714,g);le(b)}Ca=g+32|0;return e}function Gz(a){var b=0,c=0,d=0,e=0,f=0,g=0;a:{b=16;break a}if(-64-b>>>0<=a>>>0){q[865816]=48;return 0}d=a>>>0<11?16:a+11&-8;c=Nb((d+b|0)+12|0);if(!c){return 0}a=c+ -8|0;b:{if(!(c&b+ -1)){b=a;break b}f=c+ -4|0;g=q[f>>2];c=((b+c|0)+ -1&0-b)+ -8|0;b=c-a>>>0>15?c:b+c|0;c=b-a|0;e=(g&-8)-c|0;if(!(g&3)){a=q[a>>2];q[b+4>>2]=e;q[b>>2]=a+c;break b}q[b+4>>2]=e|q[b+4>>2]&1|2;e=b+e|0;q[e+4>>2]=q[e+4>>2]|1;q[f>>2]=c|q[f>>2]&1|2;q[b+4>>2]=q[b+4>>2]|1;Bi(a,c)}a=q[b+4>>2];c:{if(!(a&3)){break c}c=a&-8;if(c>>>0<=d+16>>>0){break c}q[b+4>>2]=d|a&1|2;a=b+d|0;d=c-d|0;q[a+4>>2]=d|3;c=b+c|0;q[c+4>>2]=q[c+4>>2]|1;Bi(a,d)}return b+8|0}function sQ(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=Ca-48|0;Ca=f;d=gg(b,c);a:{while(1){if((g|0)!=28){b:{e=g<<4;if((d|0)!=q[e+13716>>2]){break b}e=e+13720|0;if((b|0)!=q[e>>2]|(c|0)!=q[e+4>>2]){break b}q[f+32>>2]=q[(g<<4)+13712>>2];id(a,2861,f+32|0);break a}g=g+1|0;continue}break}q[f+16>>2]=d;id(a,5545,f+16|0);if(!(b|c)){break a}id(a,6906,0);g=0;while(1){if((h|0)!=64|i){d=c;e=h&31;if((32<=(h&63)>>>0?d>>>e|0:((1<>>e)&1){d=h;if(d>>>0<=35){d=q[(d<<3)+14160>>2]}else{d=0}if(d){if((g|0)>=1){id(a,8425,0)}q[f>>2]=d;id(a,2861,f)}g=g+1|0}h=h+1|0;if(h>>>0<1){i=i+1|0}continue}break}id(a,10343,0)}Ca=f+48|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=Ca+ -64|0;while(1){if((e|0)==4){b=0;while(1){if((b|0)!=4){d=(r[b+154323|0]<<2)+a|0;e=(b<<2)+h|0;f=q[e+32>>2];i=q[e>>2];g=f+i|0;j=q[e+48>>2];e=q[e+16>>2];k=j+e|0;q[d+320>>2]=w(g-k|0,c)+128>>8;f=i-f|0;e=e-j|0;q[d+256>>2]=w(f-e|0,c)+128>>8;q[d- -64>>2]=w(e+f|0,c)+128>>8;q[d>>2]=w(g+k|0,c)+128>>8;b=b+1|0;continue}break}}else{d=e<<4;i=d|12;f=q[i+b>>2];o=d+h|0;g=d|4;j=q[g+b>>2];k=q[b+d>>2];l=j+k|0;d=d|8;m=q[d+b>>2];n=m+f|0;q[o>>2]=l+n;q[h+g>>2]=l-n;g=d+h|0;d=k-j|0;f=m-f|0;q[g>>2]=d-f;q[h+i>>2]=d+f;e=e+1|0;continue}break}}function hr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0;t=0-b|0;u=0-(b<<1)|0;while(1){if((n|0)!=4){a:{k=o[e+n|0];if((k|0)<1){break a}p=0;q=0-k|0;h=a;while(1){if((p|0)==2){break a}s=h+t|0;f=r[s|0];l=r[h|0];i=f-l|0;g=i>>31;b:{if((g^g+i)>=(c|0)){break b}i=r[h+u|0];j=i-f|0;g=j>>31;if((g^g+j)>=(d|0)){break b}j=r[b+h|0];m=j-l|0;g=m>>31;if((g^g+m)>=(d|0)){break b}m=f;f=((i-j|0)+(l-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(k|0)?k:f;f=m+g|0;o[s|0]=f>>>0>255?f>>31^-1:f;f=l-g|0;o[h|0]=f>>>0>255?f>>31^-1:f}p=p+1|0;h=h+1|0;continue}}n=n+1|0;a=a+2|0;continue}break}}function gb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){if((j|0)!=4){i=w(d,j)+a|0;n=i;l=q[i+4>>2];g=w(e,j)+b|0;m=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);f=(j<<3)+c|0;k=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);h=m|k;g=r[g+4|0]|r[g+5|0]<<8|(r[g+6|0]<<16|r[g+7|0]<<24);f=r[f+4|0]|r[f+5|0]<<8|(r[f+6|0]<<16|r[f+7|0]<<24);o=g|f;g=g^f;f=m^k;m=g>>>1|0;i=q[i>>2];f=((g&1)<<31|f>>>1)&2147450879;k=h-f|0;g=i|k;h=o-((m&2147450879)+(h>>>0>>0)|0)|0;f=h|l;h=h^l;l=h>>>1|0;h=((h&1)<<31|(i^k)>>>1)&2147450879;q[n>>2]=g-h;q[n+4>>2]=f-((l&2147450879)+(g>>>0>>0)|0);j=j+1|0;continue}break}}function VD(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=q[a+23412>>2];while(1){if((g|0)!=(j|0)){k=q[((g<<2)+a|0)+23404>>2];d=0;while(1){if((d|0)!=(k|0)){e=w(g,1920)+a|0;b=e+23416|0;h=b+w(d,40)|0;f=w((d<<1)+16|0,40);b=Va(f+b|0,h,40);c=0;while(1){if((c|0)!=3){i=((e+f|0)+(c<<2)|0)+23428|0;q[i>>2]=q[i>>2]<<1;c=c+1|0;continue}break}q[b+24>>2]=1;q[b+28>>2]=q[q[b+36>>2]+76>>2];Va(b+40|0,b,40);h=q[h+36>>2];c=0;while(1){if((c|0)!=3){e=c<<2;f=e+b|0;q[f+40>>2]=q[f+40>>2]+q[(e+q[h>>2]|0)+32>>2];c=c+1|0;continue}break}q[b- -64>>2]=2;q[b+68>>2]=q[q[b+76>>2]+80>>2];d=d+1|0;continue}break}g=g+1|0;continue}break}}function $D(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=w(q[b+1700>>2],6)+4|0;i=(b|0)>0?b:0;while(1){a:{if((c|0)!=6){e=((c<<2)+a|0)+173812|0;g=w(c,22528)+a|0;q[e>>2]=g+38620;h=(c<<6)+a|0;f=h+164|0;d=0;b=0;while(1){if((b|0)!=(c|0)){if(se(((b<<6)+a|0)+164|0,f,64)){b=b+1|0;continue}else{q[e>>2]=(w(b,22528)+a|0)+38620;break a}}break}while(1){if((d|0)==(i|0)){break a}e=r[d+152848|0];f=r[d+152944|0];b=0;while(1){if((b|0)!=64){q[(((d<<8)+g|0)+((b<<3&56|b>>>3)<<2)|0)+38620>>2]=w(r[(b+h|0)+164|0],r[(r[(b>>>1&12|b&3)+152784|0]+w(e,6)|0)+152800|0])<>5;o[a|0]=f>>>0>255?h>>31^-1:f;e=(r[b+4|0]+((r[e|0]+w(r[b+2|0]+r[b+1|0]|0,20)|0)+w(r[b+3|0]+r[b|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+1|0]=f>>>0>255?e>>31^-1:f;e=(r[b+5|0]+((r[b|0]+w(r[b+3|0]+r[b+2|0]|0,20)|0)+w(r[b+4|0]+r[b+1|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+2|0]=f>>>0>255?e>>31^-1:f;e=(r[b+6|0]+((r[b+1|0]+w(r[b+4|0]+r[b+3|0]|0,20)|0)+w(r[b+5|0]+r[b+2|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+3|0]=f>>>0>255?e>>31^-1:f;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function In(a,b,c){var d=0,e=0,f=0,g=0;e=Ca-16|0;Ca=e;if(a>>>0<=b>>>0){a:{if(a>>>0>=b>>>0){a=b;break a}d=a+3|0;while(1){if((f|0)==3){while(1){if(d>>>0>>0){a=r[d+ -1|0];if(a>>>0>=2){d=d+3|0;continue}if(r[d+ -2|0]){d=d+2|0;continue}f=d+ -3|0;d=d+1|0;if(r[f|0]|a+ -1){continue}}break}a=d>>>0>b>>>0?b:d;b=a+ -4|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[c>>2]=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);break a}g=q[c>>2]<<8;q[c>>2]=g|r[a|0];a=a+1|0;if((b|0)==(a|0)){break a}f=f+1|0;if((g|0)!=256){continue}break}}Ca=e+16|0;return a}q[e+8>>2]=1938;q[e+4>>2]=10219;q[e>>2]=48288;Ta(0,0,6634,e);I();F()}function ne(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;j=Ca-16|0;i=(c<<4)+a|0;l=1;k=w(c,3)+b|0;a:{if(r[k|0]==1){f=d|f;g=e|g;e=1;d=j+11|0;break a}k=r[k+1|0];q[i>>2]=d;q[i+4>>2]=e;o[i+10|0]=h;o[i+9|0]=k;o[i+8|0]=0;o[i+15|0]=r[j+10|0];d=r[j+6|0]|r[j+7|0]<<8|(r[j+8|0]<<16|r[j+9|0]<<24);o[i+11|0]=d;o[i+12|0]=d>>>8;o[i+13|0]=d>>>16;o[i+14|0]=d>>>24;c=c+1|0;i=(c<<4)+a|0;e=2;l=0;d=j+1|0}b=r[(w(c,3)+b|0)+1|0];q[i>>2]=f;q[i+4>>2]=g;a=(c<<4)+a|0;o[a+10|0]=h;o[a+9|0]=b;o[a+8|0]=l;o[i+15|0]=r[d+4|0];a=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);o[i+11|0]=a;o[i+12|0]=a>>>8;o[i+13|0]=a>>>16;o[i+14|0]=a>>>24;return e}function ie(a,b,c,d){var e=0,f=0,g=0;e=a+32856|0;if(!_a(e,((((c+ -3>>31)+b|0)+(c+ -33>>31)|0)+a|0)+32906|0)){q[d>>2]=0;return 0}f=3;g=b+3|0;c=1;while(1){a:{b=9;if((c|0)==9){b:{while(1){if(!zc(e)){while(1){if(!f){break b}f=f+ -1|0;b=(zc(e)<>2]+4>>2],16,9871,0);return-2147483648}c=(b|0)<70?b:70;break a}if(_a(e,(a+g|0)+32904|0)){g=(c>>>0<4)+g|0;c=c+1|0;continue}else{b=c}}break}q[d>>2]=c;f=q[e>>2];c=f<<1;q[e>>2]=c;d=a;if(!(f&32767)){sc(e);c=q[e>>2]}e=c;c=q[a+32860>>2]<<17;e=e-c|0;a=e>>31;q[d+32856>>2]=e+(a&c);return(a^0-b)-a|0}function yo(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0;h=Ca-32|0;Ca=h;q[b>>2]=q[d+20>>2];q[b+4>>2]=q[d+24>>2];d=b+4|0;a:{b:{c:{d:{if((e|0)!=1){i=(f|0)==3?15:31;if(Xa(c)){j=b,k=Si(c)+1|0,q[j>>2]=k;f=b;if((e|0)==3){c=Si(c)+1|0}else{c=1}q[f+4>>2]=c}c=q[b+4>>2]+ -1|0;f=q[b>>2]+ -1|0;if(f>>>0>i>>>0){break b}e=(e|0)==3;if(e&c>>>0>i>>>0){break b}e=e?2:1;if(c>>>0<=i>>>0){break c}q[h+20>>2]=i;q[h+16>>2]=c;Ta(g,48,17172,h+16|0);break d}e=0;q[b+4>>2]=0;d=b}q[d>>2]=0}q[a>>2]=e;a=0;break a}q[h+12>>2]=i;q[h+8>>2]=c;q[h+4>>2]=i;q[h>>2]=f;Ta(g,16,16191,h);q[a>>2]=0;q[b>>2]=0;q[b+4>>2]=0;a=-1094995529}Ca=h+32|0;return a}function nw(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=q[a+8>>2];c=q[a+12>>2];b:{if((e|0)!=(c|0)){c=e;break b}d=q[a+4>>2];f=q[a>>2];if(d>>>0>f>>>0){e=e-d|0;h=e>>2;f=((d-f>>2)+1|0)/-2<<2;g=f+d|0;c=a;if(e){be(g,d,e);d=q[a+4>>2]}q[c+4>>2]=d+f;c=g+(h<<2)|0;q[a+8>>2]=c;break b}c=c-f|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}g=c<<2;h=rb(g);i=h+g|0;g=(c&-4)+h|0;c=g;if((d|0)!=(e|0)){c=g;while(1){q[c>>2]=q[d>>2];c=c+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}f=q[a>>2]}q[a+12>>2]=i;q[a+8>>2]=c;q[a+4>>2]=g;q[a>>2]=h;if(!f){break b}Ya(f);c=q[a+8>>2]}q[c>>2]=q[b>>2];q[a+8>>2]=q[a+8>>2]+4;return}oe(1504);F()}function cp(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0;i=a-c|0;j=r[i+3|0];k=r[i+2|0];s=r[b+2|0];m=r[b+1|0];b=r[b|0];n=r[i+1|0];p=(n<<1)+4|0;i=r[i|0];o[a|0]=((p+d|0)+f|0)+(i+e<<1)>>>3;h=c<<1;d=h+a|0;q=k+1|0;l=q+n>>>1|0;o[d|0]=l;o[a+1|0]=l;l=(h|1)+a|0;h=j+q>>>1|0;o[l|0]=h;o[a+2|0]=h;h=(b+j|0)+1>>>1|0;o[d+2|0]=h;o[a+3|0]=h;o[d+3|0]=(b+m|0)+1>>>1;d=a+c|0;o[d|0]=(i+(((e+p|0)+(f<<1)|0)+g|0)|0)+k>>>3;a=w(c,3)+a|0;c=j+2|0;e=(c+n|0)+(k<<1)>>>2|0;o[a|0]=e;o[d+1|0]=e;e=b+2|0;f=(e+k|0)+(j<<1)>>>2|0;o[a+1|0]=f;o[d+2|0]=f;b=(c+(b<<1)|0)+m>>>2|0;o[a+2|0]=b;o[d+3|0]=b;o[a+3|0]=(e+(m<<1)|0)+s>>>2}function aE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=w(q[b+1700>>2],6)+4|0;j=(b|0)>0?b:0;while(1){a:{if((c|0)!=6){e=((c<<2)+a|0)+173788|0;g=w(c,5632)+a|0;q[e>>2]=g+4828;h=(c<<4)+a|0;f=h+68|0;d=0;b=0;while(1){if((b|0)!=(c|0)){if(se(((b<<4)+a|0)+68|0,f,16)){b=b+1|0;continue}else{q[e>>2]=(w(b,5632)+a|0)+4828;break a}}break}while(1){if((d|0)==(j|0)){break a}e=r[d+152944|0]+2|0;f=r[d+152848|0];b=0;while(1){if((b|0)!=16){i=b>>>2|0;q[(((d<<6)+g|0)+((i|b<<2&12)<<2)|0)+4828>>2]=w(r[(b+h|0)+68|0],r[(((i&1)+(b&1)|0)+w(f,3)|0)+152752|0])<>2];d=q[a>>2];b:{if((e|0)!=(d|0)){c=e;break b}f=q[a+8>>2];c=q[a+12>>2];if(f>>>0>>0){g=((c-f>>2)+1|0)/2<<2;c=g+f|0;d=f-e|0;if(d){c=c-d|0;be(c,e,d);f=q[a+8>>2]}q[a+4>>2]=c;q[a+8>>2]=f+g;break b}c=c-d|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;g=rb(d);h=d+g|0;c=g+(c+3&-4)|0;c:{if((e|0)==(f|0)){d=c;break c}d=c;while(1){q[d>>2]=q[e>>2];d=d+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}e=q[a>>2]}q[a+12>>2]=h;q[a+8>>2]=d;q[a+4>>2]=c;q[a>>2]=g;if(!e){break b}Ya(e);c=q[a+4>>2]}q[c+ -4>>2]=q[b>>2];q[a+4>>2]=q[a+4>>2]+ -4;return}oe(1504);F()}function lw(a,b,c,d,e){var f=0,g=0,h=0,i=0;while(1){f=0;if((g|0)!=5){while(1){if((f|0)!=38){h=(w(g,352)+c|0)+(f<<3)|0;i=((f<<8)+d|0)+(g<<2)|0;q[h+48>>2]=q[i>>2];q[h+52>>2]=q[i+9728>>2];f=f+1|0;continue}break}g=g+1|0;continue}break}a:{if(e){ff(a,c,b,2364816,12);ff(a,c+352|0,b+3072|0,2365584,8);ff(a,c+704|0,b+5120|0,2366096,4);ff(a,c+1056|0,b+6144|0,2366096,4);ff(a,c+1408|0,b+7168|0,2366096,4);n[q[a+12>>2]](b+6912|0,d,5,32);break a}iw(a,c,b);bm(c+352|0,b+1536|0,1);bm(c+704|0,b+2048|0,0);n[q[a+12>>2]](b+1792|0,d,3,32)}while(1){if((f|0)!=5){a=w(f,352)+c|0;Va(a,a+256|0,48);f=f+1|0;continue}break}}function tl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ca+ -64|0;Ca=f;e=q[a+4>>2];a:{if(!(q[c+644>>2]?0:!(r[e+60|0]&8|r[e+66|0]&64))){b:{if(q[e+592>>2]){break b}g=q[c+76>>2];j=(g|0)==2147483647;if(q[c+80>>2]!=2147483647?!j:0){break b}i=q[c>>2];q[f>>2]=j;Ta(e,48,32452,f);l=(g|0)!=2147483647;e=0;while(1){if((e|0)!=4){g=e<<2;h=g+i|0;k=q[h+32>>2];q[g+(f+48|0)>>2]=q[h>>2]+w(k,l);h=q[h>>2];q[g+(f+32|0)>>2]=k<<1;q[g+(f+16|0)>>2]=h+(j?k:0);e=e+1|0;continue}break}zk(f+48|0,f+32|0,f+16|0,f+32|0,q[i+80>>2],q[i+68>>2],q[i+72>>2]>>1)}e=Vs(a,b,c);if((e|0)<0){break a}q[d>>2]=1}e=0}Ca=f- -64|0;return e}function fl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0;t=b<<1;while(1){if((n|0)!=4){a:{k=o[e+n|0];if((k|0)<1){break a}p=0;q=0-k|0;h=a;while(1){if((p|0)==2){break a}s=h+ -1|0;f=r[s|0];l=r[h|0];i=f-l|0;g=i>>31;b:{if((g^g+i)>=(c|0)){break b}i=r[h+ -2|0];j=i-f|0;g=j>>31;if((g^g+j)>=(d|0)){break b}j=r[h+1|0];m=j-l|0;g=m>>31;if((g^g+m)>=(d|0)){break b}m=f;f=((i-j|0)+(l-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(k|0)?k:f;f=m+g|0;o[s|0]=f>>>0>255?f>>31^-1:f;f=l-g|0;o[h|0]=f>>>0>255?f>>31^-1:f}p=p+1|0;h=b+h|0;continue}}n=n+1|0;a=a+t|0;continue}break}}function cR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+ -1|0;c=r[e|0];f=r[(b?(d^-1)+a|0:e)|0];b=r[(a+d|0)+ -1|0];e=b+2|0;g=r[((d<<1)+a|0)+ -1|0];h=g+2|0;f=((f+e|0)+(c<<1)>>>2)+((c+h|0)+(b<<1)>>>2)|0;b=r[(w(d,3)+a|0)+ -1|0];c=r[((d<<2)+a|0)+ -1|0];g=f+(b+(e+(g<<1)|0)>>>2|0)+(c+((b<<1)+h|0)>>>2)|0;h=b+(c<<1)|0;b=r[(w(d,5)+a|0)+ -1|0];f=c+(b<<1)|0;c=r[(w(d,6)+a|0)+ -1|0];e=r[(w(d,7)+a|0)+ -1|0];c=w((g+((h+b|0)+2>>>2|0)+((f+c|0)+2>>>2)+((c+w(e,3)|0)+2>>>2)+((e+(b+(c<<1)|0)|0)+2>>>2)|0)+4>>3,16843009);b=0;while(1){if((b|0)!=8){q[a+4>>2]=c;q[a>>2]=c;b=b+1|0;a=a+d|0;continue}break}}function Sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0;t=b<<2;while(1){if((n|0)!=4){a:{k=o[e+n|0];if((k|0)<1){break a}p=0;q=0-k|0;h=a;while(1){if((p|0)==4){break a}s=h+ -1|0;f=r[s|0];l=r[h|0];i=f-l|0;g=i>>31;b:{if((g^g+i)>=(c|0)){break b}i=r[h+ -2|0];j=i-f|0;g=j>>31;if((g^g+j)>=(d|0)){break b}j=r[h+1|0];m=j-l|0;g=m>>31;if((g^g+m)>=(d|0)){break b}m=f;f=((i-j|0)+(l-f<<2)|0)+4>>3;g=(f|0)<(q|0)?q:(f|0)>(k|0)?k:f;f=m+g|0;o[s|0]=f>>>0>255?f>>31^-1:f;f=l-g|0;o[h|0]=f>>>0>255?f>>31^-1:f}p=p+1|0;h=b+h|0;continue}}n=n+1|0;a=a+t|0;continue}break}}function jq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a-c|0;e=r[d+3|0];f=r[d+2|0];m=r[b+3|0];l=r[b+2|0];i=r[b+1|0];b=r[b|0];g=r[d|0];j=r[d+1|0];d=j+1|0;o[a|0]=g+d>>>1;h=c<<1;k=h+a|0;d=d+f>>>1|0;o[k|0]=d;o[a+1|0]=d;d=(e+f|0)+1>>>1|0;o[(h|1)+a|0]=d;o[a+2|0]=d;d=(b+e|0)+1>>>1|0;o[k+2|0]=d;o[a+3|0]=d;d=a+c|0;h=g;g=f+2|0;o[d|0]=(h+g|0)+(j<<1)>>>2;a=w(c,3)+a|0;c=e+2|0;f=(c+j|0)+(f<<1)>>>2|0;o[a|0]=f;o[d+1|0]=f;e=b+(g+(e<<1)|0)>>>2|0;o[a+1|0]=e;o[d+2|0]=e;c=(c+(b<<1)|0)+i>>>2|0;o[a+2|0]=c;o[d+3|0]=c;o[k+3|0]=((b+(i<<1)|0)+l|0)+2>>>2;o[a+3|0]=(((l<<1)+i|0)+m|0)+2>>>2}function mR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a-c|0;m=r[b+3|0];i=r[b+2|0];h=r[b+1|0];j=r[b|0];k=r[(c^-1)+a|0];f=r[a+ -1|0];b=w(c,3)+a|0;g=a+c|0;d=r[g+ -1|0];l=c<<1;c=l+a|0;e=r[c+ -1|0];o[b|0]=((d+r[b+ -1|0]|0)+(e<<1)|0)+2>>>2;e=((f+e|0)+(d<<1)|0)+2>>>2|0;o[b+1|0]=e;o[c|0]=e;e=k+2|0;d=(e+d|0)+(f<<1)>>>2|0;o[b+2|0]=d;o[(l|1)+a|0]=d;o[g|0]=d;d=b;b=f;f=j+2|0;b=b+(f+(k<<1)|0)>>>2|0;o[d+3|0]=b;o[c+2|0]=b;o[g+1|0]=b;o[a|0]=b;b=(e+(j<<1)|0)+h>>>2|0;o[c+3|0]=b;o[g+2|0]=b;o[a+1|0]=b;b=(f+(h<<1)|0)+i>>>2|0;o[g+3|0]=b;o[a+3|0]=(((i<<1)+h|0)+m|0)+2>>>2;o[a+2|0]=b}function Nn(a){var b=0,c=0,d=0,e=0;d=Ca-16|0;Ca=d;q[d+12>>2]=0;a:{if(!a){break a}while(1){e=q[d+12>>2];c=q[(e<<2)+194864>>2];if(e>>>0<=1){q[d+12>>2]=e+1}if(!c){break a}if(!(q[c>>2]==(a|0)|q[c+4>>2]==(a|0)|(q[c+8>>2]==(a|0)|q[c+12>>2]==(a|0)))){if(q[c+16>>2]!=(a|0)){continue}}break}b=nb(344);if(b){q[b+4>>2]=c;a=nb(q[c+20>>2]);q[b>>2]=a;b:{if(!a){break b}q[b+32>>2]=1;q[b+72>>2]=1;a=q[c+24>>2];if(a){if(n[a](b)){break b}}q[b+336>>2]=-1;q[b+248>>2]=-2147483648;q[b+240>>2]=-2147483648;q[b+244>>2]=-2147483648;q[b+232>>2]=0;q[b+236>>2]=0;q[b+224>>2]=-1;break a}Wa(b)}Ya(b);b=0}Ca=d+16|0;return b}function ex(a,b,c,d,e){var f=0,g=0,h=0;f=Ca-224|0;Ca=f;q[f+28>>2]=0;q[d+16>>2]=0;q[d+40>>2]=0;g=d,h=Xa(c),q[g+44>>2]=h;d=Ua(c,3);a:{b:{if(d){q[f+16>>2]=d;Oc(b,31456,f+16|0);break b}if(!Xa(c)){while(1){if(Ua(c,4)){d=Ua(c,4);if((d|0)==15){d=Ua(c,8)+15|0}if((d|0)==270){d=Ua(c,16)+270|0}d=d<<3;if((q[c+12>>2]-q[c+8>>2]|0)<(d|4)){Ta(b,16,34730,0);d=-1094995529;break a}else{Mb(c,d);continue}}break}d=Me(b,f+32|0,f+28|0,e);if(d){break a}if(a){d=jd(a,f+32|0,q[f+28>>2],3,0);if(d){break a}}a=Ua(c,2);if(!a){d=0;break a}q[f>>2]=a;Oc(b,31853,f);break b}Oc(b,34288,0)}d=-1163346256}Ca=f+224|0;return d}function nt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=8-f|0;g=8-e|0;i=w(h,g);g=w(f,g);h=w(e,h);a:{e=w(e,f);if(e){f=0;j=(d|0)>0?d:0;k=c+1|0;while(1){if((f|0)==(j|0)){break a}d=b+c|0;o[a|0]=(((w(r[b|0],i)+w(h,r[b+1|0])|0)+w(g,r[d|0])|0)+w(e,r[b+k|0])|0)+32>>>6;f=f+1|0;a=a+c|0;b=d;continue}}e=g+h|0;if(!e){f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=w(r[b|0],i)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}g=g?c:1;f=0;d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break a}o[a|0]=(w(r[b|0],i)+w(e,r[b+g|0])|0)+32>>>6;f=f+1|0;b=b+c|0;a=a+c|0;continue}}}function ic(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;n=w(c,3);p=c<<1;while(1){if((k|0)!=4){q=r[b+24|0];l=r[b+20|0];f=r[b+16|0];e=r[b+12|0];i=r[b+4|0];g=r[b|0];j=r[b+8|0];h=r[b+ -4|0];m=(((e+r[b+ -8|0]|0)+w(i+g|0,20)|0)+w(j+h|0,-5)|0)+16|0;d=m>>5;o[a|0]=d>>>0>255?m>>31^-1:d;h=(((f+h|0)+w(i+j|0,20)|0)+w(e+g|0,-5)|0)+16|0;d=h>>5;o[a+c|0]=d>>>0>255?h>>31^-1:d;d=(((g+l|0)+w(e+j|0,20)|0)+w(f+i|0,-5)|0)+16|0;g=d>>5;o[a+p|0]=g>>>0>255?d>>31^-1:g;e=(((i+q|0)+w(f+e|0,20)|0)+w(j+l|0,-5)|0)+16|0;f=e>>5;o[a+n|0]=f>>>0>255?e>>31^-1:f;k=k+1|0;b=b+1|0;a=a+1|0;continue}break}}function cA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(xb(a,q[b+8>>2],f)){Nj(b,c,d,e);return}h=r[b+53|0];g=q[a+12>>2];o[b+53|0]=0;i=r[b+52|0];o[b+52|0]=0;j=a+16|0;Mj(j,b,c,d,e,f);k=r[b+53|0];h=h|k;l=r[b+52|0];i=i|l;a:{if((g|0)<2){break a}j=j+(g<<3)|0;g=a+24|0;while(1){if(r[b+54|0]){break a}b:{if(l){if(q[b+24>>2]==1){break a}if(r[a+8|0]&2){break b}break a}if(!k){break b}if(!(o[a+8|0]&1)){break a}}p[b+52>>1]=0;Mj(g,b,c,d,e,f);k=r[b+53|0];h=k|h;l=r[b+52|0];i=l|i;g=g+8|0;if(g>>>0>>0){continue}break}}o[b+53|0]=(h&255)!=0;o[b+52|0]=(i&255)!=0}function qo(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;j=169088;k=169024;if(!(!q[b+1184>>2]|d)){k=b+1284|0;g=1;j=b+1476|0}if(Xa(a)){h=e+16|0;i=Qc(a,e,16,168992,g?b+1188|0:168992)|Qc(a,h,16,168992,e)|Qc(a,e+32|0,16,168992,h);h=e+48|0;i=i|Qc(a,h,16,169008,g?b+1236|0:169008);g=e- -64|0;e=i|Qc(a,g,16,169008,h)|Qc(a,e+80|0,16,169008,g);a:{if(q[c+64>>2]?0:!d){break a}c=f+192|0;e=Qc(a,f,64,169024,k)|e|Qc(a,c,64,169088,j);if(q[b+12>>2]!=3){break a}b=f- -64|0;g=Qc(a,b,64,169024,f)|e;e=f+256|0;e=g|Qc(a,e,64,169088,c)|Qc(a,f+128|0,64,169024,b)|Qc(a,f+320|0,64,169088,e)}return e?e:d}return 0}function Qv(a,b,c,d){var e=0,f=0;e=Ca-16|0;Ca=e;f=q[c+8>>2];q[b+8>>2]=1;q[b+12>>2]=d;a:{b:{c:{d:{if(!(d&-3)){if(!Nv(a,b,c)){break d}break b}if((d|0)!=1){break c}if(Mv(a,b,c)){break b}}if(!Xa(c)){break a}d=Ua(c,4);q[e+12>>2]=d;if((d|0)==15){d=Ua(c,8)+15|0;q[e+12>>2]=d}d=d<<3;q[e+12>>2]=d;while(1){if((d|0)>=8){q[e+12>>2]=d+ -2;Lv(a,b,c,Ua(c,2),e+12|0);d=q[e+12>>2];continue}break}if((d|0)<=-1){Ta(q[a+4>>2],16,30915,0);break a}if(!d){break a}a=q[c+8>>2]+d|0;b=q[c+16>>2];q[c+8>>2]=b>>>0>a>>>0?a:b;break a}a=q[a+4>>2];q[e>>2]=d;Ta(a,16,30470,e)}le(b)}Ca=e+16|0;return q[c+8>>2]-f|0}function lr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=d<<6;m=c<<6;c=0;n=b>>1<<1;while(1){if((c|0)!=4){g=o[c+e|0];a:{if((g|0)<1){break a}l=a+ -2|0;b=s[l>>1];d=s[a>>1];h=b-d|0;f=h>>31;if((f^f+h)>=(m|0)){break a}h=s[a+ -4>>1];i=h-b|0;f=i>>31;if((f^f+i)>=(k|0)){break a}i=s[a+2>>1];j=i-d|0;f=j>>31;if((f^f+j)>=(k|0)){break a}j=b;f=g<<6;g=63-f|0;f=f+ -63|0;b=((h-i|0)+(d-b<<2)|0)+4>>3;f=(b|0)<(g|0)?g:(b|0)>(f|0)?f:b;b=j+f|0;p[l>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=d-f|0;p[a>>1]=b>>>0<16384?b:(b>>31^-1)&16383}c=c+1|0;a=a+n|0;continue}break}}function Ml(a,b){var c=0,d=0,e=0;d=Ca-32|0;Ca=d;a:{b:{c:{d:{if(!q[b+248>>2]){e=q[a+28>>2];c=q[q[a+12>>2]+108>>2];e:{if(c){c=n[c](a,b)|0;break e}c=Vu(a,b)}if(c){if((c|0)!=-541478725){break b}q[e+80>>2]=1;c=-541478725;break b}c=q[b+400>>2];if(!(q[c+8>>2]==20?c:0)){if(r[q[a+12>>2]+16|0]&2){break d}if(!c){break c}}c=q[q[c+4>>2]>>2];if(!c){break c}c=n[c](a,b)|0;if((c|0)>-1){break b}pc(b);break a}q[d+24>>2]=641;q[d+20>>2]=20914;q[d+16>>2]=31941;Ta(0,0,19766,d+16|0);I();F()}q[d+8>>2]=655;q[d+4>>2]=20914;q[d>>2]=32317;Ta(0,0,19766,d);I();F()}c=0}lb(b+400|0)}Ca=d+32|0;return c} + + + +function DC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)>0?e:0;while(1){if((h|0)!=(o|0)){f=0;while(1){if((f|0)!=16){g=r[b+f|0]-r[c+f|0]|0;k=w(g,g)+k|0;f=f+1|0;continue}break}f=0;a:{h=h+1|0;if((h|0)>=(e|0)){break a}while(1){if((f|0)==15){break a}i=d+f|0;l=i+1|0;g=f+1|0;m=r[b+l|0]+((r[b+f|0]-r[b+i|0]|0)-r[g+b|0]|0)|0;n=m>>31;f=r[c+l|0]+((r[c+f|0]-r[c+i|0]|0)-r[c+g|0]|0)|0;j=((n^n+m)+j|0)+((f|0)<0?f:0-f|0)|0;f=g;continue}}c=c+d|0;b=b+d|0;continue}break}b=j>>31;b=b+j^b;if(a){a=w(b,q[q[a+596>>2]+712>>2])}else{a=b<<3}return a+k|0}function CC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)>0?e:0;while(1){if((h|0)!=(o|0)){f=0;while(1){if((f|0)!=8){g=r[b+f|0]-r[c+f|0]|0;k=w(g,g)+k|0;f=f+1|0;continue}break}f=0;a:{h=h+1|0;if((h|0)>=(e|0)){break a}while(1){if((f|0)==7){break a}i=d+f|0;l=i+1|0;g=f+1|0;m=r[b+l|0]+((r[b+f|0]-r[b+i|0]|0)-r[g+b|0]|0)|0;n=m>>31;f=r[c+l|0]+((r[c+f|0]-r[c+i|0]|0)-r[c+g|0]|0)|0;j=((n^n+m)+j|0)+((f|0)<0?f:0-f|0)|0;f=g;continue}}c=c+d|0;b=b+d|0;continue}break}b=j>>31;b=b+j^b;if(a){a=w(b,q[q[a+596>>2]+712>>2])}else{a=b<<3}return a+k|0}function rm(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=Ca-32|0;Ca=d;q[c+8>>2]=q[c+8>>2]+1;q[c+12>>2]=q[c+12>>2]+ -1;c=cx(a+24|0,c);a:{if(!c){break a}if(!r[a+157|0]){e=q[a+40>>2];a=q[a+4>>2];b:{if(o[216576]&1){break b}if(!Mc(216576)){break b}g=216572,h=M(4,1680)|0,q[g>>2]=h;Lc(216576)}f=q[54143];q[d+24>>2]=b;q[d+16>>2]=c;q[d+8>>2]=e;O(f|0,a|0,1644,d+8|0);break a}b=q[a+36>>2];c=q[a+4>>2];c:{if(o[216584]&1){break c}if(!Mc(216584)){break c}g=216580,h=M(3,1696)|0,q[g>>2]=h;Lc(216584)}e=q[54145];q[d+8>>2]=q[b+348>>2];q[d+16>>2]=q[b+344>>2];O(e|0,c|0,1660,d+8|0);o[a+157|0]=0}Ca=d+32|0}function Zq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;while(1){if((g|0)!=(h|0)){c=f+w(r[a|0],e)>>d;o[a|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+1|0],e)>>d;o[a+1|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+2|0],e)>>d;o[a+2|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+3|0],e)>>d;o[a+3|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+4|0],e)>>d;o[a+4|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+5|0],e)>>d;o[a+5|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+6|0],e)>>d;o[a+6|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+7|0],e)>>d;o[a+7|0]=c>>>0>255?c>>31^-1:c;a=a+b|0;g=g+1|0;continue}break}}function Gr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=d<<4;m=c<<4;c=0;n=b>>1<<1;while(1){if((c|0)!=4){g=o[c+e|0];a:{if((g|0)<1){break a}l=a+ -2|0;b=s[l>>1];d=s[a>>1];h=b-d|0;f=h>>31;if((f^f+h)>=(m|0)){break a}h=s[a+ -4>>1];i=h-b|0;f=i>>31;if((f^f+i)>=(k|0)){break a}i=s[a+2>>1];j=i-d|0;f=j>>31;if((f^f+j)>=(k|0)){break a}j=b;f=g<<4;g=15-f|0;f=f+ -15|0;b=((h-i|0)+(d-b<<2)|0)+4>>3;f=(b|0)<(g|0)?g:(b|0)>(f|0)?f:b;b=j+f|0;p[l>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=d-f|0;p[a>>1]=b>>>0<4096?b:(b>>31^-1)&4095}c=c+1|0;a=a+n|0;continue}break}}function $r(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=d<<2;m=c<<2;c=0;n=b>>1<<1;while(1){if((c|0)!=4){g=o[c+e|0];a:{if((g|0)<1){break a}l=a+ -2|0;b=s[l>>1];d=s[a>>1];h=b-d|0;f=h>>31;if((f^f+h)>=(m|0)){break a}h=s[a+ -4>>1];i=h-b|0;f=i>>31;if((f^f+i)>=(k|0)){break a}i=s[a+2>>1];j=i-d|0;f=j>>31;if((f^f+j)>=(k|0)){break a}j=b;f=g<<2;g=3-f|0;f=f+ -3|0;b=((h-i|0)+(d-b<<2)|0)+4>>3;f=(b|0)<(g|0)?g:(b|0)>(f|0)?f:b;b=j+f|0;p[l>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=d-f|0;p[a>>1]=b>>>0<1024?b:(b>>31^-1)&1023}c=c+1|0;a=a+n|0;continue}break}}function lR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a-c|0;f=r[d+3|0];g=r[d+2|0];l=r[b+2|0];i=r[b+1|0];b=r[b|0];h=r[d|0];j=r[d+1|0];e=j+1|0;o[a|0]=h+e>>>1;k=c<<1;d=k+a|0;e=e+g>>>1|0;o[d|0]=e;o[a+1|0]=e;e=(f+g|0)+1>>>1|0;o[(k|1)+a|0]=e;o[a+2|0]=e;e=(b+f|0)+1>>>1|0;o[d+2|0]=e;o[a+3|0]=e;o[d+3|0]=(b+i|0)+1>>>1;d=a+c|0;e=h;h=g+2|0;o[d|0]=(e+h|0)+(j<<1)>>>2;a=w(c,3)+a|0;c=f+2|0;g=(c+j|0)+(g<<1)>>>2|0;o[a|0]=g;o[d+1|0]=g;f=b+(h+(f<<1)|0)>>>2|0;o[a+1|0]=f;o[d+2|0]=f;c=(c+(b<<1)|0)+i>>>2|0;o[a+2|0]=c;o[d+3|0]=c;o[a+3|0]=((b+(i<<1)|0)+l|0)+2>>>2}function yv(a,b){var c=0,d=0;c=q[a+8>>2];o[a+12|0]=r[c+(a+12|0)|0];o[a+87940|0]=r[(a+87932|0)+c|0];d=a+14568|0;q[a+14564>>2]=q[d>>2]!=(c|0)?-1:0;c=r[b+17|0]|r[b+18|0]<<8;o[a+17|0]=c;o[a+18|0]=c>>>8;c=r[b+13|0]|r[b+14|0]<<8|(r[b+15|0]<<16|r[b+16|0]<<24);o[a+13|0]=c;o[a+14|0]=c>>>8;o[a+15|0]=c>>>16;o[a+16|0]=c>>>24;c=q[b+87936>>2];q[a+87932>>2]=q[b+87932>>2];q[a+87936>>2]=c;o[a+87943|0]=r[b+87943|0];c=r[b+87941|0]|r[b+87942|0]<<8;o[a+87941|0]=c;o[a+87942|0]=c>>>8;q[a+8>>2]=q[b+8>>2];q[a+92>>2]=q[b+92>>2];q[a+20>>2]=q[b+20>>2];q[a>>2]=q[b>>2];q[d>>2]=q[b+14568>>2]}function vs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=d<<1;m=c<<1;c=0;n=b>>1<<1;while(1){if((c|0)!=4){g=o[c+e|0];a:{if((g|0)<1){break a}l=a+ -2|0;b=s[l>>1];d=s[a>>1];h=b-d|0;f=h>>31;if((f^f+h)>=(m|0)){break a}h=s[a+ -4>>1];i=h-b|0;f=i>>31;if((f^f+i)>=(k|0)){break a}i=s[a+2>>1];j=i-d|0;f=j>>31;if((f^f+j)>=(k|0)){break a}j=b;f=g<<1;g=1-f|0;b=((h-i|0)+(d-b<<2)|0)+4>>3;f=(b|0)<(g|0)?g:(b|0)<(f|0)?b:f+ -1|0;b=j+f|0;p[l>>1]=b>>>0<512?b:(b>>31^-1)&511;b=d-f|0;p[a>>1]=b>>>0<512?b:(b>>31^-1)&511}c=c+1|0;a=a+n|0;continue}break}}function kx(a,b,c,d,e){var f=0,g=0,h=0;g=-1094995529;a:{if(q[e>>2]>63){break a}d=(((c<<6)+a|0)+(d<<2)|0)+492|0;g=q[d>>2];if(b){if(!g){b=nb(547552);q[d>>2]=b;if(!b){return-48}Zv(b+156512|0,c)}g=0;if((c|0)==2){break a}b=q[e>>2];h=b;f=63;b:{if((c|0)==1){break b}f=64;if(c){break b}f=q[a+6512>>2]==1?63:64}if((h|0)>=(f|0)){Ta(q[a+4>>2],16,20836,0);return-1094995529}h=q[d>>2];f=b+1|0;q[e>>2]=f;q[((b<<2)+a|0)+5412>>2]=h+288;if(q[a+6512>>2]!=1|c?(c|0)!=1:0){break a}c=q[d>>2];q[e>>2]=b+2;q[((f<<2)+a|0)+5412>>2]=c+74496;return 0}if(g){$l(g+156512|0)}Wa(d);g=0}return g}function Dn(a){var b=0,c=0,d=0,i=0,j=0;h(+a);b=e(1)|0;e(0)|0;d=b;b=b&2147483647;if(b>>>0>=2146435072){return a+a}i=715094163;a:{if(b>>>0<=1048575){i=696219795;h(+(a*0x40000000000000));b=e(1)|0;e(0)|0;d=b;b=b&2147483647;if(!b){break a}}j=a;f(0,0);f(1,((b>>>0)/3|0)+i|d&-2147483648);c=+g();a=c*c*(c/a);h(+((a*(a*a)*(a*.14599619288661245+ -.758397934778766)+(a*(a*1.6214297201053545+ -1.8849797954337717)+1.87595182427177))*c));b=e(1)|0;d=(e(0)|0)+ -2147483648|0;if(d>>>0<2147483648){b=b+1|0}f(0,d&-1073741824);f(1,b|0);a=+g();c=j/(a*a);a=(c-a)/(a+a+c)*a+a}return a}function Ht(a,b){var c=0,d=0,e=0;e=Ca-16|0;Ca=e;a:{b:{c:{if(b>>>0>2147483583){break c}d:{c=b- -64|0;if(t[a+8>>2]>>0){break d}d=q[a+4>>2];if(d){d=q[d>>2];if(o[d+20|0]&1){d=0}else{d=q[d+8>>2]==1}if(!d){break d}}a=q[a>>2];if(!a){break a}Za(a+b|0,0,64);break b}b=c+(c>>>4|0)|0;b=(b>>>0<2147483615?b:2147483615)+32|0;c=a+4|0;e:{if(q[a+4>>2]){lb(c);break e}Ya(q[a>>2])}c=nb(b);q[a>>2]=c;if(!c){break c}q[a+8>>2]=b;break b}q[a+8>>2]=0;if(q[a+4>>2]){lb(a+4|0);q[a>>2]=0;break b}Wa(a)}Ca=e+16|0;return}q[e+8>>2]=355;q[e+4>>2]=7801;q[e>>2]=17074;Ta(0,0,4011,e);I();F()}function Fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a-b|0;f=170608-r[(b^-1)+a|0]|0;while(1){if((e|0)!=16){d=r[a+ -1|0]+f|0;o[a|0]=r[d+r[c|0]|0];o[a+1|0]=r[r[c+1|0]+d|0];o[a+2|0]=r[r[c+2|0]+d|0];o[a+3|0]=r[r[c+3|0]+d|0];o[a+4|0]=r[r[c+4|0]+d|0];o[a+5|0]=r[r[c+5|0]+d|0];o[a+6|0]=r[r[c+6|0]+d|0];o[a+7|0]=r[r[c+7|0]+d|0];o[a+8|0]=r[r[c+8|0]+d|0];o[a+9|0]=r[r[c+9|0]+d|0];o[a+10|0]=r[r[c+10|0]+d|0];o[a+11|0]=r[r[c+11|0]+d|0];o[a+12|0]=r[r[c+12|0]+d|0];o[a+13|0]=r[r[c+13|0]+d|0];o[a+14|0]=r[r[c+14|0]+d|0];o[a+15|0]=r[r[c+15|0]+d|0];e=e+1|0;a=a+b|0;continue}break}}function Pw(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=q[a+20>>2]+q[a+16>>2]|0;g=q[a+8>>2];f=q[a+4>>2];h=g-f|0;if((d|0)==((h?w(h>>2,170)+ -1|0:0)|0)){xw(a);g=q[a+8>>2];f=q[a+4>>2];d=q[a+16>>2]+q[a+20>>2]|0}if((f|0)!=(g|0)){e=(d>>>0)/170|0;e=q[(e<<2)+f>>2]+w(d-w(e,170)|0,24)|0}d=q[c+4>>2];f=q[d+12>>2];b=q[b>>2];g=q[c+8>>2];q[e+16>>2]=q[c+12>>2];q[e+12>>2]=g;q[e>>2]=b;q[e+8>>2]=d;q[d+12>>2]=f+2;q[e+4>>2]=1580;c=f+1|0;if(o[d+11|0]<=-1){b=q[d>>2]}else{b=d}o[e+20|0]=(r[b+g|0]&240)==16;q[d+12>>2]=c;if(!(c|!d)){if(o[d+11|0]<=-1){Ya(q[d>>2])}Ya(d)}q[a+20>>2]=q[a+20>>2]+1}function Uo(a,b){var c=0,d=0,e=0;e=Ca-16|0;Ca=e;c=q[a+4>>2];d=q[c+4>>2];a:{if(q[d+12>>2]){q[b+80>>2]=q[c+36>>2];d=Jb(a);q[b+376>>2]=d;a=-48;if(!d){break a}d=Cd();q[e+12>>2]=d;if(!d){break a}a=Uo(q[q[c+4>>2]+12>>2],d);if((a|0)<=-1){wb(e+12|0);break a}a=wG(b,d,q[q[c+4>>2]+16>>2]);if(a){q[e>>2]=a;Ta(c,16,8644,e);wb(e+12|0);break a}wb(e+12|0);a=0;break a}if(!q[q[d>>2]+60>>2]){a=-52;break a}if(!q[c+28>>2]){a=-28;break a}a=Jb(a);q[b+376>>2]=a;if(!a){a=-48;break a}a=0;c=n[q[q[q[c+4>>2]>>2]+60>>2]](c,b)|0;if((c|0)>-1){break a}lb(b+376|0);a=c}Ca=e+16|0;return a}function XC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;a=0;w=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(w|0)){f=r[b|0]-r[c|0]|0;g=f>>31;h=r[b+1|0]-r[c+1|0]|0;i=h>>31;j=r[b+2|0]-r[c+2|0]|0;k=j>>31;l=r[b+3|0]-r[c+3|0]|0;m=l>>31;n=r[b+4|0]-r[c+4|0]|0;o=n>>31;p=r[b+5|0]-r[c+5|0]|0;q=p>>31;s=r[b+6|0]-r[c+6|0]|0;t=s>>31;u=r[b+7|0]-r[c+7|0]|0;v=u>>31;a=((((((((g^g+f)+a|0)+(i^i+h)|0)+(k^k+j)|0)+(m^m+l)|0)+(o^o+n)|0)+(q^q+p)|0)+(t^t+s)|0)+(v^v+u)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function dR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=a-d|0;g=r[f+2|0];h=g+2|0;i=r[f+1|0];j=i+2|0;k=r[f+7|0];l=k;e=r[f|0];i=((e+h|0)+(i<<1)>>>2)+((j+r[(b?d^-1:0-d|0)+a|0]|0)+(e<<1)>>>2)|0;b=r[f+3|0];e=r[f+4|0];h=i+(b+(j+(g<<1)|0)>>>2|0)+(e+(h+(b<<1)|0)>>>2)|0;j=(e<<1)+b|0;b=r[f+5|0];g=(b<<1)+e|0;e=r[f+6|0];b=h+((j+b|0)+2>>>2|0)+((g+e|0)+2>>>2)+((k+(b+(e<<1)|0)|0)+2>>>2)|0;if(c){l=r[f+8|0]}b=w(((((e+(k<<1)|0)+l|0)+2>>>2|0)+b|0)+4>>3,16843009);while(1){if((m|0)!=8){q[a+4>>2]=b;q[a>>2]=b;m=m+1|0;a=a+d|0;continue}break}}function Vv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a=0;g=Za(c,0,10240);f=q[b+76>>2];j=(e<<13)+d|0;while(1){c=8;if((a|0)!=(f|0)){while(1){if((c|0)!=40){h=(w(a,320)+g|0)+(c<<3)|0;i=(((c<<8)+j|0)+(a<<3)|0)+ -2048|0;q[h>>2]=q[i>>2];q[h+4>>2]=q[i+4>>2];c=c+1|0;continue}break}a=a+1|0;continue}break}b=q[b+72>>2];a=0;d=(1-e<<13)+d|0;while(1){c=0;if((a|0)!=(b|0)){while(1){if((c|0)!=8){e=(w(a,320)+g|0)+(c<<3)|0;f=(d+(c<<8)|0)+(a<<3)|0;q[e>>2]=q[f+6144>>2];q[e+4>>2]=q[f+6148>>2];c=c+1|0;continue}break}a=a+1|0;continue}break}return 0}function eA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(xb(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(xb(a,q[b>>2],e)){if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+32>>2]=d;b:{if(q[b+44>>2]==4){break b}p[b+52>>1]=0;a=q[a+8>>2];n[q[q[a>>2]+20>>2]](a,b,c,c,1,e);if(r[b+53|0]){q[b+44>>2]=3;if(!r[b+52|0]){break b}break a}q[b+44>>2]=4}q[b+20>>2]=c;q[b+40>>2]=q[b+40>>2]+1;if(q[b+36>>2]!=1|q[b+24>>2]!=2){break a}o[b+54|0]=1;return}a=q[a+8>>2];n[q[q[a>>2]+24>>2]](a,b,c,d,e)}}function Ue(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=x(0);e=Za(a,0,68);q[e+60>>2]=0;g=1<>2]=g;q[e+20>>2]=b;a:{b:{if((Fl(e,b+ -2|0,c)|0)<0){break b}f=md((g|0)/2|0,4);q[e+24>>2]=f;if(!f){break b}a=q[e+60>>2];if(a>>>0>1){break b}c=g>>2;c:{if(a-1){h=f+(c<<2)|0;q[e+28>>2]=h;b=1;break c}h=f+4|0;q[e+28>>2]=h;b=2}j=d<0?+(c|0)+.125:.125;e=(c|0)>0?c:0;k=+(g|0);i=E(y(d));a=0;while(1){if((a|0)==(e|0)){break a}c=w(a,b)<<2;d=(j+ +(a|0))*6.283185307179586/k;l=c+f|0,m=x(i*-db(d)),u[l>>2]=m;l=c+h|0,m=x(i*-ce(d)),u[l>>2]=m;a=a+1|0;continue}}te(e)}}function kR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a-c|0;d=r[e+3|0];j=r[b+3|0];h=r[b+2|0];i=r[b+1|0];b=r[b|0];f=r[e+2|0];k=f+2|0;g=r[e+1|0];o[a|0]=(k+r[e|0]|0)+(g<<1)>>>2;e=a+c|0;l=d+2|0;f=(g+l|0)+(f<<1)>>>2|0;o[e|0]=f;o[a+1|0]=f;g=c<<1;f=g+a|0;d=(b+k|0)+(d<<1)>>>2|0;o[f|0]=d;o[e+1|0]=d;o[a+2|0]=d;c=w(c,3)+a|0;d=(i+l|0)+(b<<1)>>>2|0;o[c|0]=d;o[(g|1)+a|0]=d;o[e+2|0]=d;o[a+3|0]=d;a=((b+h|0)+(i<<1)|0)+2>>>2|0;o[c+1|0]=a;o[f+2|0]=a;o[e+3|0]=a;a=((i+j|0)+(h<<1)|0)+2>>>2|0;o[c+2|0]=a;o[f+3|0]=a;o[c+3|0]=(w(j,3)+h|0)+2>>>2}function Nl(a,b){var c=0,d=0,e=0,f=0;d=q[a+28>>2];c=-28;a:{if(!q[a+28>>2]){break a}e=q[a+12>>2];f=0;b:{if(!e){break b}f=q[e+92>>2]?1:q[e+108>>2]!=0}if(!f){break a}c=-541478725;if(q[q[a+28>>2]+64>>2]){break a}if(!(q[b+28>>2]|!b)){c=-28;if(q[b+24>>2]){break a}}Wd(q[d+68>>2]);if(!(!b|(q[b+44>>2]?0:!q[b+24>>2]))){c=mv(q[d+68>>2],b);if((c|0)<0){break a}}b=Pl(q[q[d+32>>2]>>2],q[d+68>>2]);if((b|0)<=-1){Wd(q[d+68>>2]);return b}b=q[d+76>>2];c:{if(q[b+248>>2]){break c}c=Ml(a,b);if((c|0)>-1|(c|0)==-6){break c}if((c|0)!=-541478725){break a}}c=0}return c}function zE(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=q[a+24312>>2];d=q[a+26388>>2];e=q[((d|0)==3?c+84|0:(c+(((d|0)==2)<<2)|0)+76|0)>>2];f=q[b+25364>>2];a:{if(!q[a+26384>>2]){break a}d=0;while(1){if((d|0)==2){break a}c=d<<2;g=q[(c+q[b+25372>>2]|0)+76>>2];h=q[(c+q[a+24312>>2]|0)+76>>2];c=0;while(1){if(c>>>0>2]<<1>>>0){i=(((d<<7)+b|0)+((c^d)<<2)|0)+21996|0,j=Eo(b,h,g,c+16|0),q[i>>2]=j;c=c+1|0;continue}break}d=d+1|0;continue}}c=0;while(1){if(c>>>0>2]){i=((c<<2)+b|0)+21868|0,j=Eo(b,e,f,c),q[i>>2]=j;c=c+1|0;continue}break}}function zA(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=Ca-16|0;Ca=h;if((b^-1)+ -17>>>0>=c>>>0){if(o[a+11|0]<0){j=q[a>>2]}else{j=a}a:{if(2147483623>b>>>0){q[h+8>>2]=b<<1;q[h+12>>2]=b+c;c=Ca-16|0;Ca=c;Ca=c+16|0;c=h+8|0;i=h+12|0;c=q[(t[i>>2]>2]?c:i)>>2];if(c>>>0>=11){i=c+16&-16;c=i+ -1|0;c=(c|0)==11?i:c}else{c=10}break a}c=-18}i=c+1|0;c=Zm(i);if(e){mf(c,j,e)}if(f){mf(c+e|0,g,f)}g=d-e|0;if(g){mf((c+e|0)+f|0,e+j|0,g)}if((b|0)!=10){Ya(j)}q[a>>2]=c;q[a+8>>2]=i|-2147483648;b=a;a=d+f|0;q[b+4>>2]=a;o[h+7|0]=0;o[a+c|0]=r[h+7|0];Ca=h+16|0;return}nf();F()}function ab(a,b,c){var d=0,e=0,f=0;while(1){if((f|0)!=13){d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);e=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=e;o[a+1|0]=e>>>8;o[a+2|0]=e>>>16;o[a+3|0]=e>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;d=r[b+12|0]|r[b+13|0]<<8|(r[b+14|0]<<16|r[b+15|0]<<24);e=r[b+8|0]|r[b+9|0]<<8|(r[b+10|0]<<16|r[b+11|0]<<24);o[a+8|0]=e;o[a+9|0]=e>>>8;o[a+10|0]=e>>>16;o[a+11|0]=e>>>24;o[a+12|0]=d;o[a+13|0]=d>>>8;o[a+14|0]=d>>>16;o[a+15|0]=d>>>24;f=f+1|0;b=b+c|0;a=a+16|0;continue}break}}function Rc(a){var b=0,c=0,d=0,e=0,f=0;d=q[a>>2];c=q[a+8>>2];b=d+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;q[d+8>>2]=c+r[a+150384|0];return o[a+151408|0]}e=d;f=c;c=b>>>0>65535;d=c<<4;b=c?b>>>16|0:b;c=b&65280;c=(c?d|8:d)+r[(c?b>>>8|0:b)+47648|0]|0;d=(f-c|0)+31|0;b=e+(d>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+8>>2]=(d-c|0)+32;b=(b<<8&16711680|b<<24|(b>>>8&65280|b>>>24))<<(d&7)>>>c|0;a=b&1;return a+(0-a^b>>>1)|0}function zo(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=Ca-32|0;Ca=e;a:{b:{c:{if(c&32768){break c}c=0;while(1){if((c|0)==4){break c}h=a+c|0;f=o[h+12|0];g=o[f+168736|0];if(249>>>f&1){q[e+16>>2]=g;Ta(b,16,9960,e+16|0);break b}if(253>>>f&1){o[h+12|0]=g}c=c+1|0;continue}}f=0;if((d&34952)==34952){break a}c=0;while(1){if((c|0)==4){break a}d:{if(q[(c<<2)+168768>>2]&d){break d}i=(c<<3)+a|0;g=o[i+12|0];h=o[g+168748|0];if(370>>>g&1){q[e>>2]=h;Ta(b,16,11075,e);break b}if(!(886>>>g&1)){break d}o[i+12|0]=h}c=c+1|0;continue}}f=-1094995529}Ca=e+32|0;return f}function ND(a,b){var c=0,d=0,e=0,f=0;e=a,f=cd(b),q[e+4>>2]=f;c=Xa(b);q[a+8>>2]=c;q[a>>2]=!c;if(!c){e=a,f=Ua(b,7),q[e+12>>2]=f;e=a,f=Xa(b),q[e+24>>2]=f;e=a,f=Ua(b,6),q[e+20>>2]=f;c=q[b+8>>2]+3|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;e=a,f=Xa(b),q[e+28>>2]=f;c=q[b+8>>2]+2|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;if(!(q[a+24>>2]|q[a+12>>2]==5)){c=q[b+8>>2]+16|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d}c=q[b+8>>2]+8|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;e=a,f=cd(b),q[e+16>>2]=f}c=b;a=q[b+8>>2]+1|0;b=q[b+16>>2];q[c+8>>2]=b>>>0>a>>>0?a:b}function Qb(a,b,c){var d=0,e=0;while(1){if((e|0)!=21){d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=d;o[a+1|0]=d>>>8;o[a+2|0]=d>>>16;o[a+3|0]=d>>>24;d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;d=r[b+8|0]|r[b+9|0]<<8|(r[b+10|0]<<16|r[b+11|0]<<24);o[a+8|0]=d;o[a+9|0]=d>>>8;o[a+10|0]=d>>>16;o[a+11|0]=d>>>24;d=r[b+12|0]|r[b+13|0]<<8|(r[b+14|0]<<16|r[b+15|0]<<24);o[a+12|0]=d;o[a+13|0]=d>>>8;o[a+14|0]=d>>>16;o[a+15|0]=d>>>24;e=e+1|0;b=b+c|0;a=a+16|0;continue}break}}function Cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;f=za()|0;c=q[b+140>>2];g=(c>>>0)/170|0;h=q[q[b+128>>2]+(g<<2)>>2];d=L(1915)|0;q[e+8>>2]=q[h+w(c-w(g,170)|0,24)>>2];c=R(206480,e+8|0)|0;X(f|0,d|0,c|0);J(c|0);J(d|0);c=(q[b+144>>2]+q[b+140>>2]|0)+ -1|0;g=(c>>>0)/170|0;h=q[q[b+128>>2]+(g<<2)>>2];d=L(1921)|0;q[e+8>>2]=q[h+w(c-w(g,170)|0,24)>>2];c=R(206480,e+8|0)|0;X(f|0,d|0,c|0);J(c|0);J(d|0);d=q[b+144>>2];b=L(1926)|0;q[e+8>>2]=d;d=R(206492,e+8|0)|0;X(f|0,b|0,d|0);J(d|0);J(b|0);q[a>>2]=f;T(f|0);J(f|0);Ca=e+16|0}function Tl(a,b){var c=0,d=0,e=0,f=0;c=b;d=q[c+12>>2];q[a+8>>2]=q[c+8>>2];q[a+12>>2]=d;d=q[c+20>>2];q[a+16>>2]=q[c+16>>2];q[a+20>>2]=d;d=q[c+60>>2];q[a+56>>2]=q[c+56>>2];q[a+60>>2]=d;d=q[c+52>>2];q[a+48>>2]=q[c+48>>2];q[a+52>>2]=d;d=q[c+68>>2];q[a+64>>2]=q[c+64>>2];q[a+68>>2]=d;q[a+36>>2]=q[c+36>>2];c=q[c+32>>2];q[a+40>>2]=0;q[a+44>>2]=0;q[a+32>>2]=c;c=0;while(1){a:{if((c|0)>2]){d=q[b+40>>2]+w(c,12)|0;f=q[d>>2];e=q[d+8>>2];d=q[d+4>>2];e=pv(a,e,d);if(e){break a}qj(a);a=-48}else{a=0}return a}Va(e,f,d);c=c+1|0;continue}}function Ac(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(g|0)>0?g:0;while(1){if((k|0)!=(n|0)){i=w(d,k)+a|0;l=q[i>>2];g=w(f,k)+c|0;j=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);h=w(e,k)+b|0;m=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);j=(j|m)-((j^m)>>>1&2139062143)|0;q[i>>2]=(j|l)-((j^l)>>>1&2139062143);j=i;i=q[i+4>>2];h=r[h+4|0]|r[h+5|0]<<8|(r[h+6|0]<<16|r[h+7|0]<<24);g=r[g+4|0]|r[g+5|0]<<8|(r[g+6|0]<<16|r[g+7|0]<<24);g=(h|g)-((g^h)>>>1&2139062143)|0;q[j+4>>2]=(i|g)-((g^i)>>>1&2139062143);k=k+1|0;continue}break}}function ch(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=rc(ub(q[a>>2])+1|0);if(h){f=q[a>>2];d=de(f,5531)+f|0;c=h;g=c;while(1){a:{e=r[d|0];if(!e){break a}if(de(d,b)){break a}f=d+1|0;b:{c:{if((e|0)!=92){if((e|0)!=39){break b}while(1){d=f+1|0;e=r[f|0];if(!e|(e|0)==39){break c}o[c|0]=e;c=c+1|0;f=d;continue}}i=r[f|0];if(!i){break b}o[c|0]=i;d=d+2|0;c=c+1|0;g=c;continue}d=e?d:f;g=e?c:g;continue}o[c|0]=e;c=c+1|0;d=f;continue}break}while(1){d:{o[c|0]=0;c=c+ -1|0;if(c>>>0>>0){break d}if(de(c,5531)){continue}}break}q[a>>2]=d}return h}function Sw(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0;e=b+88256|0;f=b+14048|0;o=q[b+368>>2];while(1){if((g|0)>2]){i=b+g|0;c=0;while(1){if(c>>>0>2]>12|t[d+80368>>2]>12){break a}j=(c<<1)+o|0;p=j;d=0;while(1){if(d>>>0>=r[i+308|0]){break a}k=s[j>>1];l=k<<2;m=d<<9;n[q[q[a+5404>>2]+32>>2]](l+(m+f|0)|0,(e+m|0)+l|0,s[p+2>>1]-k|0);d=d+1|0;continue}}h=h+1|0;c=c+1|0;continue}break}g=g+1|0;c=r[i+308|0]<<9;e=c+e|0;f=c+f|0;continue}break}}function vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=x(0),g=0,h=0,i=x(0),j=0,k=0,l=x(0),m=x(0),n=0,o=x(0),p=x(0),q=x(0),r=x(0),s=0;s=(e|0)>0?e:0;while(1){if((h|0)!=(s|0)){j=(h<<6)+c|0;f=u[j+48>>2];i=x(f*u[b+52>>2]);f=x(f*u[b+48>>2]);e=0;while(1){if((e|0)!=6){g=e<<3;k=g+j|0;l=u[k>>2];g=b+g|0;m=u[g+4>>2];n=(12-e<<3)+b|0;o=u[n+4>>2];p=u[g>>2];q=u[n>>2];r=u[k+4>>2];i=x(i+x(x(l*x(m+o))+x(x(p-q)*r)));f=x(f+x(x(x(p+q)*l)+x(x(o-m)*r)));e=e+1|0;continue}break}e=(w(d,h)<<3)+a|0;u[e+4>>2]=i;u[e>>2]=f;h=h+1|0;continue}break}}function vb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=q[a+16>>2];c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;b=c+r[a+150384|0]|0;q[d+8>>2]=e>>>0>b>>>0?b:e;return r[a+150896|0]}f=a;g=c;a=b>>>0>65535;c=a<<4;h=c|8;d=c;a=a?b>>>16|0:b;c=a&65280;a=(c?h:d)+r[(c?a>>>8|0:a)+47648|0]|0;c=a<<1;d=(g-c|0)+63|0;q[f+8>>2]=e>>>0>d>>>0?d:e;if(a>>>0<=18){Ta(0,16,34450,0);return-1094995529}return(b>>>c+ -31|0)+ -1|0}function or(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<6|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<16384?h:(h>>31^-1)&16383;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function bo(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=q[a+16>>2];c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;b=c+r[a+150384|0]|0;q[d+8>>2]=e>>>0>b>>>0?b:e;return r[a+150896|0]}f=a;g=c;a=b>>>0>65535;c=a<<4;h=c|8;d=c;a=a?b>>>16|0:b;c=a&65280;a=(c?h:d)+r[(c?a>>>8|0:a)+47648|0]|0;c=a<<1;d=(g-c|0)+63|0;q[f+8>>2]=e>>>0>d>>>0?d:e;if(a>>>0<=18){Ta(0,16,28790,0);return-1094995529}return(b>>>c+ -31|0)+ -1|0}function Si(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=q[a+16>>2];c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;b=c+r[a+150384|0]|0;q[d+8>>2]=e>>>0>b>>>0?b:e;return r[a+150896|0]}f=a;g=c;a=b>>>0>65535;c=a<<4;h=c|8;d=c;a=a?b>>>16|0:b;c=a&65280;a=(c?h:d)+r[(c?a>>>8|0:a)+47648|0]|0;c=a<<1;d=(g-c|0)+63|0;q[f+8>>2]=e>>>0>d>>>0?d:e;if(a>>>0<=18){Ta(0,16,20553,0);return-1094995529}return(b>>>c+ -31|0)+ -1|0}function vF(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=b+ -17|0;g=f>>>0>5;h=(b|0)==8;while(1){if((c|0)==256){return}i=(c<<2)+a|0;a:{b:{if(g){d=c;e=c;b=c;if(h){break b}break a}c:{switch(f-1|0){case 2:d=w(c>>>2&7,36);e=w(c&3,85);b=w(c>>>5|0,36);break b;default:d=w(c>>>3&7,36);e=w(c>>>6|0,85);b=w(c&7,36);break b;case 4:d=w(c>>>1&3,85);e=w(c&1,255);b=w(c>>>3|0,255);break b;case 0:case 3:break a;case 1:break c}}d=w(c>>>1&3,85);e=w(c>>>3|0,255);b=w(c&1,255)}q[i>>2]=(((b<<16)+(d<<8)|0)+e|0)+ -16777216;c=c+1|0;continue}break}}function Kc(a,b){var c=0,d=0,e=0,f=0;c=Ca+ -64|0;Ca=c;d=q[a>>2];e=q[d+ -4>>2];f=q[d+ -8>>2];q[c+20>>2]=0;q[c+16>>2]=206008;q[c+12>>2]=a;q[c+8>>2]=b;d=0;Za(c+24|0,0,39);a=a+f|0;a:{if(xb(e,b,0)){q[c+56>>2]=1;n[q[q[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=q[c+32>>2]==1?a:0;break a}n[q[q[e>>2]+24>>2]](e,c+8|0,a,1,0);a=q[c+44>>2];if(a>>>0>1){break a}if(a-1){d=q[c+48>>2]==1?q[c+36>>2]==1?q[c+40>>2]==1?q[c+28>>2]:0:0:0;break a}if(q[c+32>>2]!=1){if(q[c+48>>2]|q[c+36>>2]!=1|q[c+40>>2]!=1){break a}}d=q[c+24>>2]}Ca=c- -64|0;return d}function Lk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{if(!a){break a}e=c?(c-q[a+4>>2]>>3)+1|0:e;c=q[a>>2];j=e>>>0>c>>>0?e:c;k=d&1;l=!(d&2);while(1){if((e|0)==(j|0)){break a}h=q[a+4>>2];i=q[h+(e<<3)>>2];d=0;b:{if(k){while(1){c=r[b+d|0];f=r[d+i|0];if((c|0)!=(f|0)){break b}d=d+1|0;if(c){continue}break b}}while(1){f=o[d+i|0];c=r[b+d|0];if(!c){break b}d=d+1|0;g=c<<24>>24;if(((f+ -97>>>0<26?f^32:f)|0)==((g+ -97>>>0<26?g^32:g)|0)){continue}break}}if((f&255)!=0&l|c){e=e+1|0;continue}else{return(e<<3)+h|0}}}return 0}function iD(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=q[a+24>>2];b=15<>2]=c;f=1;a:{if(!c){break a}e=md(b,4);q[a+20>>2]=e;if(!e){break a}b=1<0?b:0;b=0;while(1){if((b|0)==(m|0)){break a}g=w(b,15);h=w(b,l);n=w(h,15);o=q[a+16>>2];c=0;while(1){if((c|0)!=15){i=c<>2]=(w(((i|0)/15|0)+b>>d,-15)+c<>d,-15)<>2]=b+i;c=c+1|0;continue}break}b=b+1|0;continue}}return f}function UD(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ca-16|0;Ca=d;q[a+27768>>2]=0;q[a+27772>>2]=0;g=a+4|0;a:{while(1){if(e>>>0>=t[a+23412>>2]){break a}b:{c:{if(!Xa(g)){break c}c=(e<<2)+a|0;h=c+27768|0;j=c+23404|0;c=0;while(1){f=Cc(g);if((f|0)==3){break c}if(c>>>0>=t[j>>2]){Ta(b,16,17270,0);break b}if(f>>>0>=3){q[d>>2]=f;Ta(b,16,18078,d);break b}else{k=cd(g);i=((e<<8)+a|0)+(c<<3)|0;o[i+27256|0]=f;q[i+27260>>2]=k;q[h>>2]=q[h>>2]+1;c=c+1|0;continue}}}e=e+1|0;continue}break}l=-1094995529}Ca=d+16|0;return l}function cs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<2|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<1024?h:(h>>31^-1)&1023;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function bf(a){var b=0,c=0,d=0;Wa(a+25740|0);Wa(a+26404|0);Wa(a+26400|0);Wa(a+26408|0);Wa(a+26412|0);Wa(a+26416|0);Wa(a+25980|0);Wa(a+28236|0);q[a+26380>>2]=0;Wa(a+26396|0);Wa(a+26368|0);Wa(a+26372|0);Yc(a+30012|0);Yc(a+30016|0);Yc(a+30020|0);Yc(a+30024|0);while(1){if((c|0)>2]){b=q[a+25628>>2]+w(c,34768)|0;Wa(b+27784|0);Wa(b+572|0);Wa(b+604|0);Wa(b+608|0);Wa(b+27788|0);Wa(b+27792|0);Wa(b+27796|0);Wa(b+27800|0);d=b+27812|0;q[d>>2]=0;q[d+4>>2]=0;q[b+27804>>2]=0;q[b+27808>>2]=0;c=c+1|0;continue}break}}function Jr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<4|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<4096?h:(h>>31^-1)&4095;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function OA(a,b,c,d){var e=0,f=0,g=0,h=0;g=-1;e=d&2147483647;h=e;f=c;a:{if(!c&(e|0)==2147418112?a|b:(e|0)==2147418112&c>>>0>0|e>>>0>2147418112){break a}if(!(a|f|(h|1073610752|b))){return 0}f=d&1073610752;if((f|0)>0?1:(f|0)>=0?1:0){if(!c&(d|0)==1073610752?!b&a>>>0<0|b>>>0<0:(d|0)<1073610752?1:(d|0)<=1073610752?c>>>0>=0?0:1:0){break a}return(a|c)!=0|(d^1073610752|b)!=0}if(!c&(d|0)==1073610752?!b&a>>>0>0|b>>>0>0:(d|0)>1073610752?1:(d|0)>=1073610752?c>>>0<=0?0:1:0){break a}g=(a|c)!=0|(d^1073610752|b)!=0}return g}function Re(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+ -64|0;b=c&31;if(32<=(c&63)>>>0){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;j=64-f|0;g=j&31;if(32<=(j&63)>>>0){h=i<>>32-g|h<>>0){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if(32<=(f&63)>>>0){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}q[a>>2]=b;q[a+4>>2]=c;q[a+8>>2]=d;q[a+12>>2]=e}function zs(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<1|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+4>>1],g)|0)+w(s[a+4>>1],f)>>d;p[a+4>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+6>>1],g)|0)+w(s[a+6>>1],f)>>d;p[a+6>>1]=h>>>0<512?h:(h>>31^-1)&511;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Tq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){if((m|0)!=4){f=o[e+m|0];a:{if((f|0)<1){break a}n=a+ -1|0;g=r[n|0];k=r[a|0];i=g-k|0;h=i>>31;if((h^h+i)>=(c|0)){break a}i=r[a+ -2|0];j=i-g|0;h=j>>31;if((h^h+j)>=(d|0)){break a}j=r[a+1|0];l=j-k|0;h=l>>31;if((h^h+l)>=(d|0)){break a}l=g;h=0-f|0;g=((i-j|0)+(k-g<<2)|0)+4>>3;g=(g|0)<(h|0)?h:(g|0)>(f|0)?f:g;f=l+g|0;o[n|0]=f>>>0>255?f>>31^-1:f;f=k-g|0;o[a|0]=f>>>0>255?f>>31^-1:f}m=m+1|0;a=a+b|0;continue}break}}function bE(a,b){var c=0,d=0;aE(a,b);c=a+173828|0;q[c>>2]=0;q[c+4>>2]=0;c=a+173820|0;q[c>>2]=0;q[c+4>>2]=0;q[a+173812>>2]=0;q[a+173816>>2]=0;if(q[a+64>>2]){$D(a,b)}a:{if(!q[b+16>>2]){break a}while(1){if((d|0)!=6){c=q[((d<<2)+a|0)+173788>>2];b=0;while(1){if((b|0)!=16){q[c+(b<<2)>>2]=64;b=b+1|0;continue}break}d=d+1|0;continue}break}if(!q[a+64>>2]){break a}d=0;while(1){if((d|0)==6){break a}c=q[((d<<2)+a|0)+173812>>2];b=0;while(1){if((b|0)!=64){q[c+(b<<2)>>2]=64;b=b+1|0;continue}break}d=d+1|0;continue}}}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-16|0;Ca=c;d=q[b>>2];e=L(1432)|0;d=U(d|0,e|0)|0;J(e|0);f=+S(d|0,206384,c+8|0);P(q[c+8>>2]);J(d|0);a:{if(f!=0){a=q[a+4>>2];b:{if(o[216552]&1){break b}if(!Mc(216552)){break b}g=216548,h=M(1,1236)|0,q[g>>2]=h;Lc(216552)}O(q[54137],a|0,1149,c+8|0);break a}b=q[b>>2];q[c>>2]=b;T(b|0);jl(a,c);J(q[c>>2]);a=q[a+4>>2];c:{if(o[216552]&1){break c}if(!Mc(216552)){break c}g=216548,h=M(1,1236)|0,q[g>>2]=h;Lc(216552)}O(q[54137],a|0,1437,c+8|0)}Ca=c+16|0}function Cj(a){var b=0,c=0,d=0,e=0;e=q[a+24>>2];while(1){c=0;if((b|0)!=4){while(1){if((c|0)!=16){d=q[(((b<<6)+e|0)+(c<<2)|0)+492>>2];if(d){q[d+148672>>2]=d+98496;q[d+74464>>2]=d+24288}c=c+1|0;continue}break}b=b+1|0;continue}break}pc(q[e+8>>2]);a:{if(!q[a+348>>2]){b=1;break a}b=q[e+8>>2];q[b+76>>2]=2048;b=Kl(a,b,0);if((b|0)<0){break a}a=q[a+348>>2];a=(a|0)>0?a:0;while(1){if((a|0)==(c|0)){return 0}b=c<<2;d=q[(b+e|0)+5412>>2];if(d){q[d+74176>>2]=q[b+q[q[e+8>>2]+64>>2]>>2]}c=c+1|0;continue}}return b}function de(a,b){var c=0,d=0,e=0;e=Ca-32|0;c=e;q[c+24>>2]=0;q[c+28>>2]=0;q[c+16>>2]=0;q[c+20>>2]=0;q[c+8>>2]=0;q[c+12>>2]=0;q[c>>2]=0;q[c+4>>2]=0;d=r[b|0];if(!d){return 0}if(!r[b+1|0]){b=a;while(1){c=b;b=c+1|0;if(r[c|0]==(d|0)){continue}break}return c-a|0}while(1){c=(d>>>3&28)+e|0;q[c>>2]=q[c>>2]|1<<(d&31);d=r[b+1|0];b=b+1|0;if(d){continue}break}c=a;d=r[c|0];a:{if(!d){break a}b=a;while(1){if(!(q[(d>>>3&28)+e>>2]>>>(d&31)&1)){c=b;break a}d=r[b+1|0];c=b+1|0;b=c;if(d){continue}break}}return c-a|0}function Rb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if(32<=(e&63)>>>0){e=d<>>32-b|c<>>0){h=g<>>32-d|e<>>0){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=j|d;e=f|h;f=b;b=i&31;if(32<=(i&63)>>>0){h=f<>>32-b|c<>2]=b;q[a+4>>2]=c;q[a+8>>2]=d;q[a+12>>2]=e}function Eu(a,b){var c=0,d=0,e=0,f=0,g=0;f=Ca-16|0;Ca=f;a:{if(q[a+8>>2]){break a}c=Bm(q[b+80>>2]);e=q[b+80>>2];e=e>>>0>195?0:w(e,152)+59184|0;d=0;b:{if(!e){break b}d=q[e+8>>2]}c=(c|0)==1?d&2?2:1:c;c=d&64?q[b+4>>2]?2:c:c;d=0;e=(c|0)>0?c:0;while(1){if((d|0)==(e|0)){d=(c|0)<1;while(1){if(c>>>0>7|d){break a}e=(c<<2)+b|0;if(q[e>>2]){Ta(a,16,42805,0)}q[e>>2]=0;c=c+1|0;continue}}g=d<<2;d=d+1|0;if(q[b+g>>2]){continue}break}q[f+8>>2]=1858;q[f+4>>2]=20914;q[f>>2]=42678;Ta(0,0,19766,f);I();F()}Ca=f+16|0}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=x(0),g=x(0),h=x(0),i=x(0),j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=x(0);e=(e|0)>0?e:0;o=u[d+12>>2];p=u[d+8>>2];q=u[d+4>>2];r=u[d>>2];f=u[c+12>>2];g=u[c+8>>2];h=u[c+4>>2];i=u[c>>2];while(1){if((e|0)!=(j|0)){d=j<<3;c=d+b|0;k=u[c>>2];d=a+d|0;l=u[d+4>>2];i=x(r+i);g=x(p+g);m=u[c+4>>2];u[d+4>>2]=x(i*l)+x(g*m);n=u[d>>2];u[d>>2]=x(i*n)+x(g*k);h=x(q+h);f=x(o+f);u[c+4>>2]=x(l*h)+x(m*f);u[c>>2]=x(h*n)+x(f*k);j=j+1|0;continue}break}}function dn(a,b){var c=0,d=0,g=0,h=0,i=0,l=0;g=Ca-16|0;Ca=g;h=(j(a),e(0));c=h&2147483647;a:{if(c>>>0<=1305022426){i=+a;d=i*.6366197723675814+6755399441055744+ -6755399441055744;v[b>>3]=i+d*-1.5707963109016418+d*-1.5893254773528196e-8;if(y(d)<2147483648){c=~~d;break a}c=-2147483648;break a}if(c>>>0>=2139095040){v[b>>3]=x(a-a);c=0;break a}l=c;c=(c>>>23|0)+ -150|0;v[g+8>>3]=(f(0,l-(c<<23)|0),k());c=en(g+8|0,g,c,1,0);d=v[g>>3];if((h|0)<=-1){v[b>>3]=-d;c=0-c|0;break a}v[b>>3]=d}Ca=g+16|0;return c}function sf(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{d:{if(!c|!(a&3)){break d}e=b&255;while(1){if((e|0)==r[a|0]){break c}a=a+1|0;c=c+ -1|0;d=(c|0)!=0;if(!c){break d}if(a&3){continue}break}}if(!d){break b}}if(r[a|0]==(b&255)){break a}e:{if(c>>>0>=4){d=w(b&255,16843009);while(1){e=d^q[a>>2];if((e^-1)&e+ -16843009&-2139062144){break e}a=a+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break b}}b=b&255;while(1){if((b|0)==r[a|0]){break a}a=a+1|0;c=c+ -1|0;if(c){continue}break}}return 0}return a}function Xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=w(c>>1,6)+a|0;b=s[g+ -2>>1];d=c&-2;j=(d<<1)+a|0;e=s[j+ -2>>1];h=s[a+ -2>>1];d=a+d|0;f=s[d+ -2>>1];i=f+1|0;p[a>>1]=h+i>>>1;k=h;h=e+2|0;p[a+2>>1]=(k+h|0)+(f<<1)>>>2;i=e+i>>>1|0;p[d>>1]=i;p[a+4>>1]=i;f=((b+f|0)+(e<<1)|0)+2>>>2|0;p[d+2>>1]=f;p[a+6>>1]=f;e=(b+e|0)+1>>>1|0;p[j>>1]=e;p[d+4>>1]=e;c=(c<<1|2)+a|0;a=(b+h|0)+(b<<1)>>>2|0;p[c>>1]=a;p[d+6>>1]=a;p[g+4>>1]=b;p[g+6>>1]=b;p[j+4>>1]=b;p[g+2>>1]=b;p[g>>1]=b;p[j+6>>1]=b}function Tu(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-32|0;Ca=c;a:{b:{c:{d:{d=q[b+392>>2];e=q[b+396>>2];f=q[b+384>>2];g=q[b+388>>2];if(!(d>>>0>=2147483647-e>>>0|f>>>0>=2147483647-g>>>0|d+e>>>0>=t[b+68>>2])){if(f+g>>>0>2]){break d}}h=q[b+72>>2];q[c+16>>2]=q[b+68>>2];q[c+20>>2]=h;q[c+4>>2]=e;q[c+8>>2]=f;q[c+12>>2]=g;q[c>>2]=d;Ta(a,24,36257,c);a=b+384|0;q[a+8>>2]=0;q[a+12>>2]=0;q[b+384>>2]=0;q[b+388>>2]=0;break c}if(q[a+888>>2]){break b}}a=0;break a}a=WG(b,q[a+60>>2]&1)}Ca=c+32|0;return a}function Li(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=Ca-8208|0;Ca=f;if((c|0)<=1024){e=+b*3.141592653589793/+(c|0);j=e*e;i=(c|0)>0?c:0;e=0;while(1){if((g|0)!=(i|0)){k=j*+(w(c-g|0,g)|0);d=50;h=1;while(1){if(d){h=k*h/+(w(d,d)|0)+1;d=d+ -1|0;continue}break}e=e+h;v[(f+16|0)+(g<<3)>>3]=e;g=g+1|0;continue}break}e=e+1;d=0;while(1){if((d|0)!=(i|0)){u[(d<<2)+a>>2]=E(v[(f+16|0)+(d<<3)>>3]/e);d=d+1|0;continue}break}Ca=f+8208|0;return}q[f+8>>2]=33;q[f+4>>2]=8153;q[f>>2]=6535;Ta(0,0,4487,f);I();F()}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){if((c|0)!=4){d=r[(c-b|0)+a|0]+(r[(w(b,c)+a|0)+ -1|0]+d|0)|0;g=c+4|0;e=r[(g-b|0)+a|0]+e|0;f=r[(w(b,g)+a|0)+ -1|0]+f|0;c=c+1|0;continue}break}g=f+2>>>2|0;f=(e+f|0)+4>>>3|0;e=w(e+2>>>2|0,16843009);d=w(d+4>>>3|0,16843009);c=0;while(1){if((c|0)==4){e=w(f,16843009);f=w(g,16843009);c=4;while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d+4>>2]=e;q[d>>2]=f;c=c+1|0;continue}break}}else{h=w(b,c)+a|0;q[h+4>>2]=e;q[h>>2]=d;c=c+1|0;continue}break}}function EE(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0;while(1){if((a|0)!=7){g=-1<>>7|0:f)+47648|0]|0;c=9-e|0;d=c+a|0;a:{if((d|0)<=8){c=b&65280;e=(8-e<>>((((c|0)!=0)<<3)-a|0)+r[(c?b>>>8|0:b)+47648|0])|0;c=e&1;o[((a<<9)+f|0)+3389952|0]=c+(0-c^e+2>>>1);break a}if(e){o[((a<<9)+f|0)+3389952|0]=108-e;d=c;break a}o[((a<<9)+f|0)+3389952|0]=108;d=8}o[((a<<9)+f|0)+3389953|0]=d;b=b+1|0;continue}break}a=a+1|0;continue}break}}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=b>>1;b=0;while(1){if((b|0)!=4){c=s[((w(b,f)<<1)+a|0)+ -2>>1]+c|0;d=s[((w(b+4|0,f)<<1)+a|0)+ -2>>1]+d|0;b=b+1|0;continue}break}e=$R(c+2>>>2|0,0,65537,65537);g=Da;d=d+2>>>2|0;b=0;while(1){if((b|0)==4){d=$R(d,0,65537,65537);e=Da;b=4;while(1){if((b|0)!=8){c=(w(b,f)<<1)+a|0;q[c+8>>2]=d;q[c+12>>2]=e;q[c>>2]=d;q[c+4>>2]=e;b=b+1|0;continue}break}}else{c=(w(b,f)<<1)+a|0;q[c+8>>2]=e;q[c+12>>2]=g;q[c>>2]=e;q[c+4>>2]=g;b=b+1|0;continue}break}}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Ca-32|0;while(1){if((e|0)==4){while(1){if((g|0)!=2){e=(r[g+154327|0]<<1)+a|0;c=(g<<2)+h|0;d=q[c+8>>2];f=q[c+24>>2];i=d-f|0;j=q[c>>2];c=q[c+16>>2];k=j-c|0;p[e- -64>>1]=w(i+k|0,b)+128>>>8;d=d+f|0;c=c+j|0;p[e>>1]=w(d+c|0,b)+128>>>8;p[e+128>>1]=w(k-i|0,b)+128>>>8;p[e+192>>1]=w(c-d|0,b)+128>>>8;g=g+1|0;continue}break}}else{c=e<<3;d=e<<6;f=p[(d|32)+a>>1];d=p[a+d>>1];q[c+h>>2]=f+d;q[(c|4)+h>>2]=d-f;e=e+1|0;continue}break}}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c&-2;a=a-f|0;e=c>>1;h=w(e,3)<<1;i=e<<3;j=w(e,5)<<1;k=w(e,6)<<1;l=w(e,7)<<1;m=e<<4;c=b;while(1){if((g|0)!=8){d=s[a>>1]+s[c>>1]|0;p[(e<<1)+a>>1]=d;d=d+s[c+32>>1]|0;p[(f<<1)+a>>1]=d;d=d+s[c+64>>1]|0;p[a+h>>1]=d;d=d+s[c+96>>1]|0;p[a+i>>1]=d;d=d+s[c+128>>1]|0;p[a+j>>1]=d;d=d+s[c+160>>1]|0;p[a+k>>1]=d;d=d+s[c+192>>1]|0;p[a+l>>1]=d;p[a+m>>1]=d+s[c+224>>1];g=g+1|0;c=c+4|0;a=a+2|0;continue}break}Za(b,0,256)}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Ca-32|0;while(1){if((e|0)==4){while(1){if((g|0)!=2){e=(r[g+154327|0]<<2)+a|0;c=(g<<2)+h|0;d=q[c+16>>2];f=q[c>>2];i=d+f|0;j=q[c+24>>2];c=q[c+8>>2];k=j+c|0;q[e+384>>2]=w(i-k|0,b)+128>>8;d=f-d|0;c=c-j|0;q[e+256>>2]=w(d-c|0,b)+128>>8;q[e+128>>2]=w(c+d|0,b)+128>>8;q[e>>2]=w(i+k|0,b)+128>>8;g=g+1|0;continue}break}}else{c=e<<3;d=e<<7;f=q[(d|64)+a>>2];d=q[a+d>>2];q[c+h>>2]=f+d;q[(c|4)+h>>2]=d-f;e=e+1|0;continue}break}}function Xs(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=Ca-32|0;Ca=e;while(1){a:{if((c|0)>=q[a+25660>>2]){b=g;break a}d=q[a+25640>>2]+w(c,72)|0;b=q[d+44>>2];b:{if(b>>>0>8){break b}b=1<>2]+1|0,q[d+4>>2]+ -1|0);if((b|0)<=-1){Ta(q[a+4>>2],16,28179,0);if(r[q[a+4>>2]+580|0]&8){break a}break b}if(!(h=!(!f|!ke(e+8|0)),i=0,j=q[d+44>>2]==(f|0),j?h:i)){g=c}if(f){break b}f=q[d+44>>2]}c=c+1|0;continue}break}Ca=e+32|0;return b}function jD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=x(0),j=x(0),k=0,l=0,m=0,n=0,o=0;n=(e|0)>0?e:0;while(1){if((k|0)!=(n|0)){h=e+k|0;o=q[(h<<2)+d>>2];f=(k^-1)+e|0;g=f<<3;l=g+a|0;f=(q[(f<<2)+d>>2]<<3)+b|0;i=u[f+4>>2];g=c+g|0;j=u[g+4>>2];u[l>>2]=x(i*j)-x(u[f>>2]*u[g>>2]);h=h<<3;m=h+a|0;u[m+4>>2]=x(i*u[g>>2])+x(j*u[f>>2]);f=(o<<3)+b|0;i=u[f+4>>2];g=c+h|0;j=u[g+4>>2];u[m>>2]=x(i*j)-x(u[f>>2]*u[g>>2]);u[l+4>>2]=x(i*u[g>>2])+x(j*u[f>>2]);k=k+1|0;continue}break}}function gt(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca-32|0;Ca=d;h=q[a+24316>>2];f=q[a+4>>2];e=q[f+112>>2];g=q[f+96>>2];j=r[(e>>>0>195?0:w(e,152)+59184|0)+6|0];e=q[a+26388>>2];a:{if(r[f+240|0]&2?0:!(!q[a+26392>>2]|(e|0)==3)){break a}i=q[f+116>>2];if(!i){break a}a=(e|0)!=3;b=b<(g|0)?g:a;q[d>>2]=w(b,q[h+32>>2]);a=w(q[h+36>>2],b>>j);q[d+4>>2]=a;q[d+8>>2]=a;a=3;while(1){if((a|0)!=8){q[(a<<2)+d>>2]=0;a=a+1|0;continue}break}n[i](f,h,d,b,e,c)}Ca=d+32|0}function Pu(a,b){var c=0,d=0,e=0;e=Ca-32|0;Ca=e;d=q[b+12>>2];a:{if(!(!(r[d+17|0]&2)|q[a+568>>2]<-1)){q[e+16>>2]=q[d>>2];Ta(a,24,39980,e+16|0);c=-1163346256;break a}b:{c=q[d+56>>2];if(!c){break b}c=nb(c);q[q[a+28>>2]+60>>2]=c;if(c){break b}c=-48;break a}q[a+592>>2]=d;c=0;d=q[d+48>>2];if(!d){break a}d=n[d](a)|0;if((d|0)>-1){break a}c=e;b=q[b>>2];if(b>>>0<=195){b=q[w(b,152)+59184>>2]}else{b=0}q[c>>2]=b;Ta(a,16,40209,e);Wa(q[a+28>>2]+60|0);q[a+592>>2]=0;c=d}Ca=e+32|0;return c}function PC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;a=0;f=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(f|0)){a=q[(r[b+7|0]-r[c+7|0]<<2)+173008>>2]+(q[(r[b+6|0]-r[c+6|0]<<2)+173008>>2]+(q[(r[b+5|0]-r[c+5|0]<<2)+173008>>2]+(q[(r[b+4|0]-r[c+4|0]<<2)+173008>>2]+(q[(r[b+3|0]-r[c+3|0]<<2)+173008>>2]+(q[(r[b+2|0]-r[c+2|0]<<2)+173008>>2]+(q[(r[b+1|0]-r[c+1|0]<<2)+173008>>2]+(q[(r[b|0]-r[c|0]<<2)+173008>>2]+a|0)|0)|0)|0)|0)|0)|0)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-16|0;Ca=e;q[e+12>>2]=-1;g=b+c|0;c=b;a:{b:while(1){i=f;a=d;while(1){f=0;if(c>>>0>=g>>>0){break a}c=In(c,g,e+12|0);d=q[e+12>>2];if((d&-256)!=256){break a}f=1;d=d&31;h=d+ -7|0;if(h>>>0<=1){d=a;a=1;if(h-1){continue}continue b}if(!a|(d|0)==15|(!((i|0)!=0|(d|0)!=6)|(d|4)==13)){continue}break}break}while(1){d=c+ -4|0;if(d>>>0>b>>>0){a=c+ -5|0;c=c+ -1|0;if(!r[a|0]){continue}}break}f=d-b|0}Ca=e+16|0;return f|0}function iw(a,b,c){var d=0,e=0,f=0;d=Ca+ -64|0;Ca=d;while(1){if((f|0)!=32){n[q[a+8>>2]](d,b,2366352,1,8);e=(f<<3)+c|0;q[e>>2]=q[d+48>>2];q[e+4>>2]=q[d+52>>2];q[e+256>>2]=q[d+56>>2];q[e+260>>2]=q[d+60>>2];q[e+512>>2]=q[d>>2];q[e+516>>2]=q[d+4>>2];q[e+768>>2]=q[d+8>>2];q[e+772>>2]=q[d+12>>2];u[e+1024>>2]=u[d+16>>2]+u[d+40>>2];u[e+1028>>2]=u[d+20>>2]+u[d+44>>2];u[e+1280>>2]=u[d+24>>2]+u[d+32>>2];u[e+1284>>2]=u[d+28>>2]+u[d+36>>2];b=b+8|0;f=f+1|0;continue}break}Ca=d- -64|0}function zj(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;k=b+74496|0;l=b+288|0;while(1){if((j|0)!=16){a:{i=q[((j<<2)+a|0)+620>>2];if(!i|q[i+148704>>2]!=(e|0)){break a}b=0;h=0;while(1){if((b|0)>q[i+148708>>2]){break a}g=(b<<2)+i|0;b:{if(!(q[g+148712>>2]!=(c|0)|q[g+148744>>2]!=(d|0))){g=g+148776|0;if(q[g>>2]!=1){n[f](a,l,i,h);g=q[g>>2];h=((g|0)!=0)+h|0;if((g|0)==2){break b}}n[f](a,k,i,h);h=h+1|0;break b}h=(q[g+148776>>2]==3?2:1)+h|0}b=b+1|0;continue}}j=j+1|0;continue}break}}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=b>>1;f=4-e|0;b=0;while(1){if((b|0)!=4){c=s[(b+f<<1)+a>>1]+c|0;d=s[(b-e<<1)+a>>1]+d|0;b=b+1|0;continue}break}f=$R(c+2>>>2|0,0,65537,65537);g=Da;d=$R(d+2>>>2|0,0,65537,65537);h=Da;c=0;while(1){b=4;if((c|0)==4){while(1){if((b|0)!=8){c=(w(b,e)<<1)+a|0;q[c+8>>2]=f;q[c+12>>2]=g;q[c>>2]=d;q[c+4>>2]=h;b=b+1|0;continue}break}}else{b=(w(c,e)<<1)+a|0;q[b+8>>2]=f;q[b+12>>2]=g;q[b>>2]=d;q[b+4>>2]=h;c=c+1|0;continue}break}}function bm(a,b,c){var d=0,e=0,f=x(0),g=x(0),h=x(0),i=x(0),j=0,k=x(0),l=0,m=0;m=(!c<<8)+b|0;while(1){if((j|0)!=32){f=u[a+52>>2];g=u[a+48>>2];h=x(0);d=0;i=x(0);while(1){if(d>>>0<=5){e=d|1;k=u[(e<<2)+97296>>2];e=(e<<3)+a|0;l=(11-d<<3)+a|0;i=x(i+x(k*x(u[e+4>>2]+u[l+4>>2])));h=x(h+x(k*x(u[e>>2]+u[l>>2])));d=d+2|0;continue}break}d=j<<3;e=d+((c<<8)+b|0)|0;f=x(f*x(.5));u[e+4>>2]=f+i;g=x(g*x(.5));u[e>>2]=g+h;d=d+m|0;u[d+4>>2]=f-i;u[d>>2]=g-h;a=a+8|0;j=j+1|0;continue}break}}function to(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;q[d+8>>2]=c+r[a+150384|0];return r[a+150896|0]}e=a;f=c;a=b>>>0>65535;c=a<<4;g=c|8;d=c;a=a?b>>>16|0:b;c=a&65280;a=(c?g:d)+r[(c?a>>>8|0:a)+47648|0]|0;c=a<<1;q[e+8>>2]=(f-c|0)+63;if(a>>>0<=18){Ta(0,16,16230,0);return-1094995529}return(b>>>c+ -31|0)+ -1|0}function Io(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);if(b>>>0>=134217728){d=a;a=b>>>23|0;q[d+8>>2]=c+r[a+150384|0];return r[a+150896|0]}e=a;f=c;a=b>>>0>65535;c=a<<4;g=c|8;d=c;a=a?b>>>16|0:b;c=a&65280;a=(c?g:d)+r[(c?a>>>8|0:a)+47648|0]|0;c=a<<1;q[e+8>>2]=(f-c|0)+63;if(a>>>0<=18){Ta(0,16,22300,0);return-1094995529}return(b>>>c+ -31|0)+ -1|0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c<<2;h=w(c,3);i=c<<1;a=a-c|0;e=b;while(1){if((f|0)!=4){d=r[a|0]+r[e|0]|0;o[a+c|0]=d;d=d+r[e+8|0]|0;o[a+i|0]=d;d=d+r[e+16|0]|0;o[a+h|0]=d;o[a+g|0]=d+r[e+24|0];f=f+1|0;e=e+2|0;a=a+1|0;continue}break}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}function pR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=w(c,3)+a|0;b=r[f+ -1|0];k=c<<1;i=k+a|0;d=r[i+ -1|0];g=r[a+ -1|0];c=a+c|0;e=r[c+ -1|0];h=e+1|0;o[a|0]=g+h>>>1;j=g;g=d+2|0;o[a+1|0]=(j+g|0)+(e<<1)>>>2;h=d+h>>>1|0;o[c|0]=h;o[a+2|0]=h;e=((b+e|0)+(d<<1)|0)+2>>>2|0;o[c+1|0]=e;o[a+3|0]=e;d=(b+d|0)+1>>>1|0;o[i|0]=d;o[c+2|0]=d;j=(k|1)+a|0;a=(b+g|0)+(b<<1)>>>2|0;o[j|0]=a;o[c+3|0]=a;o[f+2|0]=b;o[f+3|0]=b;o[i+2|0]=b;o[f+1|0]=b;o[f|0]=b;o[i+3|0]=b}function JD(a,b,c){var d=0,e=0;if((c|0)>=7){d=c+ -7|0;a:{if((Ua(b,8)|0)!=255){break a}e=q[b+8>>2]+8|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>e>>>0?e:d;d=c+ -8|0}e=q[b+8>>2]+8|0;c=q[b+16>>2];q[b+8>>2]=c>>>0>e>>>0?e:c;e=q[b+8>>2]+8|0;c=q[b+16>>2];q[b+8>>2]=c>>>0>e>>>0?e:c;b:{c=td(b,32);if((c|0)!=1195456820){if((c|0)!=1146373937){break b}return ID(a+96|0,b,d)}return GD(a+104|0,b,d)}c=q[b+8>>2]+(d<<3)|0;a=q[b+16>>2];q[b+8>>2]=a>>>0>c>>>0?c:a;a=0}else{a=-1094995529}return a}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a;i=a;b=c>>1;d=s[(1-b<<1)+a>>1];h=c&-2;f=d+s[a-h>>1]|0;if(f>>>0>>0){e=1}d=s[(2-b<<1)+a>>1];f=d+f|0;if(f>>>0>>0){e=e+1|0}d=f;f=s[(3-b<<1)+a>>1];d=d+f|0;if(d>>>0>>0){e=e+1|0}d=d+2|0;if(d>>>0<2){e=e+1|0}e=$R((e&3)<<30|d>>>2,e>>>2|0,65537,65537);q[i>>2]=e;f=g;g=Da;q[f+4>>2]=g;d=a+h|0;q[d>>2]=e;q[d+4>>2]=g;c=((c&2147483646)<<1)+a|0;q[c>>2]=e;q[c+4>>2]=g;a=w(b,6)+a|0;q[a>>2]=e;q[a+4>>2]=g}function jb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((h|0)!=4){f=w(e,h)+b|0;j=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);g=(h<<3)+c|0;i=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);k=j|i;f=r[f+4|0]|r[f+5|0]<<8|(r[f+6|0]<<16|r[f+7|0]<<24);g=r[g+4|0]|r[g+5|0]<<8|(r[g+6|0]<<16|r[g+7|0]<<24);l=f|g;f=f^g;g=j^i;j=f>>>1|0;i=w(d,h)+a|0;f=((f&1)<<31|g>>>1)&2147450879;q[i>>2]=k-f;q[i+4>>2]=l-((j&2147450879)+(k>>>0>>0)|0);h=h+1|0;continue}break}}function Wq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h+1|1)<>d;o[a|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+1|0],g)|0)+w(r[a+1|0],f)>>d;o[a+1|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+2|0],g)|0)+w(r[a+2|0],f)>>d;o[a+2|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+3|0],g)|0)+w(r[a+3|0],f)>>d;o[a+3|0]=h>>>0>255?h>>31^-1:h;b=b+c|0;a=a+c|0;i=i+1|0;continue}break}}function ul(a,b){var c=0,d=0,e=0;d=r[a+5|0]&31;a:{if(!d){break a}b=a+b|0;a=a+6|0;while(1){if(d){c=r[a|0]|r[a+1|0]<<8;c=((c<<24|c<<8&16711680)>>>16|0)+2|0;if((c|0)>(b-a|0)){break a}d=d+ -1|0;e=r[a+2|0];a=a+c|0;if((e&159)==7){continue}break a}break}d=r[a|0];if(!d){break a}a=a+1|0;while(1){if(!d){return 1}c=r[a|0]|r[a+1|0]<<8;c=((c<<24|c<<8&16711680)>>>16|0)+2|0;if((c|0)>(b-a|0)){break a}d=d+ -1|0;e=r[a+2|0];a=a+c|0;if((e&159)==8){continue}break}}return 0}function mC(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=x(e);f=f|0;g=g|0;var h=x(0),i=x(0),j=x(0),k=0,l=0;l=(g|0)>(f|0)?g:f;h=x(u[c+4>>2]*e);i=x(u[c>>2]*e);j=x(x(u[d+4>>2]*e)*e);e=x(x(u[d>>2]*e)*e);while(1){if((f|0)!=(l|0)){c=f<<3;k=c+a|0;d=b+c|0;c=d+ -16|0;g=d+ -8|0;u[k>>2]=u[d>>2]+x(x(x(x(e*u[c>>2])-x(j*u[c+4>>2]))+x(i*u[g>>2]))-x(h*u[g+4>>2]));u[k+4>>2]=u[d+4>>2]+x(x(x(x(e*u[c+4>>2])+x(j*u[c>>2]))+x(i*u[g+4>>2]))+x(h*u[g>>2]));f=f+1|0;continue}break}}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ca-32|0;Ca=d;e=q[b>>2];q[d+16>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){f=e+16&-16;g=rb(f);q[d+16>>2]=f|-2147483648;q[d+8>>2]=g;q[d+12>>2]=e;f=d+8|0;break b}o[d+19|0]=e;f=d+8|0;g=f;if(!e){break a}}Va(g,b+4|0,e)}o[e+g|0]=0;q[d>>2]=c;n[a](d+24|0,d+8|0,d);T(q[d+24>>2]);a=q[d+24>>2];J(a|0);J(q[d>>2]);if(o[f+11|0]<=-1){Ya(q[d+8>>2])}Ca=d+32|0;return a|0}nf();F()}function jn(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=r[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=q[a>>2];b:{if((c^-1)&c+ -16843009&-2139062144){break b}d=w(d,16843009);while(1){c=c^d;if((c^-1)&c+ -16843009&-2139062144){break b}c=q[a+4>>2];a=a+4|0;if(!(c+ -16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=r[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return ub(a)+a|0}return a}function ss(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=d<<2;l=c<<2;c=0;i=b>>1;m=0-i<<1;n=0-(b&-2)<<1;while(1){if((c|0)!=8){j=a+m|0;b=s[j>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(l|0)){break a}f=s[a+n>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[(i<<1)+a>>1];k=e-h|0;g=k>>31;if((g^g+k)>=(d|0)){break a}p[j>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+2|0;continue}break}}function qB(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!q[q[54083]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){o[a+1|0]=b&63|128;o[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){o[a+2|0]=b&63|128;o[a|0]=b>>>12|224;o[a+1|0]=b>>>6&63|128;return 3}if(b+ -65536>>>0<=1048575){o[a+3|0]=b&63|128;o[a|0]=b>>>18|240;o[a+2|0]=b>>>6&63|128;o[a+1|0]=b>>>12&63|128;return 4}}q[865816]=25;a=-1}else{a=1}return a}o[a|0]=b;return 1}function pH(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=q[a+80>>2];if(c>>>0<=11){c=q[w(c,20)+90924>>2]}else{c=0}f=-28;g=q[a+76>>2];a:{if((g|0)!=q[b+76>>2]){break a}d=q[a+352>>2];if(q[a+240>>2]!=q[b+240>>2]|q[a+244>>2]!=q[b+244>>2]|(d|0)!=q[b+352>>2]){break a}c=c?d:1;i=(c|0)>0?c:0;c=q[a+64>>2];while(1){if((e|0)!=(i|0)){h=e<<2;if(!q[c+h>>2]){break a}e=e+1|0;if(q[q[b+64>>2]+h>>2]){continue}break a}break}f=0;xm(c,q[b+64>>2],0,g,d,q[a+80>>2])}return f}function Yr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=d<<4;l=c<<4;c=0;i=b>>1;m=0-i<<1;n=0-(b&-2)<<1;while(1){if((c|0)!=8){j=a+m|0;b=s[j>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(l|0)){break a}f=s[a+n>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[(i<<1)+a>>1];k=e-h|0;g=k>>31;if((g^g+k)>=(d|0)){break a}p[j>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+2|0;continue}break}}function Os(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=d<<1;l=c<<1;c=0;i=b>>1;m=0-i<<1;n=0-(b&-2)<<1;while(1){if((c|0)!=8){j=a+m|0;b=s[j>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(l|0)){break a}f=s[a+n>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[(i<<1)+a>>1];k=e-h|0;g=k>>31;if((g^g+k)>=(d|0)){break a}p[j>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+2|0;continue}break}}function Dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=d<<6;l=c<<6;c=0;i=b>>1;m=0-i<<1;n=0-(b&-2)<<1;while(1){if((c|0)!=8){j=a+m|0;b=s[j>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(l|0)){break a}f=s[a+n>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[(i<<1)+a>>1];k=e-h|0;g=k>>31;if((g^g+k)>=(d|0)){break a}p[j>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+2|0;continue}break}}function MA(a,b){var c=0,d=0,f=0,g=0,h=0,i=0,k=0;f=Ca-16|0;Ca=f;d=(j(b),e(0));h=d&-2147483648;c=d&2147483647;a:{if(c+ -8388608>>>0<=2130706431){d=c;c=c>>>7|0;d=d<<25;c=c+1065353216|0;g=d;c=d>>>0<0?c+1|0:c;break a}if(c>>>0>=2139095040){g=d<<25;c=d>>>7|2147418112;break a}if(!c){c=0;break a}d=c;c=z(c);Rb(f,d,0,0,0,c+81|0);i=q[f>>2];k=q[f+4>>2];g=q[f+8>>2];c=q[f+12>>2]^65536|16265-c<<16}q[a>>2]=i;q[a+4>>2]=k;q[a+8>>2]=g;q[a+12>>2]=c|h;Ca=f+16|0}function gv(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-16|0;Ca=e;d=nb(40);q[e+12>>2]=d;f=-48;a:{if(!d){break a}q[d+4>>2]=a;q[d>>2]=129268;h=d,i=Hn(),q[h+16>>2]=i;c=Hn();q[d+20>>2]=c;b:{if(!c|!q[d+16>>2]){break b}c=nb(8);if(!c){break b}q[d+8>>2]=c;g=c;c=Le();q[g>>2]=c;if(!c){break b}c=q[a+12>>2];c:{if(!c){break c}c=nb(c);q[d+12>>2]=c;if(!c){break b}a=q[a+8>>2];if(!a){break c}q[c>>2]=a;Jj(c)}q[b>>2]=d;f=0;break a}Ql(e+12|0)}Ca=e+16|0;return f}function KC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(e|0)>1?e:1;a=0;c=1;while(1){if((c|0)!=(n|0)){e=0;while(1){if(e>>>0<=15){f=(d+e|0)+b|0;i=r[b+e|0]-r[f|0]|0;j=i>>31;k=r[(e|1)+b|0]-r[f+1|0]|0;f=k>>31;g=e|2;l=r[g+b|0]-r[(d+g|0)+b|0]|0;g=l>>31;h=e|3;m=r[h+b|0]-r[(d+h|0)+b|0]|0;h=m>>31;a=((((j^j+i)+a|0)+(f^f+k)|0)+(g^g+l)|0)+(h^h+m)|0;e=e+4|0;continue}break}c=c+1|0;b=b+d|0;continue}break}return a|0}function JC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(e|0)>1?e:1;a=0;c=1;while(1){if((c|0)!=(n|0)){e=0;while(1){if(e>>>0<=7){f=(d+e|0)+b|0;i=r[b+e|0]-r[f|0]|0;j=i>>31;k=r[(e|1)+b|0]-r[f+1|0]|0;f=k>>31;g=e|2;l=r[g+b|0]-r[(d+g|0)+b|0]|0;g=l>>31;h=e|3;m=r[h+b|0]-r[(d+h|0)+b|0]|0;h=m>>31;a=((((j^j+i)+a|0)+(f^f+k)|0)+(g^g+l)|0)+(h^h+m)|0;e=e+4|0;continue}break}c=c+1|0;b=b+d|0;continue}break}return a|0}function vl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;q[a+26392>>2]=0;q[a+24312>>2]=0;h=q[a+28620>>2];e=1;while(1){f=q[((e<<2)+a|0)+28620>>2];if(!(!f|q[q[f>>2]+84>>2]|q[f+92>>2])){i=f;f=q[f+84>>2]>2];h=f?i:h;g=f?e:g;e=e+1|0;continue}break}e=q[((g<<2)+a|0)+28620>>2];while(1){if(e){e=a+28620|0;f=e+(g<<2)|0;g=g+1|0;e=q[e+(g<<2)>>2];q[f>>2]=e;continue}break}a:{if(h){q[h+640>>2]=q[h+640>>2]&-5;g=tl(a,b,h,c);if((g|0)<0){break a}}g=d}return g}function Pt(a,b,c){var d=0,e=0,f=0,g=0;d=Ca-32|0;Ca=d;q[a+16>>2]=c;q[a+12>>2]=b;a:{if(r[a+36|0]){b=a+20|0;q[a+8>>2]=b;b=b>>2;break a}b=(w(c,c)<<2)+33554432|0;b=Nb((b>>>0>16777216?b:16777216)+16777215&-16777216);q[a+8>>2]=b}c=q[q[a+4>>2]>>2];b:{if(o[216608]&1){break b}if(!Mc(216608)){break b}f=216604,g=M(4,2736)|0,q[f>>2]=g;Lc(216608)}e=q[54151];q[d+8>>2]=q[a+12>>2];a=q[a+16>>2];q[d+24>>2]=b;q[d+16>>2]=a;O(e|0,c|0,2722,d+8|0);Ca=d+32|0}function Fk(a){if(q[a+64>>2]!=(a|0)){Wa(a- -64|0)}a=Za(a,0,408);q[a+336>>2]=0;q[a+340>>2]=0;q[a+320>>2]=0;q[a+324>>2]=-2147483648;q[a+112>>2]=0;q[a+116>>2]=-2147483648;q[a+104>>2]=0;q[a+108>>2]=-2147483648;q[a+120>>2]=0;q[a+124>>2]=-2147483648;q[a+356>>2]=-1;q[a+328>>2]=-1;q[a+332>>2]=-1;q[a+92>>2]=0;q[a+96>>2]=1;q[a+80>>2]=-1;q[a+84>>2]=1;q[a+304>>2]=2;q[a+308>>2]=2;q[a+312>>2]=2;q[a+316>>2]=0;q[a+296>>2]=0;q[a+300>>2]=0;q[a+64>>2]=a}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a;b=w(c>>1,6)+a|0;e=s[b+ -2>>1];h=c&-2;f=h+a|0;c=s[f+ -2>>1];i=c+s[a+ -2>>1]|0;if(i>>>0>>0){d=1}j=g;k=e;c=d;e=(h<<1)+a|0;a=s[e+ -2>>1];d=a+i|0;if(d>>>0>>0){c=c+1|0}a=k+d|0;if(a>>>0>>0){c=c+1|0}a=a+2|0;d=a>>>0<2?c+1|0:c;a=$R((d&3)<<30|a>>>2,d>>>2|0,65537,65537);q[j>>2]=a;c=Da;q[g+4>>2]=c;q[f>>2]=a;q[f+4>>2]=c;q[e>>2]=a;q[e+4>>2]=c;q[b>>2]=a;q[b+4>>2]=c}function ym(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-28;g=d>>>0<=11?q[w(d,20)+90920>>2]>>3:0;d=d>>>0<=11?q[w(d,20)+90924>>2]:0;a:{if(!g|((b|0)<1|(c|0)<1)){break a}if(!e){if((c|0)>2147483616){break a}e=1;c=c+31&-32}if((2147483647/(e|0)|0)<(b|0)){break a}f=(2147483647-w(b,e)|0)/(g|0)|0;j=$R(c,0,b,0)>>>0<=f>>>0?0:1;i=Da;f=f>>31;if((i|0)>(f|0)?1:(i|0)>=(f|0)?j:0){break a}c=(w(w(c,g),d?1:b)+e|0)+ -1&0-e;if(a){q[a>>2]=c}h=w(c,d?b:1)}return h}function uQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c<<3;h=w(c,7);i=w(c,6);j=w(c,5);k=c<<2;l=w(c,3);m=c<<1;a=a-c|0;e=b;while(1){if((f|0)!=8){d=r[a|0]+r[e|0]|0;o[a+c|0]=d;d=d+r[e+16|0]|0;o[a+m|0]=d;d=d+r[e+32|0]|0;o[a+l|0]=d;d=d+r[e+48|0]|0;o[a+k|0]=d;d=d+r[e+64|0]|0;o[a+j|0]=d;d=d+r[e+80|0]|0;o[a+i|0]=d;d=d+r[e+96|0]|0;o[a+h|0]=d;o[a+g|0]=d+r[e+112|0];f=f+1|0;e=e+2|0;a=a+1|0;continue}break}Za(b,0,128)}function Bc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;m=(g|0)>0?g:0;while(1){if((i|0)!=(m|0)){j=w(d,i)+a|0;g=w(e,i)+b|0;k=r[g|0]|r[g+1|0]<<8|(r[g+2|0]<<16|r[g+3|0]<<24);h=w(f,i)+c|0;l=r[h|0]|r[h+1|0]<<8|(r[h+2|0]<<16|r[h+3|0]<<24);q[j>>2]=(k|l)-((k^l)>>>1&2139062143);g=r[g+4|0]|r[g+5|0]<<8|(r[g+6|0]<<16|r[g+7|0]<<24);h=r[h+4|0]|r[h+5|0]<<8|(r[h+6|0]<<16|r[h+7|0]<<24);q[j+4>>2]=(g|h)-((g^h)>>>1&2139062143);i=i+1|0;continue}break}}function sr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<16384?b:(b>>31^-1)&16383;g=g+1|0;a=a+h|0;continue}break}}function Ew(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=Ca-288|0;Ca=d;a:{if((c|0)<69){break a}Ua(b,13);c=c+ -13|0;e=c>>>3|0;f=e>>>0<255?e:255;e=0;while(1){if((e|0)!=(f|0)){g=(d+32|0)+e|0,h=Ua(b,8),o[g|0]=h;c=c+ -8|0;e=e+1|0;continue}break}o[(d+32|0)+f|0]=0;e=q[a+4>>2];if(o[e+576|0]&1){q[d+16>>2]=d+32;Ta(e,48,48337,d+16|0)}q[d+4>>2]=d+24;q[d>>2]=d+28;if((Gi(d+32|0,48482,d)|0)!=2){break a}q[q[q[a+4>>2]+28>>2]+56>>2]=1024}Mb(b,c);Ca=d+288|0}function cg(a,b){var c=0,d=0,e=0,f=0;d=Ca-16|0;Ca=d;c=q[b+4>>2];a:{if((c|0)<1){c=-28;break a}q[b+4>>2]=c+ -1;c=ap(d+12|0,b);if((c|0)<0){break a}c=q[d+12>>2];b:{while(1){e=c;c=q[b+8>>2];if(r[c|0]!=59){break b}q[b+8>>2]=c+1;c=ap(d+8|0,b);if((c|0)<=-1){q[d+12>>2]=e;yb(e);break a}f=q[d+8>>2];c=aj(22,e,f);if(c){continue}break}q[d+12>>2]=0;yb(e);yb(f);c=-48;break a}q[d+12>>2]=e;q[b+4>>2]=q[b+4>>2]+1;q[a>>2]=e;c=0}Ca=d+16|0;return c}function Zo(a,b){var c=0,d=0,e=0;d=Ca-16|0;Ca=d;c=Yo(d+4|0,b,d+12|0);a:{if((c|0)<0){break a}e=q[d+4>>2];while(1){c=q[b+8>>2];if(r[c|0]==94){q[b+8>>2]=c+1;c=Yo(d,b,d+8|0);if((c|0)<=-1){yb(e);break a}c=aj(18,e,q[d>>2]);q[d+4>>2]=c;if(!c){yb(e);yb(q[d>>2]);c=-48;break a}e=c;c=q[c+28>>2];if(!c){continue}v[c+8>>3]=v[c+8>>3]*+(q[d+8>>2]|1);continue}break}if(e){v[e+8>>3]=v[e+8>>3]*+(q[d+12>>2]|1)}q[a>>2]=e;c=0}Ca=d+16|0;return c}function au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=1<>2];i=(g|0)>0?g:0;a:{f=q[a+8>>2];if(!f){f=q[a+64>>2];while(1){if((c|0)==(i|0)){break a}d=(c<<3)+b|0;h=q[d+4>>2];e=q[a+12>>2]+(q[f+(c<<2)>>2]<<3)|0;q[e>>2]=q[d>>2];q[e+4>>2]=h;c=c+1|0;continue}}while(1){if((c|0)==(i|0)){break a}d=(c<<3)+b|0;h=q[d+4>>2];e=q[a+12>>2]+(s[f+(c<<1)>>1]<<3)|0;q[e>>2]=q[d>>2];q[e+4>>2]=h;c=c+1|0;continue}}Va(b,q[a+12>>2],g<<3)}function pD(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=q[a+27020>>2];c=q[a+27024>>2];d=q[a+27016>>2];e=w(c,d+1|0)+1|0;f=a,g=we(e+c|0,129),q[f+30012>>2]=g;f=a,g=we(q[a+27024>>2]+e<<2,129),q[f+30016>>2]=g;f=a,g=we((w(d,b<<2|1)<<4)+16|0,129),q[f+30020>>2]=g;b=we(w(d,c)<<2,129);q[a+30024>>2]=b;d=a+30020|0;c=a+30016|0;a:{if(!(!b|(!q[a+30012>>2]|!q[c>>2]))){b=0;if(q[d>>2]){break a}}Yc(a+30012|0);Yc(c);Yc(d);Yc(a+30024|0);b=-48}return b}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ca-16|0;Ca=d;e=b;b=q[a+4>>2];g=e+(b>>1)|0;f=q[a>>2];f=b&1?q[q[g>>2]+f>>2]:f;e=q[c>>2];q[d+8>>2]=0;q[d>>2]=0;q[d+4>>2]=0;if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){a=e+16&-16;b=rb(a);q[d+8>>2]=a|-2147483648;q[d>>2]=b;q[d+4>>2]=e;a=d;break b}o[d+11|0]=e;a=d;b=d;if(!e){break a}}Va(b,c+4|0,e)}o[b+e|0]=0;n[f](g,d);if(o[a+11|0]<=-1){Ya(q[d>>2])}Ca=d+16|0;return}nf();F()}function qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=r[d+12|0];e=r[d+13|0];a:{if(q[d+4>>2]!=3){n[q[q[a+5404>>2]>>2]](c,c,e?2423968:3397504,1024);break a}g=Za(c,0,1792)+1792|0;n[q[q[a+5404>>2]>>2]](g,g,e?2428064:3393920,128)}e=q[q[a+5404>>2]+28>>2];b:{if(q[d+4>>2]!=1){d=c+4096|0;n[e](d,d,f?2423968:3397504,1024);break b}d=c+5888|0;n[e](d,d,f?2428064:3393920,128);Za(c+6400|0,0,1792)}n[q[a+5372>>2]](a+5324|0,b,c)}function hs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<1024?b:(b>>31^-1)&1023;g=g+1|0;a=a+h|0;continue}break}}function Nr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<4096?b:(b>>31^-1)&4095;g=g+1|0;a=a+h|0;continue}break}}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){if((f|0)!=4){d=r[a+ -1|0]+r[e|0]|0;o[a|0]=d;d=d+r[e+2|0]|0;o[a+1|0]=d;d=d+r[e+4|0]|0;o[a+2|0]=d;o[a+3|0]=d+r[e+6|0];f=f+1|0;e=e+8|0;a=a+c|0;continue}break}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}function db(a){a=+a;var b=0,c=0,d=0;b=Ca-16|0;Ca=b;h(+a);d=e(1)|0;e(0)|0;d=d&2147483647;a:{if(d>>>0<=1072243195){c=1;if(d>>>0<1044816030){break a}c=qf(a,0);break a}c=a-a;if(d>>>0>=2146435072){break a}d=Uj(a,b)&3;if(d>>>0<=2){b:{switch(d-1|0){default:c=qf(v[b>>3],v[b+8>>3]);break a;case 0:c=-pf(v[b>>3],v[b+8>>3],1);break a;case 1:break b}}c=-qf(v[b>>3],v[b+8>>3]);break a}c=pf(v[b>>3],v[b+8>>3],1)}a=c;Ca=b+16|0;return+a}function XD(a,b,c,d){var e=0;e=Ca-48|0;Ca=e;a:{if((d|0)==1){q[e+8>>2]=c;a=q[(a<<2)+47360>>2];q[e+4>>2]=a&15;q[e>>2]=a>>>4&15;wf(q[49879],24582,e);break a}if(!(!b|q[53123]!=256)){q[e+24>>2]=c;q[e+20>>2]=b;q[e+16>>2]=r[(a<<2)+47362|0];wf(q[49879],25265,e+16|0);break a}b=q[49879];if((d|0)==256){q[e+40>>2]=c;a=q[(a<<2)+47360>>2];q[e+36>>2]=a>>>8&255;q[e+32>>2]=a>>>16&255;wf(b,25746,e+32|0);break a}Fm(c,ub(c),b)}Ca=e+48|0}function QE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Ca-32|0;Ca=g;a:{b:{c:{if(!a|!c){break c}h=d>>31;if((h+d^h)<(e|0)){break b}h=b>>31;if((h+b^h)<(e|0)){break a}while(1){if((f|0)<1){break c}a=Va(a,c,e);f=f+ -1|0;c=c+d|0;a=a+b|0;continue}}Ca=g+32|0;return}q[g+8>>2]=314;q[g+4>>2]=11700;q[g>>2]=14599;Ta(0,0,8697,g);I();F()}q[g+24>>2]=315;q[g+20>>2]=11700;q[g+16>>2]=15702;Ta(0,0,8697,g+16|0);I();F()}function UO(a,b){var c=0,d=0,e=0,f=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+32>>2]=1073741824;q[a+24>>2]=0;q[a+28>>2]=0;c=a;b=b*-3.141592653589793/180;d=db(b)*65536;a:{if(y(d)<2147483648){f=~~d;break a}f=-2147483648}q[c+16>>2]=f;c=a;b=ce(b);d=b*65536;b:{if(y(d)<2147483648){e=~~d;break b}e=-2147483648}q[c+12>>2]=e;c=a;b=b*-65536;c:{if(y(b)<2147483648){e=~~b;break c}e=-2147483648}q[c+4>>2]=e;q[a>>2]=f}function ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<1;k=c<<1;c=0;l=b>>1<<1;while(1){if((c|0)!=16){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=b>>1;b=0;while(1){if((d|0)==16){while(1){if((b|0)!=16){c=s[(b-f<<1)+a>>1]+c|0;b=b+1|0;continue}break}e=$R(c+16>>>5|0,0,65537,65537);d=Da;b=0;while(1){if((b|0)!=16){q[a+24>>2]=e;c=d;q[a+28>>2]=c;q[a+16>>2]=e;q[a+20>>2]=c;q[a+8>>2]=e;q[a+12>>2]=c;q[a>>2]=e;q[a+4>>2]=c;b=b+1|0;a=a+(f<<1)|0;continue}break}}else{c=s[((w(d,f)<<1)+a|0)+ -2>>1]+c|0;d=d+1|0;continue}break}}function mr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<6;k=c<<6;c=0;l=b>>1<<1;while(1){if((c|0)!=16){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function as(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<2;k=c<<2;c=0;l=b>>1<<1;while(1){if((c|0)!=16){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function Hr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<4;k=c<<4;c=0;l=b>>1<<1;while(1){if((c|0)!=16){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function zH(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-16|0;Ca=c;f=-28;a:{if(q[a+68>>2]>2]|q[a+72>>2]>2]){break a}e=Bm(q[a+80>>2]);e=(e|0)>0?e:0;while(1){if((d|0)!=(e|0)){g=d<<2;if(!q[g+a>>2]){break a}d=d+1|0;if(q[b+g>>2]){continue}break a}break}d=q[b+4>>2];q[c>>2]=q[b>>2];q[c+4>>2]=d;d=q[b+12>>2];q[c+8>>2]=q[b+8>>2];q[c+12>>2]=d;zk(a,a+32|0,c,b+32|0,q[a+80>>2],q[b+68>>2],q[b+72>>2]);f=0}Ca=c+16|0;return f}function ts(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<1;k=c<<1;c=0;l=b>>1<<1;while(1){if((c|0)!=4){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<1;k=c<<1;c=0;l=b>>1<<1;while(1){if((c|0)!=8){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<2;k=c<<2;c=0;l=b>>1<<1;while(1){if((c|0)!=8){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<4;k=c<<4;c=0;l=b>>1<<1;while(1){if((c|0)!=8){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<6;k=c<<6;c=0;l=b>>1<<1;while(1){if((c|0)!=4){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<6;k=c<<6;c=0;l=b>>1<<1;while(1){if((c|0)!=8){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function Zr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<2;k=c<<2;c=0;l=b>>1<<1;while(1){if((c|0)!=4){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){if((e|0)!=4){o[a|0]=r[a|0]+r[d|0];o[a+1|0]=r[a+1|0]+r[d+2|0];o[a+2|0]=r[a+2|0]+r[d+4|0];o[a+3|0]=r[a+3|0]+r[d+6|0];e=e+1|0;d=d+8|0;a=a+c|0;continue}break}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}function Hy(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;c=e;d=q[a+8>>2];g=c,h=wm(d<<3,q[a+12>>2]<<3|d>>>29),q[g+8>>2]=h;q[c+12>>2]=Da;zi(a,3393,1);while(1){if((q[a+8>>2]&63)!=56){zi(a,5967,1);continue}break}zi(a,e+8|0,8);while(1){if(f>>>0>2];d=b+d|0;c=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);o[d|0]=c;o[d+1|0]=c>>>8;o[d+2|0]=c>>>16;o[d+3|0]=c>>>24;f=f+1|0;continue}break}Ca=e+16|0}function Er(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=d<<4;k=c<<4;c=0;l=b>>1<<1;while(1){if((c|0)!=4){i=a+ -2|0;b=s[i>>1];h=s[a>>1];e=b-h|0;f=e>>31;a:{if((f^e+f)>=(k|0)){break a}f=s[a+ -4>>1];g=f-b|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=s[a+2>>1];j=e-h|0;g=j>>31;if((g^g+j)>=(d|0)){break a}p[i>>1]=(e+(b+(f<<1)|0)|0)+2>>>2;p[a>>1]=((f+h|0)+(e<<1)|0)+2>>>2}c=c+1|0;a=a+l|0;continue}break}}function YA(a){var b=0,c=0;c=216624;a:{b:{if((a^216624)&3){break b}if(a&3){while(1){b=r[a|0];o[c|0]=b;if(!b){break a}c=c+1|0;a=a+1|0;if(a&3){continue}break}}b=q[a>>2];if((b^-1)&b+ -16843009&-2139062144){break b}while(1){q[c>>2]=b;b=q[a+4>>2];c=c+4|0;a=a+4|0;if(!(b+ -16843009&(b^-1)&-2139062144)){continue}break}}b=r[a|0];o[c|0]=b;if(!b){break a}while(1){b=r[a+1|0];o[c+1|0]=b;c=c+1|0;a=a+1|0;if(b){continue}break}}}function Pq(a,b){var c=0,d=0,e=0,f=0,g=0;a:{while(1){b:{if(!a){break b}d=b;if(!r[a|0]){break b}while(1){c:{if(!d){break c}e=0;c=r[d|0];if(!c){break c}while(1){d:{f=r[a+e|0];if((f|0)!=(c|0)){g=f<<24>>24;c=c<<24>>24;if(w(g,c)|(c+g|0)!=44){break d}}if(e){c=1;if(!f|(f|0)==44){break a}}e=e+1|0;c=r[e+d|0];continue}break}d=ee(d,44);d=((d|0)!=0)+d|0;continue}break}a=ee(a,44);a=((a|0)!=0)+a|0;continue}break}c=0}return c}function KD(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-16|0;Ca=e;f=-1094995529;a:{if(c+ -16>>>0>2147483629){break a}g=rc(c+1|0);f=-48;if(!g){break a}while(1){if((c|0)!=(d|0)){h=d+g|0,i=Ua(b,8),o[h|0]=i;d=d+1|0;continue}break}o[c+g|0]=0;q[e>>2]=e+12;c=g+16|0;d=(Gi(c,23083,e)|0)!=1;b=q[e+12>>2];if(!(d|(b|0)<1)){q[a>>2]=b}b:{if((b|0)!=1|d){break b}if(rf(c,23724,16)){break b}q[a>>2]=67}Ya(g);f=0}d=f;Ca=e+16|0;return d}function Ds(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+4>>1],e)>>d;p[a+4>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+6>>1],e)>>d;p[a+6>>1]=b>>>0<512?b:(b>>31^-1)&511;g=g+1|0;a=a+h|0;continue}break}}function Ww(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;h=a,i=Ua(b,2)+1|0,q[h>>2]=i;f=-1;a:{e=Ua(b,6);if((e|0)>=(d|0)){break a}q[a+8>>2]=s[(e<<1)+c>>1];e=Ua(b,5)+q[a+8>>2]|0;q[a+8>>2]=e;g=(d<<1)+c|0;if((e|0)>=s[g>>1]){break a}h=a,i=Ua(b,4),q[h+24>>2]=i;d=1;while(1){if((d|0)>=q[a>>2]){f=0;break a}c=(d<<2)+a|0;e=Ua(b,5)+q[c+4>>2]|0;q[c+8>>2]=e;if((e|0)>=s[g>>1]){break a}h=c,i=Ua(b,4),q[h+24>>2]=i;d=d+1|0;continue}}return f}function ce(a){a=+a;var b=0,c=0;b=Ca-16|0;Ca=b;h(+a);c=e(1)|0;e(0)|0;c=c&2147483647;a:{if(c>>>0<=1072243195){if(c>>>0<1045430272){break a}a=pf(a,0,0);break a}if(c>>>0>=2146435072){a=a-a;break a}c=Uj(a,b)&3;if(c>>>0<=2){b:{switch(c-1|0){default:a=pf(v[b>>3],v[b+8>>3],1);break a;case 0:a=qf(v[b>>3],v[b+8>>3]);break a;case 1:break b}}a=-pf(v[b>>3],v[b+8>>3],1);break a}a=-qf(v[b>>3],v[b+8>>3])}Ca=b+16|0;return+a}function vd(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=2){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<16384?h:(f>>31^-1)&16383;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<16384?f:(e>>31^-1)&16383;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function po(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;d=Cc(a);f=d+1|0;a:{if(f>>>0>=33){q[e>>2]=f;Ta(b,16,36717,e);a=-1094995529;break a}Ua(a,4);Ua(a,4);d=((d|0)>-1?d:-1)+1|0;b=0;while(1){if((b|0)!=(d|0)){cd(a);cd(a);Xa(a);b=b+1|0;continue}break}g=c,h=Ua(a,5)+1|0,q[g+1688>>2]=h;g=c,h=Ua(a,5)+1|0,q[g+1692>>2]=h;g=c,h=Ua(a,5)+1|0,q[g+1696>>2]=h;a=Ua(a,5);q[c+1684>>2]=f;q[c+1680>>2]=a;a=0}Ca=e+16|0;return a}function ZA(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ca-160|0;Ca=d;Za(d+16|0,0,144);q[d+92>>2]=-1;q[d+60>>2]=b;q[d+24>>2]=-1;q[d+20>>2]=b;Nc(d+16|0,0,0);pn(d,d+16|0,1,1);f=q[d+8>>2];g=q[d+12>>2];h=q[d>>2];i=q[d+4>>2];if(c){j=c;e=b;b=q[d+20>>2]-q[d+24>>2]|0;k=b;c=b+q[d+136>>2]|0;b=q[d+140>>2]+(b>>31)|0;b=c>>>0>>0?b+1|0:b;q[j>>2]=!(b|c)?e:e+c|0}q[a>>2]=h;q[a+4>>2]=i;q[a+8>>2]=f;q[a+12>>2]=g;Ca=d+160|0}function Vw(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=q[a+4>>2];c=w(a,3);g=c+96194|0;h=c+96192|0;i=Ua(b,2)&255;j=(a|2)==3;while(1){if(i>>>0>(e&255)>>>0){k=r[h|0];d=0;while(1){a=d&255;if(a>>>0>>0){l=!a&j;m=Ua(b,3)&255;a=0;while(1){if(m>>>0>(a&255)>>>0){c=q[b+8>>2]+((l?4:r[g|0])+4|0)|0;f=q[b+16>>2];q[b+8>>2]=f>>>0>c>>>0?c:f;a=a+1|0;continue}break}d=d+1|0;continue}break}e=e+1|0;continue}break}}function cC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=x(0),h=0,i=x(0),j=x(0),k=0,l=x(0),m=0,n=x(0);f=(f|0)>0?f:0;i=x(-x(1-(e<<1&2)|0));while(1){if((f|0)!=(h|0)){d=d+1&511;e=(h<<3)+a|0;k=e;l=u[e+4>>2];m=e;n=u[e>>2];e=h<<2;g=u[e+b>>2];a:{if(g!=x(0)){j=x(i*g);g=x(g*x(0));break a}g=u[c+e>>2];e=d<<3;j=x(g*u[e+98052>>2]);g=x(g*u[e+98048>>2])}u[m>>2]=n+g;u[k+4>>2]=l+j;h=h+1|0;i=x(-i);continue}break}}function vD(a,b){var c=0,d=0,e=0,f=0,g=0;f=q[a>>2];g=a+27788|0;c=a+27804|0;d=b;b=b>>31;b=(d+b^b)+63&-32;vn(g,c,w(b,96));d=a+27792|0;vn(d,a+27808|0,w(b,42));e=a+27796|0;mn(e,a+27812|0,w(q[f+27020>>2],96));b=a+27800|0;mn(b,a+27816|0,w(q[f+27020>>2],96));a:{if(!(!q[e>>2]|(!q[a+27788>>2]|!q[d>>2]))){a=0;if(q[b>>2]){break a}}Wa(g);Wa(d);Wa(e);Wa(b);q[c+8>>2]=0;q[c+12>>2]=0;q[c>>2]=0;q[c+4>>2]=0;a=-48}return a}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=0-b|0;n=0-(b<<1)|0;while(1){if((j|0)!=8){k=a+m|0;h=r[k|0];i=r[a|0];e=h-i|0;f=e>>31;a:{if((f^e+f)>=(c|0)){break a}f=r[a+n|0];g=f-h|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=r[a+b|0];l=e-i|0;g=l>>31;if((g^g+l)>=(d|0)){break a}o[k|0]=(e+((f<<1)+h|0)|0)+2>>>2;o[a|0]=((f+i|0)+(e<<1)|0)+2>>>2}j=j+1|0;a=a+1|0;continue}break}}function $t(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=1<>2];f=d+ -1|0;while(1){if((c|0)<(d|0)){g=q[a+4>>2];h=q[a+8>>2];b=0;a:{if(_t(c,d)){while(1){if((b|0)==16){break a}i=((0-Ud(b+c|0,d,g)&f)<<1)+h|0,j=q[(b<<2)+150240>>2]+c|0,p[i>>1]=j;b=b+1|0;continue}}while(1){if((b|0)==16){break a}e=b+c|0;i=((0-Ud(e,d,g)&f)<<1)+h|0,j=e<<2&4|(e>>>1&3|e&65528),p[i>>1]=j;b=b+1|0;continue}}c=c+16|0;continue}break}}function zd(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=2){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<4096?h:(f>>31^-1)&4095;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<4096?f:(e>>31^-1)&4095;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Ed(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=2){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<1024?h:(f>>31^-1)&1023;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<1024?f:(e>>31^-1)&1023;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function Af(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=Ca-272|0;Ca=e;q[a+4312>>2]=0;n[q[a+2968>>2]](e+16|0,b,c,d);b=Va(e+144|0,e+16|0,128);g=a,h=n[q[a+6272>>2]](a,e+16|0,0,q[a+1920>>2],e+12|0)|0,q[g+16>>2]=h;n[q[a+6264>>2]](a,e+16|0,0,q[a+1920>>2]);_B(e+16|0);a=0;while(1){if((f|0)!=64){c=a;a=f<<1;a=p[a+(e+16|0)>>1]-p[a+b>>1]|0;a=c+w(a,a)|0;f=f+1|0;continue}break}Ca=e+272|0;return a|0} + + + +function qv(a,b,c,d){var e=0,f=0,g=0,h=0;f=q[a+44>>2];g=(f|0)>0?f:0;a:{b:{while(1){if((e|0)!=(g|0)){h=q[a+40>>2];if(q[(h+w(e,12)|0)+8>>2]==(b|0)){a=w(e,12)+h|0;Ya(q[a>>2]);q[a+4>>2]=d;q[a>>2]=c;break b}else{e=e+1|0;continue}}break}g=f+1|0;e=-68;if(g>>>0>29){break a}e=nd(q[a+40>>2],w(g,12));if(!e){return-48}q[a+40>>2]=e;e=e+w(f,12)|0;q[e+8>>2]=b;q[e+4>>2]=d;q[e>>2]=c;q[a+44>>2]=q[a+44>>2]+1}e=0}return e}function Hh(a,b,c,d,e){var f=0,g=0;f=q[a>>2];a:{b:{c:{d:{g=c+ -5|0;if(g>>>0>6){if((c|0)!=20){break d}break b}switch(g-1|0){case 5:break b;case 0:case 1:case 2:case 3:break d;default:break c}}q[a>>2]=b;break a}c=0;a=(d|0)>0?d:0;while(1){if((a|0)==(c|0)){break a}d=w(c,34);ew(d+f|0,b+d|0,e);c=c+1|0;continue}}c=0;a=(d|0)>0?d:0;while(1){if((a|0)==(c|0)){break a}d=w(c,34);dw(d+f|0,b+d|0,e);c=c+1|0;continue}}}function aC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=x(0),h=0,i=x(0),j=x(0),k=0,l=x(0),m=0,n=x(0);f=(f|0)>0?f:0;i=x(1-(e<<1&2)|0);while(1){if((f|0)!=(h|0)){d=d+1&511;e=(h<<3)+a|0;k=e;l=u[e+4>>2];m=e;n=u[e>>2];e=h<<2;g=u[e+b>>2];a:{if(g!=x(0)){j=x(i*g);g=x(g*x(0));break a}g=u[c+e>>2];e=d<<3;j=x(g*u[e+98052>>2]);g=x(g*u[e+98048>>2])}u[m>>2]=n+g;u[k+4>>2]=l+j;h=h+1|0;i=x(-i);continue}break}}function Nv(a,b,c){var d=0,e=0,f=0,g=0;if(Xa(c)){d=q[c+8>>2]+4|0;e=q[c+16>>2];q[c+8>>2]=e>>>0>d>>>0?d:e}d=-1;a:{e=b+96|0;if(uj(a,b,c,e)){break a}ef(c,e);Eh(b,c,e);d=df(a,b,c,e,0);if((d|0)<0){break a}d=cf(a,b,c,e,0);if((d|0)<0){break a}a=Xa(c);q[b+100>>2]=a;if(!a){d=0;break a}d=0;a=q[b+310116>>2];e=(a|0)>0?a:0;a=0;while(1){if((a|0)==(e|0)){break a}f=a+b|0,g=Xa(c),o[f+137|0]=g;a=a+1|0;continue}}return d}function xm(a,b,c,d,e,f){var g=0,h=0,i=0;h=f>>>0<=11?q[w(f,20)+90924>>2]:0;i=h?e:1;i=(i|0)>0?i:0;h=w(f>>>0<=11?q[w(f,20)+90920>>2]>>3:0,h?1:e);c=w(h,c);a:{e=q[b>>2];f=q[a>>2];d=w(d,h);if(((f>>>0>>0?e-f|0:f-e|0)|0)<(d|0)){while(1){if((g|0)==(i|0)){break a}e=g<<2;be(q[e+a>>2],c+q[b+e>>2]|0,d);g=g+1|0;continue}}while(1){if((g|0)==(i|0)){break a}e=g<<2;Va(q[e+a>>2],c+q[b+e>>2]|0,d);g=g+1|0;continue}}}function ud(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c>>1<<1;while(1){if((f|0)!=2){e=s[b+16>>1];d=s[b+12>>1];g=s[b+4>>1];h=s[b>>1];i=s[b+8>>1];j=s[b+ -4>>1];k=(((d+s[b+ -8>>1]|0)+w(g+h|0,20)|0)+w(i+j|0,-5)|0)+16|0;l=k>>5;p[a>>1]=l>>>0<16384?l:(k>>31^-1)&16383;e=(((e+j|0)+w(g+i|0,20)|0)+w(d+h|0,-5)|0)+16|0;d=e>>5;p[a+c>>1]=d>>>0<16384?d:(e>>31^-1)&16383;f=f+1|0;b=b+2|0;a=a+2|0;continue}break}}function Id(a,b,c,d){var e=0,f=0,g=0,h=0;d=d>>1<<1;c=c>>1<<1;while(1){if((g|0)!=2){e=b+ -2|0;f=(s[b+6>>1]+((s[b+ -4>>1]+w(s[b+2>>1]+s[b>>1]|0,20)|0)+w(s[b+4>>1]+s[e>>1]|0,-5)|0)|0)+16|0;h=f>>5;p[a>>1]=h>>>0<512?h:(f>>31^-1)&511;e=(s[b+8>>1]+((s[e>>1]+w(s[b+4>>1]+s[b+2>>1]|0,20)|0)+w(s[b+6>>1]+s[b>>1]|0,-5)|0)|0)+16|0;f=e>>5;p[a+2>>1]=f>>>0<512?f:(e>>31^-1)&511;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function _o(a,b){var c=0,d=0,e=0,f=0;d=Ca-16|0;Ca=d;c=Zo(d+12|0,b);a:{if((c|0)<0){break a}c=q[d+12>>2];b:{while(1){f=c;c=q[b+8>>2];e=r[c|0];if((e|0)!=42?(e|0)!=47:0){break b}q[b+8>>2]=c+1;e=r[c|0];c=Zo(d+8|0,b);if((c|0)<=-1){q[d+12>>2]=f;yb(f);break a}c=(e|0)==42?19:20;e=q[d+8>>2];c=aj(c,f,e);if(c){continue}break}q[d+12>>2]=0;yb(f);yb(e);c=-48;break a}q[d+12>>2]=f;q[a>>2]=f;c=0}Ca=d+16|0;return c}function yd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c>>1<<1;while(1){if((f|0)!=2){e=s[b+16>>1];d=s[b+12>>1];g=s[b+4>>1];h=s[b>>1];i=s[b+8>>1];j=s[b+ -4>>1];k=(((d+s[b+ -8>>1]|0)+w(g+h|0,20)|0)+w(i+j|0,-5)|0)+16|0;l=k>>5;p[a>>1]=l>>>0<4096?l:(k>>31^-1)&4095;e=(((e+j|0)+w(g+i|0,20)|0)+w(d+h|0,-5)|0)+16|0;d=e>>5;p[a+c>>1]=d>>>0<4096?d:(e>>31^-1)&4095;f=f+1|0;b=b+2|0;a=a+2|0;continue}break}}function Dd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c>>1<<1;while(1){if((f|0)!=2){e=s[b+16>>1];d=s[b+12>>1];g=s[b+4>>1];h=s[b>>1];i=s[b+8>>1];j=s[b+ -4>>1];k=(((d+s[b+ -8>>1]|0)+w(g+h|0,20)|0)+w(i+j|0,-5)|0)+16|0;l=k>>5;p[a>>1]=l>>>0<1024?l:(k>>31^-1)&1023;e=(((e+j|0)+w(g+i|0,20)|0)+w(d+h|0,-5)|0)+16|0;d=e>>5;p[a+c>>1]=d>>>0<1024?d:(e>>31^-1)&1023;f=f+1|0;b=b+2|0;a=a+2|0;continue}break}}function Vo(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{while(1){f=d<<2;g=f+b|0;if(!q[g>>2]){break a}h=0;i=0;if(d+ -1>>>0<=1){i=r[c+6|0];h=r[c+5|0]}if(!(q[c+8>>2]&66?(d|0)==1:0)){k=r[c+4|0];e=0;while(1){if((e|0)==(k|0)){break a}j=(e<<5)+c|0;if(q[j+16>>2]!=(d|0)){e=e+1|0;continue}break}q[a+f>>2]=w(q[j+20>>2],q[b+392>>2]>>>h|0)+w(q[g+32>>2],q[b+384>>2]>>>i|0);d=d+1|0;continue}break}q[a+4>>2]=0}}function Hd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=c>>1<<1;while(1){if((f|0)!=2){e=s[b+16>>1];d=s[b+12>>1];g=s[b+4>>1];h=s[b>>1];i=s[b+8>>1];j=s[b+ -4>>1];k=(((d+s[b+ -8>>1]|0)+w(g+h|0,20)|0)+w(i+j|0,-5)|0)+16|0;l=k>>5;p[a>>1]=l>>>0<512?l:(k>>31^-1)&511;e=(((e+j|0)+w(g+i|0,20)|0)+w(d+h|0,-5)|0)+16|0;d=e>>5;p[a+c>>1]=d>>>0<512?d:(e>>31^-1)&511;f=f+1|0;b=b+2|0;a=a+2|0;continue}break}}function Pp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;while(1){if((c|0)!=4){e=c+4|0;d=(r[(e-b|0)+a|0]+(r[(c-b|0)+a|0]+(r[(w(b,c)+a|0)+ -1|0]+d|0)|0)|0)+r[(w(b,e)+a|0)+ -1|0]|0;c=c+1|0;continue}break}c=4;e=w(d+8>>>4|0,16843009);d=0;while(1){if((d|0)==4){while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d+4>>2]=e;q[d>>2]=e;c=c+1|0;continue}break}}else{f=w(b,d)+a|0;q[f+4>>2]=e;q[f>>2]=e;d=d+1|0;continue}break}}function gf(a,b,c,d){var e=0,f=0,g=0;f=Ca-16|0;Ca=f;while(1){if(d){g=b+ -1|0;a:{b:{if(g>>>0<=4){e=3;c:{switch(g-3|0){case 0:break a;case 1:break c;default:break b}}e=q[c+8>>2]+1|0;g=q[c+16>>2];q[c+8>>2]=g>>>0>e>>>0?e:g;e=2;break a}q[f+8>>2]=713;q[f+4>>2]=33940;q[f>>2]=33611;Ta(0,0,33267,f);I();F()}e=Xa(c)}d=d+ -1|0;o[a|0]=e;e=Ua(c,4);o[a+2|0]=b;o[a+1|0]=e;a=a+3|0;continue}break}Ca=f+16|0}function FD(a){var b=0,c=0;b=q[a+8>>2];if(b>>>0<=1){a:{c=21130;if(!(b-1)){break a}b=q[a+12>>2];if(b>>>0>5){break a}b:{switch(b-1|0){default:return q[a+20>>2]==2?8087:10093;case 0:return q[a+20>>2]==2?11241:12436;case 1:return q[a+20>>2]==2?13543:15336;case 2:return q[a+20>>2]==2?16401:17296;case 3:return q[a+20>>2]==2?18119:19142;case 4:break b}}return q[a+20>>2]==2?19983:20609}}return c}function bC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=x(0),h=x(0),i=x(0),j=0,k=0,l=x(0),m=0,n=x(0);e=0;j=(f|0)>0?f:0;while(1){if((e|0)!=(j|0)){d=d+1&511;f=(e<<3)+a|0;k=f;l=u[f+4>>2];m=f;n=u[f>>2];f=e<<2;g=u[f+b>>2];a:{if(g!=x(0)){i=x(h*g);g=x(-g);break a}g=u[c+f>>2];f=d<<3;i=x(g*u[f+98052>>2]);g=x(g*u[f+98048>>2])}u[m>>2]=n+g;u[k+4>>2]=l+i;e=e+1|0;h=x(-h);continue}break}}function Vi(a,b,c){var d=0,e=0;c=r[c+154016|0];e=c+ -8|0;b=(w(b,40)+a|0)+28272|0;d=o[e+b|0];c=c+ -1|0;b=o[c+b|0];a:{if(q[a+840>>2]==3){c=(b|0)<1?0:r[(a+c|0)+28512|0]>>>7^1;b=c;if((d|0)<1){break a}b=o[(a+e|0)+28512|0]<0?c:c|2;break a}b=(b|0)>0;b=(d|0)>0?b|2:b}d=a+32856|0;c=0;b:{while(1){if(!_a(d,(a+b|0)+32958|0)){break b}b=(b>>2)+4|0;c=c+1|0;if((c|0)!=32){continue}break}c=-1}return c}function Uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((j|0)!=16){k=a+ -1|0;h=r[k|0];i=r[a|0];e=h-i|0;f=e>>31;a:{if((f^e+f)>=(c|0)){break a}f=r[a+ -2|0];g=f-h|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=r[a+1|0];l=e-i|0;g=l>>31;if((g^g+l)>=(d|0)){break a}o[k|0]=(e+((f<<1)+h|0)|0)+2>>>2;o[a|0]=((f+i|0)+(e<<1)|0)+2>>>2}j=j+1|0;a=a+b|0;continue}break}}function jj(a){var b=0,c=0,d=0;q[a+29580>>2]=1;q[a+28760>>2]=-2147483648;xl(a);q[a+28280>>2]=-1;b=q[a+24312>>2];if(b){q[b+640>>2]=0;b=0;while(1){c=q[((d<<2)+a|0)+28620>>2];if(c){if(q[a+24312>>2]!=(c|0)){q[((b<<2)+a|0)+28620>>2]=c;b=b+1|0}d=d+1|0;continue}break}q[((b<<2)+a|0)+28620>>2]=0}Dc(a+24972|0);q[a+29588>>2]=-1;q[a+29592>>2]=0;q[a+26392>>2]=0;q[a+29576>>2]=0;q[a+29560>>2]=1}function gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((j|0)!=8){k=a+ -1|0;h=r[k|0];i=r[a|0];e=h-i|0;f=e>>31;a:{if((f^e+f)>=(c|0)){break a}f=r[a+ -2|0];g=f-h|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=r[a+1|0];l=e-i|0;g=l>>31;if((g^g+l)>=(d|0)){break a}o[k|0]=(e+((f<<1)+h|0)|0)+2>>>2;o[a|0]=((f+i|0)+(e<<1)|0)+2>>>2}j=j+1|0;a=a+b|0;continue}break}}function Wy(a,b,c){var d=0,e=0,f=0;e=Ca-16|0;Ca=e;a:{b:{while(1){if((d|0)!=53){if(Sb(q[w(d,12)+52256>>2],c)){d=d+1|0;continue}else{c=w(d,12);d=q[c+52264>>2];c=q[c+52260>>2];break b}}break}c=tf(c,e+12|0,10);d=q[e+12>>2];if(r[d|0]){d=d+1|0;q[e+12>>2]=d}d=tf(d,e+12|0,10);f=-28;if(r[q[e+12>>2]]){break a}}f=-28;if((c|0)<1|(d|0)<1){break a}q[a>>2]=c;q[b>>2]=d;f=0}d=f;Ca=e+16|0;return d}function Ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c>>>1<<1;c=b;while(1){if((d|0)!=8){p[a>>1]=s[a>>1]+s[c>>1];p[a+2>>1]=s[a+2>>1]+s[c+4>>1];p[a+4>>1]=s[a+4>>1]+s[c+8>>1];p[a+6>>1]=s[a+6>>1]+s[c+12>>1];p[a+8>>1]=s[a+8>>1]+s[c+16>>1];p[a+10>>1]=s[a+10>>1]+s[c+20>>1];p[a+12>>1]=s[a+12>>1]+s[c+24>>1];p[a+14>>1]=s[a+14>>1]+s[c+28>>1];d=d+1|0;c=c+32|0;a=a+e|0;continue}break}Za(b,0,256)}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((j|0)!=4){k=a+ -1|0;h=r[k|0];i=r[a|0];e=h-i|0;f=e>>31;a:{if((f^e+f)>=(c|0)){break a}f=r[a+ -2|0];g=f-h|0;e=g>>31;if((e^e+g)>=(d|0)){break a}e=r[a+1|0];l=e-i|0;g=l>>31;if((g^g+l)>=(d|0)){break a}o[k|0]=(e+((f<<1)+h|0)|0)+2>>>2;o[a|0]=((f+i|0)+(e<<1)|0)+2>>>2}j=j+1|0;a=a+b|0;continue}break}}function XA(a){var b=0,c=0,d=0,e=0;d=7719;e=Ca-32|0;Ca=e;b=o[7719];a:{if(!(r[7720]?b:0)){b=jn(a,b);break a}Za(e,0,32);c=r[7719];if(c){while(1){b=(c>>>3&28)+e|0;q[b>>2]=q[b>>2]|1<<(c&31);c=r[d+1|0];d=d+1|0;if(c){continue}break}}b=a;c=r[b|0];if(!c){break a}d=a;while(1){if(q[(c>>>3&28)+e>>2]>>>(c&31)&1){b=d;break a}c=r[d+1|0];b=d+1|0;d=b;if(c){continue}break}}Ca=e+32|0;return b-a|0}function wc(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=1<-4?d+1|0:0;g=6.283185307179586/+(c|0);a=q[(a<<2)+150032>>2];while(1){if((b|0)==(f|0)){d=(d|0)>1?d:1;c=(c|0)/2|0;b=1;while(1){if((b|0)!=(d|0)){p[a+(c-b<<1)>>1]=s[a+(b<<1)>>1];b=b+1|0;continue}break}}else{e=uB(db(g*+(b|0))*32768);e=(e|0)<32767?e:32767;p[a+(b<<1)>>1]=(e|0)>-32767?e:-32767;b=b+1|0;continue}break}}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;while(1){if((c|0)!=4){d=r[(w(b,c)+a|0)+ -1|0]+d|0;e=r[(w(c+4|0,b)+a|0)+ -1|0]+e|0;c=c+1|0;continue}break}e=e+2>>>2|0;d=w(d+2>>>2|0,16843009);c=0;while(1){if((c|0)==4){d=w(e,16843009);c=4;while(1){if((c|0)!=8){e=w(b,c)+a|0;q[e+4>>2]=d;q[e>>2]=d;c=c+1|0;continue}break}}else{f=w(b,c)+a|0;q[f+4>>2]=d;q[f>>2]=d;c=c+1|0;continue}break}}function Qc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=Ca-16|0;Ca=g;a:{b:{if(Xa(a)){i=(c|0)==16?171952:171888;j=(c|0)>0?c:0;h=8;f=8;e=0;while(1){if((e|0)==(j|0)){break a}if(f){f=oc(a);if(f+128>>>0>255){break b}f=f+h&255}else{f=0}if(f|e){h=f?f:h;o[r[e+i|0]+b|0]=h;e=e+1|0;continue}else{Va(b,d,c);break a}}}Va(b,e,c);break a}q[g>>2]=f;Ta(0,16,34844,g);k=-1094995529}Ca=g+16|0;return k}function $d(a){a=a|0;var b=x(0),c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0);c=u[a>>2];d=u[a+8>>2];b=x(c+d);e=u[a+24>>2];g=u[a+16>>2];f=x(e+g);u[a+16>>2]=b-f;u[a>>2]=b+f;b=u[a+4>>2];f=u[a+12>>2];h=x(b+f);i=u[a+20>>2];j=u[a+28>>2];k=x(i+j);u[a+4>>2]=h+k;e=x(e-g);b=x(b-f);u[a+12>>2]=e+b;u[a+20>>2]=h-k;u[a+28>>2]=b-e;c=x(c-d);d=x(i-j);u[a+24>>2]=c-d;u[a+8>>2]=c+d}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a-c|0;g=r[b+3|0];d=w(c,3)+a|0;h=r[d+ -1|0];i=r[b+2|0];f=c<<1;e=f+a|0;j=r[e+ -1|0];c=a+c|0;o[a|0]=r[c+ -1|0]+r[b+1|0]>>>1;b=i+j>>>1|0;o[c|0]=b;o[a+1|0]=b;b=g+h>>>1|0;o[d+2|0]=b;o[d+3|0]=b;o[e+3|0]=b;o[d+1|0]=b;o[e+2|0]=b;o[c+3|0]=b;o[d|0]=b;o[(f|1)+a|0]=b;o[c+2|0]=b;o[a+3|0]=b;o[e|0]=b;o[c+1|0]=b;o[a+2|0]=b}function Dh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=p[a+4>>1];c=p[a>>1];d=b+c>>1;e=p[a+12>>1];h=p[a+8>>1];f=e+h>>1;p[a+8>>1]=d-f>>>1;p[a>>1]=d+f>>>1;d=p[a+14>>1];f=p[a+10>>1];i=d+f>>1;g=p[a+2>>1];j=p[a+6>>1];k=g+j>>1;p[a+2>>1]=i+k>>>1;g=g-j>>1;e=e-h>>1;p[a+6>>1]=g+e>>>1;p[a+10>>1]=k-i>>>1;p[a+14>>1]=g-e>>>1;b=c-b>>1;c=f-d>>1;p[a+12>>1]=b-c>>>1;p[a+4>>1]=b+c>>>1}function fj(a,b){var c=0,d=0,e=0,f=0,g=0;f=q[a+8>>2];c=q[a+12>>2];if((f|0)!=(c|0)){if(t[a+4>>2]>=t[a+8>>2]){return-1094995529}g=q[a+4>>2];e=-2-g|0;d=q[a>>2];d=(d|0)==(a+16|0)?0:d;b=((e>>>0>b>>>0?b:e)+g|0)+1|0;e=c>>>0>b>>>0?b:c;c=f>>>0>c>>>1>>>0?c:f<<1;c=c>>>0>>0?e:c;b=nd(d,c);if(!b){return-48}if(!d){Va(b,q[a>>2],q[a+4>>2]+1|0)}q[a+8>>2]=c;q[a>>2]=b;a=0}else{a=-29}return a}function yA(a,b,c){var d=0,e=0,f=0,g=0;f=Ca-16|0;Ca=f;d=o[a+11|0]<0?(q[a+8>>2]&2147483647)+ -1|0:10;g=d;if(o[a+11|0]<0){e=q[a+4>>2]}else{e=r[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(o[a+11|0]<0){d=q[a>>2]}else{d=a}mf(d+e|0,b,c);c=c+e|0;b=c;b:{if(o[a+11|0]<0){q[a+4>>2]=b;break b}o[a+11|0]=b}o[f+15|0]=0;o[c+d|0]=r[f+15|0];break a}zA(a,d,(c+e|0)-d|0,e,e,c,b)}Ca=f+16|0}function oC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=x(0),h=0,i=x(0),j=x(0),k=0,l=0,m=x(0),n=x(0);e=0;k=(f|0)>0?f:0;while(1){if((e|0)!=(k|0)){d=d+1&511;f=(e<<3)+a|0;l=f;m=u[f+4>>2];n=u[f>>2];h=e<<2;g=u[h+b>>2];a:{if(g!=x(0)){j=x(i*g);break a}g=u[c+h>>2];h=d<<3;j=x(g*u[h+98052>>2]);g=x(g*u[h+98048>>2])}u[f>>2]=n+g;u[l+4>>2]=m+j;e=e+1|0;i=x(-i);continue}break}}function Rm(){na(206360,206776);ma(206384,206781,1,1,0);Zz();Yz();Xz();Wz();Vz();Uz();Tz();Sz();Rz();Qz();Pz();ca(1360,206887);ca(207632,206899);_(207720,4,206932);_(207812,2,206945);_(207904,4,206960);la(1424,206975);Oz();Pm(207021);Om(207058);Nm(207097);Mm(207128);Lm(207168);Km(207197);Mz();Lz();Pm(207304);Om(207336);Nm(207369);Mm(207402);Lm(207436);Km(207469);Kz();Jz()}function FC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=(e|0)>1?e:1;a=0;c=1;while(1){if((c|0)!=(h|0)){e=0;while(1){if(e>>>0<=15){g=a;a=(d+e|0)+b|0;f=r[b+e|0]-r[a|0]|0;g=g+w(f,f)|0;f=r[(e|1)+b|0]-r[a+1|0]|0;g=g+w(f,f)|0;f=r[(e|2)+b|0]-r[a+2|0]|0;a=r[(e|3)+b|0]-r[a+3|0]|0;a=(g+w(f,f)|0)+w(a,a)|0;e=e+4|0;continue}break}c=c+1|0;b=b+d|0;continue}break}return a|0}function EC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=(e|0)>1?e:1;a=0;c=1;while(1){if((c|0)!=(h|0)){e=0;while(1){if(e>>>0<=7){g=a;a=(d+e|0)+b|0;f=r[b+e|0]-r[a|0]|0;g=g+w(f,f)|0;f=r[(e|1)+b|0]-r[a+1|0]|0;g=g+w(f,f)|0;f=r[(e|2)+b|0]-r[a+2|0]|0;a=r[(e|3)+b|0]-r[a+3|0]|0;a=(g+w(f,f)|0)+w(a,a)|0;e=e+4|0;continue}break}c=c+1|0;b=b+d|0;continue}break}return a|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>1<<1;c=b;while(1){if((e|0)!=8){d=s[a+ -2>>1]+s[c>>1]|0;p[a>>1]=d;d=d+s[c+4>>1]|0;p[a+2>>1]=d;d=d+s[c+8>>1]|0;p[a+4>>1]=d;d=d+s[c+12>>1]|0;p[a+6>>1]=d;d=d+s[c+16>>1]|0;p[a+8>>1]=d;d=d+s[c+20>>1]|0;p[a+10>>1]=d;d=d+s[c+24>>1]|0;p[a+12>>1]=d;p[a+14>>1]=d+s[c+28>>1];e=e+1|0;c=c+32|0;a=a+f|0;continue}break}Za(b,0,256)}function QD(a,b){var c=0,d=0,e=0;c=Ua(b,8);o[a|0]=c;c=c&255;if(c>>>0<=1){if(c-1){c=Ua(b,8);o[a+1|0]=c;c=(c&255)+ -2|0;a:{if(c>>>0>1){break a}if(c-1){d=a,e=Ua(b,16),p[d+2>>1]=e;break a}d=a,e=Ua(b,16),p[d+4>>1]=e}d=a,e=Ua(b,8),o[d+6|0]=e;d=a,e=Ua(b,8),o[d+7|0]=e;d=a,e=Ua(b,8),o[d+8|0]=e;d=a,e=Ua(b,8),o[d+9|0]=e;return}d=a,e=Ua(b,8),o[d+10|0]=e;d=a,e=Ua(b,16),p[d+12>>1]=e}}function Ak(a,b,c){var d=0,e=0;b=(a+b|0)+32904|0;a:{b:{if(c){d=q[a+21740>>2]&6;if(!_a(a+32856|0,(q[a+21732>>2]&6?d?2:1:(d|0)!=0)+b|0)){break a}b=b+2|0;break b}if(_a(a+32856|0,b)){break b}break a}e=25;d=a+32856|0;if(HE(d)){break a}a=w(_a(d,b+1|0),12)|1;if(_a(d,b+2|0)){a=(a+(_a(d,(b+c|0)+2|0)<<2)|0)+4|0}return((_a(d,(b+c|0)+3|0)<<1)+a|0)+_a(d,((c<<1)+b|0)+3|0)|0}return e}function _q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;while(1){if((g|0)!=(h|0)){c=f+w(r[a|0],e)>>d;o[a|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+1|0],e)>>d;o[a+1|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+2|0],e)>>d;o[a+2|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+3|0],e)>>d;o[a+3|0]=c>>>0>255?c>>31^-1:c;a=a+b|0;g=g+1|0;continue}break}}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=c&-2;e=d+a|0;b=c>>1;c=w(b,6)+a|0;b=s[e+ -2>>1]+(s[a+ -2>>1]+(s[(3-b<<1)+a>>1]+(s[(2-b<<1)+a>>1]+(s[a-d>>1]+s[(1-b<<1)+a>>1]|0)|0)|0)|0)|0;d=(d<<1)+a|0;b=(s[c+ -2>>1]+(b+s[d+ -2>>1]|0)|0)+4>>3;b=$R(b,b>>31,65537,65537);q[a>>2]=b;f=a;a=Da;q[f+4>>2]=a;q[e>>2]=b;q[e+4>>2]=a;q[d>>2]=b;q[d+4>>2]=a;q[c>>2]=b;q[c+4>>2]=a}function bd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=e;e=0;k=e;h=c;c=0;g=$R(j,e,h,c);e=Da;l=g;g=g>>>0<0?e+1|0:e;f=d;e=0;i=b;d=$R(f,e,b,0);b=Da;f=$R(f,e,h,c);c=b+f|0;b=Da;b=c>>>0>>0?b+1|0:b;h=b;f=b+l|0;b=g;b=f>>>0>>0?b+1|0:b;g=b;b=$R(i,m,j,k)+c|0;e=Da;e=b>>>0>>0?e+1|0:e;i=e;f=e+f|0;e=g;q[a+8>>2]=f;q[a+12>>2]=f>>>0>>0?e+1|0:e;q[a>>2]=d;q[a+4>>2]=b}function Yu(a,b){var c=0,d=0,e=0;e=q[a+28>>2];d=q[e+36>>2]+ -1|0;a:{while(1){if((d|0)<0){return-6}c=q[q[e+32>>2]+(d<<2)>>2];c=n[q[q[c+4>>2]+20>>2]](c,b)|0;if((c|0)==-6){d=d+ -1|0;continue}if((q[e+36>>2]+ -1|0)==(d|0)|((c|0)!=-541478725?(c|0)<=-1:0)){break a}d=d+1|0;c=Pl(q[q[e+32>>2]+(d<<2)>>2],(c|0)<0?0:b);if((c|0)>-1){continue}break}Ta(a,16,29147,0);Wd(b)}return c}function gx(a){var b=0,c=0,d=0,e=0;c=q[a+16>>2];b=(c>>>0)/170|0;b=q[q[a+4>>2]+(b<<2)>>2]+w(c-w(b,170)|0,24)|0;q[b+4>>2]=1636;b=q[b+8>>2];d=q[b+12>>2]+ -1|0;q[b+12>>2]=d;e=a;if(!(d|!b)){if(o[b+11|0]<=-1){Ya(q[b>>2])}Ya(b);c=q[a+16>>2]}b=c+1|0;q[e+16>>2]=b;q[a+20>>2]=q[a+20>>2]+ -1;if(b>>>0>=340){Ya(q[q[a+4>>2]>>2]);q[a+4>>2]=q[a+4>>2]+4;q[a+16>>2]=q[a+16>>2]+ -170}}function fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=4-b|0;while(1){if((c|0)!=4){d=r[(c+f|0)+a|0]+d|0;e=r[(c-b|0)+a|0]+e|0;c=c+1|0;continue}break}f=w(d+2>>>2|0,16843009);e=w(e+2>>>2|0,16843009);d=0;while(1){c=4;if((d|0)==4){while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d+4>>2]=f;q[d>>2]=e;c=c+1|0;continue}break}}else{c=w(b,d)+a|0;q[c+4>>2]=f;q[c>>2]=e;d=d+1|0;continue}break}}function sn(a,b,c,d){var e=0,f=0,g=0;e=Ca-16|0;Ca=e;a:{if(t[b>>2]>=c>>>0){if(!c|(r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24))){break a}q[e+8>>2]=33;q[e+4>>2]=7367;q[e>>2]=5870;Ta(0,0,3216,e);I();F()}Wa(a);f=((c>>>4|0)+c|0)+32|0;f=f>>>0>c>>>0?f:c;g=a;b:{if(d){c=nb(f);break b}c=rc(f)}o[g|0]=c;o[a+1|0]=c>>>8;o[a+2|0]=c>>>16;o[a+3|0]=c>>>24;q[b>>2]=c?f:0}Ca=e+16|0}function SL(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){if((h|0)!=4){f=q[a>>2];d=b;g=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);i=f|g;e=q[a+4>>2];d=r[d+4|0]|r[d+5|0]<<8|(r[d+6|0]<<16|r[d+7|0]<<24);j=e|d;f=f^g;e=e^d;g=e>>>1|0;d=a;e=((e&1)<<31|f>>>1)&2147450879;q[d>>2]=i-e;q[d+4>>2]=j-((g&2147450879)+(i>>>0>>0)|0);h=h+1|0;a=c+d|0;b=b+c|0;continue}break}}function CA(a,b){a:{if((b|0)>=128){a=x(a*x(1.7014118346046923e+38));if((b|0)<255){b=b+ -127|0;break a}a=x(a*x(1.7014118346046923e+38));b=((b|0)<381?b:381)+ -254|0;break a}if((b|0)>-127){break a}a=x(a*x(1.1754943508222875e-38));if((b|0)>-253){b=b+126|0;break a}a=x(a*x(1.1754943508222875e-38));b=((b|0)>-378?b:-378)+252|0}return x(a*(f(0,(b<<23)+1065353216|0),k()))}function zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=20;g=1;while(1){if((g|0)!=3){f=g<<4;i=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ge(q[i>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}j=(f<<6)+c|0;if(!q[j>>2]){break a}Fe(q[i>>2]+q[(f<<2)+b>>2]|0,j,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}}function uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=20;g=1;while(1){if((g|0)!=3){f=g<<4;i=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ee(q[i>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}j=(f<<6)+c|0;if(!q[j>>2]){break a}De(q[i>>2]+q[(f<<2)+b>>2]|0,j,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}}function pq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=20;g=1;while(1){if((g|0)!=3){f=g<<4;i=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ce(q[i>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}j=(f<<6)+c|0;if(!q[j>>2]){break a}Be(q[i>>2]+q[(f<<2)+b>>2]|0,j,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}}function Mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=20;g=1;while(1){if((g|0)!=3){f=g<<4;i=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ke(q[i>>2]+q[(f<<2)+b>>2]|0,(f<<5)+c|0,d);break a}j=(f<<5)+c|0;if(!s[j>>1]){break a}Je(q[i>>2]+q[(f<<2)+b>>2]|0,j,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}}function Lv(a,b,c,d,e){a:{b:{if(d>>>0>2){break b}c:{switch(d-1|0){case 1:d=q[a+4>>2];if(!q[a+6512>>2]){Ta(d,16,34302,0);Mb(c,q[e>>2]);q[e>>2]=0;return}b=rw(d,c,b+176032|0,q[e>>2]);q[e>>2]=q[e>>2]-b;q[q[a+4>>2]+716>>2]=28;return;case 0:break b;default:break c}}d=q[e>>2];if((d|0)>16){break b}if(!_c(c,d)){break a}}Pc(q[a+4>>2],34779,0);d=q[e>>2]}Mb(c,d);q[e>>2]=0}function Eq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=20;g=1;while(1){if((g|0)!=3){f=g<<4;i=((g<<2)+a|0)+ -4|0;while(1){if((f|0)!=(h|0)){a:{if(r[r[f+153952|0]+e|0]){Ie(q[i>>2]+q[(f<<2)+b>>2]|0,(f<<6)+c|0,d);break a}j=(f<<6)+c|0;if(!q[j>>2]){break a}He(q[i>>2]+q[(f<<2)+b>>2]|0,j,d)}f=f+1|0;continue}break}h=h+16|0;g=g+1|0;continue}break}}function sC(a){a=a|0;var b=0,c=0;a:{while(1){b:{if(!a){break b}if(!r[2432897]){n[125]();o[2432897]=1}c=215980;c:{if(!b){break c}c=q[b+60>>2]}b=c;if(!b){break b}if(q[b+44>>2]!=(a|0)){continue}break a}break}b=0}while(1){if(!r[2432897]){n[125]();o[2432897]=1}a=215980;d:{if(!b){break d}a=q[b+60>>2]}b=a;if(!b){return 0}a=q[b+44>>2];if(!a){continue}break}return a|0}function dA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(xb(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(!xb(a,q[b>>2],e)){break a}if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+20>>2]=c;q[b+32>>2]=d;q[b+40>>2]=q[b+40>>2]+1;if(!(q[b+36>>2]!=1|q[b+24>>2]!=2)){o[b+54|0]=1}q[b+44>>2]=4}}function Yy(a,b){var c=0,d=0,e=0;c=Ca-16|0;Ca=c;q[c+12>>2]=0;a:{if(!b){break a}b:{while(1){d=Lk(q[b>>2],24598,d,2);if(!d){break b}e=Wj(a,q[d>>2],q[d+4>>2]);if((e|0)==-1414549496){e=dg(c+12|0,q[d>>2],q[d+4>>2])}if((e|0)>-1){continue}break}b=q[d+4>>2];q[c>>2]=q[d>>2];q[c+4>>2]=b;Ta(a,16,31405,c);je(c+12|0);break a}je(b);q[b>>2]=q[c+12>>2];e=0}Ca=c+16|0;return e}function Ld(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;while(1){if((f|0)!=2){e=r[b+8|0];g=r[b+6|0];h=r[b+2|0];i=r[b|0];j=r[b+4|0];k=r[b+ -2|0];l=(((g+r[b+ -4|0]|0)+w(h+i|0,20)|0)+w(j+k|0,-5)|0)+16|0;d=l>>5;o[a|0]=d>>>0>255?l>>31^-1:d;e=(((e+k|0)+w(h+j|0,20)|0)+w(g+i|0,-5)|0)+16|0;d=e>>5;o[a+c|0]=d>>>0>255?e>>31^-1:d;f=f+1|0;b=b+1|0;a=a+1|0;continue}break}}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b>>1;b=a-(b&-2)|0;e=q[b+24>>2];f=q[b+28>>2];g=q[b+16>>2];h=q[b+20>>2];i=q[b+8>>2];j=q[b+12>>2];k=q[b>>2];l=q[b+4>>2];b=0;while(1){if((b|0)!=16){c=(w(b,d)<<1)+a|0;q[c+24>>2]=e;q[c+28>>2]=f;q[c+16>>2]=g;q[c+20>>2]=h;q[c+8>>2]=i;q[c+12>>2]=j;q[c>>2]=k;q[c+4>>2]=l;b=b+1|0;continue}break}}function gC(a){a=a|0;var b=0,c=0,d=0;q[a+256>>2]=q[a>>2];c=a+4|0;d=65;b=1;while(1){q[(d<<2)+a>>2]=q[c>>2];if(b>>>0<=30){c=(b<<3)+a|0;q[c+256>>2]=q[(64-b<<2)+a>>2]^-2147483648;q[c+260>>2]=q[((b<<2)+a|0)+4>>2];q[c+264>>2]=q[(63-b<<2)+a>>2]^-2147483648;d=(b<<1)+67|0;b=b+2|0;c=(b<<2)+a|0;continue}break}q[a+508>>2]=q[a+128>>2];q[a+504>>2]=q[a+132>>2]^-2147483648}function RA(a){var b=0,c=0,d=0,e=0,f=0;c=a+3|0;b=r[a+3|0];e=(b|0)!=0;d=b|(r[a+1|0]<<16|r[a|0]<<24|r[a+2|0]<<8);a=r[24002]|r[24003]<<8|(r[24004]<<16|r[24005]<<24);f=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);a:{if(!(!b|(d|0)==(f|0))){while(1){a=c+1|0;b=r[c+1|0];e=(b|0)!=0;d=b|d<<8;if((f|0)==(d|0)){break a}c=a;if(b){continue}break}break a}a=c}return e?a+ -3|0:0}function Ik(a,b,c,d){var e=0,f=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(f|0)){e=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);q[a>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+4>>2]=e;e=r[b+12|0]|r[b+13|0]<<8|(r[b+14|0]<<16|r[b+15|0]<<24);q[a+8>>2]=r[b+8|0]|r[b+9|0]<<8|(r[b+10|0]<<16|r[b+11|0]<<24);q[a+12>>2]=e;f=f+1|0;a=a+c|0;b=b+c|0;continue}break}}function pr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<6|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<16384?h:(h>>31^-1)&16383;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<16384?h:(h>>31^-1)&16383;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Fm(a,b,c){var d=0,e=0,f=0;a:{d=q[c+16>>2];if(!d){if(Hm(c)){break a}d=q[c+16>>2]}f=q[c+20>>2];if(d-f>>>0>>0){n[q[c+36>>2]](c,a,b)|0;return}b:{if(o[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e+ -1|0;if(r[d+a|0]!=10){continue}break}if(n[q[c+36>>2]](c,a,e)>>>0>>0){break a}b=b-e|0;a=a+e|0;f=q[c+20>>2]}Va(f,a,b);q[c+20>>2]=q[c+20>>2]+b}}function tB(a){a=+a;var b=0,c=0,d=0,i=0,j=0;h(.5);d=e(1)|0;j=e(0)|0;h(+a);c=e(1)|0;e(0)|0;f(0,j|0);f(1,d&2147483647|c&-2147483648);i=+g();h(+a);c=e(1)|0;f(0,e(0)|0);c=c&2147483647;f(1,c|0);b=+g();d=c;a:{if(c>>>0<=1082535489){b=xf(b);if(d>>>0<=1072693247){if(d>>>0<1045430272){break a}return+(i*(b+b-b*b/(b+1)))}return+(i*(b+b/(b+1)))}a=(i+i)*An(b)}return+a}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=w(c,3)+a|0;b=r[d+ -1|0];e=(c<<1)+a|0;f=r[e+ -1|0];j=a;g=a+c|0;h=r[g+ -1|0];i=h+2|0;c=i+r[(c^-1)+a|0]|0;a=r[a+ -1|0];q[j>>2]=w(c+(a<<1)>>>2|0,16843009);c=a;a=f+2|0;q[g>>2]=w((c+a|0)+(h<<1)>>>2|0,16843009);q[e>>2]=w(((f<<1)+i|0)+b>>>2|0,16843009);q[d>>2]=w((a+b|0)+(b<<1)>>>2|0,16843009)}function Nd(a,b,c,d){var e=0,f=0,g=0,h=0;while(1){if((g|0)!=2){e=b+ -1|0;h=(r[b+3|0]+((r[b+ -2|0]+w(r[b+1|0]+r[b|0]|0,20)|0)+w(r[b+2|0]+r[e|0]|0,-5)|0)|0)+16|0;f=h>>5;o[a|0]=f>>>0>255?h>>31^-1:f;e=(r[b+4|0]+((r[e|0]+w(r[b+2|0]+r[b+1|0]|0,20)|0)+w(r[b+3|0]+r[b|0]|0,-5)|0)|0)+16|0;f=e>>5;o[a+1|0]=f>>>0>255?e>>31^-1:f;g=g+1|0;b=b+d|0;a=a+c|0;continue}break}}function ds(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<2|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<1024?h:(h>>31^-1)&1023;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<1024?h:(h>>31^-1)&1023;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function Kr(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<4|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<4096?h:(h>>31^-1)&4095;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<4096?h:(h>>31^-1)&4095;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function ap(a,b){var c=0,d=0,e=0,f=0;d=Ca-16|0;Ca=d;c=_o(d+12|0,b);a:{if((c|0)<0){break a}c=q[d+12>>2];b:{while(1){e=c;c=r[q[b+8>>2]]+ -43|0;if(c>>>0>2|!(c-1)){break b}c=_o(d+8|0,b);if((c|0)<=-1){q[d+12>>2]=e;yb(e);break a}f=q[d+8>>2];c=aj(21,e,f);if(c){continue}break}q[d+12>>2]=0;yb(e);yb(f);c=-48;break a}q[d+12>>2]=e;q[a>>2]=e;c=0}Ca=d+16|0;return c}function Yn(a,b){var c=0,d=0,e=0,f=0,g=0;d=q[a+26388>>2]!=3;f=q[a+27016>>2]<<4>>d;c=q[a+26384>>2];e=16<>2]>>d<<4;a:{if(!q[b+868>>2]){c=d;break a}g=20<>31&c)+((e|0)>(d|0)?d:e)|0);if(q[a+25692>>2]|q[q[q[b>>2]+25628>>2]+600>>2]){break b}}}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=b>>1;f=4-e|0;b=0;while(1){if((b|0)!=4){c=s[(b+f<<1)+a>>1]+c|0;d=s[(b-e<<1)+a>>1]+d|0;b=b+1|0;continue}break}f=$R(c+2>>>2|0,0,65537,65537);g=Da;d=$R(d+2>>>2|0,0,65537,65537);h=Da;b=0;while(1){if((b|0)!=16){c=(w(b,e)<<1)+a|0;q[c+8>>2]=f;q[c+12>>2]=g;q[c>>2]=d;q[c+4>>2]=h;b=b+1|0;continue}break}}function Fh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=x(0),l=0,m=x(0);h=(c|0)>0?c:0;i=+(c|0);while(1){if((d|0)!=(h|0)){j=(+(d|0)+.5)*6.283185307179586;c=0;while(1){if((c|0)!=7){e=(c<<2)+b|0;k=u[e>>2];f=((d<<6)+a|0)+(c<<3)|0;g=j*+(c+ -6|0)/i;l=f,m=x(db(g)*+k),u[l>>2]=m;l=f,m=x(-ce(g)*+u[e>>2]),u[l+4>>2]=m;c=c+1|0;continue}break}d=d+1|0;continue}break}}function jR(a){var b=0,c=0,d=0,e=0,f=0;e=Ca-16|0;Ca=e;b=e;c=q[a+24>>2];a:{if(c){c=n[c](q[a+16>>2],q[a+12>>2])|0;break a}c=n[q[a+20>>2]](q[a+12>>2])|0}q[b+12>>2]=c;b:{if(!c){break b}b=nb(20);if(!b){lb(e+12|0);break b}d=q[c>>2];q[b>>2]=q[d>>2];q[b+4>>2]=q[d+16>>2];f=q[d+12>>2];q[b+12>>2]=a;q[b+8>>2]=f;q[d+12>>2]=70;q[d+16>>2]=b;d=c}Ca=e+16|0;return d}function NA(a,b,c,d){var e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;a:{if(!c){break a}b:{c:{if(!Sb(c,33596)){f=-1;break c}f=1;if(gj(c,33900)){break c}f=0;if(gj(c,34240)){break c}q[e+12>>2]=0;f=tf(c,e+12|0,10);if((ub(c)+c|0)!=q[e+12>>2]){break b}}g=+(f|0);if(v[b+24>>3]>g|v[b+32>>3]>2]=f;break a}q[e>>2]=c;Ta(a,16,34674,e);h=-28}Ca=e+16|0;return h}function As(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h<<1|1)<>1<<1;while(1){if((i|0)!=(j|0)){h=(e+w(s[b>>1],g)|0)+w(s[a>>1],f)>>d;p[a>>1]=h>>>0<512?h:(h>>31^-1)&511;h=(e+w(s[b+2>>1],g)|0)+w(s[a+2>>1],f)>>d;p[a+2>>1]=h>>>0<512?h:(h>>31^-1)&511;i=i+1|0;b=b+c|0;a=a+c|0;continue}break}}function WB(a,b,c){var d=0,e=0;d=Ca-16|0;Ca=d;a:{if(t[b>>2]>=c>>>0){b=0;if(!c|(r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24))){break a}q[d+8>>2]=33;q[d+4>>2]=48683;q[d>>2]=48526;Ta(0,0,6634,d);I();F()}Wa(a);e=((c>>>4|0)+c|0)+32|0;e=e>>>0>c>>>0?e:c;c=nb(e);o[a|0]=c;o[a+1|0]=c>>>8;o[a+2|0]=c>>>16;o[a+3|0]=c>>>24;q[b>>2]=c?e:0;b=1}Ca=d+16|0;return b}function _j(a,b,c,d){var e=0,f=0;e=Ca-160|0;Ca=e;Va(e+8|0,200072,144);a:{b:{if(b+ -1>>>0>=2147483647){if(b){break b}b=1;a=e+159|0}q[e+52>>2]=a;q[e+28>>2]=a;f=-2-a|0;b=b>>>0>f>>>0?f:b;q[e+56>>2]=b;a=a+b|0;q[e+36>>2]=a;q[e+24>>2]=a;a=un(e+8|0,c,d);if(!b){break a}b=q[e+28>>2];o[b-((b|0)==q[e+24>>2])|0]=0;break a}q[865816]=61;a=-1}Ca=e+160|0;return a}function Up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a-b|0;f=170608-r[(b^-1)+a|0]|0;while(1){if((e|0)!=8){d=r[a+ -1|0]+f|0;o[a|0]=r[d+r[c|0]|0];o[a+1|0]=r[r[c+1|0]+d|0];o[a+2|0]=r[r[c+2|0]+d|0];o[a+3|0]=r[r[c+3|0]+d|0];o[a+4|0]=r[r[c+4|0]+d|0];o[a+5|0]=r[r[c+5|0]+d|0];o[a+6|0]=r[r[c+6|0]+d|0];o[a+7|0]=r[r[c+7|0]+d|0];e=e+1|0;a=a+b|0;continue}break}}function Qo(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=Ca-32|0;Ca=e;d=a;q[d+8>>2]=0;q[d+12>>2]=0;q[d>>2]=0;q[d+4>>2]=0;d=-28;f=b>>>0>195?0:w(b,152)+59184|0;a:{if(!f|r[f+8|0]&8){break a}To(e+16|0,e,f);d=0;b=0;while(1){if((b|0)==4){break a}g=b<<2;h=Ro(c,q[g+(e+16|0)>>2],q[e+g>>2],f);if((h|0)<0){d=h}else{q[a+g>>2]=h;b=b+1|0;continue}break}}Ca=e+32|0;return d}function SD(a){var b=0,c=0,d=0;b=q[a+29572>>2];a:{if(!b|(b+q[a+29568>>2]|0)>2]+48>>2]){break a}c=q[a+26388>>2]==3;if(q[q[a+24312>>2]+640>>2]?!(c|q[a+26392>>2]):0){break a}d=1;q[a+28764>>2]=1;b=q[q[((b<<2)+a|0)+28360>>2]+88>>2];q[a+28768>>2]=b;if(c){break a}q[a+28776>>2]=1;b=b<<1;q[a+28768>>2]=b;q[a+28780>>2]=b|1;d=2}q[a+29556>>2]=d}function kd(a,b){a:{if((b|0)>=1024){a=a*8.98846567431158e+307;if((b|0)<2047){b=b+ -1023|0;break a}a=a*8.98846567431158e+307;b=((b|0)<3069?b:3069)+ -2046|0;break a}if((b|0)>-1023){break a}a=a*2.2250738585072014e-308;if((b|0)>-2045){b=b+1022|0;break a}a=a*2.2250738585072014e-308;b=((b|0)>-3066?b:-3066)+2044|0}f(0,0);f(1,b+1023<<20);return a*+g()}function gA(a,b){var c=0,d=0;a:{while(1){if(!b){return 0}b=Kc(b,206152);if(!b|q[b+8>>2]&(q[a+8>>2]^-1)){break a}if(xb(q[a+12>>2],q[b+12>>2],0)){return 1}if(!(o[a+8|0]&1)){break a}c=q[a+12>>2];if(!c){break a}c=Kc(c,206152);if(c){b=q[b+12>>2];a=c;continue}break}a=q[a+12>>2];if(!a){break a}a=Kc(a,206264);if(!a){break a}d=Tm(a,q[b+12>>2])}return d}function uc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=x(0);c=1<-4?d+1|0:0;f=6.283185307179586/+(c|0);a=q[(a<<2)+150304>>2];while(1){if((b|0)==(e|0)){d=(d|0)>1?d:1;c=(c|0)/2|0;b=1;while(1){if((b|0)!=(d|0)){q[a+(c-b<<2)>>2]=q[a+(b<<2)>>2];b=b+1|0;continue}break}}else{g=a+(b<<2)|0,h=x(db(f*+(b|0))),u[g>>2]=h;b=b+1|0;continue}break}}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ca+ -64|0;Ca=d;e=1;a:{if(xb(a,b,0)){break a}e=0;if(!b){break a}b=Kc(b,206056);e=0;if(!b){break a}q[d+20>>2]=-1;q[d+16>>2]=a;q[d+12>>2]=0;q[d+8>>2]=b;Za(d+24|0,0,39);q[d+56>>2]=1;n[q[q[b>>2]+28>>2]](b,d+8|0,q[c>>2],1);e=0;if(q[d+32>>2]!=1){break a}q[c>>2]=q[d+24>>2];e=1}Ca=d- -64|0;return e|0}function io(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e?-2147483648:2147483647;l=(c|0)>0?c:0;while(1){j=(f<<2)+a|0;c=0;g=i;while(1){if((c|0)!=(l|0)){k=q[(c<<2)+b>>2];h=q[k+84>>2];if(!(((h|0)>(d|0)|0)==(e|0)|((h|0)<(g|0)|0)==(e|0))){q[j>>2]=k;g=h}c=c+1|0;continue}break}if((g|0)!=(i|0)){f=f+1|0;d=q[q[j>>2]+84>>2]-e|0;continue}break}return f}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=$R(s[a+ -2>>1],0,65537,65537),q[d>>2]=e;q[a+4>>2]=Da;b=a+(c&-2)|0;d=b,e=$R(s[b+ -2>>1],0,65537,65537),q[d>>2]=e;q[b+4>>2]=Da;b=((c&2147483646)<<1)+a|0;d=b,e=$R(s[b+ -2>>1],0,65537,65537),q[d>>2]=e;q[b+4>>2]=Da;a=w(c>>1,6)+a|0;b=a;d=b,e=$R(s[b+ -2>>1],0,65537,65537),q[d>>2]=e;q[b+4>>2]=Da}function Bm(a){var b=0,c=0,d=0,e=0;b=Ca-16|0;Ca=b;q[b+8>>2]=0;q[b+12>>2]=0;q[b>>2]=0;q[b+4>>2]=0;a:{d=a>>>0>195?0:w(a,152)+59184|0;if(!d){c=-28;break a}e=r[d+4|0];a=0;while(1)if((c|0)==(e|0)){c=0;while(1){if((a|0)==4){break a}c=q[(a<<2)+b>>2]+c|0;a=a+1|0;continue}}else{q[(q[((c<<5)+d|0)+16>>2]<<2)+b>>2]=1;c=c+1|0;continue}}Ca=b+16|0;return c}function Zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=q[a+8>>2];c=q[a>>2];d=b+c|0;e=q[a+24>>2];h=q[a+16>>2];f=e+h|0;q[a+16>>2]=d-f;q[a>>2]=d+f;d=q[a+28>>2];f=q[a+20>>2];i=d+f|0;g=q[a+4>>2];j=q[a+12>>2];k=g+j|0;q[a+4>>2]=i+k;g=g-j|0;e=e-h|0;q[a+12>>2]=g+e;q[a+20>>2]=k-i;q[a+28>>2]=g-e;b=c-b|0;c=f-d|0;q[a+24>>2]=b-c;q[a+8>>2]=b+c}function yB(a){var b=0,c=0,d=0,g=0,h=0,i=0,l=0;g=(j(a),e(0));d=g&2147483647;if(d>>>0>=2139095040){return x(a+a)}i=709958130;a:{if(d>>>0<=8388607){if(!d){break a}i=642849266;g=(j(x(a*x(16777216))),e(0));d=g&2147483647}h=+a;l=h+h;b=+(f(0,((d>>>0)/3|0)+i|g&-2147483648),k());c=b*b*b;b=(l+c)*b/(c+(c+h));c=b*(b*b);a=x(b*(l+c)/(c+(c+h)))}return a}function sB(a){a=+a;var b=0,c=0,d=0;h(+a);b=e(1)|0;c=e(0)|0;d=b;f(0,c|0);b=b&2147483647;f(1,b|0);a=+g();a:{if(b>>>0>=1071748075){if(b>>>0>=1077149697){a=-0/a+1;break a}a=1-2/(xf(a+a)+2);break a}if(b>>>0>=1070618799){a=xf(a+a);a=a/(a+2);break a}if(b>>>0<1048576){break a}a=xf(a*-2);a=-a/(a+2)}return+(((d|0)<0?1:(d|0)<=0?c>>>0>=0?0:1:0)?-a:a)}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=b>>1;b=0;while(1){if((b|0)!=16){c=s[((w(b,e)<<1)+a|0)+ -2>>1]+c|0;b=b+1|0;continue}break}d=$R(c+8>>>4|0,0,65537,65537);f=Da;b=0;while(1){if((b|0)!=16){q[a+24>>2]=d;c=f;q[a+28>>2]=c;q[a+16>>2]=d;q[a+20>>2]=c;q[a+8>>2]=d;q[a+12>>2]=c;q[a>>2]=d;q[a+4>>2]=c;b=b+1|0;a=a+(e<<1)|0;continue}break}}function vk(a,b){var c=0,d=0;q[a+27012>>2]=0;c=!b;b=q[a+4>>2];if(!(o[b+696|0]&1?c:0)){if(!q[a+25692>>2]){d=go(a);q[a+28264>>2]=q[a+28244>>2];q[a+28268>>2]=q[a+28240>>2]}q[a+28276>>2]=q[a+28272>>2];q[a+28280>>2]=q[a+28260>>2]}c=q[b+592>>2];a:{if(!c){break a}d=n[q[c+36>>2]](b)|0;if((d|0)>-1){break a}Ta(b,16,12313,0)}q[a+29576>>2]=0;return d}function rQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){if((f|0)!=8){d=r[a+ -1|0]+r[e|0]|0;o[a|0]=d;d=d+r[e+2|0]|0;o[a+1|0]=d;d=d+r[e+4|0]|0;o[a+2|0]=d;d=d+r[e+6|0]|0;o[a+3|0]=d;d=d+r[e+8|0]|0;o[a+4|0]=d;d=d+r[e+10|0]|0;o[a+5|0]=d;d=d+r[e+12|0]|0;o[a+6|0]=d;o[a+7|0]=d+r[e+14|0];f=f+1|0;e=e+16|0;a=a+c|0;continue}break}Za(b,0,128)}function iv(a){a=a|0;var b=0,c=0,d=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;a:{if(!a){break a}while(1){d=q[b+12>>2];c=q[(d<<2)+129260>>2];if(!d){q[b+12>>2]=1}if(!c){break a}if(q[c+8>>2]!=(a|0)){continue}break}}while(1){b:{c=q[b+12>>2];a=q[(c<<2)+129260>>2];if(!c){q[b+12>>2]=1}if(!a){a=0;break b}a=q[a+8>>2];if(!a){continue}}break}Ca=b+16|0;return a|0}function Nj(a,b,c,d){o[a+53|0]=1;a:{if(q[a+4>>2]!=(c|0)){break a}o[a+52|0]=1;c=q[a+16>>2];if(!c){q[a+36>>2]=1;q[a+24>>2]=d;q[a+16>>2]=b;if((d|0)!=1|q[a+48>>2]!=1){break a}o[a+54|0]=1;return}if((b|0)==(c|0)){c=q[a+24>>2];if((c|0)==2){q[a+24>>2]=d;c=d}if(q[a+48>>2]!=1|(c|0)!=1){break a}o[a+54|0]=1;return}o[a+54|0]=1;q[a+36>>2]=q[a+36>>2]+1}}function Bj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=q[d>>2];g=(e|0)>(b|0)?e:b;b=0;while(1){a:{if((e|0)!=(g|0)){h=w(e,3)+a|0;if(r[h+2|0]==(c|0)){break a}g=e}b:{if(b){a=-1;if((c|0)==1&(i|0)!=0|(c|0)==2){break b}}q[d>>2]=g;a=f}return a}c:{if(r[h|0]==1){if(!(!b|!((c|0)!=1|(i|0)!=0))){return-1}f=f+2|0;i=1;b=0;break c}f=f+1|0;b=b^1}e=e+1|0;continue}}function Rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){if((e|0)!=8){o[a|0]=r[a|0]+r[d|0];o[a+1|0]=r[a+1|0]+r[d+2|0];o[a+2|0]=r[a+2|0]+r[d+4|0];o[a+3|0]=r[a+3|0]+r[d+6|0];o[a+4|0]=r[a+4|0]+r[d+8|0];o[a+5|0]=r[a+5|0]+r[d+10|0];o[a+6|0]=r[a+6|0]+r[d+12|0];o[a+7|0]=r[a+7|0]+r[d+14|0];e=e+1|0;d=d+16|0;a=a+c|0;continue}break}Za(b,0,128)}function jx(a,b,c){var d=0,e=0,f=0,g=x(0),h=x(0),i=x(0),j=0,k=0,l=0;j=(b|0)>0?b:0;f=1;while(1){a:{if((e|0)!=(j|0)){k=f>>>1|0;b=e<<2;g=u[b+a>>2];u[b+c>>2]=-g;b=0;while(1){if((b|0)==(k|0)){break a}d=(b<<2)+c|0;h=u[d>>2];l=d;d=((b^-1)+e<<2)+c|0;i=u[d>>2];u[l>>2]=h-x(g*i);u[d>>2]=i-x(g*h);b=b+1|0;continue}}return}f=f+1|0;e=e+1|0;continue}}function Zu(a,b){var c=0,d=0;c=-541478725;a:{d=q[a+28>>2];b:{if(q[d+64>>2]){break b}c=Yu(a,b);if((c|0)==-541478725){q[d+64>>2]=1;return-541478725}if((c|0)<0){break b}c:{c=Xu(q[a+28>>2],b);if((c|0)<0){break c}c=Wu(a,b);if((c|0)<0){break c}if(!q[q[a+12>>2]+108>>2]){break a}q[d+92>>2]=q[d+92>>2]+q[b+28>>2];break a}Wd(b)}return c}return 0}function Dt(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=Ca-16|0;Ca=d;e=-1094995529;c=a+24|0;a:{if(Xa(c)){break a}g=a,h=Ua(c,6),q[g+44>>2]=h;g=a,h=Ua(c,6),q[g+52>>2]=h;c=Ua(c,3)+ -1|0;q[a+48>>2]=c;if((c|0)<0){break a}c=q[a+44>>2];e=Bt(c);f=q[a+52>>2];q[d+12>>2]=q[a+48>>2];q[d+8>>2]=f;q[d+4>>2]=e;q[d>>2]=c;Ta(b,48,18871,d);e=1}Ca=d+16|0;return e}function Xy(a,b){var c=0,d=0,e=0;c=Ca-48|0;Ca=c;q[c>>2]=a;d=a+4|0;q[c+4>>2]=d;q[c+8>>2]=c+47;a:{if((Gi(b,3281,c)|0)!=2){d=0;b=$o(c+32|0,b,0,0,64,0);if((b|0)>=0){Gj(c+24|0,v[c+32>>3],1001e3);b=q[c+28>>2];q[a>>2]=q[c+24>>2];q[a+4>>2]=b;break a}d=b;break a}e=a;b=q[a>>2];a=q[a+4>>2];kf(e,d,b,b>>31,a,a>>31,1001e3,0);d=0}Ca=c+48|0;return d}function ub(a){a=a|0;var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!r[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(r[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=q[c>>2];if(!((d^-1)&d+ -16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=r[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function iy(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ca-16|0;Ca=e;a:{if(o[216560]&1){break a}if(!Mc(216560)){break a}g=216556,h=M(2,1240)|0,q[g>>2]=h;Lc(216560)}f=q[54139];c=o[b+11|0];b:{if((c|0)<=-1){c=q[b+4>>2];d=Nb(c+4|0);q[d>>2]=c;b=q[b>>2];break b}c=c&255;d=Nb(c+4|0);q[d>>2]=c}Va(d+4|0,b,c);q[e+8>>2]=d;O(f|0,a|0,1183,e+8|0);Ca=e+16|0}function cn(a,b){var c=0,d=0,e=0,f=0,g=0;Wa(b);q[b+4>>2]=0;a:{if(!a){break a}c=ub(a);if(!c){break a}d=-28;if(c&1){break a}f=(c|0)/2|0;c=rc(f);if(!c){return-48}d=c;while(1){e=r[a|0];if(e){g=Qm(e<<24>>24);e=Qm(o[a+1|0]);if((g|e)<=-1){Ya(c);return-28}else{o[d|0]=e|g<<4;d=d+1|0;a=a+2|0;continue}}break}q[b+4>>2]=f;q[b>>2]=c;d=0}return d}function Ax(a){var b=0;b=0;a:{if((a|0)>92016){break a}b=1;if((a|0)>75131){break a}b=2;if((a|0)>55425){break a}b=3;if((a|0)>46008){break a}b=4;if((a|0)>37565){break a}b=5;if((a|0)>27712){break a}b=6;if((a|0)>23003){break a}b=7;if((a|0)>18782){break a}b=8;if((a|0)>13855){break a}b=9;if((a|0)>11501){break a}b=(a|0)>9390?10:11}return b}function he(a,b){var c=0,d=0,e=0;q[a>>2]=0;q[a+4>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;if(b){c=q[b>>2];q[a+4>>2]=b+4;q[a>>2]=c;c=0;while(1){if((c|0)!=2){d=c<<2;e=d+a|0;d=b+d|0;q[e+8>>2]=q[d+36>>2];q[e+16>>2]=q[d+68>>2];c=c+1|0;continue}break}q[a+24>>2]=q[b+48>>2];q[a+28>>2]=q[b+636>>2]}}function Cx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==32769){while(1){if((a|0)!=32768){q[(0-a<<2)+2316832>>2]=q[(a<<2)+2054688>>2];a=a+1|0;continue}break}}else{e=(b<<2)+2054688|0;c=cS(x(db(+(b|0)*47936899621426287e-21)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Dx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==16385){while(1){if((a|0)!=16384){q[(0-a<<2)+2054688>>2]=q[(a<<2)+1923616>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1923616|0;c=cS(x(db(+(b|0)*9587379924285257e-20)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function wx(a){a=a|0;var b=0,c=0,d=0,e=0;b=q[a+24>>2];while(1){a=0;if((c|0)!=16){while(1){if((a|0)!=4){d=(((a<<6)+b|0)+(c<<2)|0)+492|0;e=q[d>>2];if(e){$l(e+156512|0)}Wa(d);a=a+1|0;continue}break}c=c+1|0;continue}break}te(b+5120|0);te(b+5188|0);te(b+5256|0);te(b+5324|0);Ki(b+5392|0);Ki(b+5396|0);Ki(b+5400|0);Wa(b+5404|0);return 0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=b>>1;b=0;while(1){if((b|0)!=16){c=s[(b-e<<1)+a>>1]+c|0;b=b+1|0;continue}break}d=$R(c+8>>>4|0,0,65537,65537);f=Da;b=0;while(1){if((b|0)!=16){q[a+24>>2]=d;c=f;q[a+28>>2]=c;q[a+16>>2]=d;q[a+20>>2]=c;q[a+8>>2]=d;q[a+12>>2]=c;q[a>>2]=d;q[a+4>>2]=c;b=b+1|0;a=a+(e<<1)|0;continue}break}}function Ex(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==8193){while(1){if((a|0)!=8192){q[(0-a<<2)+1923616>>2]=q[(a<<2)+1858080>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1858080|0;c=cS(x(db(+(b|0)*.00019174759848570515)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function SE(a,b){var c=0,d=0,e=0;a=(q[b+848>>2]+w(q[q[a+28224>>2]+1700>>2],-6)|0)+48|0;c=(a|0)<51?a:51;e=(c|0)>0;a=157024;a=q[b+840>>2]!=1?(q[b+33928>>2]<<11)+159072|0:a;e=e?c:0;while(1){if((d|0)!=1024){c=(d<<1)+a|0;c=((w(e,o[c|0])>>4)+o[c+1|0]<<1)+ -127|0;c=c>>31^c;o[(b+d|0)+32904|0]=(c|0)>124?c&1|124:c;d=d+1|0;continue}break}}function Hx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==1025){while(1){if((a|0)!=1024){q[(0-a<<2)+1808928>>2]=q[(a<<2)+1800736>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1800736|0;c=cS(x(db(+(b|0)*.0015339807878856412)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Gx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==2049){while(1){if((a|0)!=2048){q[(0-a<<2)+1825312>>2]=q[(a<<2)+1808928>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1808928|0;c=cS(x(db(+(b|0)*.0007669903939428206)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Fx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==4097){while(1){if((a|0)!=4096){q[(0-a<<2)+1858080>>2]=q[(a<<2)+1825312>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1825312|0;c=cS(x(db(+(b|0)*.0003834951969714103)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function yi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=v[a>>3];d=v[a+16>>3];b=c+d;e=v[a+48>>3];g=v[a+32>>3];f=e+g;v[a+32>>3]=b-f;v[a>>3]=b+f;b=v[a+8>>3];f=v[a+24>>3];h=b+f;i=v[a+40>>3];j=v[a+56>>3];k=i+j;v[a+8>>3]=h+k;e=e-g;b=b-f;v[a+24>>3]=e+b;v[a+40>>3]=h-k;v[a+56>>3]=b-e;c=c-d;d=i-j;v[a+48>>3]=c-d;v[a+16>>3]=c+d}function no(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=Ca-16|0;Ca=b;a:{c=q[a+4>>2];if(!(r[c+577|0]&8)){break a}Ta(c,48,27703,0);while(1){if(d>>>0>=t[a+29572>>2]){break a}c=q[((d<<2)+a|0)+28364>>2];e=q[c+88>>2];f=q[c+84>>2];g=q[a+4>>2];q[b+12>>2]=q[q[c>>2]>>2];q[b+8>>2]=f;q[b+4>>2]=e;q[b>>2]=d;Ta(g,48,28236,b);d=d+1|0;continue}}Ca=b+16|0}function Ay(){q[317070]=74799710;q[317071]=1071828771;q[317068]=-1684540248;q[317069]=1072292727;q[317066]=323245311;q[317067]=1072590606;q[317064]=925886800;q[317065]=1070843631;q[317062]=1;q[317063]=1071644672;q[317060]=1;q[317061]=1071644672;q[317058]=-396866389;q[317059]=1072412282;q[317056]=-396866389;q[317057]=1072412282}function qK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=x(0),i=x(0),j=x(0),k=x(0),l=0,m=0;f=0-e|0;l=(f|0)>0?f:0;g=b;b=e<<2;m=g+b|0;d=b+d|0;a=a+b|0;while(1){if((f|0)!=(l|0)){b=f<<2;h=u[b+m>>2];e=e+ -1|0;g=e<<2;i=u[g+d>>2];j=u[c+g>>2];k=u[b+d>>2];u[a+b>>2]=x(h*i)-x(j*k);u[a+g>>2]=x(h*k)+x(j*i);f=f+1|0;continue}break}}function hE(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=Ca-16|0;Ca=g;f=-6;h=q[d>>2];a:{if((h|0)>=(c-a|0)){break a}j=(a|0)>0?a:0;f=0;while(1){if((i|0)!=(j|0)){a=h+1|0;q[d>>2]=a;f=r[b+h|0]|f<<8;i=i+1|0;h=a;continue}break}a=c-h|0;if((f|0)<=(a|0)?(f|0)>=1:0){break a}q[g+4>>2]=a;q[g>>2]=f;Ta(e,16,15221,g);f=-1094995529}Ca=g+16|0;return f}function Ix(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==513){while(1){if((a|0)!=512){q[(0-a<<2)+1800736>>2]=q[(a<<2)+1796640>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1796640|0;c=cS(x(db(+(b|0)*.0030679615757712823)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Gt(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=Ca-16|0;Ca=g;f=-6;h=q[d>>2];a:{if((h|0)>=(c-a|0)){break a}j=(a|0)>0?a:0;f=0;while(1){if((i|0)!=(j|0)){a=h+1|0;q[d>>2]=a;f=r[b+h|0]|f<<8;i=i+1|0;h=a;continue}break}a=c-h|0;if((f|0)<=(a|0)?(f|0)>=1:0){break a}q[g+4>>2]=a;q[g>>2]=f;Ta(e,16,17934,g);f=-1094995529}Ca=g+16|0;return f}function Fv(a,b){var c=x(0),d=0,e=0,f=x(0),g=0;g=q[a+310120>>2];a=0;while(1){if((a|0)!=(g|0)){c=x(.6000000238418579);d=a+b|0;e=r[d+31|0];c=(e+r[d+36|0]|0)!=1?u[(e<<2)+105232>>2]:c;d=((a<<2)+b|0)+14572|0;f=u[d>>2];e=c>2]=c>2]=q[(a<<2)+1794592>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1794592|0;c=cS(x(db(+(b|0)*.006135923151542565)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function vv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Ca-128|0;Ca=f;h=f,i=wm(a,b),q[h+8>>2]=i;q[f+12>>2]=Da;uv(f+104|0,f+8|1);a=Xl(f+104|0,f+80|0);if((a|0)>=0){q[d>>2]=0;q[e>>2]=1;q[c+56>>2]=q[f+80>>2];q[c+52>>2]=r[r[f+95|0]+174096|0];q[c+64>>2]=q[f+84>>2];q[c+60>>2]=q[f+88>>2];g=a}Ca=f+128|0;return g|0}function Kx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==129){while(1){if((a|0)!=128){q[(0-a<<2)+1794592>>2]=q[(a<<2)+1793568>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1793568|0;c=cS(x(db(+(b|0)*.01227184630308513)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function mo(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=Ca-16|0;Ca=b;a:{c=q[a+4>>2];if(!(r[c+577|0]&8)){break a}Ta(c,48,28773,0);while(1){if((d|0)==16){break a}c=q[((d<<2)+a|0)+28492>>2];if(c){e=q[a+4>>2];f=q[c+88>>2];g=q[c+84>>2];q[b+12>>2]=q[q[c>>2]>>2];q[b+8>>2]=g;q[b+4>>2]=f;q[b>>2]=d;Ta(e,48,28236,b)}d=d+1|0;continue}}Ca=b+16|0}function Ox(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==17){while(1){if((a|0)!=16){q[(0-a<<2)+1792800>>2]=q[(a<<2)+1792672>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1792672|0;c=cS(x(db(+(b|0)*.09817477042468103)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Nx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==33){while(1){if((a|0)!=32){q[(0-a<<2)+1793056>>2]=q[(a<<2)+1792800>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1792800|0;c=cS(x(db(+(b|0)*.04908738521234052)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Lx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==65){while(1){if((a|0)!=64){q[(0-a<<2)+1793568>>2]=q[(a<<2)+1793056>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1793056|0;c=cS(x(db(+(b|0)*.02454369260617026)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function CQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((d|0)==16){while(1){if((e|0)!=16){c=r[(e-b|0)+a|0]+c|0;e=e+1|0;continue}break}c=w(c+16>>>5|0,16843009);d=0;while(1){if((d|0)!=16){q[a+12>>2]=c;q[a+8>>2]=c;q[a+4>>2]=c;q[a>>2]=c;d=d+1|0;a=a+b|0;continue}break}}else{c=r[(w(b,d)+a|0)+ -1|0]+c|0;d=d+1|0;continue}break}}function Xq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=(d|0)>0?d:0;d=e+1|0;e=(h+1|1)<>d;o[a|0]=h>>>0>255?h>>31^-1:h;h=(e+w(r[b+1|0],g)|0)+w(r[a+1|0],f)>>d;o[a+1|0]=h>>>0>255?h>>31^-1:h;b=b+c|0;a=a+c|0;i=i+1|0;continue}break}}function Te(a,b,c){var d=0,e=0,f=0;a:{if((b|0)==1&a>>>0<0|b>>>0<1){d=a;break a}while(1){d=bS(a,b,10,0);e=Da;f=e;e=$R(d,e,10,0);c=c+ -1|0;o[c|0]=a-e|48;e=(b|0)==9&a>>>0>4294967295|b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c+ -1|0;a=(d>>>0)/10|0;o[c|0]=d-w(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Qx(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==5){while(1){if((a|0)!=4){q[(0-a<<2)+1792608>>2]=q[(a<<2)+1792576>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1792576|0;c=cS(x(db(+(b|0)*.39269908169872414)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function Px(){var a=0,b=0,c=x(0),d=0,e=0;a=1;while(1){if((b|0)==9){while(1){if((a|0)!=8){q[(0-a<<2)+1792672>>2]=q[(a<<2)+1792608>>2];a=a+1|0;continue}break}}else{e=(b<<2)+1792608|0;c=cS(x(db(+(b|0)*.19634954084936207)*2147483648));a:{if(x(y(c))>2]=d;b=b+1|0;continue}break}}function KB(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;q[a+4>>2]=q[b+4>>2];q[a+8>>2]=q[b+8>>2];a:{d=Ek(q[a>>2],q[b>>2]);b:{if((d|0)<0){break b}if(q[a+12>>2]){break a}d=0;b=q[b+12>>2];if(!b){break b}b=Jb(b);q[a+12>>2]=b;if(b){break b}Kn(a);d=-48}Ca=c+16|0;return d}q[c+8>>2]=1838;q[c+4>>2]=10219;q[c>>2]=48131;Ta(0,0,6634,c);I();F()}function ID(a,b,c){var d=0,e=0,f=0,g=0;d=-1094995529;a:{if((c|0)<1){break a}f=q[b+8>>2]+1|0;e=q[b+16>>2];q[b+8>>2]=e>>>0>f>>>0?f:e;f=Ua(b,1);e=q[b+8>>2]+6|0;g=q[b+16>>2];q[b+8>>2]=g>>>0>e>>>0?e:g;if(f){if((c|0)<2){break a}c=q[b+8>>2]+4|0;d=q[b+16>>2];q[b+8>>2]=d>>>0>c>>>0?c:d;b=Ua(b,4);q[a>>2]=1;o[a+4|0]=b}d=0}return d}function zB(a,b){var c=0,d=0,e=0,f=0;c=r[a|0];a:{if(!c){break a}while(1){e=r[b|0];if(!e){f=c;break a}b:{c:{while(1){if(c+ -48>>>0<11|(c|32)+ -97>>>0<27){break c}c=r[a+1|0];d=a+1|0;a=d;if(c){continue}break}c=0;break b}d=a}if((c|32)!=(e|0)){return 1}b=b+1|0;a=d+1|0;c=r[d+1|0];if(c){continue}break}}return r[b|0]!=(f&255)}function sx(){var a=0,b=x(0),c=x(0),d=0,e=0,f=0,g=0;b=x(8.881784197001252e-16);c=x(3.637978807091713e-12);g=8;while(1){if((d|0)!=428){a=d<<2;e=a&12;b=e>>>0>>0?x(b+b):b;u[a+2420544>>2]=b*u[(e<<2)+95680>>2];f=a+2422256|0;a=w(d,3)+8&15;c=a>>>0>>0?x(c+c):c;u[f>>2]=c*u[(a<<2)+95680>>2];d=d+1|0;f=e;g=a;continue}break}}function ow(a,b,c){var d=0,e=0,f=0,g=0;f=q[a+8>>2];if(c){a=0}else{c=Xa(a);q[b+48>>2]=c;a:{if(!c){break a}c=b+586|0;g=b+416|0;while(1){if((e|0)>=q[b+44>>2]){break a}d=Xa(a);dm(a,b,g,d?7:6,e,d);d=Xa(a);dm(a,b,c,d?9:8,e,d);e=e+1|0;continue}}b=q[a+8>>2]+1|0;c=q[a+16>>2];q[a+8>>2]=c>>>0>b>>>0?b:c;a=q[a+8>>2]-f|0}return a}function To(a,b,c){var d=0,e=0,f=0,g=0;d=a;q[d>>2]=0;q[d+4>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;if(b){q[b>>2]=0;q[b+4>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0}while(1){if((e|0)!=4){d=(e<<5)+c|0;f=q[d+20>>2];g=(q[d+16>>2]<<2)+a|0;a:{if((f|0)<=q[g>>2]){break a}q[g>>2]=f;if(!b){break a}q[(q[d+16>>2]<<2)+b>>2]=e}e=e+1|0;continue}break}}function QC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;a=0;f=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(f|0)){a=q[(r[b+3|0]-r[c+3|0]<<2)+173008>>2]+(q[(r[b+2|0]-r[c+2|0]<<2)+173008>>2]+(q[(r[b+1|0]-r[c+1|0]<<2)+173008>>2]+(q[(r[b|0]-r[c|0]<<2)+173008>>2]+a|0)|0)|0)|0;e=e+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function nk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=q[b+4>>2];c=e;d=c>>31;g=q[a>>2];c=g;c=$R(e,d,c,c>>31);h=Da;d=q[a+4>>2];a=d;f=a>>31;b=q[b>>2];a=b;f=$R(d,f,a,a>>31);a=h-((c>>>0>>0)+Da|0)|0;if(a|c-f){b=e^d;return(b>>31^a)>>31|1}a:{if(e){a=0;if(d){break a}}a=-2147483648;if(!g|!b){break a}a=(g>>31)-(b>>31)|0}return a}function Jk(a,b,c,d){var e=0,f=0,g=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(g|0)){e=q[a>>2];f=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a>>2]=(e|f)-((e^f)>>>1&2139062143);e=q[a+4>>2];f=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);q[a+4>>2]=(e|f)-((e^f)>>>1&2139062143);g=g+1|0;a=a+c|0;b=b+c|0;continue}break}}function Sc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;while(1){if((g|0)!=4){f=w(d,g)+a|0;h=q[f>>2];j=f;f=(g<<2)+c|0;i=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=w(e,g)+b|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=(i|f)-((f^i)>>>1&2139062143)|0;q[j>>2]=(f|h)-((f^h)>>>1&2139062143);g=g+1|0;continue}break}}function Kw(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{if(!Xa(c)){break b}d=Ua(c,5);q[b+108>>2]=d;if((d|0)<31?d:0){break b}Ta(q[a+4>>2],16,40725,0);g=-1094995529;break a}d=0;while(1){e=r[q[a+6476>>2]+105362|0];f=r[b|0];if(d>>>0>=(f>>>0>e>>>0?e:f)>>>0){break a}h=b+d|0,i=Xa(c),o[h+236|0]=i;d=d+1|0;continue}}return g}function Gh(a,b,c,d,e){var f=0;f=q[a>>2];a:{b:{if(!((c|0)==5|(c|0)==10)){if((c|0)!=17?(c|0)!=34:0){break b}c=0;a=(d|0)>0?d:0;while(1){if((a|0)==(c|0)){break a}d=w(c,34);cw(d+f|0,b+d|0,e);c=c+1|0;continue}}c=0;a=(d|0)>0?d:0;while(1){if((a|0)==(c|0)){break a}d=w(c,34);bw(d+f|0,b+d|0,e);c=c+1|0;continue}}q[a>>2]=b}}function jz(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=q[a>>2];e=de(c,52155)+c|0;d=e;while(1){c=d;d=c+1|0;if($y(o[c|0])){continue}break}d=-28;f=de(c,52155)+c|0;g=o[f|0];a:{if(!g){break a}if(!ee(7719,g)){break a}d=b;c=c-e|0;b=rc(c+1|0);q[d>>2]=b;if(!b){return-48}d=0;h=Va(b,e,c)+c|0,i=0,o[h|0]=i;q[a>>2]=f+1}return d}function sm(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=Ca-16|0;Ca=d;a:{if(o[216568]&1){break a}if(!Mc(216568)){break a}g=216564,h=M(2,1396)|0,q[g>>2]=h;Lc(216568)}f=q[54141];T(q[c>>2]);q[d+8>>2]=q[c>>2];e=+fa(f|0,b|0,1388,d+4|0,d+8|0);b:{if(e<4294967296&e>=0){b=~~e>>>0;break b}b=0}c=q[d+4>>2];q[a>>2]=b;P(c|0);Ca=d+16|0}function mv(a,b){var c=0,d=0;c=Tl(a,b);if((c|0)>=0){d=a;a:{b:{c=q[b>>2];c:{if(!c){c=Ul(a,q[b+28>>2]);if((c|0)<0){break c}c=q[b+28>>2];if(c){Va(q[q[a>>2]+4>>2],q[b+24>>2],c)}c=q[a>>2]+4|0;break a}c=Jb(c);q[a>>2]=c;if(c){break b}c=-48}qj(a);return c}c=b+24|0}q[d+24>>2]=q[c>>2];q[a+28>>2]=q[b+28>>2];c=0}return c}function Rn(a,b,c){var d=0,e=0,f=0;while(1){if((f|0)!=8){d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);e=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=e;o[a+1|0]=e>>>8;o[a+2|0]=e>>>16;o[a+3|0]=e>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;f=f+1|0;b=b+c|0;a=a+8|0;continue}break}}function EB(a){q[a+13388>>2]=0;q[a+13380>>2]=0;q[a+13384>>2]=0;Za(a+11140|0,0,256);Za(a+12260|0,0,256);fe(a+11420|0);fe(a+11700|0);fe(a+11980|0);fe(a+12540|0);fe(a+12820|0);fe(a+13100|0);fe(a+10480|0);fe(a+10760|0);Wa(a+13432|0);Wa(a+13436|0);Wa(a+13440|0);FB(a);q[a+13392>>2]=0;q[a+13424>>2]=0;q[a+13428>>2]=0}function AA(a,b,c){var d=0,e=0,f=0,g=0;f=Ca-16|0;Ca=f;if(4294967279>=c>>>0){a:{if(c>>>0<=10){o[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d+ -1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=Zm(e);q[g>>2]=d;q[a+8>>2]=e|-2147483648;q[a+4>>2]=c}mf(d,b,c);o[f+15|0]=0;o[c+d|0]=r[f+15|0];Ca=f+16|0;return}nf();F()}function $a(a,b,c){var d=0,e=0,f=0;while(1){if((f|0)!=9){d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);e=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=e;o[a+1|0]=e>>>8;o[a+2|0]=e>>>16;o[a+3|0]=e>>>24;o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;f=f+1|0;b=b+c|0;a=a+8|0;continue}break}}function Ri(a,b,c,d,e){if(d>>>0>=4){Ta(a,16,12244,0);return-1094995529}a:{if(!(b&32768)){if((d|1)==3){break a}d=o[d+168784|0]}b=c&32896;if((b|0)==32896){return d}if((d|2)==3){Ta(a,16,15172,0);return-1094995529}a=o[d+168788|0];return!b|!e?a:((((d|0)==4)<<1)-(c>>>15&1)|0)+8|0}Ta(a,16,13376,0);return-1094995529}function Iw(a,b,c,d,e){e=q[e>>2];u[a>>2]=u[((c&3)<<2)+b>>2]*(f(0,e^d&-2147483648),k());d=d<<(c>>>12&1);u[a+4>>2]=u[(c&12)+b>>2]*(f(0,e^d&-2147483648),k());d=d<<(c>>>13&1);u[a+8>>2]=u[(c>>>2&12)+b>>2]*(f(0,e^d&-2147483648),k());u[a+12>>2]=u[(c>>>4&12)+b>>2]*(f(0,e^d<<(c>>>14&1)&-2147483648),k());return a+16|0}function Gk(a,b,c){var d=0,e=0;a:{if(!c){break a}d=q[a+292>>2];if(d>>>0>536870910){break a}d=nd(q[a+288>>2],(d<<2)+4|0);if(!d){break a}q[a+288>>2]=d;d=nb(20);if(!d){break a}q[d+16>>2]=c;q[d+4>>2]=q[c+4>>2];c=q[c+8>>2];q[d>>2]=b;q[d+8>>2]=c;b=q[a+292>>2];q[a+292>>2]=b+1;q[q[a+288>>2]+(b<<2)>>2]=d;e=d}return e}function mw(a,b,c,d){var e=0,f=0,g=0;f=q[a+756>>2];g=f<<2;e=(q[g+96272>>2]+d|0)+ -64|0;Za((w(e,368)+a|0)+2528|0,0,w(64-d|0,368));d=q[g+96280>>2];if((d|0)>(e|0)){Za((w(e,888)+a|0)+36016|0,0,w(d-e|0,888))}e=a+134036|0;d=a+87376|0;lw(e,d,a+768|0,b,f);g=a+110672|0;kw(a,g,d,f);jw(a,d,g,f);cm(e,b,d,f);cm(e,c,g,f)}function xc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=Ca-16|0;Ca=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=z(e);Rb(d,e,0,0,0,c+81|0);c=(q[d+12>>2]^65536)+(16414-c<<16)|0;e=0+q[d+8>>2]|0;if(e>>>0>>0){c=c+1|0}f=b&-2147483648|c;c=q[d+4>>2];b=q[d>>2]}q[h>>2]=b;q[g+4>>2]=c;q[a+8>>2]=e;q[a+12>>2]=f;Ca=d+16|0}function Qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=q[b+74176>>2];d=a+1024|0;n[q[a+5164>>2]](a+5256|0,d,b+13760|0);e=b+17856|0;a:{if(r[b+13|0]){c=Va(c,e,768);n[q[q[a+5404>>2]+20>>2]](c+768|0,b+18624|0,d,3393920,64);Va(c+1280|0,a+1280|0,768);break a}n[q[q[a+5404>>2]+20>>2]](c,e,d,3395456,256)}Va(e,a+2048|0,1024)}function Pb(a,b,c){var d=0,e=0;while(1){if((e|0)!=13){d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=d;o[a+1|0]=d>>>8;o[a+2|0]=d>>>16;o[a+3|0]=d>>>24;d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);o[a+4|0]=d;o[a+5|0]=d>>>8;o[a+6|0]=d>>>16;o[a+7|0]=d>>>24;e=e+1|0;b=b+c|0;a=a+8|0;continue}break}}function wl(a){a=a|0;var b=0,c=0;b=q[a+24>>2];ho(b);bf(b);a=0;while(1){if((a|0)!=36){c=(w(a,656)+b|0)+696|0;Dc(c);wb(c);a=a+1|0;continue}break}Za(b+28620|0,0,72);q[b+24312>>2]=0;Wa(b+25628|0);q[b+25632>>2]=0;We(b+29692|0);ro(b+27060|0);zl(b+25640|0);a=b+24316|0;Dc(a);wb(a);a=b+24972|0;Dc(a);wb(a);return 0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a-c|0;e=r[d+2|0];f=e+2|0;g=r[d+1|0];h=g+2|0;i=r[d|0];d=r[d+3|0];b=(i+f|0)+(g<<1)<<6&130816|(h+r[(c^-1)+a|0]|0)+(i<<1)>>>2|d+(h+(e<<1)|0)<<14&33488896|r[b|0]+((d<<1)+f|0)<<22&-16777216;q[a>>2]=b;q[a+c>>2]=b;q[(c<<1)+a>>2]=b;q[w(c,3)+a>>2]=b}function ho(a){var b=0,c=0;while(1){if((b|0)!=16){ge(a,b,0);b=b+1|0;continue}break}if(!(q[q[a+24972>>2]>>2]|!q[a+29572>>2])){b=a+24972|0;Dc(b);so(b,q[a+28364>>2])}b=0;while(1){if((b|0)>2]){c=((b<<2)+a|0)+28364|0;sk(a,q[c>>2],0);q[c>>2]=0;b=b+1|0;continue}break}q[a+29572>>2]=0;Za(a+28284|0,0,80)}function fo(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=Ca-16|0;Ca=d;while(1){a:{b:{if((e|0)>=q[a+29572>>2]){f=0;break b}f=q[((e<<2)+a|0)+28364>>2];g=q[a+4>>2];if(r[g+577|0]&8){h=q[f+88>>2];q[d+8>>2]=f;q[d+4>>2]=h;q[d>>2]=e;Ta(g,48,30647,d)}if(q[f+88>>2]!=(b|0)){break a}q[c>>2]=e}Ca=d+16|0;return f}e=e+1|0;continue}}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(q[a+12>>2]){n[q[q[a>>2]+8>>2]](a)}c=sj(27);q[a+4>>2]=c;f=a,g=Nn(q[c+12>>2]),q[f+8>>2]=g;d=Pn(q[a+4>>2]);q[a+12>>2]=d;c=q[b+12>>2];q[d+72>>2]=c;c=Nb(c);q[d+68>>2]=c;e=q[b+4>>2];if(o[e+11|0]<=-1){e=q[e>>2]}Va(c,q[b+8>>2]+e|0,q[d+72>>2]);Ln(d,q[a+4>>2])}function _s(a,b){a=a|0;b=b|0;var c=0;c=Ca-16|0;Ca=c;q[c+8>>2]=q[b+8>>2];q[c+12>>2]=q[b+12>>2];b=q[b+4>>2];q[c+4>>2]=b;q[b+12>>2]=q[b+12>>2]+1;q[c>>2]=1580;a=a+ -24|0;n[q[q[a>>2]+20>>2]](a,c);q[c>>2]=1636;a=q[c+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ya(q[a>>2])}Ya(a)}Ca=c+16|0}function tr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<16384?b:(b>>31^-1)&16383;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<16384?b:(b>>31^-1)&16383;g=g+1|0;a=a+h|0;continue}break}}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=c&-2;a=a-f|0;e=c>>1;h=w(e,3)<<1;i=e<<3;c=b;while(1){if((g|0)!=4){d=s[a>>1]+s[c>>1]|0;p[(e<<1)+a>>1]=d;d=d+s[c+16>>1]|0;p[(f<<1)+a>>1]=d;d=d+s[c+32>>1]|0;p[a+h>>1]=d;p[a+i>>1]=d+s[c+48>>1];g=g+1|0;c=c+4|0;a=a+2|0;continue}break}Za(b,0,64)}function Me(a,b,c,d){var e=0,f=0;e=Ca-32|0;Ca=e;a:{if(!(d+ -8>>>0>2?!((d|0)<1|(d|0)>12):0)){q[e>>2]=d;Ta(a,16,35041,e);b=-1094995529;break a}f=c;c=o[d+95744|0];q[f>>2]=c;c=Va(b,w(d,15)+95745|0,w(c,3));b=0;if((d|0)!=7|q[a+568>>2]>0){break a}q[e+16>>2]=1;Ta(a,32,35456,e+16|0);o[c+8|0]=2}Ca=e+32|0;return b}function $o(a,b,c,d,f,g){var i=0,j=0,k=0;i=Ca-16|0;Ca=i;q[i+12>>2]=0;b=TN(i+12|0,b,c,f,g);a:{if((b|0)<=-1){q[a>>2]=0;q[a+4>>2]=2146959360;break a}b=q[i+12>>2];j=a,k=CN(b,d),v[j>>3]=k;yb(b);h(+v[a>>3]);a=e(1)|0;b=e(0)|0;a=a&2147483647;b=(a|0)==2146435072&b>>>0>0|a>>>0>2146435072?-28:0}Ca=i+16|0;return b}function Et(a,b){var c=0,d=0,e=0;e=q[a+4>>2];a:{while(1){c=e;if(!(!b|(c|0)<1)){e=c+ -1|0;d=r[e+q[a+8>>2]|0];if(!d){continue}break a}break}if(!c){return 0}d=r[(q[a+8>>2]+c|0)+ -1|0]}b=-68;b:{if((c|0)>268435455){break b}a=c<<3;b=a;if(!d){break b}b=a+(r[(w(0-d&d,125613361)>>>27|0)+47280|0]^-1)|0}return b}function is(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<1024?b:(b>>31^-1)&1023;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<1024?b:(b>>31^-1)&1023;g=g+1|0;a=a+h|0;continue}break}}function Or(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<4096?b:(b>>31^-1)&4095;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<4096?b:(b>>31^-1)&4095;g=g+1|0;a=a+h|0;continue}break}}function xP(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-16|0;Ca=c;d=ch(b,31837);q[c+12>>2]=d;q[c+8>>2]=0;f=-28;a:{if(!d){break a}b:{if(!r[d|0]){break b}g=q[b>>2];if(!de(g,31837)){break b}q[b>>2]=g+1;e=ch(b,32170);q[c+8>>2]=e}if(!r[e|0]|(!r[d|0]|!e)){break a}f=dg(a,d,e)}Wa(c+12|0);Wa(c+8|0);Ca=c+16|0;return f}function gj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{if(!a|!b){break a}f=ub(a);while(1){d=r[b|0];if(!d){break a}b:{g=a;e=((d|0)==45)+b|0;h=e;c=ee(b,44);if(!c){c=ub(b)+b|0}b=c-e|0;if(hj(g,h,(b|0)>(f|0)?b:f)){if(rf(8418,e,(b|0)>3?b:3)){break b}}i=(d|0)!=45;break a}b=(r[c|0]==44)+c|0;continue}}return i}function Ei(a){var b=0,c=0,d=0,e=0,f=0;e=ub(a);a:{b:{if(!q[865836]|!r[a|0]){break b}if(ee(a,61)){break b}b=q[q[865836]>>2];if(!b){break b}while(1){c=rf(a,b,e);b=q[865836];if(!c){c=q[b+(d<<2)>>2];f=c+e|0;if(r[f|0]==61){break a}}d=d+1|0;b=q[b+(d<<2)>>2];if(b){continue}break}}return 0}return c?f+1|0:0}function xj(a,b,c,d){var e=x(0),f=0,g=0,h=x(0),i=0,j=x(0),k=0;f=d+ -1|0;i=(f|0)>0?f:0;e=x(b|0);j=Rj(x(x(c|0)/e),x(x(1)/x(d|0)));while(1){if((g|0)!=(i|0)){k=(g<<1)+a|0;e=x(j*e);h=cS(e);a:{if(x(y(h))>1]=d-b;g=g+1|0;b=d;continue}break}p[(f<<1)+a>>1]=c-b}function MC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(e|0)>1?e:1;a=0;g=1;while(1){if((g|0)!=(i|0)){e=0;while(1){if((e|0)!=16){f=d+e|0;h=((r[b+e|0]-r[c+e|0]|0)-r[f+b|0]|0)+r[c+f|0]|0;f=h>>31;a=(f^f+h)+a|0;e=e+1|0;continue}break}g=g+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function UB(a,b){var c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;d=q[a+96>>2];e=q[a+92>>2];f=q[b+4>>2];q[c+8>>2]=q[b>>2];q[c+12>>2]=f;a:{if((Ck(e,d,c+8|0)|0)<=-1){d=q[b+4>>2];q[c>>2]=q[b>>2];q[c+4>>2]=d;Ta(a,24,4709,c);q[a+188>>2]=0;q[a+192>>2]=1;break a}d=q[b+4>>2];q[a+188>>2]=q[b>>2];q[a+192>>2]=d}Ca=c+16|0}function LC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(e|0)>1?e:1;a=0;g=1;while(1){if((g|0)!=(i|0)){e=0;while(1){if((e|0)!=8){f=d+e|0;h=((r[b+e|0]-r[c+e|0]|0)-r[f+b|0]|0)+r[c+f|0]|0;f=h>>31;a=(f^f+h)+a|0;e=e+1|0;continue}break}g=g+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function Fo(a){var b=0,c=0,d=0,e=0,f=0;c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7);d=b>>>0>65535;e=d<<4;f=a;a=d?b>>>16|0:b;b=a&65280;a=(b?e|8:e)+r[(b?a>>>8|0:a)+47648|0]|0;q[f+8>>2]=(c-a|0)+32;return 31-a|0}function SA(a){var b=0,c=0,d=0,e=0,f=0;c=a+2|0;b=r[a+2|0];e=(b|0)!=0;a=r[a+1|0]<<16|r[a|0]<<24|b<<8;f=r[24003]<<16|r[24002]<<24|r[24004]<<8;a:{if(!(!b|(a|0)==(f|0))){while(1){b=c+1|0;d=r[c+1|0];e=(d|0)!=0;a=(a|d)<<8;if((f|0)==(a|0)){break a}c=b;if(d){continue}break}break a}b=c}return e?b+ -2|0:0}function Es(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;h=b>>1<<1;while(1){if((c|0)!=(g|0)){b=f+w(s[a>>1],e)>>d;p[a>>1]=b>>>0<512?b:(b>>31^-1)&511;b=f+w(s[a+2>>1],e)>>d;p[a+2>>1]=b>>>0<512?b:(b>>31^-1)&511;g=g+1|0;a=a+h|0;continue}break}}function eu(a,b){a=a|0;b=b|0;var c=0;c=Ca-16|0;Ca=c;q[c+8>>2]=q[b+8>>2];q[c+12>>2]=q[b+12>>2];b=q[b+4>>2];q[c+4>>2]=b;q[b+12>>2]=q[b+12>>2]+1;q[c>>2]=1580;n[q[q[a>>2]+20>>2]](a,c);q[c>>2]=1636;a=q[c+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ya(q[a>>2])}Ya(a)}Ca=c+16|0}function _a(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=r[b|0];c=q[a+4>>2];d=r[(f+(c<<1&384)|0)+129824|0];c=c-d|0;g=c<<17;h=q[a>>2];e=g-h>>31;q[a+4>>2]=(e&d-c)+c;q[a>>2]=h-(e&g);d=e^f;o[b|0]=r[d+130464|0];c=q[a+4>>2];b=r[c+129312|0];q[a+4>>2]=c<>2]<>2]=b;if(!(b&65535)){IE(a)}return d&1}function Se(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-16|0;Ca=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=z(b)^31;Rb(c,d,0,0,0,112-b|0);b=(q[c+12>>2]^65536)+(b+16383<<16)|0;d=0+q[c+8>>2]|0;if(d>>>0>>0){b=b+1|0}f=d;d=b;b=q[c+4>>2];e=q[c>>2]}q[h>>2]=e;q[g+4>>2]=b;q[a+8>>2]=f;q[a+12>>2]=d;Ca=c+16|0}function ky(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==32769){while(1){if((b|0)!=32768){c=(b<<3)+743936|0;d=q[c+4>>2];a=(0-b<<3)+1268224|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+743936|0,f=db(+(a|0)*47936899621426287e-21),v[e>>3]=f;a=a+1|0;continue}break}}function Vk(a,b){var c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;d=q[a>>2];e=q[d>>2];q[c+12>>2]=e;a:{if(b){a=q[b>>2];f=q[a+4>>2];q[d>>2]=q[a>>2];q[d+4>>2]=f;q[d+8>>2]=q[a+8>>2];Wa(b);break a}Wa(a)}a=q[e+8>>2];q[e+8>>2]=a+ -1;if((a|0)==1){a=q[c+12>>2];n[q[a+12>>2]](q[a+16>>2],q[a>>2]);Wa(c+12|0)}Ca=c+16|0}function kv(a,b,c){var d=0,e=0;d=q[a+8>>2];b=d+b|0;q[a+8>>2]=b;a:{e=b;b=q[a+12>>2];if((e|0)>(b|0)){if(c){break a}b=b+(1<>2])|0;q[a+12>>2]=b;b=On(q[a+4>>2],b);q[a+4>>2]=b;if(!b){q[a+8>>2]=0;q[a+12>>2]=0;return-48}b=b+(q[a+12>>2]<<2)|0;a=q[a>>2];Za(b+(-1<>2];a=(0-b<<3)+743936|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+481792|0,f=db(+(a|0)*9587379924285257e-20),v[e>>3]=f;a=a+1|0;continue}break}}function ny(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==8193){while(1){if((b|0)!=8192){c=(b<<3)+350720|0;d=q[c+4>>2];a=(0-b<<3)+481792|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+350720|0,f=db(+(a|0)*.00019174759848570515),v[e>>3]=f;a=a+1|0;continue}break}}function It(a){a=a|0;var b=0,c=0,d=0;b=Ca-32|0;Ca=b;q[a>>2]=2524;c=a+ -24|0;q[c>>2]=2492;q[b+16>>2]=2704;K(0,b+16|0);q[a>>2]=2648;a:{if(r[a+36|0]){break a}d=q[a+8>>2];if(!d){break a}Ya(d)}q[b>>2]=2680;K(0,b|0);q[c>>2]=2452;wb(a+ -8|0);mc(a+ -4|0);n[q[q[c>>2]+8>>2]](c);Ca=b+32|0;return c|0}function IC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(e|0)>1?e:1;a=0;f=1;while(1){if((f|0)!=(g|0)){e=0;while(1){if((e|0)!=16){h=a;a=d+e|0;a=((r[b+e|0]-r[c+e|0]|0)-r[a+b|0]|0)+r[a+c|0]|0;a=h+w(a,a)|0;e=e+1|0;continue}break}f=f+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function yC(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-16|0;Ca=c;e=-1094995529;a:{if((q[a+12>>2]-q[a+8>>2]|0)<112){break a}if((Qn(a)|0)!=1095521024){break a}d=Qn(a);q[b+8>>2]=d;if((d|0)<=0){q[c>>2]=d;Ta(0,16,6560,c);break a}xC(a);q[b+12>>2]=0;f=b,g=Ua(a,16)+1|0,q[f+36>>2]=g;e=0}Ca=c+16|0;return e}function qy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==1025){while(1){if((b|0)!=1024){c=(b<<3)+236032|0;d=q[c+4>>2];a=(0-b<<3)+252416|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+236032|0,f=db(+(a|0)*.0015339807878856412),v[e>>3]=f;a=a+1|0;continue}break}}function py(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==2049){while(1){if((b|0)!=2048){c=(b<<3)+252416|0;d=q[c+4>>2];a=(0-b<<3)+285184|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+252416|0,f=db(+(a|0)*.0007669903939428206),v[e>>3]=f;a=a+1|0;continue}break}}function oy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==4097){while(1){if((b|0)!=4096){c=(b<<3)+285184|0;d=q[c+4>>2];a=(0-b<<3)+350720|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+285184|0,f=db(+(a|0)*.0003834951969714103),v[e>>3]=f;a=a+1|0;continue}break}}function Xn(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=b;e=q[b+832>>2];f=q[a+26380>>2];c=q[a+27024>>2];g=q[b+21788>>2]+w(c,q[b+21792>>2])|0;d=g+ -1|0;a:{if((e|0)!=s[f+(d<<1)>>1]){d=g-c|0;c=0;if(s[(d<<1)+f>>1]!=(e|0)){break a}}c=q[q[a+24364>>2]+(d<<2)>>2]>>>7&1}a=c;q[h+21832>>2]=a;q[b+21828>>2]=a}function GC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(e|0)>1?e:1;a=0;f=1;while(1){if((f|0)!=(g|0)){e=0;while(1){if((e|0)!=8){h=a;a=d+e|0;a=((r[b+e|0]-r[c+e|0]|0)-r[a+b|0]|0)+r[a+c|0]|0;a=h+w(a,a)|0;e=e+1|0;continue}break}f=f+1|0;c=c+d|0;b=b+d|0;continue}break}return a|0}function Qj(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;q[e+12>>2]=d;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;d=o[b+11|0]<0?q[b+4>>2]:r[b+11|0];if(d>>>0>>0){$m();F()}b=o[b+11|0]<0?q[b>>2]:b;q[e+8>>2]=d-c;d=Ca-16|0;Ca=d;Ca=d+16|0;d=a;c=b+c|0;a=e+8|0;b=e+12|0;AA(d,c,q[(t[a>>2]>2]?a:b)>>2]);Ca=e+16|0}function ry(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==513){while(1){if((b|0)!=512){c=(b<<3)+227840|0;d=q[c+4>>2];a=(0-b<<3)+236032|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+227840|0,f=db(+(a|0)*.0030679615757712823),v[e>>3]=f;a=a+1|0;continue}break}}function sy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==257){while(1){if((b|0)!=256){c=(b<<3)+223744|0;d=q[c+4>>2];a=(0-b<<3)+227840|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+223744|0,f=db(+(a|0)*.006135923151542565),v[e>>3]=f;a=a+1|0;continue}break}}function yw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=(c|0)>64?c:64;h=(d|0)>0?d:0;while(1){d=0;if((c|0)!=(g|0)){while(1){if((d|0)!=(h|0)){e=((d<<8)+a|0)+(c<<2)|0;f=((c<<8)+b|0)+(d<<3)|0;q[e>>2]=q[f>>2];q[e+9728>>2]=q[f+4>>2];d=d+1|0;continue}break}c=c+1|0;continue}break}}function ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=(c|0)>64?c:64;h=(d|0)>0?d:0;while(1){d=0;if((c|0)!=(g|0)){while(1){if((d|0)!=(h|0)){e=((c<<8)+a|0)+(d<<3)|0;f=((d<<8)+b|0)+(c<<2)|0;q[e>>2]=q[f>>2];q[e+4>>2]=q[f+9728>>2];d=d+1|0;continue}break}c=c+1|0;continue}break}}function ty(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==129){while(1){if((b|0)!=128){c=(b<<3)+221696|0;d=q[c+4>>2];a=(0-b<<3)+223744|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+221696|0,f=db(+(a|0)*.01227184630308513),v[e>>3]=f;a=a+1|0;continue}break}}function kq(a,b,c){var d=0,e=0,f=0,g=0;e=Ca-16|0;Ca=e;q[e+12>>2]=c;a:{while(1){c=0;d=q[a+8>>2];g=q[a+4>>2];f=d-g|0;f=f>>>0>d>>>0?0:f;c=d>>>0>g>>>0?q[a>>2]+g|0:c;d=q[e+12>>2];q[e+8>>2]=d;c=_j(c,f,b,d);if((c|0)<1){break a}if(c>>>0>=f>>>0){if(!fj(a,c)){continue}}break}Xk(a,c)}Ca=e+16|0}function $Q(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=ub(a)+a|0;while(1){b=a;a:{if(a>>>0>>0){while(1){b:{if(b>>>0>=d>>>0){b=d;break b}c=r[b|0];if((c|0)==43|(c|0)==124){break b}b=b+1|0;continue}break}g=QQ(a,b-a|0);a=Da;c=a;if(a|g){break a}e=0;f=0}Da=f;return e}a=b+1|0;e=e|g;f=c|f;continue}}function wy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==17){while(1){if((b|0)!=16){c=(b<<3)+219904|0;d=q[c+4>>2];a=(0-b<<3)+220160|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+219904|0,f=db(+(a|0)*.09817477042468103),v[e>>3]=f;a=a+1|0;continue}break}}function vy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==33){while(1){if((b|0)!=32){c=(b<<3)+220160|0;d=q[c+4>>2];a=(0-b<<3)+220672|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+220160|0,f=db(+(a|0)*.04908738521234052),v[e>>3]=f;a=a+1|0;continue}break}}function uy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==65){while(1){if((b|0)!=64){c=(b<<3)+220672|0;d=q[c+4>>2];a=(0-b<<3)+221696|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+220672|0,f=db(+(a|0)*.02454369260617026),v[e>>3]=f;a=a+1|0;continue}break}}function Tn(a,b,c,d){var e=0,f=0,g=0;e=Ca-16|0;Ca=e;f=q[c+4>>2];q[e+8>>2]=q[c>>2];q[e+12>>2]=f;c=q[d+4>>2];q[e>>2]=q[d>>2];q[e+4>>2]=c;c=a;a=q[e+4>>2];d=a;f=a>>31;a=q[e+8>>2];f=$R(d,f,a,a>>31);a=q[e+12>>2];d=a;g=a>>31;a=q[e>>2];a=Ji(c,b,f,Da,$R(d,g,a,a>>31),Da,5);Ca=e+16|0;return a}function Qg(a,b,c,d,e){var f=0,g=0,h=0;g=Ca-16|0;Ca=g;f=nb(24);q[g+12>>2]=f;a:{if(!f){break a}q[f+16>>2]=d;q[f+4>>2]=b;q[f>>2]=a;q[f+8>>2]=1;q[f+12>>2]=c?c:68;if(e&1){q[f+20>>2]=q[f+20>>2]|1}c=nb(12);if(!c){Wa(g+12|0);break a}q[c+8>>2]=b;q[c+4>>2]=a;q[c>>2]=f;h=c}Ca=g+16|0;return h}function xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}De(q[(f<<2)+b>>2]+a|0,g,d);break a}Ee(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+1|0;continue}break}}function vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if(f>>>0<=15){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}Zk(q[(f<<2)+b>>2]+a|0,g,d);break a}_k(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+4|0;continue}break}}function sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}Be(q[(f<<2)+b>>2]+a|0,g,d);break a}Ce(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+1|0;continue}break}}function qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if(f>>>0<=15){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}Wk(q[(f<<2)+b>>2]+a|0,g,d);break a}Yk(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+4|0;continue}break}}function Hq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}He(q[(f<<2)+b>>2]+a|0,g,d);break a}Ie(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+1|0;continue}break}}function Fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if(f>>>0<=15){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}bl(q[(f<<2)+b>>2]+a|0,g,d);break a}cl(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+4|0;continue}break}}function Cq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}Fe(q[(f<<2)+b>>2]+a|0,g,d);break a}Ge(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+1|0;continue}break}}function Aq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if(f>>>0<=15){a:{b:{g=r[r[f+153952|0]+e|0];if(g>>>0>1){break b}if(g-1){break a}g=(f<<6)+c|0;if(!q[g>>2]){break b}$k(q[(f<<2)+b>>2]+a|0,g,d);break a}al(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d)}f=f+4|0;continue}break}}function zy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==5){while(1){if((b|0)!=4){c=(b<<3)+219712|0;d=q[c+4>>2];a=(0-b<<3)+219776|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+219712|0,f=db(+(a|0)*.39269908169872414),v[e>>3]=f;a=a+1|0;continue}break}}function yy(){var a=0,b=0,c=0,d=0,e=0,f=0;b=1;while(1){if((a|0)==9){while(1){if((b|0)!=8){c=(b<<3)+219776|0;d=q[c+4>>2];a=(0-b<<3)+219904|0;q[a>>2]=q[c>>2];q[a+4>>2]=d;b=b+1|0;continue}break}}else{e=(a<<3)+219776|0,f=db(+(a|0)*.19634954084936207),v[e>>3]=f;a=a+1|0;continue}break}}function Zv(a,b){if(!q[a+390904>>2]){q[a+12>>2]=b;q[a+72>>2]=q[a+76>>2];le(a);q[a+102624>>2]=1152;q[a+14656>>2]=1152;Ue(a+390884|0,7,1,4.76837158203125e-7);Ue(a+390816|0,7,1,-65536);Bw(a+310068|0);pC(a+390952|0);a=a+391008|0;q[a+12>>2]=119;q[a+8>>2]=120;q[a+4>>2]=121;q[a>>2]=122}}function Qy(a){a=a|0;var b=0,c=0;b=Ca-48|0;Ca=b;a:{c=5937;b:{if(!Sb(a,3289)){break b}c=Sb(a,7451)?a:8766}a=Cm(c);if((a|0)!=-1){break a}q[b>>2]=c;q[b+4>>2]=11790;vf(b+16|0,32,10686,b);a=Cm(b+16|0);if((a|0)!=-1){break a}a=Sb(c,12937);Ca=b+48|0;return(a?-1:46)|0}Ca=b+48|0;return a|0}function PA(){var a=0,b=0,c=0;a=Ca-16|0;Ca=a;a:{if(pa(a+12|0,a+8|0)){break a}b=Nb((q[a+12>>2]<<2)+4|0);q[865836]=b;if(!b){break a}b:{b=Nb(q[a+8>>2]);if(b){c=q[865836];if(c){break b}}q[865836]=0;break a}q[(q[a+12>>2]<<2)+c>>2]=0;if(!oa(q[865836],b|0)){break a}q[865836]=0}Ca=a+16|0}function su(a){a=a|0;var b=0,c=0;b=Ca-32|0;Ca=b;q[a+24>>2]=2524;q[a>>2]=2492;q[b+16>>2]=2704;K(0,b+16|0);q[a+24>>2]=2648;a:{if(r[a+60|0]){break a}c=q[a+32>>2];if(!c){break a}Ya(c)}q[b>>2]=2680;K(0,b|0);q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);Ca=b+32|0;return a|0}function PE(a){var b=0,c=0,d=0;b=a+32856|0;if(!_a(b,a+32940|0)){return 0}a:{if(!_a(b,a+32941|0)){a=_a(b,a+32943|0);b=1;break a}b:{d=3;c:{if(!_a(b,a+32942|0)){break c}c=a+32943|0;if(_a(b,c)){break b}d=7}c=a+32943|0;a=d+(_a(b,c)<<1)|0;b=_a(b,c);break a}a=_a(b,c);b=11}return a+b|0}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=4-b|0;while(1){if((c|0)!=4){e=r[(c+d|0)+a|0]+e|0;f=r[(c-b|0)+a|0]+f|0;c=c+1|0;continue}break}e=w(e+2>>>2|0,16843009);f=w(f+2>>>2|0,16843009);c=0;while(1){if((c|0)!=16){d=w(b,c)+a|0;q[d+4>>2]=e;q[d>>2]=f;c=c+1|0;continue}break}}function En(a){var b=0,c=0;b=194944;c=r[a|0]?a:194944;while(1){if(!zB(c,b)){while(1){b=(ub(b)+b|0)+1|0;if(r[b|0]){continue}break}return b+ -194943|0}b=(ub(b)+b|0)+1|0;a=r[b|0];if(!a){a=r[b+1|0];b=(a>>>0>128?2:w(128-a>>>2|0,5)+2|0)+b|0;a=r[b|0]}if(a&255){continue}break}return-1}function Qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){a:{b:{if((f|0)!=16){g=r[r[f+153952|0]+e|0];if(g>>>0<=1){if(g-1){break a}g=(f<<5)+c|0;if(s[g>>1]){break b}}Ke(q[(f<<2)+b>>2]+a|0,(f<<5)+c|0,d);break a}return}Je(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}}function Nq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){a:{b:{if(f>>>0<=15){g=r[r[f+153952|0]+e|0];if(g>>>0<=1){if(g-1){break a}g=(f<<5)+c|0;if(s[g>>1]){break b}}el(q[(f<<2)+b>>2]+a|0,(f<<5)+c|0,d);break a}return}dl(q[(f<<2)+b>>2]+a|0,g,d)}f=f+4|0;continue}}function pc(a){var b=0,c=0;if(a){Wo(a);while(1){if((b|0)==8){c=a+280|0;b=0;while(1){if((b|0)>2]){lb(q[c>>2]+(b<<2)|0);b=b+1|0;continue}break}Wa(c);je(a+344|0);lb(a+372|0);lb(a+376|0);lb(a+380|0);lb(a+400|0);Fk(a)}else{lb(((b<<2)+a|0)+248|0);b=b+1|0;continue}break}}}function Il(a){a=a|0;var b=0,c=0;b=Ca-32|0;Ca=b;q[a+24>>2]=2524;q[a>>2]=2492;q[b+16>>2]=2704;K(0,b+16|0);q[a+24>>2]=2648;a:{if(r[a+60|0]){break a}c=q[a+32>>2];if(!c){break a}Ya(c)}q[b>>2]=2680;K(0,b|0);q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);Ya(a);Ca=b+32|0}function gg(a,b){var c=0;a=a-(a>>>1&1431655765)|0;a=(a>>>2&858993459)+(a&858993459)|0;a=(a>>>4|0)+a&252645135;a=(a>>>8|0)+a|0;c=(a>>>16|0)+a&63;a=b-(b>>>1&1431655765)|0;a=(a>>>2&858993459)+(a&858993459)|0;a=(a>>>4|0)+a&252645135;a=(a>>>8|0)+a|0;return c+((a>>>16|0)+a&63)|0}function Ne(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=q[a>>2];i=(d|0)>0?d:0;h=g+i|0;d=g;while(1){a:{if((e|0)!=(i|0)){j=o[d|0];if(j+ -48>>>0<10){break a}h=d}e=-1;if(!((h|0)==(g|0)|(f|0)<(b|0)|(f|0)>(c|0))){q[a>>2]=h;e=f}return e}e=e+1|0;d=d+1|0;f=(w(f,10)+j|0)+ -48|0;continue}}function xA(a){var b=0;if(q[a+76>>2]<0){a:{if(o[a+75|0]==10){break a}b=q[a+20>>2];if(b>>>0>=t[a+16>>2]){break a}q[a+20>>2]=b+1;o[b|0]=10;return}Gm(a);return}b:{c:{if(o[a+75|0]==10){break c}b=q[a+20>>2];if(b>>>0>=t[a+16>>2]){break c}q[a+20>>2]=b+1;o[b|0]=10;break b}Gm(a)}}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=a;b=w(c,3)+a|0;d=(c<<1)+a|0;e=a+c|0;g=r[a+ -1|0];a=a-c|0;a=w((r[b+ -1|0]+(r[d+ -1|0]+(r[e+ -1|0]+(g+(((r[a|0]+r[a+1|0]|0)+r[a+2|0]|0)+r[a+3|0]|0)|0)|0)|0)|0)+4>>3,16843009);q[f>>2]=a;q[e>>2]=a;q[d>>2]=a;q[b>>2]=a}function Gv(a,b,c,d,e,f,g,h){var i=0;Va(Va(e,e+4096|0,1152)+1152|0,d,4096);i=f+256|0;d=0;g=(h<<13)+g|0;while(1){if((d|0)!=32){n[q[a+28>>2]](f,2419264,e,320);n[q[c>>2]](f);n[q[c+12>>2]](f);n[q[b+44>>2]](b,f,i);n[q[c+16>>2]](g+(d<<8)|0,f);d=d+1|0;e=e+128|0;continue}break}}function pf(a,b,c){var d=0,e=0,f=0;d=a*a;f=d*(d*d)*(d*1.58969099521155e-10+ -2.5050760253406863e-8)+(d*(d*27557313707070068e-22+ -.0001984126982985795)+.00833333333332249);e=d*a;if(!c){return e*(d*f+ -.16666666666666632)+a}return a-(d*(b*.5-e*f)-b+e*.16666666666666632)}function UA(a){var b=0,c=0;b=o[24002];if(!b){return a}a=ee(a,b);a:{if(!a){break a}if(!r[24003]){return a}if(!r[a+1|0]){break a}if(!r[24004]){return TA(a)}if(!r[a+2|0]){break a}if(!r[24005]){return SA(a)}if(!r[a+3|0]){break a}if(!r[24006]){return RA(a)}c=QA(a)}return c}function $q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=(f<0?c:0;while(1){if((g|0)!=(h|0)){c=f+w(r[a|0],e)>>d;o[a|0]=c>>>0>255?c>>31^-1:c;c=f+w(r[a+1|0],e)>>d;o[a+1|0]=c>>>0>255?c>>31^-1:c;a=a+b|0;g=g+1|0;continue}break}}function TA(a){var b=0,c=0,d=0,e=0,f=0;b=r[a+1|0];e=(b|0)!=0;a:{if(!b){break a}c=b|r[a|0]<<8;f=r[24003]|r[24002]<<8;if((c|0)==(f|0)){break a}b=a+1|0;while(1){a=b;d=r[a+1|0];e=(d|0)!=0;if(!d){break a}b=a+1|0;c=c<<8&65280|d;if((f|0)!=(c|0)){continue}break}}return e?a:0}function zi(a,b,c){var d=0,e=0,f=0,g=0;e=q[a+12>>2];d=q[a+8>>2];f=d+c|0;if(f>>>0>>0){e=e+1|0}q[a+8>>2]=f;q[a+12>>2]=e;f=a+16|0;e=a+80|0;d=d&63;while(1){if((c|0)!=(g|0)){o[(a+d|0)+16|0]=r[b+g|0];d=d+1|0;if((d|0)==64){n[q[a+112>>2]](e,f);d=0}g=g+1|0;continue}break}}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=8){while(1){if((b|0)!=8){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<16384?c:(c>>31^-1)&16383;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=4){while(1){if((b|0)!=4){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<16384?c:(c>>31^-1)&16383;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function eC(a,b){a=a|0;b=b|0;var c=x(0),d=x(0),e=x(0),f=0,g=0,h=0;while(1){if((g|0)<(b|0)){e=c;f=g<<3;h=f+a|0;c=u[h+4>>2];e=x(e+x(c*c));f=(f|8)+a|0;c=u[f+4>>2];c=x(e+x(c*c));e=d;d=u[h>>2];e=x(e+x(d*d));d=u[f>>2];d=x(e+x(d*d));g=g+2|0;continue}break}return x(x(d+c))}function wR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=536944641;q[a+28>>2]=536944641;q[a+16>>2]=536944641;q[a+20>>2]=536944641;q[a+8>>2]=536944641;q[a+12>>2]=536944641;q[a>>2]=536944641;q[a+4>>2]=536944641;c=c+1|0;a=a+b|0;continue}break}}function vR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=536813567;q[a+28>>2]=536813567;q[a+16>>2]=536813567;q[a+20>>2]=536813567;q[a+8>>2]=536813567;q[a+12>>2]=536813567;q[a>>2]=536813567;q[a+4>>2]=536813567;c=c+1|0;a=a+b|0;continue}break}}function tR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=536879104;q[a+28>>2]=536879104;q[a+16>>2]=536879104;q[a+20>>2]=536879104;q[a+8>>2]=536879104;q[a+12>>2]=536879104;q[a>>2]=536879104;q[a+4>>2]=536879104;c=c+1|0;a=a+b|0;continue}break}}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=8){while(1){if((b|0)!=8){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<4096?c:(c>>31^-1)&4095;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function MR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=134285313;q[a+28>>2]=134285313;q[a+16>>2]=134285313;q[a+20>>2]=134285313;q[a+8>>2]=134285313;q[a+12>>2]=134285313;q[a>>2]=134285313;q[a+4>>2]=134285313;c=c+1|0;a=a+b|0;continue}break}}function LR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=134154239;q[a+28>>2]=134154239;q[a+16>>2]=134154239;q[a+20>>2]=134154239;q[a+8>>2]=134154239;q[a+12>>2]=134154239;q[a>>2]=134154239;q[a+4>>2]=134154239;c=c+1|0;a=a+b|0;continue}break}}function JR(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=134219776;q[a+28>>2]=134219776;q[a+16>>2]=134219776;q[a+20>>2]=134219776;q[a+8>>2]=134219776;q[a+12>>2]=134219776;q[a>>2]=134219776;q[a+4>>2]=134219776;c=c+1|0;a=a+b|0;continue}break}}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=4){while(1){if((b|0)!=4){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<1024?c:(c>>31^-1)&1023;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=4){while(1){if((b|0)!=4){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<4096?c:(c>>31^-1)&4095;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function $k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=8){while(1){if((b|0)!=8){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<1024?c:(c>>31^-1)&1023;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function Eh(a,b,c){var d=0,e=0,f=0,g=0;d=r[c+31|0]|r[c+32|0]<<8|(r[c+33|0]<<16|r[c+34|0]<<24);o[c+36|0]=d;o[c+37|0]=d>>>8;o[c+38|0]=d>>>16;o[c+39|0]=d>>>24;o[c+40|0]=r[c+35|0];while(1){if(e>>>0>2]){f=c+e|0,g=Ua(b,2),o[f+31|0]=g;e=e+1|0;continue}break}}function uz(a,b,c,d){var e=0,f=0;e=Ca-16|0;Ca=e;q[e+12>>2]=0;q[e+8>>2]=q[a>>2];f=jz(e+8|0,e+12|0);a:{if(!(b&1)){b=-28;if((f|0)<0){break a}}b=ch(e+8|0,10927);if(!b){Ya(q[e+12>>2]);b=-48;break a}q[a>>2]=q[e+8>>2];q[c>>2]=q[e+12>>2];q[d>>2]=b;b=0}Ca=e+16|0;return b}function ko(a,b){var c=0,d=0;c=q[b>>2];d=q[c+4>>2];q[a>>2]=q[c>>2];q[a+4>>2]=d;q[a+8>>2]=q[c+8>>2];c=q[b>>2];d=q[c+36>>2];q[a+12>>2]=q[c+32>>2];q[a+16>>2]=d;q[a+20>>2]=q[c+40>>2];q[a+24>>2]=q[b+640>>2];q[a+28>>2]=q[b+84>>2];c=q[b+96>>2];q[a+36>>2]=b;q[a+32>>2]=c}function id(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=Ca-16|0;Ca=f;a:{while(1){d=0;g=q[a+8>>2];h=q[a+4>>2];e=g-h|0;e=e>>>0>g>>>0?0:e;d=g>>>0>h>>>0?q[a>>2]+h|0:d;q[f+12>>2]=c;d=_j(d,e,b,c);if((d|0)<1){break a}if(d>>>0>=e>>>0){if(!fj(a,d)){continue}}break}Xk(a,d)}Ca=f+16|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=8){while(1){if((b|0)!=8){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<512?c:(c>>31^-1)&511;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function Ol(a,b,c){var d=0,e=0;q[a+12>>2]=b;q[a+20>>2]=b+c;q[a+16>>2]=b+1;c=r[b|0];d=b+2|0;q[a+16>>2]=d;c=c<<18;q[a>>2]=c;e=c|r[b+1|0]<<10;q[a>>2]=e;c=512;if(d&1){q[a+16>>2]=b+3;c=r[b+2|0]<<2|2}q[a+4>>2]=510;b=a;a=c|e;q[b>>2]=a;return(a|0)>66846720?-1094995529:0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=q[b>>2];q[b>>2]=0;d=d+32>>6;g=c>>>1<<1;while(1){b=0;if((e|0)!=4){while(1){if((b|0)!=4){f=(b<<1)+a|0;c=d+s[f>>1]|0;p[f>>1]=c>>>0<512?c:(c>>31^-1)&511;b=b+1|0;continue}break}e=e+1|0;a=a+g|0;continue}break}}function wj(a){a=a|0;var b=0,c=0,d=0,e=0;b=Ca-16|0;Ca=b;q[a>>2]=2344;if(r[a+208|0]){c=q[a+212>>2];a:{if(o[216552]&1){break a}if(!Mc(216552)){break a}d=216548,e=M(1,1236)|0,q[d>>2]=e;Lc(216552)}O(q[54137],c|0,2793,b+8|0)}J(q[a+212>>2]);tj(a);Ca=b+16|0;return a|0}function Vy(a,b){var c=0;while(1){if((c|0)!=8){if(Sb(q[w(c,12)+52896>>2],b)){c=c+1|0;continue}else{c=w(c,12)+52900|0;b=q[c+4>>2];q[a>>2]=q[c>>2];q[a+4>>2]=b;return 0}}break}a:{b=Xy(a,b);if((b|0)>=0){if(q[a>>2]>=1){break a}b=-28}return b}return q[a+4>>2]>0?0:-28}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=b>>1;b=0;while(1){if((b|0)!=16){c=(w(b,f)<<1)+a|0;d=$R(s[c+ -2>>1],0,65537,65537);q[c+24>>2]=d;e=Da;q[c+28>>2]=e;q[c+16>>2]=d;q[c+20>>2]=e;q[c+8>>2]=d;q[c+12>>2]=e;q[c>>2]=d;q[c+4>>2]=e;b=b+1|0;continue}break}}function ib(a,b,c,d,e){var f=0,g=0,h=0,i=0;while(1){if((g|0)!=2){f=w(e,g)+b|0;h=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=(g<<2)+c|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);i=h|f;f=(f^h)>>>1&2147450879;q[w(d,g)+a>>2]=i-f;g=g+1|0;continue}break}}function OB(a){var b=0,c=0;a:{b:{c:{b=a+ -69638|0;if(b>>>0>11){if(a+ -69632>>>0>=2){break c}break a}c=2;d:{switch(b-1|0){case 10:break b;case 0:case 1:case 2:case 3:case 4:case 5:case 7:break c;case 9:break d;default:break a}}return 3}c=MB(a)}return c}return 4}function ME(a){var b=0,c=0,d=0,e=0;b=a+32856|0;c=a+32904|0;d=q[a+21860>>2];e=q[a+21864>>2];a=_a(b,(c-(d>>>1&2|e>>>1&1)|0)+76|0);a=a+(_a(b,(c-(d>>>2&2|a&1)|0)+76|0)<<1)|0;a=(_a(b,(c-(a<<1&2|e>>>3&1)|0)+76|0)<<2)+a|0;return(_a(b,(c-(a>>>2&1|a&2)|0)+76|0)<<3)+a|0}function jA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(xb(a,q[b+8>>2],0)){Oj(b,c,d);return}e=q[a+12>>2];f=a+16|0;Vm(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){Vm(a,b,c,d);if(r[b+54|0]){break a}a=a+8|0;if(a>>>0>>0){continue}break}}}function Ql(a){var b=0,c=0,d=0;a:{if(!a){break a}b=q[a>>2];if(!b){break a}c=q[b+4>>2];d=q[c+24>>2];if(d){n[d](b);c=q[b+4>>2]}b:{if(!q[c+8>>2]){break b}c=q[b+12>>2];if(!c){break b}lf(c)}c=q[b+8>>2];if(c){mc(c)}Wa(b+8|0);Wa(b+12|0);Gn(b+16|0);Gn(b+20|0);Wa(a)}}function NE(a,b){var c=0,d=0;c=q[b+21712>>2];if(q[b+21740>>2]){d=r[q[a+26404>>2]+q[b+21720>>2]|0]!=0}else{d=0}d=q[b+21732>>2]?(r[q[a+26404>>2]+c|0]!=0)+d|0:d;c=b+32856|0;if(!_a(c,(b+d|0)+32968|0)){return 0}a=b+32971|0;if(!_a(c,a)){return 1}return _a(c,a)?3:2}function bk(a,b){var c=0,d=0,i=0;h(+a);c=e(1)|0;d=e(0)|0;i=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=bk(a*0x10000000000000000,b);b=q[b>>2]+ -64|0}q[c>>2]=b;return a}q[b>>2]=c+ -1022;f(0,d|0);f(1,i&-2146435073|1071644672);a=+g()}return a}function qp(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=33620481;q[a+28>>2]=33620481;q[a+16>>2]=33620481;q[a+20>>2]=33620481;q[a+8>>2]=33620481;q[a+12>>2]=33620481;q[a>>2]=33620481;q[a+4>>2]=33620481;c=c+1|0;a=a+b|0;continue}break}}function pp(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=33489407;q[a+28>>2]=33489407;q[a+16>>2]=33489407;q[a+20>>2]=33489407;q[a+8>>2]=33489407;q[a+12>>2]=33489407;q[a>>2]=33489407;q[a+4>>2]=33489407;c=c+1|0;a=a+b|0;continue}break}}function np(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=33554944;q[a+28>>2]=33554944;q[a+16>>2]=33554944;q[a+20>>2]=33554944;q[a+8>>2]=33554944;q[a+12>>2]=33554944;q[a>>2]=33554944;q[a+4>>2]=33554944;c=c+1|0;a=a+b|0;continue}break}}function hj(a,b,c){var d=0,e=0;if(!c){return 0}while(1){a:{d=o[a|0];e=d+ -65>>>0<26?d^32:d;d=o[b|0];d=d+ -65>>>0<26?d^32:d;c=c+ -1|0;if(!c){d=d&255;e=e&255;break a}d=d&255;e=e&255;if(!e){break a}a=a+1|0;b=b+1|0;if((d|0)==(e|0)){continue}}break}return e-d|0}function Ux(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==32769){while(1){if((a|0)!=32768){q[(0-a<<2)+1792544>>2]=q[(a<<2)+1530400>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1530400|0,d=x(db(+(b|0)*47936899621426287e-21)),u[c>>2]=d;b=b+1|0;continue}break}}function Hp(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a>>2]=16843009;q[a+4>>2]=16843009;q[a+24>>2]=16843009;q[a+28>>2]=16843009;q[a+16>>2]=16843009;q[a+20>>2]=16843009;q[a+8>>2]=16843009;q[a+12>>2]=16843009;c=c+1|0;a=a+b|0;continue}break}}function Gp(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=16711935;q[a+28>>2]=16711935;q[a+16>>2]=16711935;q[a+20>>2]=16711935;q[a+8>>2]=16711935;q[a+12>>2]=16711935;q[a>>2]=16711935;q[a+4>>2]=16711935;c=c+1|0;a=a+b|0;continue}break}}function Dp(a,b){a=a|0;b=b|0;var c=0;b=b>>1<<1;while(1){if((c|0)!=16){q[a+24>>2]=16777472;q[a+28>>2]=16777472;q[a+16>>2]=16777472;q[a+20>>2]=16777472;q[a+8>>2]=16777472;q[a+12>>2]=16777472;q[a>>2]=16777472;q[a+4>>2]=16777472;c=c+1|0;a=a+b|0;continue}break}}function Cc(a){var b=0,c=0,d=0;d=a;c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7)>>>23|0;c=r[b+150384|0]+c|0;a=q[a+16>>2];q[d+8>>2]=a>>>0>c>>>0?c:a;return r[b+150896|0]}function Vx(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==16385){while(1){if((a|0)!=16384){q[(0-a<<2)+1530400>>2]=q[(a<<2)+1399328>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1399328|0,d=x(db(+(b|0)*9587379924285257e-20)),u[c>>2]=d;b=b+1|0;continue}break}}function Wx(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==8193){while(1){if((a|0)!=8192){q[(0-a<<2)+1399328>>2]=q[(a<<2)+1333792>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1333792|0,d=x(db(+(b|0)*.00019174759848570515)),u[c>>2]=d;b=b+1|0;continue}break}}function WA(a){var b=0,c=0,d=0;a:{b:{while(1){if(r[b+200592|0]!=(a|0)){c=87;b=b+1|0;if((b|0)!=87){continue}break b}break}c=b;if(b){break b}a=200688;break a}b=200688;while(1){d=r[b|0];a=b+1|0;b=a;if(d){continue}b=a;c=c+ -1|0;if(c){continue}break}}return a}function Ck(a,b,c){var d=0,e=0;d=-28;e=q[c+4>>2];a:{if((e|0)<1){break a}c=q[c>>2];if((c|0)<0){break a}if(!c){return 0}d=0;if((c|0)==(e|0)){break a}d=a;a=(c|0)<(e|0);b=Ji(a?d:b,0,a?c:e,0,a?e:c,0,0)>>>0<=0?0:1;a=Da;d=((a|0)>0?1:(a|0)>=0?b:0)?0:-28}return d}function Zx(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==1025){while(1){if((a|0)!=1024){q[(0-a<<2)+1284640>>2]=q[(a<<2)+1276448>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1276448|0,d=x(db(+(b|0)*.0015339807878856412)),u[c>>2]=d;b=b+1|0;continue}break}}function Yx(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==2049){while(1){if((a|0)!=2048){q[(0-a<<2)+1301024>>2]=q[(a<<2)+1284640>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1284640|0,d=x(db(+(b|0)*.0007669903939428206)),u[c>>2]=d;b=b+1|0;continue}break}}function Xx(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==4097){while(1){if((a|0)!=4096){q[(0-a<<2)+1333792>>2]=q[(a<<2)+1301024>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1301024|0,d=x(db(+(b|0)*.0003834951969714103)),u[c>>2]=d;b=b+1|0;continue}break}}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;b=a-c|0;f=170608-r[(c^-1)+a|0]|0;while(1){if((e|0)!=4){d=r[a+ -1|0]+f|0;o[a|0]=r[d+r[b|0]|0];o[a+1|0]=r[r[b+1|0]+d|0];o[a+2|0]=r[r[b+2|0]+d|0];o[a+3|0]=r[r[b+3|0]+d|0];e=e+1|0;a=a+c|0;continue}break}}function Wc(a,b,c,d,e){var f=0,g=0,h=0;while(1){if((g|0)!=4){f=w(e,g)+b|0;h=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);f=(g<<2)+c|0;f=r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24);q[w(d,g)+a>>2]=(h|f)-((f^h)>>>1&2139062143);g=g+1|0;continue}break}}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>1<<1;c=b;while(1){if((e|0)!=4){d=s[a+ -2>>1]+s[c>>1]|0;p[a>>1]=d;d=d+s[c+4>>1]|0;p[a+2>>1]=d;d=d+s[c+8>>1]|0;p[a+4>>1]=d;p[a+6>>1]=d+s[c+12>>1];e=e+1|0;c=c+16|0;a=a+f|0;continue}break}Za(b,0,64)}function _x(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==513){while(1){if((a|0)!=512){q[(0-a<<2)+1276448>>2]=q[(a<<2)+1272352>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1272352|0,d=x(db(+(b|0)*.0030679615757712823)),u[c>>2]=d;b=b+1|0;continue}break}}function ZR(a,b,c,d){var e=0,f=0,g=0,h=0;e=b;f=e>>31;e=e>>31;a=a^e;g=a-e|0;h=(b^f)-((a>>>0>>0)+f|0)|0;e=d;f=e>>31;e=e>>31;a=c^e;e=bS(g,h,a-e|0,(d^f)-((a>>>0>>0)+f|0)|0);b=b^d;c=b>>31;a=b>>31;b=e^a;d=b-a|0;Da=(c^Da)-((b>>>0>>0)+c|0)|0;return d}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c>>>1<<1;c=b;while(1){if((d|0)!=4){p[a>>1]=s[a>>1]+s[c>>1];p[a+2>>1]=s[a+2>>1]+s[c+4>>1];p[a+4>>1]=s[a+4>>1]+s[c+8>>1];p[a+6>>1]=s[a+6>>1]+s[c+12>>1];d=d+1|0;c=c+16|0;a=a+e|0;continue}break}Za(b,0,64)}function $A(a){var b=0,c=0;b=r[a+74|0];o[a+74|0]=b+ -1|b;if(t[a+20>>2]>t[a+28>>2]){n[q[a+36>>2]](a,0,0)|0}q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;b=q[a>>2];if(b&4){q[a>>2]=b|32;return-1}c=q[a+44>>2]+q[a+48>>2]|0;q[a+8>>2]=c;q[a+4>>2]=c;return b<<27>>31}function kj(a,b,c){var d=0;d=Ca-16|0;Ca=d;a:{b:{if(q[q[a>>2]+16>>2]==27){if(!q[a+788>>2]){break a}q[b>>2]=4;a=q[a+556>>2]<<2;break b}q[b>>2]=2;a=q[a+568>>2]}q[c>>2]=a;Ca=d+16|0;return}q[d+8>>2]=47;q[d+4>>2]=17904;q[d>>2]=19856;Ta(0,0,16110,d);I();F()}function KA(a){a=+a;var b=0,c=0;c=Ca-16|0;Ca=c;h(+a);b=e(1)|0;e(0)|0;b=b&2147483647;a:{if(b>>>0<=1072243195){if(b>>>0<1044381696){break a}a=bn(a,0,0);break a}if(b>>>0>=2146435072){a=a-a;break a}b=Uj(a,c);a=bn(v[c>>3],v[c+8>>3],b&1)}Ca=c+16|0;return+a}function $x(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==257){while(1){if((a|0)!=256){q[(0-a<<2)+1272352>>2]=q[(a<<2)+1270304>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1270304|0,d=x(db(+(b|0)*.006135923151542565)),u[c>>2]=d;b=b+1|0;continue}break}}function xB(a){a=+a;var b=0,c=0;h(+a);b=e(1)|0;f(0,e(0)|0);b=b&2147483647;f(1,b|0);a=+g();a:{if(b>>>0<=1072049729){c=1;if(b>>>0<1045430272){break a}a=xf(a);c=a+1;return+(a*a/(c+c)+1)}if(b>>>0<=1082535489){a=of(a);return+((a+1/a)*.5)}c=An(a)}return+c}function ay(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==129){while(1){if((a|0)!=128){q[(0-a<<2)+1270304>>2]=q[(a<<2)+1269280>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1269280|0,d=x(db(+(b|0)*.01227184630308513)),u[c>>2]=d;b=b+1|0;continue}break}}function vB(a,b){var c=0;c=a+ -2|0;c=r[c|0]|r[c+1|0]<<8;c=c<<16|c;while(1){if((b|0)<4){while(1){if(b){o[a|0]=r[a+ -2|0];a=a+1|0;b=b+ -1|0;continue}break}}else{o[a|0]=c;o[a+1|0]=c>>>8;o[a+2|0]=c>>>16;o[a+3|0]=c>>>24;b=b+ -4|0;a=a+4|0;continue}break}}function ef(a,b){var c=0,d=0,e=0,f=0;c=q[b+8>>2];c=(c|0)>0?c:0;while(1){if((d|0)!=(c|0)){e=b+d|0,f=Xa(a),o[e+24|0]=f;d=d+1|0;continue}break}d=0;c=q[b+20>>2];c=(c|0)>0?c:0;while(1){if((d|0)!=(c|0)){e=b+d|0,f=Xa(a),o[e+29|0]=f;d=d+1|0;continue}break}}function Sy(a){var b=0,c=0,d=0,e=0;while(1){if((c|0)==12){return-1}b=q[(c<<2)+58704>>2];if(hj(q[a>>2],b,3)){c=c+1|0;continue}else{d=b+3|0;b=ub(d);e=q[a>>2]+3|0;q[a>>2]=e;a:{if((b|0)<1){break a}if(hj(e,d,b)){break a}q[a>>2]=b+q[a>>2]}}break}return c}function Gm(a){var b=0,c=0,d=0;b=Ca-16|0;Ca=b;o[b+15|0]=10;c=q[a+16>>2];a:{if(!c){if(Hm(a)){break a}c=q[a+16>>2]}d=q[a+20>>2];if(!(o[a+75|0]==10|d>>>0>=c>>>0)){q[a+20>>2]=d+1;o[d|0]=10;break a}if((n[q[a+36>>2]](a,b+15|0,1)|0)!=1){break a}}Ca=b+16|0}function dy(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==17){while(1){if((a|0)!=16){q[(0-a<<2)+1268512>>2]=q[(a<<2)+1268384>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1268384|0,d=x(db(+(b|0)*.09817477042468103)),u[c>>2]=d;b=b+1|0;continue}break}}function cy(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==33){while(1){if((a|0)!=32){q[(0-a<<2)+1268768>>2]=q[(a<<2)+1268512>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1268512|0,d=x(db(+(b|0)*.04908738521234052)),u[c>>2]=d;b=b+1|0;continue}break}}function by(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==65){while(1){if((a|0)!=64){q[(0-a<<2)+1269280>>2]=q[(a<<2)+1268768>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1268768|0,d=x(db(+(b|0)*.02454369260617026)),u[c>>2]=d;b=b+1|0;continue}break}}function Vd(a,b,c){var d=0,e=0,f=0;d=q[a+44>>2];f=(d|0)>0?d:0;while(1){if((e|0)!=(f|0)){d=q[a+40>>2];if(q[(d+w(e,12)|0)+8>>2]==(b|0)){if(c){q[c>>2]=q[(d+w(e,12)|0)+4>>2]}return q[d+w(e,12)>>2]}else{e=e+1|0;continue}}break}if(c){q[c>>2]=0}return 0}function fy(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==5){while(1){if((a|0)!=4){q[(0-a<<2)+1268320>>2]=q[(a<<2)+1268288>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1268288|0,d=x(db(+(b|0)*.39269908169872414)),u[c>>2]=d;b=b+1|0;continue}break}}function ey(){var a=0,b=0,c=0,d=x(0);a=1;while(1){if((b|0)==9){while(1){if((a|0)!=8){q[(0-a<<2)+1268384>>2]=q[(a<<2)+1268320>>2];a=a+1|0;continue}break}}else{c=(b<<2)+1268320|0,d=x(db(+(b|0)*.19634954084936207)),u[c>>2]=d;b=b+1|0;continue}break}}function _v(){var a=0;a=1;while(1){if((a|0)!=320){q[(a<<2)+214656>>2]=q[(0-a<<2)+214656>>2];a=a+1|0;continue}break}a=0;u[53728]=-u[53728];u[53856]=-u[53856];while(1){if((a|0)!=320){q[(a<<2)+2419264>>2]=q[(a<<3)+213376>>2];a=a+1|0;continue}break}}function wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{if(r[r[f+153952|0]+e|0]){Ee(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);break a}g=(f<<6)+c|0;if(!q[g>>2]){break a}De(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}break}}function rq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{if(r[r[f+153952|0]+e|0]){Ce(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);break a}g=(f<<6)+c|0;if(!q[g>>2]){break a}Be(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}break}}function qf(a,b){var c=0,d=0,e=0,f=0;c=a*a;d=c*.5;e=1-d;f=1-e-d;d=c*c;return e+(f+(c*(c*(c*(c*2480158728947673e-20+ -.001388888888887411)+.0416666666666666)+d*d*(c*(c*-1.1359647557788195e-11+2.087572321298175e-9)+ -2.7557314351390663e-7))-a*b))}function oQ(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=16){d=r[(w(b,c)+a|0)+ -1|0]+d|0;c=c+1|0;continue}break}c=w(d+8>>>4|0,16843009);d=0;while(1){if((d|0)!=16){q[a+12>>2]=c;q[a+8>>2]=c;q[a+4>>2]=c;q[a>>2]=c;d=d+1|0;a=a+b|0;continue}break}}function Pl(a,b){var c=0,d=0;c=q[a+8>>2];a:{b:{if(!(q[b+24>>2]|q[b+44>>2]?b:0)){q[c+4>>2]=1;break b}if(q[c+4>>2]){Ta(a,16,10884,0);return-28}a=-6;d=q[c>>2];if(q[d+24>>2]|q[d+44>>2]){break a}a=lv(b);if((a|0)<0){break a}Sl(q[c>>2],b)}a=0}return a}function Oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{if(r[r[f+153952|0]+e|0]){Ke(q[(f<<2)+b>>2]+a|0,(f<<5)+c|0,d);break a}g=(f<<5)+c|0;if(!s[g>>1]){break a}Je(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}break}}function Gq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{if(r[r[f+153952|0]+e|0]){Ie(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);break a}g=(f<<6)+c|0;if(!q[g>>2]){break a}He(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}break}}function Bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;while(1){if((f|0)!=16){a:{if(r[r[f+153952|0]+e|0]){Ge(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);break a}g=(f<<6)+c|0;if(!q[g>>2]){break a}Fe(q[(f<<2)+b>>2]+a|0,g,d)}f=f+1|0;continue}break}}function pd(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=134219776;q[a+4>>2]=134219776;b=a+(c&-2)|0;q[b>>2]=134219776;q[b+4>>2]=134219776;b=((c&2147483646)<<1)+a|0;q[b>>2]=134219776;q[b+4>>2]=134219776;a=w(c>>1,6)+a|0;q[a>>2]=134219776;q[a+4>>2]=134219776}function mp(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=134285313;q[a+4>>2]=134285313;b=a+(c&-2)|0;q[b>>2]=134285313;q[b+4>>2]=134285313;b=((c&2147483646)<<1)+a|0;q[b>>2]=134285313;q[b+4>>2]=134285313;a=w(c>>1,6)+a|0;q[a>>2]=134285313;q[a+4>>2]=134285313}function lp(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=134154239;q[a+4>>2]=134154239;b=a+(c&-2)|0;q[b>>2]=134154239;q[b+4>>2]=134154239;b=((c&2147483646)<<1)+a|0;q[b>>2]=134154239;q[b+4>>2]=134154239;a=w(c>>1,6)+a|0;q[a>>2]=134154239;q[a+4>>2]=134154239}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=1<>2];Un(a,(d&-4)+b|0,c);a=0;c=d>>2;f=(c|0)>0?c:0;c=d>>1;while(1){if((a|0)!=(f|0)){e=a^-1;u[(a<<2)+b>>2]=-u[(c+e<<2)+b>>2];q[(d+e<<2)+b>>2]=q[(a+c<<2)+b>>2];a=a+1|0;continue}break}}function Yj(a,b,c,d,e){var f=0;f=Ca-144|0;Ca=f;q[f+44>>2]=a;q[f+4>>2]=a;q[f>>2]=0;q[f+76>>2]=-1;q[f+8>>2]=(a|0)<0?-1:a+2147483647|0;Nc(f,0,0);c=tn(f,c,1,d,e);d=Da;if(b){q[b>>2]=((q[f+4>>2]+q[f+120>>2]|0)-q[f+8>>2]|0)+a}Ca=f+144|0;Da=d;return c}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=536879104;q[a+4>>2]=536879104;b=a+(c&-2)|0;q[b>>2]=536879104;q[b+4>>2]=536879104;b=((c&2147483646)<<1)+a|0;q[b>>2]=536879104;q[b+4>>2]=536879104;a=w(c>>1,6)+a|0;q[a>>2]=536879104;q[a+4>>2]=536879104}function Lj(a,b){var c=0,d=0;if(!a){return Nb(b)}if(b>>>0>=4294967232){q[865816]=48;return 0}c=Hz(a+ -8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=Nb(b);if(!c){return 0}d=q[a+ -4>>2];d=(d&-8)-(d&3?4:8)|0;Va(c,a,d>>>0>>0?d:b);Ya(a);return c}function IR(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=536944641;q[a+4>>2]=536944641;b=a+(c&-2)|0;q[b>>2]=536944641;q[b+4>>2]=536944641;b=((c&2147483646)<<1)+a|0;q[b>>2]=536944641;q[b+4>>2]=536944641;a=w(c>>1,6)+a|0;q[a>>2]=536944641;q[a+4>>2]=536944641}function HR(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=536813567;q[a+4>>2]=536813567;b=a+(c&-2)|0;q[b>>2]=536813567;q[b+4>>2]=536813567;b=((c&2147483646)<<1)+a|0;q[b>>2]=536813567;q[b+4>>2]=536813567;a=w(c>>1,6)+a|0;q[a>>2]=536813567;q[a+4>>2]=536813567}function nC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=(d|0)>0?d:0;e=e<<3;while(1){if((d|0)!=(f|0)){g=(f<<3)+a|0;h=e+(w(f,320)+b|0)|0;i=(f<<2)+c|0;u[g>>2]=u[h>>2]*u[i>>2];u[g+4>>2]=u[h+4>>2]*u[i>>2];f=f+1|0;continue}break}}function hC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if(c>>>0<=31){d=c<<3;q[d+a>>2]=q[(63-c<<2)+b>>2]^-2147483648;e=c<<2;q[(d|4)+a>>2]=q[e+b>>2];q[(d|8)+a>>2]=q[(62-c<<2)+b>>2]^-2147483648;q[(d|12)+a>>2]=q[(e|4)+b>>2];c=c+2|0;continue}break}}function ml(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c>>>0>1?c:1;d=f+ -1|0;g=d+a|0;h=b+d|0;while(1){a:{if((e|0)!=(d|0)){e=e+1|0;i=r[b|0];if(i){break a}h=b;g=a;a=e}else{a=f}if(a>>>0<=c>>>0){o[g|0]=0}ub(h);return}o[a|0]=i;a=a+1|0;b=b+1|0;continue}}function hp(a){var b=0,c=0;c=Ca-16|0;Ca=c;q[c+12>>2]=a;while(1){b=q[a+4>>2];if(b){q[c+8>>2]=b;q[a+4>>2]=q[b+16>>2];n[q[b+8>>2]](q[b+4>>2],q[b>>2]);Wa(c+8|0);a=q[c+12>>2];continue}break}b=q[a+28>>2];if(b){n[b](q[a+16>>2])}Wa(c+12|0);Ca=c+16|0}function Ff(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=Ca-128|0;Ca=e;n[q[a+2968>>2]](e,b,c,d);n[q[a+2032>>2]](e);b=0;a=0;while(1){if((a|0)!=64){d=p[(a<<1)+e>>1];c=d>>31;c=c^c+d;b=(b|0)>(c|0)?b:c;a=a+1|0;continue}break}Ca=e+128|0;return b|0}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=b>>1;b=a-(b&-2)|0;e=q[b+8>>2];f=q[b+12>>2];g=q[b>>2];h=q[b+4>>2];b=0;while(1){if((b|0)!=16){c=(w(b,d)<<1)+a|0;q[c+8>>2]=e;q[c+12>>2]=f;q[c>>2]=g;q[c+4>>2]=h;b=b+1|0;continue}break}}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=p[b>>1];p[b>>1]=0;g=d+32>>6;while(1){b=0;if((e|0)!=8){while(1){if((b|0)!=8){f=a+b|0;d=r[f|0]+g|0;o[f|0]=d>>>0>255?d>>31^-1:d;b=b+1|0;continue}break}e=e+1|0;a=a+c|0;continue}break}}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=q[a>>2];d=q[a+64>>2];e=c-d|0;f=q[a+128>>2];g=q[a+192>>2];h=f-g|0;q[a+192>>2]=w(e-h|0,b)>>7;c=c+d|0;d=f+g|0;q[a+128>>2]=w(c-d|0,b)>>7;q[a+64>>2]=w(e+h|0,b)>>7;q[a>>2]=w(c+d|0,b)>>7}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=p[b>>1];p[b>>1]=0;g=d+32>>6;while(1){b=0;if((e|0)!=4){while(1){if((b|0)!=4){f=a+b|0;d=r[f|0]+g|0;o[f|0]=d>>>0>255?d>>31^-1:d;b=b+1|0;continue}break}e=e+1|0;a=a+c|0;continue}break}}function Iq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=p[a>>1];d=p[a+32>>1];e=c-d|0;f=p[a+64>>1];g=p[a+96>>1];h=f-g|0;p[a+96>>1]=w(e-h|0,b)>>>7;c=c+d|0;d=f+g|0;p[a+64>>1]=w(c-d|0,b)>>>7;p[a+32>>1]=w(e+h|0,b)>>>7;p[a>>1]=w(c+d|0,b)>>>7}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=b>>1;b=a-(b&-2)|0;e=q[b+8>>2];f=q[b+12>>2];g=q[b>>2];h=q[b+4>>2];b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=e;q[c+12>>2]=f;q[c>>2]=g;q[c+4>>2]=h;b=b+1|0;continue}break}}function yO(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;a:{b:{while(1){if((d|0)==28){break b}if(q[w(d,12)+45504>>2]!=(a|0)){d=d+1|0;continue}break}ml(b,q[w(d,12)+45512>>2],64);break a}if((VA(0-a|0,b)|0)<1){break a}q[c>>2]=a;vf(b,64,2905,c)}Ca=c+16|0}function pQ(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=16){d=r[(c-b|0)+a|0]+d|0;c=c+1|0;continue}break}c=w(d+8>>>4|0,16843009);d=0;while(1){if((d|0)!=16){q[a+12>>2]=c;q[a+8>>2]=c;q[a+4>>2]=c;q[a>>2]=c;d=d+1|0;a=a+b|0;continue}break}}function jo(a,b){var c=0,d=0,e=0;e=(b|0)!=2;while(1){if((d|0)!=3){if(!e){c=(d<<2)+a|0;q[c>>2]=q[c>>2]+q[c+12>>2]}q[a+24>>2]=b;c=(d<<2)+a|0;q[c+12>>2]=q[c+12>>2]<<1;d=d+1|0;continue}break}q[a+28>>2]=q[(q[a+36>>2]+(((b|0)==2)<<2)|0)+76>>2]}function mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;while(1){e=4;if((f|0)==4){while(1){if((e|0)!=8){Sd(q[((e<<2)+b|0)+16>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}else{Sd(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);f=f+1|0;continue}break}}function mQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;while(1){e=4;if((f|0)==4){while(1){if((e|0)!=8){eg(q[((e<<2)+b|0)+16>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}else{eg(q[(f<<2)+b>>2]+a|0,(f<<5)+c|0,d);f=f+1|0;continue}break}}function kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;while(1){e=4;if((f|0)==4){while(1){if((e|0)!=8){Td(q[((e<<2)+b|0)+16>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}else{Td(q[(f<<2)+b>>2]+a|0,(f<<6)+c|0,d);f=f+1|0;continue}break}}function kQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;while(1){e=4;if((f|0)==4){while(1){if((e|0)!=8){fg(q[((e<<2)+b|0)+16>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}else{fg(q[(f<<2)+b>>2]+a|0,(f<<5)+c|0,d);f=f+1|0;continue}break}}function vx(a){a=a|0;var b=0,c=0,d=0;d=q[a+24>>2];b=3;while(1){a=0;if((b|0)>=0){while(1){if((a|0)!=16){c=q[(((b<<6)+d|0)+(a<<2)|0)+492>>2];if(c){Za(c+18144|0,0,6144);Za(c+92352|0,0,6144)}a=a+1|0;continue}break}b=b+ -1|0;continue}break}}function rd(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=16777472;q[a+4>>2]=16777472;b=a+(c&-2)|0;q[b>>2]=16777472;q[b+4>>2]=16777472;b=((c&2147483646)<<1)+a|0;q[b>>2]=16777472;q[b+4>>2]=16777472;a=w(c>>1,6)+a|0;q[a>>2]=16777472;q[a+4>>2]=16777472}function qd(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=33554944;q[a+4>>2]=33554944;b=a+(c&-2)|0;q[b>>2]=33554944;q[b+4>>2]=33554944;b=((c&2147483646)<<1)+a|0;q[b>>2]=33554944;q[b+4>>2]=33554944;a=w(c>>1,6)+a|0;q[a>>2]=33554944;q[a+4>>2]=33554944}function fq(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=16843009;q[a+4>>2]=16843009;b=a+(c&-2)|0;q[b>>2]=16843009;q[b+4>>2]=16843009;b=((c&2147483646)<<1)+a|0;q[b>>2]=16843009;q[b+4>>2]=16843009;a=w(c>>1,6)+a|0;q[a>>2]=16843009;q[a+4>>2]=16843009}function eq(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=16711935;q[a+4>>2]=16711935;b=a+(c&-2)|0;q[b>>2]=16711935;q[b+4>>2]=16711935;b=((c&2147483646)<<1)+a|0;q[b>>2]=16711935;q[b+4>>2]=16711935;a=w(c>>1,6)+a|0;q[a>>2]=16711935;q[a+4>>2]=16711935}function Ua(a,b){var c=0,d=0,e=0,f=0;d=q[a+8>>2];c=q[a>>2]+(d>>>3|0)|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);f=a;e=b+d|0;a=q[a+16>>2];q[f+8>>2]=a>>>0>e>>>0?e:a;return(c<<8&16711680|c<<24|(c>>>8&65280|c>>>24))<<(d&7)>>>32-b|0}function Cp(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=33620481;q[a+4>>2]=33620481;b=a+(c&-2)|0;q[b>>2]=33620481;q[b+4>>2]=33620481;b=((c&2147483646)<<1)+a|0;q[b>>2]=33620481;q[b+4>>2]=33620481;a=w(c>>1,6)+a|0;q[a>>2]=33620481;q[a+4>>2]=33620481}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=33489407;q[a+4>>2]=33489407;b=a+(c&-2)|0;q[b>>2]=33489407;q[b+4>>2]=33489407;b=((c&2147483646)<<1)+a|0;q[b>>2]=33489407;q[b+4>>2]=33489407;a=w(c>>1,6)+a|0;q[a>>2]=33489407;q[a+4>>2]=33489407}function rf(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=r[a|0];a:{if(!d){break a}while(1){b:{e=r[b|0];if((e|0)!=(d|0)){break b}c=c+ -1|0;if(!c|!e){break b}b=b+1|0;d=r[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-r[b|0]|0}function Nc(a,b,c){var d=0,e=0,f=0,g=0;q[a+112>>2]=b;q[a+116>>2]=c;f=q[a+8>>2];g=q[a+4>>2];d=f-g|0;e=d>>31;q[a+120>>2]=d;q[a+124>>2]=e;if(!(!(b|c)|((e|0)<(c|0)?1:(e|0)<=(c|0)?d>>>0>b>>>0?0:1:0))){q[a+104>>2]=b+g;return}q[a+104>>2]=f}function nm(a){var b=0,c=0,d=0;if(!(!q[a+6464>>2]|q[a+6728>>2]==4)){Va(a+6472|0,a+6208|0,264);b=q[a+4>>2];q[b+348>>2]=q[a+6716>>2];c=a+6720|0;d=q[c+4>>2];q[b+376>>2]=q[c>>2];q[b+380>>2]=d;jd(a,a+6520|0,q[a+6712>>2],q[a+6728>>2],0)}}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=x(0),f=0,g=0,h=x(0),i=x(0);c=(c|0)>0?c:0;while(1){if((c|0)!=(f|0)){d=(f<<2)+a|0;g=d;h=u[d>>2];d=(f<<3)+b|0;e=u[d>>2];i=x(e*e);e=u[d+4>>2];u[g>>2]=h+x(i+x(e*e));f=f+1|0;continue}break}}function oo(a,b,c,d){var e=0,f=0,g=0;e=w(d,6);f=e+4|0;f=(f|0)>0?f:0;e=e+3|0;g=w(d+ -8|0,88);b=w(b,88)+a|0;d=0;while(1){if((d|0)!=(f|0)){a=c+d|0;o[(b+d|0)+548|0]=r[(((a|0)<0?0:(a|0)>(e|0)?e:a)+g|0)+153040|0];d=d+1|0;continue}break}}function Ct(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-16|0;Ca=c;d=-1094995529;e=a+24|0;if(!Xa(e)){f=a,g=Ua(e,2),q[f+68>>2]=g;d=Ua(e,5);q[a+44>>2]=d;e=At(d);q[c+8>>2]=q[a+68>>2];q[c+4>>2]=e;q[c>>2]=d;Ta(b,48,43885,c);d=1}Ca=c+16|0;return d}function zl(a){var b=0,c=0;while(1){if((b|0)>2]){Wa((q[a>>2]+w(b,72)|0)- -64|0);b=b+1|0;continue}break}Wa(a);q[a+24>>2]=0;q[a+28>>2]=0;b=a+4|0;c=a+8|0;a:{if(q[c>>2]){lb(c);q[b>>2]=0;break a}Wa(b)}q[a+12>>2]=0;q[a+16>>2]=0}function ov(a,b,c){var d=0;a:{if(!c|(!b|!a)){break a}b:{d=a+b|0;if(r[d+ -1|0]){break b}while(1){if(a>>>0>=d>>>0){break a}b=(ub(a)+a|0)+1|0;if(b>>>0>=d>>>0|!r[a|0]){break b}if((dg(c,a,b)|0)<0){break a}a=(ub(b)+b|0)+1|0;continue}}}}function Cw(a,b){var c=0,d=0,e=0,f=0,g=0;e=7;while(1){d=c;while(1){if((d|0)!=(e|0)){f=(d<<2)+a|0,g=Xa(b),q[f+140>>2]=g;d=d+1|0;continue}break}a:{if(c>>>0>49){c=63;break a}c=c+7|0;e=e+7|0;if(Xa(b)){continue}}break}return(c|0)/7|0}function rj(a){q[a+64>>2]=0;q[a+68>>2]=0;q[a+56>>2]=-1;q[a+60>>2]=-1;q[a+16>>2]=0;q[a+20>>2]=-2147483648;q[a+8>>2]=0;q[a+12>>2]=-2147483648;q[a+32>>2]=0;q[a+36>>2]=0;q[a>>2]=0;q[a+40>>2]=0;q[a+44>>2]=0;q[a+48>>2]=0;q[a+52>>2]=0}function LE(a){var b=0,c=0,d=0,e=0,f=0;d=a+32856|0;e=q[a+21864>>2]>>>4&3;b=(e|0)!=0;f=b|2;c=b;b=q[a+21860>>2]>>>4&3;if(_a(d,((b?f:c)+a|0)+32981|0)){c=a;a=(e|0)==2?5:4;a=_a(d,(c+((b|0)==2?a|2:a)|0)+32981|0)+1|0}else{a=0}return a}function Np(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((c|0)!=8){d=r[(w(b,c)+a|0)+ -1|0]+d|0;c=c+1|0;continue}break}d=w(d+4>>>3|0,16843009);c=0;while(1){if((c|0)!=8){e=w(b,c)+a|0;q[e>>2]=d;q[e+4>>2]=d;c=c+1|0;continue}break}}function Yo(a,b,c){var d=0,e=0;e=Ca-16|0;Ca=e;a:{b:{d=q[b+8>>2];if(r[d|0]!=45){break b}Zj(d,e+12|0);d=q[e+12>>2];if((d|0)==q[b+8>>2]|r[d|0]!=100|r[d+1|0]!=66){break b}q[c>>2]=0;a=Xo(a,b);break a}a=DM(a,b,c)}Ca=e+16|0;return a}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;c=q[a+860>>2];if(c){c=Uo(c,b);q[b+68>>2]=q[a+100>>2];q[b+72>>2]=q[a+104>>2];return c|0}c=Nu(a,b);if((c|0)>=0){c=q[a+8>>2];if(c>>>0>1){return-1}if(c-1){return Mu(a,b)|0}c=Lu(a,b)}return c|0}function JO(a,b,c){var d=0;d=Ca-16|0;q[d+12>>2]=1;q[d+8>>2]=c?-1:1;q[d+4>>2]=b?-1:1;a:{if(!(b|c)){break a}b=0;while(1){if((b|0)==9){break a}c=(b<<2)+a|0;q[c>>2]=w(q[c>>2],q[(d+4|0)+(((b&255)>>>0)%3<<2)>>2]);b=b+1|0;continue}}}function IP(a,b){var c=0;c=Ca-16|0;Ca=c;q[c+12>>2]=b;a:{b:{if(!b){break b}while(1){if(!r[b|0]){break b}b=xP(a,c+12|0);if((b|0)<0){break a}b=q[c+12>>2];if(!r[b|0]){continue}b=b+1|0;q[c+12>>2]=b;continue}}b=0}Ca=c+16|0;return b}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=c&-2;d=a-b|0;e=q[d+4>>2];d=q[d>>2];q[a>>2]=d;q[a+4>>2]=e;b=a+b|0;q[b>>2]=d;q[b+4>>2]=e;b=((c&2147483646)<<1)+a|0;q[b>>2]=d;q[b+4>>2]=e;a=w(c>>1,6)+a|0;q[a>>2]=d;q[a+4>>2]=e}function YR(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=w(e,f);g=c&65535;h=a&65535;i=w(g,h);f=(i>>>16|0)+w(f,g)|0;e=(f&65535)+w(e,h)|0;a=(w(b,c)+j|0)+w(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;Da=a;return b}function jv(a){var b=0,c=0,d=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;a:{b:{if(!a){break b}while(1){d=q[b+12>>2];c=q[(d<<2)+129260>>2];if(!d){q[b+12>>2]=1}if(!c){break b}if(Sb(q[c>>2],a)){continue}break}break a}c=0}Ca=b+16|0;return c}function Kk(a,b,c,d){var e=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(e|0)){q[a>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+4>>2]=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);e=e+1|0;a=a+c|0;b=b+c|0;continue}break}}function BQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=a-b|0;e=q[c+12>>2];f=q[c+8>>2];g=q[c+4>>2];h=q[c>>2];c=0;while(1){if((c|0)!=16){d=w(b,c)+a|0;q[d+12>>2]=e;q[d+8>>2]=f;q[d+4>>2]=g;q[d>>2]=h;c=c+1|0;continue}break}}function PB(a){var b=0,c=0;b=q[a+8>>2];if(b>>>0>4){Da=0;return 0}a:{if(b-1){break a}b=OB(q[a+16>>2]);if(!b){break a}c=q[a+348>>2];a=q[a+344>>2];a=$R(c,c>>31,$R(a,a>>31,b,b>>31),Da);return a}Da=q[a+44>>2];return q[a+40>>2]}function ro(a){var b=0,c=0;while(1){if((b|0)==32){while(1){if((c|0)!=256){lb(((c<<2)+a|0)+128|0);c=c+1|0;continue}break}lb(a+1156|0);lb(a+1152|0);q[a+1160>>2]=0;q[a+1164>>2]=0}else{lb((b<<2)+a|0);b=b+1|0;continue}break}}function pC(a){q[a+40>>2]=872;q[a+36>>2]=873;q[a+32>>2]=874;q[a+28>>2]=875;q[a+24>>2]=876;q[a+20>>2]=877;q[a+16>>2]=878;q[a+12>>2]=879;q[a+8>>2]=880;q[a+4>>2]=881;q[a>>2]=882;q[a+52>>2]=883;q[a+48>>2]=884;q[a+44>>2]=885}function Ys(a){a=a|0;var b=0;a=q[a+24>>2];Za(a+28620|0,0,72);jj(a);We(a+29692|0);while(1){if((b|0)!=36){Dc((a+w(b,656)|0)+696|0);b=b+1|0;continue}break}q[a+24312>>2]=0;Dc(a+24316|0);q[a+27012>>2]=0;bf(a);q[a+25700>>2]=0}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((c|0)!=8){d=r[(c-b|0)+a|0]+d|0;c=c+1|0;continue}break}d=w(d+4>>>3|0,16843009);c=0;while(1){if((c|0)!=8){e=w(b,c)+a|0;q[e>>2]=d;q[e+4>>2]=d;c=c+1|0;continue}break}}function Hf(a,b,c){var d=0,e=0;d=Ca-16|0;Ca=d;e=q[a+4>>2];if(r[e+577|0]&8){q[d+4>>2]=q[a+29572>>2];q[d>>2]=b;Ta(e,48,31157,d)}b=fo(a,b,d+12|0);a:{if(!b){break a}if(!sk(a,b,c)){break a}rk(a,q[d+12>>2])}Ca=d+16|0;return b}function Tw(a,b,c){var d=0,e=0,f=0;a:{c=c+ -1|0;if(c>>>0>1){break a}d=w(q[a+304>>2],r[a+288|0]);if(c-1){c=0;d=(d|0)>0?d:0;while(1){if((c|0)==(d|0)){break a}e=a+c|0,f=Xa(b),o[e+13|0]=f;c=c+1|0;continue}}Za(a+13|0,1,d)}}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(f|0)){e=f<<3;g=e+a|0;e=b+e|0;h=(f<<2)+c|0;u[g>>2]=u[e>>2]*u[h>>2];u[g+4>>2]=u[e+4>>2]*u[h>>2];f=f+1|0;continue}break}}function nn(a,b,c,d){a:{if(!a){break a}b=b+2|0;if(b>>>0>5){break a}b:{switch(b-1|0){default:o[a|0]=c;return;case 0:p[a>>1]=c;return;case 1:case 2:q[a>>2]=c;return;case 3:break a;case 4:break b}}q[a>>2]=c;q[a+4>>2]=d}}function ln(a,b,c,d,e){var f=0,g=0,h=0,i=0;a:{if(!c){break a}while(1){g=c>>>1|0;f=w(g,d)+b|0;h=n[e](a,f)|0;if(!h){return f}if((c|0)==1){break a}i=f;f=(h|0)<0;b=f?b:i;c=f?g:c-g|0;if(c){continue}break}return 0}return 0}function Vl(a,b){var c=0,d=0,e=0;d=Ca-16|0;Ca=d;q[d+12>>2]=0;while(1){a:{c=Wl(d+12|0);if(!c){c=e;break a}if(!n[b](c)|q[c+12>>2]!=(a|0)){continue}if(e){break a}e=c;if(q[c+16>>2]&512){continue}}break}Ca=d+16|0;return c}function gd(a){var b=0,c=0;c=q[a+8>>2];b=q[a>>2]+(c>>>3|0)|0;b=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);b=(b<<24|b<<8&16711680|(b>>>8&65280|b>>>24))<<(c&7)>>>23|0;q[a+8>>2]=r[b+150384|0]+c;return r[b+150896|0]}function LD(a,b,c){var d=0,e=0;d=Ca-16|0;Ca=d;e=cd(b);a:{if(e>>>0>=65536){q[d>>2]=e;Ta(c,16,24306,d);a=-1094995529;break a}q[a>>2]=e;c=b;a=q[b+8>>2]+4|0;b=q[b+16>>2];q[c+8>>2]=b>>>0>a>>>0?a:b;a=0}Ca=d+16|0;return a}function Ej(a){a=a|0;var b=0;q[a+36>>2]=0;q[a+40>>2]=0;a:{if(r[a+60|0]){break a}b=q[a+32>>2];if(!b){break a}Ya(b)}gk(q[a+8>>2]);hk(a+12|0);b=q[a+44>>2];if(b){Ya(b)}b=q[a+48>>2];if(b){Ya(b)}a=q[a+52>>2];if(a){Ya(a)}}function dE(){var a=0,b=0,c=0;b=Ei(21384);a=0;a:{if(Ei(22042)){break a}a=1;if(Ei(22702)){break a}a=0;if(!b){break a}a=(hn()|0)!=0}c=a;q[53123]=a;b:{if(!Ei(23323)){if(!b){break b}if(!UA(b)){break b}}q[53123]=c<<8}}function Hi(a){Wa(a+12|0);Za(a+8|0,0,128);q[a+80>>2]=2;q[a+84>>2]=0;q[a+72>>2]=2;q[a+76>>2]=2;q[a+64>>2]=0;q[a+68>>2]=0;q[a+20>>2]=-1;q[a>>2]=-1;q[a+4>>2]=0;q[a+56>>2]=0;q[a+60>>2]=1;q[a+40>>2]=-99;q[a+44>>2]=-99}function Gy(a){var b=0;b=Ye(a,2,12);if(!b){return 0}a=q[b+4>>2];o[a|0]=0;o[a+1|0]=0;o[a+2|0]=0;o[a+3|0]=0;o[a+4|0]=0;o[a+5|0]=0;o[a+6|0]=0;o[a+7|0]=0;o[a+8|0]=0;o[a+9|0]=0;o[a+10|0]=0;o[a+11|0]=0;return q[b+4>>2]}function Bo(a){var b=0,c=0,d=0;d=16;b=q[a>>2];a:{if(!b){break a}c=q[b+12>>2];if((c|0)<3357440|(c&252)>>>0<100){break a}c=q[b+32>>2];if(c>>>0>45){break a}b=q[b+36>>2];if(b){return(n[b](a)|0)+16|0}d=c+16|0}return d}function eN(a,b,c){var d=0,e=0;while(1){if((d|0)!=4){e=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);q[a>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a+4>>2]=e;d=d+1|0;a=a+c|0;b=b+c|0;continue}break}}function rc(a){var b=0,c=0,d=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;a:{if(q[53124]+ -32>>>0>>0){break a}c=b;b:{if(a){if(!Fz(b+12|0,a)){c=q[b+12>>2];break a}a=0;break b}a=rc(1)}d=c;c=a;q[d+12>>2]=a}Ca=b+16|0;return c}function lf(a){var b=0,c=0;while(1){b=uf(a,b);if(b){c=q[b+12>>2]+ -5|0;if(c>>>0>3){continue}a:{switch(c-1|0){default:Wa(q[b+8>>2]+a|0);continue;case 0:continue;case 2:break a}}je(q[b+8>>2]+a|0);continue}break}}function Hj(a,b,c){var d=0,e=0,f=0;d=q[c>>2];e=d;f=d>>31;d=q[b>>2];e=$R(e,f,d,d>>31);c=q[c+4>>2];d=c;f=c>>31;c=q[b+4>>2];kf(b,b+4|0,e,Da,$R(d,f,c,c>>31),Da,2147483647,0);c=q[b+4>>2];q[a>>2]=q[b>>2];q[a+4>>2]=c}function Oj(a,b,c){var d=0;d=q[a+16>>2];if(!d){q[a+36>>2]=1;q[a+24>>2]=c;q[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(q[a+24>>2]!=2){break a}q[a+24>>2]=c;return}o[a+54|0]=1;q[a+24>>2]=2;q[a+36>>2]=q[a+36>>2]+1}}function LB(a,b){var c=0,d=0,e=0;a:{if((b|0)<0){break a}a=q[a+124>>2];if(!a){break a}d=b+1|0;b:{while(1){if((c|0)==(d|0)){break b}e=c<<2;c=c+1|0;if(q[a+e>>2]){continue}break}return 0}c=q[a+(b<<2)>>2]}return c}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=b>>1;b=0;while(1){if((b|0)!=16){c=(w(b,f)<<1)+a|0;d=$R(s[c+ -2>>1],0,65537,65537);q[c+8>>2]=d;e=Da;q[c+12>>2]=e;q[c>>2]=d;q[c+4>>2]=e;b=b+1|0;continue}break}}function Dc(a){var b=0,c=0,d=0;b=q[a>>2];if(!(!b|!q[b+248>>2])){Kn(a+4|0);lb(a+52|0);c=a+20|0;lb(c);lb(a+44|0);b=0;while(1){if((b|0)!=2){d=(b<<2)+a|0;lb(d+28|0);lb(d+60|0);b=b+1|0;continue}break}Za(c,0,636)}}function Cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,f)<<1)+a|0;d=$R(s[c+ -2>>1],0,65537,65537);q[c+8>>2]=d;e=Da;q[c+12>>2]=e;q[c>>2]=d;q[c+4>>2]=e;b=b+1|0;continue}break}}function ak(a,b,c){var d=0,e=0;if(t[b>>2]>=c>>>0){return a}e=b;b=q[53124]+ -32|0;if(b>>>0>=c>>>0){d=a;a=((c>>>4|0)+c|0)+32|0;a=a>>>0>c>>>0?a:c;a=b>>>0>a>>>0?a:b;d=nd(d,a);a=d?a:0}else{a=0}q[e>>2]=a;return d}function Mo(a,b){var c=0;c=q[b+21796>>2]-(q[a+27024>>2]<<1)|0;return _a(b+32856|0,(((q[q[a+24364>>2]+(c<<2)>>2]>>>7&q[b+832>>2]==s[q[a+26380>>2]+(c<<1)>>1])+(q[b+21828>>2]&q[b+21788>>2]!=0)|0)+b|0)+32974|0)}function iR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a;b=w(c,3)+a|0;d=(c<<1)+a|0;c=a+c|0;a=w((r[b+ -1|0]+(r[d+ -1|0]+(r[a+ -1|0]+r[c+ -1|0]|0)|0)|0)+2>>>2|0,16843009);q[e>>2]=a;q[c>>2]=a;q[d>>2]=a;q[b>>2]=a}function NL(){var a=0;a=nb(44);if(!a){return 0}q[a+40>>2]=84;q[a>>2]=85;q[a+12>>2]=86;q[a+4>>2]=87;q[a+36>>2]=88;q[a+32>>2]=89;q[a+28>>2]=90;q[a+24>>2]=91;q[a+20>>2]=92;q[a+16>>2]=93;q[a+8>>2]=94;return a}function ve(a){var b=0,c=0;a:{b=q[a+4>>2];b:{if(b){c=Qg(q[b>>2],q[a+12>>2],70,b,0);if(!c){break b}q[a+4>>2]=q[b+16>>2];q[b+16>>2]=0;break a}c=jR(a);if(c){break a}}return 0}q[a+8>>2]=q[a+8>>2]+1;return c}function nc(a,b,c,d,e){var f=0;f=Ca-256|0;Ca=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;Za(f,b,d?c:256);if(!d){while(1){Lb(a,f,256);c=c+ -256|0;if(c>>>0>255){continue}break}}Lb(a,f,c)}Ca=f+256|0}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;while(1){if((d|0)!=64){e=d<<2;f=e+b|0;g=a+e|0;e=(63-d<<2)+c|0;u[g>>2]=u[f>>2]-u[e>>2];u[(127-d<<2)+a>>2]=u[f>>2]+u[e>>2];d=d+1|0;continue}break}}function gm(a,b,c){var d=0,e=0,f=0;e=a,f=Ua(b,11),p[e+2>>1]=f;e=a,f=q[(Ua(b,3)<<2)+96e3>>2],q[e+8>>2]=f;d=c>>>0<40?c:40;c=0;while(1){if((c|0)!=(d|0)){e=a+c|0,f=Xa(b),o[e+12|0]=f;c=c+1|0;continue}break}}function Fn(a,b){var c=0,d=0;Hi(a);a=Va(a,b,136);q[a+12>>2]=0;q[a+16>>2]=0;if(q[b+12>>2]){c=nb(q[b+16>>2]- -64|0);q[a+12>>2]=c;if(!c){return-48}d=q[b+12>>2];b=q[b+16>>2];Va(c,d,b);q[a+16>>2]=b}return 0}function OD(a,b){var c=0,d=0,e=0;c=Xa(b);q[a>>2]=!c;if(!c){d=a,e=Xa(b),q[d+8>>2]=e;d=a,e=Xa(b),q[d+12>>2]=e;d=a,e=Ua(b,16),q[d+4>>2]=e;cd(b);c=b;a=q[b+8>>2]+1|0;b=q[b+16>>2];q[c+8>>2]=b>>>0>a>>>0?a:b}}function KE(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ca-16|0;Ca=c;d=+S(q[b>>2],206456,c+12|0);P(q[c+12>>2]);if(y(d)<2147483648){b=~~d}else{b=-2147483648}q[a+192>>2]=b;q[c+4>>2]=b;q[c>>2]=1872;K(0,c|0);Ca=c+16|0}function HC(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ca-16|0;Ca=c;d=+S(q[b>>2],206456,c+12|0);P(q[c+12>>2]);if(y(d)<2147483648){b=~~d}else{b=-2147483648}q[a+196>>2]=b;q[c+4>>2]=b;q[c>>2]=1889;K(0,c|0);Ca=c+16|0}function CL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;d=q[a>>2];e=c+8|0;a=q[a+4>>2];b=(a>>1)+b|0;f=b;if(a&1){d=q[d+q[b>>2]>>2]}n[d](e,f);T(q[c+8>>2]);a=q[c+8>>2];J(a|0);Ca=c+16|0;return a|0}function ur(a,b){var c=0,d=0;a:{if(a){break a}a=q[b>>2];if(a){break a}return 0}a=de(a,7719)+a|0;b:{if(!r[a|0]){a=0;break b}c=a+1|0;c=XA(c)+c|0;if(!r[c|0]){break b}o[c|0]=0;d=c+1|0}q[b>>2]=d;return a}function cD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Gf(a,b,c,d,8)+Gf(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Gf(a,e,b,d,8)+f|0)+Gf(a,e+8|0,b+8|0,d,8)|0}return f|0}function bD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Ff(a,b,c,d,8)+Ff(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Ff(a,e,b,d,8)+f|0)+Ff(a,e+8|0,b+8|0,d,8)|0}return f|0}function aD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Ef(a,b,c,d,8)+Ef(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Ef(a,e,b,d,8)+f|0)+Ef(a,e+8|0,b+8|0,d,8)|0}return f|0}function TC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Df(a,b,c,d,8)+Df(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Df(a,e,b,d,8)+f|0)+Df(a,e+8|0,b+8|0,d,8)|0}return f|0}function SC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Bf(a,b,c,d,8)+Bf(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Bf(a,e,b,d,8)+f|0)+Bf(a,e+8|0,b+8|0,d,8)|0}return f|0}function RC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Af(a,b,c,d,8)+Af(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Af(a,e,b,d,8)+f|0)+Af(a,e+8|0,b+8|0,d,8)|0}return f|0}function NC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=zf(a,b,c,d,8)+zf(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(zf(a,e,b,d,8)+f|0)+zf(a,e+8|0,b+8|0,d,8)|0}return f|0}function $C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Cf(a,b,c,d,8)+Cf(a,b+8|0,c+8|0,d,8)|0;if((e|0)==16){e=b;b=d<<3;e=e+b|0;b=b+c|0;f=(Cf(a,e,b,d,8)+f|0)+Cf(a,e+8|0,b+8|0,d,8)|0}return f|0}function sb(a,b,c){var d=0,e=0;while(1){if((e|0)!=7){d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=d;o[a+1|0]=d>>>8;o[a+2|0]=d>>>16;o[a+3|0]=d>>>24;e=e+1|0;b=b+c|0;a=a+4|0;continue}break}}function RK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=x(0),h=x(0);c=(c|0)>0?c:0;while(1){if((c|0)!=(e|0)){d=e<<2;f=d+a|0;g=u[f>>2];d=b+d|0;h=u[d>>2];u[f>>2]=g+h;u[d>>2]=g-h;e=e+1|0;continue}break}}function Ob(a,b,c){var d=0,e=0;while(1){if((e|0)!=9){d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);o[a|0]=d;o[a+1|0]=d>>>8;o[a+2|0]=d>>>16;o[a+3|0]=d>>>24;e=e+1|0;b=b+c|0;a=a+4|0;continue}break}}function Vc(a,b,c,d,e){var f=0,g=0,h=0;while(1){if((f|0)!=2){g=w(e,f)+b|0;g=r[g|0]|r[g+1|0]<<8;h=(f<<1)+c|0;h=r[h|0]|r[h+1|0]<<8;p[w(d,f)+a>>1]=(g|h)-((g^h)>>>1&2139062143);f=f+1|0;continue}break}}function om(a,b,c,d,e,f){var g=0;g=Ca-32|0;Ca=g;a:{if(!f&e>>>0<=2147483647|f>>>0<0){d=Ih(g+8|0,d,e);if((d|0)<0){break a}d=mx(a,b,c,g+8|0);break a}Ta(b,16,27991,0);d=-1094995529}Ca=g+32|0;return d}function Ro(a,b,c,d){var e=0,f=0;f=-28;a:{if(!d|(a|0)<0){break a}e=c+ -1>>>0<=1?r[d+5|0]:e;a=((1<>e;if((2147483647/(a|0)|0)<(b|0)?a:0){break a}a=w(a,b);f=r[d+8|0]&4?a+7>>3:a}return f}function zR(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=536944641;q[c+12>>2]=536944641;q[c>>2]=536944641;q[c+4>>2]=536944641;b=b+1|0;continue}break}}function yR(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=536813567;q[c+12>>2]=536813567;q[c>>2]=536813567;q[c+4>>2]=536813567;b=b+1|0;continue}break}}function rR(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=w(r[a+ -1|0],16843009);b=a+c|0;q[b>>2]=w(r[b+ -1|0],16843009);b=(c<<1)+a|0;q[b>>2]=w(r[b+ -1|0],16843009);a=w(c,3)+a|0;q[a>>2]=w(r[a+ -1|0],16843009)}function _m(a,b,c){var d=0;d=Ca-16|0;Ca=d;a:{b:{if(b){if(Sb(b,8752)){break b}}q[c>>2]=0;q[c+4>>2]=0;c=0;break a}c=Wy(c,c+4|0,b);if((c|0)>-1){break a}q[d>>2]=b;Ta(a,16,37424,d)}Ca=d+16|0;return c}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=134219776;q[c+12>>2]=134219776;q[c>>2]=134219776;q[c+4>>2]=134219776;b=b+1|0;continue}break}}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=536879104;q[c+12>>2]=536879104;q[c>>2]=536879104;q[c+4>>2]=536879104;b=b+1|0;continue}break}}function PR(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=134285313;q[c+12>>2]=134285313;q[c>>2]=134285313;q[c+4>>2]=134285313;b=b+1|0;continue}break}}function OR(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=134154239;q[c+12>>2]=134154239;q[c>>2]=134154239;q[c+4>>2]=134154239;b=b+1|0;continue}break}}function IH(a,b){var c=0,d=0;c=-28;d=q[a+80>>2];a:{if((d|0)<0|q[b+80>>2]!=(d|0)){break a}if(!(q[a+68>>2]<1|q[a+72>>2]<1)){return zH(a,b)}if(q[a+76>>2]<1|q[a+352>>2]<1){break a}c=pH(a,b)}return c}function yt(a,b){b=b+ -9>>>0<8;q[a+28>>2]=b?136:137;q[a+24>>2]=b?138:139;q[a+20>>2]=b?140:141;q[a+16>>2]=b?142:143;q[a+12>>2]=b?144:145;q[a+8>>2]=b?146:147;q[a+4>>2]=b?148:149;q[a>>2]=b?150:151}function ij(a,b){var c=0,d=0;while(1){a:{d=o[b|0];d=(d+ -65>>>0<26?d^32:d)&255;c=o[a|0];c=(c+ -65>>>0<26?c^32:c)&255;if(!c){break a}b=b+1|0;a=a+1|0;if((d|0)==(c|0)){continue}}break}return c-d|0}function sk(a,b,c){var d=0;d=q[b+640>>2]&c;q[b+640>>2]=d;c=0;if(d){return 0}a:{while(1){d=q[((c<<2)+a|0)+28620>>2];if(!d){break a}c=c+1|0;if((b|0)!=(d|0)){continue}break}q[b+640>>2]=4}return 1}function ON(a,b,c){var d=0,e=0,f=0;while(1){if((d|0)!=4){e=q[a>>2];f=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);q[a>>2]=(e|f)-((e^f)>>>1&2139062143);d=d+1|0;a=a+c|0;b=b+c|0;continue}break}}function kp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=0;c=d>>1<<1;while(1){if((b|0)!=8){q[a+8>>2]=134219776;q[a+12>>2]=134219776;q[a>>2]=134219776;q[a+4>>2]=134219776;b=b+1|0;a=a+c|0;continue}break}}function Ii(a,b,c){var d=0,e=0;e=c;c=Jf(b,c,q[a+872>>2],q[a+876>>2],a);d=(c|0)<0;e=d?0:e;q[a+104>>2]=e;b=d?0:b;q[a+100>>2]=b;d=q[a+680>>2];q[a+96>>2]=0-(0-e>>d);q[a+92>>2]=0-(0-b>>d);return c}function GR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=0;c=d>>1<<1;while(1){if((b|0)!=8){q[a+8>>2]=536879104;q[a+12>>2]=536879104;q[a>>2]=536879104;q[a+4>>2]=536879104;b=b+1|0;a=a+c|0;continue}break}}function $w(a,b){var c=0,d=0;d=Xa(b);c=Ua(b,8);if((c|0)==255){c=Ua(b,8)+255|0}if(d){yj(b)}c=c<<3;if((q[b+12>>2]-q[b+8>>2]|0)<(c|0)){Ta(q[a+4>>2],16,44374,0);return-1094995529}Mb(b,c);return 0}function tp(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=33620481;q[c+12>>2]=33620481;q[c>>2]=33620481;q[c+4>>2]=33620481;b=b+1|0;continue}break}}function sp(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=33489407;q[c+12>>2]=33489407;q[c>>2]=33489407;q[c+4>>2]=33489407;b=b+1|0;continue}break}}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=16777472;q[c+12>>2]=16777472;q[c>>2]=16777472;q[c+4>>2]=16777472;b=b+1|0;continue}break}}function cj(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=33554944;q[c+12>>2]=33554944;q[c>>2]=33554944;q[c+4>>2]=33554944;b=b+1|0;continue}break}}function Zc(a,b){var c=0,d=0;d=q[a+8>>2];c=q[a>>2]+(d>>>3|0)|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);q[a+8>>2]=b+d;return(c<<8&16711680|c<<24|(c>>>8&65280|c>>>24))<<(d&7)>>>32-b|0}function RB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;e=(e|0)>0?e:0;while(1){if((e|0)!=(g|0)){h=n[b](a,w(f,g)+c|0)|0;if(d){q[(g<<2)+d>>2]=h}g=g+1|0;continue}break}return 0}function Mp(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c>>2]=16843009;q[c+4>>2]=16843009;q[c+8>>2]=16843009;q[c+12>>2]=16843009;b=b+1|0;continue}break}}function Lp(a,b){a=a|0;b=b|0;var c=0,d=0;d=b>>1;b=0;while(1){if((b|0)!=8){c=(w(b,d)<<1)+a|0;q[c+8>>2]=16711935;q[c+12>>2]=16711935;q[c>>2]=16711935;q[c+4>>2]=16711935;b=b+1|0;continue}break}}function zk(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=Ca-32|0;Ca=h;while(1){if((j|0)!=4){i=j<<2;q[i+(h+16|0)>>2]=q[b+i>>2];q[h+i>>2]=q[d+i>>2];j=j+1|0;continue}break}DE(a,h+16|0,c,h,e,f,g);Ca=h+32|0}function xl(a){var b=0,c=0;ho(a);b=a+28276|0;q[b>>2]=0;q[b+4>>2]=0;b=a+28264|0;q[b>>2]=65536;q[b+4>>2]=-1;while(1){if((c|0)!=16){q[((c<<2)+a|0)+28692>>2]=-2147483648;c=c+1|0;continue}break}}function qk(a,b,c,d){var e=0,f=0;a:{if(!a){f=q[53122];break a}f=q[53122];e=q[a>>2];if(!e|q[e+12>>2]<3280642|(b|0)<8){break a}e=q[e+16>>2];if(!e){break a}b=q[a+e>>2]+b|0}if(f){n[f](a,b,c,d)}}function EI(a){var b=0;b=-28;a:{if(q[a+80>>2]<0){break a}if(!(q[a+68>>2]<1|q[a+72>>2]<1)){return vI(a)}if(q[a+76>>2]<1|(q[a+352>>2]<1?!(q[a+240>>2]|q[a+244>>2]):0)){break a}b=mI(a)}return b}function pv(a,b,c){var d=0,e=0;e=Ca-16|0;Ca=e;a:{b:{if(c>>>0>2147483583){break b}d=nb(c- -64|0);q[e+12>>2]=d;if(!d){break b}if((qv(a,b,d,c)|0)>-1){break a}Wa(e+12|0)}d=0}Ca=e+16|0;return d}function je(a){var b=0,c=0,d=0,e=0;b=q[a>>2];if(b){e=b+4|0;while(1){c=q[b>>2];d=c+ -1|0;q[b>>2]=d;if(c){Wa(q[b+4>>2]+(d<<3)|0);Wa((q[b+4>>2]+(q[b>>2]<<3)|0)+4|0);continue}break}Wa(e)}Wa(a)}function fk(a,b){var c=0,d=0,e=0,f=0,g=x(0);e=(b|0)>0?b:0;c=+(b|0);c=3.141592653589793/(c+c);while(1){if((d|0)!=(e|0)){f=(d<<2)+a|0,g=qe(x(c*(+(d|0)+.5))),u[f>>2]=g;d=d+1|0;continue}break}}function Hm(a){var b=0;b=r[a+74|0];o[a+74|0]=b+ -1|b;b=q[a>>2];if(b&8){q[a>>2]=b|32;return-1}q[a+4>>2]=0;q[a+8>>2]=0;b=q[a+44>>2];q[a+28>>2]=b;q[a+20>>2]=b;q[a+16>>2]=b+q[a+48>>2];return 0}function _D(a){var b=0,c=0;b=Ca-32|0;Ca=b;q[b+24>>2]=q[a+16>>2];c=q[a+12>>2];q[b+16>>2]=q[a+8>>2];q[b+20>>2]=c;c=q[a+4>>2];q[b+8>>2]=q[a>>2];q[b+12>>2]=c;a=td(b+8|0,32);Ca=b+32|0;return a}function Yp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=0;c=d>>1<<1;while(1){if((b|0)!=8){q[a+8>>2]=16777472;q[a+12>>2]=16777472;q[a>>2]=16777472;q[a+4>>2]=16777472;b=b+1|0;a=a+c|0;continue}break}}function Vj(a,b,c,d,e,f,g,h,i){var j=0;j=Ca-16|0;Ca=j;qc(j,b,c,d,e,f,g,h,i^-2147483648);d=q[j>>2];c=q[j+4>>2];b=q[j+12>>2];q[a+8>>2]=q[j+8>>2];q[a+12>>2]=b;q[a>>2]=d;q[a+4>>2]=c;Ca=j+16|0}function Us(a){var b=0,c=0;b=Ca-32|0;Ca=b;q[b+24>>2]=q[a+16>>2];c=q[a+12>>2];q[b+16>>2]=q[a+8>>2];q[b+20>>2]=c;c=q[a+4>>2];q[b+8>>2]=q[a>>2];q[b+12>>2]=c;a=sl(b+8|0,32);Ca=b+32|0;return a}function Fw(a,b){var c=0;b=b+ -1|0;while(1){if((b|0)<=671){c=(b<<5)+a|0;q[c+16>>2]=0;q[c+20>>2]=0;q[c+8>>2]=1065353216;q[c+12>>2]=1065353216;q[c>>2]=0;q[c+4>>2]=0;b=b+30|0;continue}break}}function Ap(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=0;c=d>>1<<1;while(1){if((b|0)!=8){q[a+8>>2]=33554944;q[a+12>>2]=33554944;q[a>>2]=33554944;q[a+4>>2]=33554944;b=b+1|0;a=a+c|0;continue}break}}function So(a,b,c){var d=0,e=0;d=Ca-32|0;Ca=d;e=-28;a=a>>>0>195?0:w(a,152)+59184|0;if(!(!a|r[a+8|0]&8)){To(d+16|0,d,a);e=b;b=c<<2;e=Ro(e,q[b+(d+16|0)>>2],q[b+d>>2],a)}Ca=d+32|0;return e}function Sb(a,b){var c=0,d=0;c=r[a|0];d=r[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=r[b+1|0];c=r[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Hu(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;lb(a+400|0);b=nb(20);q[c+12>>2]=b;d=-48;a:{if(!b){break a}b=Qg(b,20,130,0,1);if(!b){Wa(c+12|0);break a}q[a+400>>2]=b;d=0}Ca=c+16|0;return d}function zG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,(b-(c<<1)|0)+2|0,c);zb(d+128|0,d+1120|0,16,16);Ec(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function wH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,(b-(c<<1)|0)+2|0,c);Bb(d+128|0,d+1120|0,16,16);Fc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function vj(a,b,c){var d=0,e=0;d=Ca-32|0;Ca=d;a:{b:{if((b|0)<=0){q[d>>2]=b;Ta(a,16,27054,d);break b}if((c|0)<(b|0)){break a}q[d+16>>2]=c;Ta(a,16,27542,d+16|0)}e=-1}Ca=d+32|0;return e}function nF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,(b-(c<<1)|0)+2|0,c);zb(d+128|0,d+1120|0,16,16);Ec(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function cb(a,b){var c=0,d=0,e=0;a:{while(1){c=o[a+d|0];e=r[b+d|0];if(!e){break a}d=d+1|0;if((c&255)==(e|0)){continue}break}return 0}return c+ -48>>>0>9&(c&-33)+ -65>>>0>25&(c|0)!=95}function MI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,(b-(c<<1)|0)+2|0,c);Bb(d+128|0,d+1120|0,16,16);Fc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function uf(a,b){var c=0;a:{if(!a){break a}b:{if(b){break b}a=q[a>>2];if(!a){break b}c=q[a+8>>2];if(!c){break b}if(q[c>>2]){break a}}if(!(!b|!q[b+48>>2])){return b+48|0}c=0}return c}function gy(){q[448142]=1062149053;q[448143]=1058437400;q[448140]=1050556282;q[448141]=1064532081;q[448138]=1056964608;q[448139]=1056964608;q[448136]=1063105495;q[448137]=1063105495}function QB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(e|0)>0?e:0;e=0;while(1){if((e|0)!=(f|0)){g=n[b](a,c,e,0)|0;if(d){q[(e<<2)+d>>2]=g}e=e+1|0;continue}break}return 0}function Sm(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;q[c+12>>2]=0;a:{b:{if(!a){break b}a=IP(c+12|0,a);if((a|0)>-1){break b}je(c+12|0);d=a;break a}je(b);q[b>>2]=q[c+12>>2]}Ca=c+16|0;return d}function Rx(){q[579215]=1262259200;q[579214]=1737350784;q[579213]=2042378368;q[579212]=663608960;q[579211]=1073741824;q[579210]=1073741824;q[579209]=1859775360;q[579208]=1859775360}function Vm(a,b,c,d){var e=0,f=0,g=0,h=0;f=q[a+4>>2];a=q[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=q[b+q[c>>2]>>2]}n[q[q[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function zK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=(e|0)>0?e:0;while(1){if((f|0)!=(g|0)){e=f<<2;u[e+a>>2]=x(u[b+e>>2]*u[c+e>>2])+u[d+e>>2];f=f+1|0;continue}break}}function yQ(a,b){a=a|0;b=b|0;var c=0;while(1){if((c|0)!=16){q[a>>2]=-2122219135;q[a+4>>2]=-2122219135;q[a+8>>2]=-2122219135;q[a+12>>2]=-2122219135;c=c+1|0;a=a+b|0;continue}break}}function qQ(a,b){a=a|0;b=b|0;var c=0;while(1){if((c|0)!=16){q[a>>2]=-2139062144;q[a+4>>2]=-2139062144;q[a+8>>2]=-2139062144;q[a+12>>2]=-2139062144;c=c+1|0;a=a+b|0;continue}break}}function ke(a){var b=0,c=0,d=0;b=Us(a);c=b>>>0>65535;d=c<<4;b=c?b>>>16|0:b;c=b&65280;b=(c?d|8:d)+r[(c?b>>>8|0:b)+47648|0]|0;q[a+8>>2]=(31-b|0)+q[a+8>>2];return sl(a,32-b|0)+ -1|0}function kN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,(b-(c<<1)|0)+2|0,c);Fb(d+128|0,d+704|0,16,16);Hc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function em(a){var b=0,c=0;while(1){if((c|0)!=672){b=(c<<5)+a|0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=1065353216;q[b+12>>2]=1065353216;q[b>>2]=0;q[b+4>>2]=0;c=c+1|0;continue}break}}function YL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,(b-(c<<1)|0)+2|0,c);Fb(d+128|0,d+704|0,16,16);Hc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function WK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,(b-(c<<1)|0)+2|0,c);Db(d+128|0,d+704|0,16,16);Gc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function JK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=(d|0)>0?d:0;d=((d<<2)+c|0)+ -4|0;while(1){if((e|0)!=(f|0)){c=e<<2;u[c+a>>2]=u[b+c>>2]*u[d-c>>2];e=e+1|0;continue}break}}function GJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,(b-(c<<1)|0)+2|0,c);Db(d+128|0,d+704|0,16,16);Gc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function _n(a,b){var c=0,d=0,e=0;while(1){if((c|0)!=36){e=w(c,656)+a|0;d=e+696|0;if(!(!q[q[d>>2]+248>>2]|q[e+1336>>2]|(q[a+24312>>2]==(d|0)?!b:0))){Dc(d)}c=c+1|0;continue}break}}function Tm(a,b){var c=0;a:{if(!b){break a}b=Kc(b,206264);if(!b|q[b+8>>2]&(q[a+8>>2]^-1)){break a}if(!xb(q[a+12>>2],q[b+12>>2],0)){break a}c=xb(q[a+16>>2],q[b+16>>2],0)}return c}function yH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,b-(c<<1)|0,c);Bb(d+128|0,d+1120|0,16,16);Fc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function pF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,b-(c<<1)|0,c);zb(d+128|0,d+1120|0,16,16);Ec(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function lv(a){var b=0;a:{if(q[a>>2]){break a}b=Ul(a,q[a+28>>2]);if((b|0)<0){break a}b=q[a+28>>2];if(b){Va(q[q[a>>2]+4>>2],q[a+24>>2],b)}q[a+24>>2]=q[q[a>>2]+4>>2];b=0}return b}function OI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,b-(c<<1)|0,c);Bb(d+128|0,d+1120|0,16,16);Fc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function Fy(){var a=0,b=0,c=0;a=Ca-16|0;Ca=a;ua(a+8|0,0)|0;Ca=a+16|0;b=q[a+12>>2];a=q[a+8>>2];a=$R(a,a>>31,1e6,0);c=b+a|0;b=Da+(b>>31)|0;b=c>>>0>>0?b+1|0:b;a=c;Da=b;return a}function BG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1296|0;Ca=d;ab(d+1088|0,b-(c<<1)|0,c);zb(d+128|0,d+1120|0,16,16);Ec(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1296|0}function AQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((e|0)!=16){c=w(b,e)+a|0;d=w(r[c+ -1|0],16843009);q[c+12>>2]=d;q[c+8>>2]=d;q[c+4>>2]=d;q[c>>2]=d;e=e+1|0;continue}break}}function iC(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=32){d=c<<1;q[(c<<2)+a>>2]=q[(63-d<<2)+b>>2];q[(63-c<<2)+a>>2]=q[(62-d<<2)+b>>2]^-2147483648;c=c+1|0;continue}break}}function Wo(a){var b=0,c=0,d=0,e=0;c=a+288|0;while(1){if((b|0)>2]){d=q[c>>2]+(b<<2)|0;e=q[d>>2];lb(e+16|0);je(e+12|0);Wa(d);b=b+1|0;continue}break}q[a+292>>2]=0;Wa(c)}function xQ(a,b){a=a|0;b=b|0;var c=0;while(1){if((c|0)!=16){q[a>>2]=2139062143;q[a+4>>2]=2139062143;q[a+8>>2]=2139062143;q[a+12>>2]=2139062143;c=c+1|0;a=a+b|0;continue}break}}function vO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-448|0;Ca=d;Pb(d+336|0,(b-(c<<1)|0)+1|0,c);Hb(d- -64|0,d+352|0,8,8);Ic(d,d+128|0,b,8,8,c);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+448|0}function _t(a,b){var c=0,d=0;while(1){c=b;if((b|0)>32){b=c>>>1|0;if((b|0)>(a|0)){continue}d=b;b=(w(c,3)|0)/4|0;a=a-((a|0)<(b|0)?d:b)|0;b=c>>>2|0;continue}break}return(a|0)>15}function KP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-448|0;Ca=d;Pb(d+336|0,(b-(c<<1)|0)+1|0,c);Hb(d- -64|0,d+352|0,8,8);Ic(d,d+128|0,b,8,8,c);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+448|0}function Jw(a,b,c,d){var e=x(0);e=u[d>>2];u[a>>2]=e*u[((c&3)<<2)+b>>2];u[a+4>>2]=e*u[(c&12)+b>>2];u[a+8>>2]=e*u[(c>>>2&12)+b>>2];u[a+12>>2]=e*u[(c>>>4&12)+b>>2];return a+16|0}function Cm(a){var b=0,c=0;while(1){a:{if((b|0)==196){b=-1;break a}c=w(b,152);if(!Sb(q[c+59184>>2],a)){break a}if(gj(a,q[c+59328>>2])){break a}b=b+1|0;continue}break}return b}function dx(a,b){var c=0,d=0,e=0,f=0;f=(b|0)>0?b:0;b=0;while(1){if((b|0)!=(f|0)){c=w(b,3)+a|0;d=r[c+2|0];e=(d?(d|0)!=5?r[c|0]==1?2:1:0:0)+e|0;b=b+1|0;continue}break}return e}function zN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,(b-(c<<1)|0)+2|0,c);gc(d+512|0,d+2432|0,32);Kd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3040|0}function nM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,(b-(c<<1)|0)+2|0,c);gc(d+512|0,d+2432|0,32);Kd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3040|0}function mN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,b-(c<<1)|0,c);Fb(d+128|0,d+704|0,16,16);Hc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function lL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,(b-(c<<1)|0)+2|0,c);cc(d+512|0,d+2432|0,32);Gd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3040|0}function _c(a,b){var c=0;c=q[a+8>>2];a=q[a>>2]+(c>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);return(a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(c&7)>>>32-b|0}function _L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,b-(c<<1)|0,c);Fb(d+128|0,d+704|0,16,16);Hc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function YK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,b-(c<<1)|0,c);Db(d+128|0,d+704|0,16,16);Gc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function XJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,(b-(c<<1)|0)+2|0,c);cc(d+512|0,d+2432|0,32);Gd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3040|0}function OG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,(b-(c<<1)|0)+2|0,c);Wb(d+512|0,d+3776|0,32);xd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+4384|0}function NH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,(b-(c<<1)|0)+2|0,c);_b(d+512|0,d+3776|0,32);Bd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+4384|0}function IJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-880|0;Ca=d;ab(d+672|0,b-(c<<1)|0,c);Db(d+128|0,d+704|0,16,16);Gc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+880|0}function DF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,(b-(c<<1)|0)+2|0,c);Wb(d+512|0,d+3776|0,32);xd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+4384|0}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,(b-(c<<1)|0)+2|0,c);_b(d+512|0,d+3776|0,32);Bd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+4384|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ca-16|0;Ca=d;e=q[a+4>>2];b=(e>>1)+b|0;a=q[a>>2];a=e&1?q[q[b>>2]+a>>2]:a;q[d+8>>2]=c;n[a](b,d+8|0);J(q[d+8>>2]);Ca=d+16|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);zb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function sP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1520|0;Ca=d;Qb(d+1184|0,(b-(c<<1)|0)+1|0,c);kc(d+256|0,d+1216|0,16);Pd(d,d+512|0,b,16,c);Tc(a,d+256|0,d,c,16);Ca=d+1520|0}function sH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Bb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function jF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);zb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function gN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Fb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function dO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1520|0;Ca=d;Qb(d+1184|0,(b-(c<<1)|0)+1|0,c);kc(d+256|0,d+1216|0,16);Pd(d,d+512|0,b,16,c);Xc(a,d+256|0,d,c,16);Ca=d+1520|0}function TL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Fb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function SK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Db(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function II(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Bb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function Ft(a,b){var c=0,d=0,e=0;if(a+3>>>0>>0){while(1){c=e;d=c+a|0;if(d+3>>>0>>0){e=c+1|0;if(r[d|0]|r[e+a|0]|r[d+2|0]!=1){continue}}break}return c+3|0}return b-a|0}function CJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b+c|0,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Db(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function $K(a,b,c,d){a=a|0;b=b|0;c=x(c);d=d|0;var e=0,f=0,g=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(e|0)){f=e<<2;g=f+a|0;u[g>>2]=u[g>>2]+x(u[b+f>>2]*c);e=e+1|0;continue}break}}function xn(a){var b=0,c=0,d=0;if(o[q[a>>2]]+ -48>>>0<10){while(1){b=q[a>>2];d=o[b|0];q[a>>2]=b+1;c=(w(c,10)+d|0)+ -48|0;if(o[b+1|0]+ -48>>>0<10){continue}break}}return c}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;q[a>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);d=a+c|0;a=b+c|0;q[d>>2]=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24)}function JQ(a){var b=0;while(1){if((b|0)==28){Da=0;return 0}if(q[(b<<4)+13716>>2]==(a|0)){b=(b<<4)+13720|0;a=q[b>>2];b=q[b+4>>2]}else{b=b+1|0;continue}break}Da=b;return a}function dM(a){var b=0;b=Ca-32|0;Ca=b;q[b+28>>2]=0;q[b+16>>2]=0;a=BB(a);a:{if((a|0)==-1){break a}q[b>>2]=1;if((CB(a,b)|0)!=-1){break a}Ta(0,48,3007,0)}Ca=b+32|0;return a}function cP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Md(d+50|0,(b-(c<<1)|0)+1|0,c);Ld(d+12|0,d+54|0,2);bg(d+8|0,d+16|0,b,2,c);Vc(a,d+12|0,d+8|0,c,2);Ca=d- -64|0}function ux(a){var b=0;b=q[a+8>>2];a=q[a>>2]+(b>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);return(a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(b&7)>>>20|0}function tO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-448|0;Ca=d;Pb(d+336|0,b-(c<<1)|0,c);Hb(d- -64|0,d+352|0,8,8);Ic(d,d+128|0,b,8,8,c);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+448|0}function se(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=r[a|0];e=r[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c+ -1|0;if(c){continue}break a}break}f=d-e|0}return f}function ix(a,b,c){var d=0;q[a+8>>2]=0;d=c;c=(b|0)!=0&c>>>0<2147483135;d=c?d:0;q[a+12>>2]=d;b=c?b:0;q[a>>2]=b;q[a+16>>2]=d+8;q[a+4>>2]=b+(d+7>>3);return c?0:-1094995529}function ZD(a){var b=0;b=q[a+8>>2];a=q[a>>2]+(b>>>3|0)|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);return(a<<24|a<<8&16711680|(a>>>8&65280|a>>>24))<<(b&7)>>>31|0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;b=a-c|0;b=w((((r[b|0]+r[b+1|0]|0)+r[b+2|0]|0)+r[b+3|0]|0)+2>>>2|0,16843009);q[a>>2]=b;q[a+c>>2]=b;q[(c<<1)+a>>2]=b;q[w(c,3)+a>>2]=b}function OP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Pb(d+128|0,(b-(c<<1)|0)+1|0,c);Hb(d,d+144|0,8,8);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-448|0;Ca=d;Pb(d+336|0,b-(c<<1)|0,c);Hb(d- -64|0,d+352|0,8,8);Ic(d,d+128|0,b,8,8,c);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+448|0}function Cu(a){if(q[q[a>>2]+572>>2]){if(!q[a+544>>2]){fD(a+4|0);q[a+544>>2]=1}Za(q[a+580>>2],127,w(q[a+560>>2],q[a+564>>2]));q[a+576>>2]=0;q[a+572>>2]=w(q[a+552>>2],3)}}function AO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Pb(d+128|0,(b-(c<<1)|0)+1|0,c);Hb(d,d+144|0,8,8);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function zF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);Wb(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function vN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);gc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function rF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);zb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function oN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Fb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function iM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);gc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function gL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);cc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function aM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Fb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function _K(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Db(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function XI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);_b(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function WL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=x(0);c=(c|0)>0?c:0;while(1){if((c|0)!=(d|0)){e=d<<2;f=x(f+x(u[e+a>>2]*u[b+e>>2]));d=d+1|0;continue}break}return x(f)}function SJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);cc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function QI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Bb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function KJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Db(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function KG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);Wb(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function JH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b+c|0,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);_b(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function DG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);zb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function BH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b,16,c);ab(d+256|0,(b-(c<<1)|0)+2|0,c);Bb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function $u(a){a=a|0;var b=0;b=Ca-16|0;Ca=b;q[a>>2]=2376;dk(a+24|0);q[b>>2]=2464;K(0,b|0);q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);Ca=b+16|0;return a|0}function qM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,b-(c<<1)|0,c);gc(d+512|0,d+2432|0,32);Kd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3040|0}function nL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,b-(c<<1)|0,c);cc(d+512|0,d+2432|0,32);Gd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3040|0}function dC(a){a=a|0;var b=0,c=0;while(1){if((c|0)!=64){b=(c<<2)+a|0;u[b>>2]=x(x(x(u[b>>2]+u[b+256>>2])+u[b+512>>2])+u[b+768>>2])+u[b+1024>>2];c=c+1|0;continue}break}}function bJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,b-(c<<1)|0,c);_b(d+512|0,d+3776|0,32);Bd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+4384|0}function _J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,b-(c<<1)|0,c);cc(d+512|0,d+2432|0,32);Gd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3040|0}function WJ(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0,g=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(e|0)){f=e<<3;g=f+a|0;v[g>>3]=v[g>>3]+v[b+f>>3]*c;e=e+1|0;continue}break}}function QH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,b-(c<<1)|0,c);_b(d+512|0,d+3776|0,32);Bd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+4384|0}function QG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,b-(c<<1)|0,c);Wb(d+512|0,d+3776|0,32);xd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+4384|0}function GF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-4384|0;Ca=d;bb(d+3712|0,b-(c<<1)|0,c);Wb(d+512|0,d+3776|0,32);xd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+4384|0}function BN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3040|0;Ca=d;bb(d+2368|0,b-(c<<1)|0,c);gc(d+512|0,d+2432|0,32);Kd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3040|0}function Am(a,b){var c=0;c=-1;b=dM(b);if((b|0)!=-1){c=qa(b|0,a|0,4)|0;if(c>>>0>=4294963201){q[865816]=0-c;c=-1}a=ea(b|0)|0;a=(a|0)==27?0:a;if(a){q[865816]=a}}return c}function xG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);zb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function uH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Bb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function qP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1520|0;Ca=d;Qb(d+1184|0,b-(c<<1)|0,c);kc(d+256|0,d+1216|0,16);Pd(d,d+512|0,b,16,c);Tc(a,d+256|0,d,c,16);Ca=d+1520|0}function lF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);zb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function iN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Fb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function fN(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ca-16|0;Ca=c;d=+S(q[b>>2],206384,c+12|0);P(q[c+12>>2]);b=a;a=d!=0;o[b+188|0]=a;q[c+4>>2]=a;q[c>>2]=1844;K(0,c|0);Ca=c+16|0}function cI(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ca-16|0;Ca=c;d=+S(q[b>>2],206384,c+12|0);P(q[c+12>>2]);b=a;a=d!=0;o[b+189|0]=a;q[c+4>>2]=a;q[c>>2]=1859;K(0,c|0);Ca=c+16|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ca-16|0;Ca=e;a=ha(q[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){q[865816]=a}Ca=e+16|0;Da=q[e+12>>2];return q[e+8>>2]}function bO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1520|0;Ca=d;Qb(d+1184|0,b-(c<<1)|0,c);kc(d+256|0,d+1216|0,16);Pd(d,d+512|0,b,16,c);Xc(a,d+256|0,d,c,16);Ca=d+1520|0}function aB(a,b,c){var d=0,e=0,f=0;e=q[a+84>>2];d=c+256|0;f=sf(e,0,d);d=f?f-e|0:d;c=d>>>0>>0?d:c;Va(b,e,c);b=e+d|0;q[a+84>>2]=b;q[a+8>>2]=b;q[a+4>>2]=c+e;return c}function VL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Fb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Db(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function KI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Bb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function EJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b+c|0,16,c);ab(d+256|0,b-(c<<1)|0,c);Db(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function rO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b,8,c);Pb(d+128|0,(b-(c<<1)|0)+1|0,c);Hb(d,d+144|0,8,8);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Nd(d+14|0,b+c|0,2,c);Md(d+18|0,(b-(c<<1)|0)+1|0,c);Ld(d+10|0,d+22|0,2);Vc(a,d+14|0,d+10|0,c,2);Ca=d+32|0}function TQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a-b|0;e=q[c+4>>2];f=q[c>>2];c=0;while(1){if((c|0)!=16){d=w(b,c)+a|0;q[d+4>>2]=e;q[d>>2]=f;c=c+1|0;continue}break}}function FP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b,8,c);Pb(d+128|0,(b-(c<<1)|0)+1|0,c);Hb(d,d+144|0,8,8);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b+c|0,16,c);Qb(d+512|0,(b-(c<<1)|0)+1|0,c);kc(d,d+544|0,16);Tc(a,d+256|0,d,c,16);Ca=d+848|0}function wI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,(b-(c<<1)|0)+2|0,c);Yb(d+32|0,d+368|0,8);Ad(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+432|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);gc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function pL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);cc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function oJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,(b-(c<<1)|0)+2|0,c);ac(d+32|0,d+224|0,8);Fd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+288|0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,(b-(c<<1)|0)+2|0,c);Ub(d+32|0,d+368|0,8);wd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+432|0}function hO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b+c|0,16,c);Qb(d+512|0,(b-(c<<1)|0)+1|0,c);kc(d,d+544|0,16);Xc(a,d+256|0,d,c,16);Ca=d+848|0}function ge(a,b,c){var d=0;a:{b=((b<<2)+a|0)+28492|0;d=q[b>>2];if(!d){break a}if(!sk(a,d,c)){break a}q[q[b>>2]+100>>2]=0;q[b>>2]=0;q[a+29568>>2]=q[a+29568>>2]+ -1}}function dJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);_b(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,(b-(c<<1)|0)+2|0,c);Yb(d+32|0,d+368|0,8);Ad(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+432|0}function bK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);cc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function aP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Md(d+50|0,b-(c<<1)|0,c);Ld(d+12|0,d+54|0,2);bg(d+8|0,d+16|0,b,2,c);Vc(a,d+12|0,d+8|0,c,2);Ca=d- -64|0}function XE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,(b-(c<<1)|0)+2|0,c);Ub(d+32|0,d+368|0,8);wd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+432|0}function VM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,(b-(c<<1)|0)+2|0,c);ec(d+32|0,d+224|0,8);Jd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+288|0}function UQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a-b|0;e=q[c+4>>2];f=q[c>>2];c=0;while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d+4>>2]=e;q[d>>2]=f;c=c+1|0;continue}break}}function UH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);_b(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function SG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);Wb(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function Ny(){var a=0,b=0;a=Ca-16|0;Ca=a;a:{b:{if((Am(a+12|0,3365)|0)==4){break b}if((Am(a+12|0,5942)|0)==4){break b}b=My();break a}b=q[a+12>>2]}Ca=a+16|0;return b}function JF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);Wb(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function FK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,(b-(c<<1)|0)+2|0,c);ac(d+32|0,d+224|0,8);Fd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+288|0}function EN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b,32,c);bb(d+1024|0,(b-(c<<1)|0)+2|0,c);gc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,(b-(c<<1)|0)+2|0,c);ec(d+32|0,d+224|0,8);Jd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+288|0}function xO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Pb(d+128|0,b-(c<<1)|0,c);Hb(d,d+144|0,8,8);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function cd(a){var b=0,c=0,d=0;b=_D(a);c=b>>>0>65535;d=c<<4;b=c?b>>>16|0:b;c=b&65280;b=(c?d|8:d)+r[(c?b>>>8|0:b)+47648|0]|0;Mb(a,31-b|0);return td(a,32-b|0)+ -1|0}function Uu(a){a=a|0;var b=0;b=Ca-16|0;Ca=b;q[a>>2]=2376;dk(a+24|0);q[b>>2]=2464;K(0,b|0);q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);Ya(a);Ca=b+16|0}function MP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Pb(d+128|0,b-(c<<1)|0,c);Hb(d,d+144|0,8,8);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function xd(a,b,c,d,e){var f=0,g=0;Ec(a,b,c,d,32,e);f=b+32|0;Ec(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Ec(a,g,b,d,32,e);Ec(a+16|0,f,b+16|0,d,32,e)}function xN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);gc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function tF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);zb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function qN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Fb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function oM(a,b,c,d,e){var f=0,g=0;Wf(a,b,c,d,32,e);f=b+16|0;Wf(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Wf(a,g,b,d,32,e);Wf(a+16|0,f,b+16|0,d,32,e)}function lM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);gc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function jL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);cc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function cM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Gb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Fb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function bL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Db(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function _P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;Ob(d+112|0,(b-(c<<1)|0)+1|0,c);ic(d+16|0,d+112|8,4);Od(d,d+32|0,b,4,c);Sc(a,d+16|0,d,c,4);Ca=d+160|0}function ZI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);_b(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function Yl(a,b,c){var d=0,e=0;d=((b|0)>-1?b:-1)+1|0;b=0;c=c&65535;while(1){if((b|0)==(d|0)){return 0}e=b<<1;b=b+1|0;if((c|0)!=s[a+e>>1]){continue}break}return 1}function YJ(a,b,c,d,e){var f=0,g=0;Sf(a,b,c,d,32,e);f=b+16|0;Sf(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Sf(a,g,b,d,32,e);Sf(a+16|0,f,b+16|0,d,32,e)}function Ud(a,b,c){var d=0;if((b|0)<=2){return a&1}d=b>>>1|0;if(d&a){d=b>>>2|0;b=Ud(a,d,c)<<2;if((!(a&d)|0)==(c|0)){return b|1}return b+ -1|0}return Ud(a,d,c)<<1}function UJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);cc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function SI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Bb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function OH(a,b,c,d,e){var f=0,g=0;Of(a,b,c,d,32,e);f=b+32|0;Of(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Of(a,g,b,d,32,e);Of(a+16|0,f,b+16|0,d,32,e)}function NO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;Ob(d+112|0,(b-(c<<1)|0)+1|0,c);ic(d+16|0,d+112|8,4);Od(d,d+32|0,b,4,c);Wc(a,d+16|0,d,c,4);Ca=d+160|0}function NJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Eb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Db(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function MG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);Wb(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function LH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);_b(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function Kd(a,b,c,d,e){var f=0,g=0;Hc(a,b,c,d,32,e);f=b+16|0;Hc(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Hc(a,g,b,d,32,e);Hc(a+16|0,f,b+16|0,d,32,e)}function Js(a){a=a|0;var b=0,c=0;b=Ca-16|0;Ca=b;q[a>>2]=2648;a:{if(r[a+36|0]){break a}c=q[a+8>>2];if(!c){break a}Ya(c)}q[b>>2]=2680;K(0,b|0);Ca=b+16|0;return a|0}function Gd(a,b,c,d,e){var f=0,g=0;Gc(a,b,c,d,32,e);f=b+16|0;Gc(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Gc(a,g,b,d,32,e);Gc(a+16|0,f,b+16|0,d,32,e)}function FG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Ab(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);zb(d,d+288|0,16,16);fb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function EF(a,b,c,d,e){var f=0,g=0;Kf(a,b,c,d,32,e);f=b+32|0;Kf(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Kf(a,g,b,d,32,e);Kf(a+16|0,f,b+16|0,d,32,e)}function DH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-464|0;Ca=d;Cb(d+128|0,b,16,c);ab(d+256|0,b-(c<<1)|0,c);Bb(d,d+288|0,16,16);eb(a,d+128|0,d,c,16,16,8);Ca=d+464|0}function Bd(a,b,c,d,e){var f=0,g=0;Fc(a,b,c,d,32,e);f=b+32|0;Fc(a+16|0,f,c+16|0,d,32,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Fc(a,g,b,d,32,e);Fc(a+16|0,f,b+16|0,d,32,e)}function BF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b+c|0,32,c);bb(d+1024|0,b-(c<<1)|0,c);Wb(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function vo(a){var b=0,c=0;b=q[a+4>>2];c=512;a:{b:{if((b|0)==66){break b}if((b|0)!=122?!((b|0)==110|(b|0)==244):0){break a}c=2048}b=q[a+1712>>2]<<8&c|b}return b}function _O(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Nd(d+14|0,b,2,c);Md(d+18|0,(b-(c<<1)|0)+1|0,c);Ld(d+10|0,d+22|0,2);Vc(a,d+14|0,d+10|0,c,2);Ca=d+32|0}function AB(a){var b=0;a:{b=En(33814);b:{if((b|0)==-1){break b}a=En(a);if((a|0)==-1){break b}if(r[b+194944|0]<208){break a}}q[865816]=28;return-1}return a<<16|b}function oP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b,16,c);Qb(d+512|0,(b-(c<<1)|0)+1|0,c);kc(d,d+544|0,16);Tc(a,d+256|0,d,c,16);Ca=d+848|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;sb(d+128|0,(b-(c<<1)|0)+2|0,c);yd(d+8|0,d+128|8,4);Rf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+160|0}function VF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;sb(d+128|0,(b-(c<<1)|0)+2|0,c);ud(d+8|0,d+128|8,4);Nf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+160|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b,16,c);Qb(d+512|0,(b-(c<<1)|0)+1|0,c);kc(d,d+544|0,16);Xc(a,d+256|0,d,c,16);Ca=d+848|0}function xL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ec(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function rI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Yb(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function pO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b,8,c);Pb(d+128|0,b-(c<<1)|0,c);Hb(d,d+144|0,8,8);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function kJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ac(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function eP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Nd(d+14|0,b+c|0,2,c);Md(d+18|0,b-(c<<1)|0,c);Ld(d+10|0,d+22|0,2);Vc(a,d+14|0,d+10|0,c,2);Ca=d+32|0}function eG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Ub(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Yb(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function TE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Ub(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function RM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ec(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function IE(a){var b=0,c=0,d=0;b=q[a+16>>2];c=r[b+1|0];d=r[b|0];q[a+16>>2]=b+2;b=a;a=q[a>>2];q[b>>2]=((c<<1|d<<9)+ -65535<<7-r[((a+ -1^a)>>>15|0)+129312|0])+a}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-240|0;Ca=d;Ib(d- -64|0,b,8,c);Pb(d+128|0,b-(c<<1)|0,c);Hb(d,d+144|0,8,8);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+240|0}function BK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b+c|0,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ac(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function yI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,b-(c<<1)|0,c);Yb(d+32|0,d+368|0,8);Ad(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+432|0}function vM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);gc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function uP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b+c|0,16,c);Qb(d+512|0,b-(c<<1)|0,c);kc(d,d+544|0,16);Tc(a,d+256|0,d,c,16);Ca=d+848|0}function sL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=(d|0)>0?d:0;while(1){if((e|0)!=(f|0)){d=e<<2;u[d+a>>2]=u[b+d>>2]*u[c+d>>2];e=e+1|0;continue}break}}function rL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);cc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function rJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,b-(c<<1)|0,c);ac(d+32|0,d+224|0,8);Fd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+288|0}function oK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;sb(d+80|0,(b-(c<<1)|0)+2|0,c);Dd(d+8|0,d+80|8,4);Vf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+112|0}function kG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,b-(c<<1)|0,c);Ub(d+32|0,d+368|0,8);wd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+432|0}function gH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,b-(c<<1)|0,c);Yb(d+32|0,d+368|0,8);Ad(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+432|0}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b+c|0,16,c);Qb(d+512|0,b-(c<<1)|0,c);kc(d,d+544|0,16);Xc(a,d+256|0,d,c,16);Ca=d+848|0}function fJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);_b(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function dK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;dc(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);cc(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function _E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-432|0;Ca=d;$a(d+352|0,b-(c<<1)|0,c);Ub(d+32|0,d+368|0,8);wd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+432|0}function XM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,b-(c<<1)|0,c);ec(d+32|0,d+224|0,8);Jd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+288|0}function WH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;$b(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);_b(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);Wb(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function Pd(a,b,c,d,e){var f=0,g=0;Ic(a,b,c,d,16,e);f=b+16|0;Ic(a+8|0,f,c+8|0,d,16,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;Ic(a,g,b,d,16,e);Ic(a+8|0,f,b+8|0,d,16,e)}function PN(a,b,c,d,e){var f=0,g=0;_f(a,b,c,d,16,e);f=b+16|0;_f(a+8|0,f,c+8|0,d,16,e);a=(d<<3)+a|0;g=b;b=(e<<3)+c|0;_f(a,g,b,d,16,e);_f(a+8|0,f,b+8|0,d,16,e)}function LF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;Xb(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);Wb(d,d+1088|0,32);hb(a,d+512|0,d,c,32);Ca=d+1696|0}function HK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,b-(c<<1)|0,c);ac(d+32|0,d+224|0,8);Fd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+288|0}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1696|0;Ca=d;hc(d+512|0,b,32,c);bb(d+1024|0,b-(c<<1)|0,c);gc(d,d+1088|0,32);kb(a,d+512|0,d,c,32);Ca=d+1696|0}function GM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;sb(d+80|0,(b-(c<<1)|0)+2|0,c);Hd(d+8|0,d+80|8,4);Zf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+112|0}function GL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;$a(d+208|0,b-(c<<1)|0,c);ec(d+32|0,d+224|0,8);Jd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+288|0}function Ef(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=Ca-128|0;Ca=e;n[q[a+2968>>2]](e,b,c,d);n[q[a+2032>>2]](e);a=n[q[a+2376>>2]](e)|0;Ca=e+128|0;return a|0}function BL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=(d|0)>0?d:0;while(1){if((e|0)!=(f|0)){d=e<<3;v[d+a>>3]=v[b+d>>3]*v[c+d>>3];e=e+1|0;continue}break}}function pB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;d=q[b+204>>2];q[c+8>>2]=q[b+200>>2];q[c+12>>2]=d;e=a,f=R(206516,c+8|0)|0,q[e>>2]=f;Ca=c+16|0}function fC(a){a=a|0;var b=0,c=0;b=1;while(1){if(b>>>0<=63){c=(b<<2)+a|0;q[c>>2]=q[c>>2]^-2147483648;q[c+8>>2]=q[c+8>>2]^-2147483648;b=b+4|0;continue}break}}function $c(a){var b=0,c=0;b=a*a;c=b*a;return x(c*(b*b)*(b*2718311493989822e-21+ -.00019839334836096632)+(c*(b*.008333329385889463+ -.16666666641626524)+a))}function sv(){var a=0,b=0,c=0;a=Ca-16|0;Ca=a;q[a+12>>2]=0;while(1){a:{c=b;b=Wl(a+12|0);if(!b){break a}if(!c){continue}q[c+60>>2]=b;continue}break}Ca=a+16|0}function pe(a){var b=0,c=0;c=Ea();a:{b=q[865972];a=b+(a+3&-4)|0;if(a>>>0<=c<<16>>>0){break a}if(ka(a|0)){break a}q[865816]=48;return-1}q[865972]=a;return b}function YP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;Ob(d+112|0,b-(c<<1)|0,c);ic(d+16|0,d+112|8,4);Od(d,d+32|0,b,4,c);Sc(a,d+16|0,d,c,4);Ca=d+160|0}function LO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;Ob(d+112|0,b-(c<<1)|0,c);ic(d+16|0,d+112|8,4);Od(d,d+32|0,b,4,c);Wc(a,d+16|0,d,c,4);Ca=d+160|0}function Gu(a,b){a=a|0;b=b|0;var c=0;a=Ca-16|0;Ca=a;q[a+12>>2]=b;c=q[b+8>>2];if(c){n[c](q[b+4>>2])}c=q[b+16>>2];if(c){n[c](q[b+12>>2])}Wa(a+12|0);Ca=a+16|0}function FA(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ca-32|0;Ca=c;d=+S(q[b>>2],206516,c+28|0);P(q[c+28>>2]);v[a+200>>3]=d;v[c+8>>3]=d;q[c>>2]=1906;K(0,c|0);Ca=c+32|0}function uJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ac(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function mG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Ub(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function jH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Yb(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function cQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b+c|0,4,c);Ob(d+32|0,(b-(c<<1)|0)+1|0,c);ic(d,d+32|8,4);Sc(a,d+16|0,d,c,4);Ca=d+80|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Ub(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function ZM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ec(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function YO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Nd(d+14|0,b,2,c);Md(d+18|0,b-(c<<1)|0,c);Ld(d+10|0,d+22|0,2);Vc(a,d+14|0,d+10|0,c,2);Ca=d+32|0}function RO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b+c|0,4,c);Ob(d+32|0,(b-(c<<1)|0)+1|0,c);ic(d,d+32|8,4);Wc(a,d+16|0,d,c,4);Ca=d+80|0}function KK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ac(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function JL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);ec(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function Dj(a){var b=0;a=a+ -1|0;if(a>>>0<=6){b=a<<3;a=b&31;return(32<=(b&63)>>>0?6451305>>>a|0:((1<>>a)<<24>>24}return 63}function Bt(a){var b=0;b=Ca-16|0;Ca=b;if(a>>>0>=64){q[b+8>>2]=218;q[b+4>>2]=7801;q[b>>2]=19874;Ta(0,0,4011,b);I();F()}Ca=b+16|0;return q[(a<<2)+151920>>2]}function At(a){var b=0;b=Ca-16|0;Ca=b;if(a>>>0>=32){q[b+8>>2]=259;q[b+4>>2]=7801;q[b>>2]=44109;Ta(0,0,4011,b);I();F()}Ca=b+16|0;return q[(a<<2)+152176>>2]}function AI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b,8,c);$a(d- -64|0,(b-(c<<1)|0)+2|0,c);Yb(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function mP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b,16,c);Qb(d+512|0,b-(c<<1)|0,c);kc(d,d+544|0,16);Tc(a,d+256|0,d,c,16);Ca=d+848|0}function iA(a,b){var c=0,d=0;c=a;d=b;a:{if(r[a+8|0]&24){a=1}else{a=0;if(!b){break a}b=Kc(b,206104);if(!b){break a}a=(r[b+8|0]&24)!=0}a=xb(c,d,a)}return a}function hI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;sb(d+128|0,b-(c<<1)|0,c);yd(d+8|0,d+128|8,4);Rf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+160|0}function _B(a){var b=0,c=0;while(1){if((b|0)==8){while(1){if((c|0)!=8){ZB((c<<1)+a|0);c=c+1|0;continue}break}}else{$B((b<<4)+a|0);b=b+1|0;continue}break}}function ZN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-848|0;Ca=d;lc(d+256|0,b,16,c);Qb(d+512|0,b-(c<<1)|0,c);kc(d,d+544|0,16);Xc(a,d+256|0,d,c,16);Ca=d+848|0}function XF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-160|0;Ca=d;sb(d+128|0,b-(c<<1)|0,c);ud(d+8|0,d+128|8,4);Nf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+160|0}function Av(a,b){var c=0,d=0,e=0;e=(b|0)>1?b:1;c=p[a>>1];b=1;while(1){if((b|0)!=(e|0)){d=p[(b<<1)+a>>1];c=(c|0)<(d|0)?c:d;b=b+1|0;continue}break}return c}function zL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);ec(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function tI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);Yb(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);ac(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function kK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ed(d+8|0,b+c|0,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);Dd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function gG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);Ub(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function aI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;zd(d+8|0,b+c|0,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);yd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function aH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);Yb(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function VE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);Ub(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function TM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);ec(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function RF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;vd(d+8|0,b+c|0,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);ud(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function Jb(a){var b=0,c=0;b=nb(12);if(!b){return 0}c=q[a+4>>2];q[b>>2]=q[a>>2];q[b+4>>2]=c;q[b+8>>2]=q[a+8>>2];a=q[a>>2];q[a+8>>2]=q[a+8>>2]+1;return b}function Gw(a,b,c,d,e){e=q[e>>2];u[a>>2]=u[((c&15)<<2)+b>>2]*(f(0,e^d<<30&-2147483648),k());u[a+4>>2]=u[(c>>>2&60)+b>>2]*(f(0,e^d<<31),k());return a+8|0}function DK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b+c|0,8,c);$a(d- -64|0,b-(c<<1)|0,c);ac(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function BM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Id(d+8|0,b+c|0,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);Hd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function zc(a){var b=0,c=0;b=q[a>>2];c=b<<1;q[a>>2]=c;if(!(b&32767)){sc(a);c=q[a>>2]}b=q[a+4>>2]<<17;if((c|0)>=(b|0)){q[a>>2]=c-b;a=1}else{a=0}return a}function rK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;sb(d+80|0,b-(c<<1)|0,c);Dd(d+8|0,d+80|8,4);Vf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+112|0}function Xk(a,b){var c=0,d=0;c=q[a+4>>2];d=-6-c|0;b=(d>>>0>>0?d:b)+c|0;q[a+4>>2]=b;c=q[a+8>>2];if(c){d=q[a>>2];a=c+ -1|0;o[d+(b>>>0>a>>>0?a:b)|0]=0}}function RQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((c|0)!=16){d=w(b,c)+a|0;e=w(r[d+ -1|0],16843009);q[d+4>>2]=e;q[d>>2]=e;c=c+1|0;continue}break}}function IM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;sb(d+80|0,b-(c<<1)|0,c);Hd(d+8|0,d+80|8,4);Zf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+112|0}function CN(a,b){var c=0,d=0,e=0;c=Ca+ -64|0;Ca=c;Za(c+8|0,0,48);d=q[a+36>>2];q[c+44>>2]=0;q[c+20>>2]=b;q[c+56>>2]=d;e=mb(c+8|0,a);Ca=c- -64|0;return e}function CB(a,b){var c=0;c=Ca-144|0;Ca=c;q[c+140>>2]=b+4;q[c>>2]=q[b>>2];a=ta(a|0,2,c|0)|0;if(a>>>0>=4294963201){q[865816]=0-a;a=-1}Ca=c+144|0;return a}function rD(a){var b=0;while(1){a:{if((b|0)==36){b=-1094995529;break a}if(!q[q[(w(b,656)+a|0)+696>>2]+248>>2]){break a}b=b+1|0;continue}break}return b}function iL(a,b,c,d){a=a|0;b=b|0;c=x(c);d=d|0;var e=0,f=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(e|0)){f=e<<2;u[f+a>>2]=u[b+f>>2]*c;e=e+1|0;continue}break}}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b,4,c);Ob(d+32|0,(b-(c<<1)|0)+1|0,c);ic(d,d+32|8,4);Sc(a,d+16|0,d,c,4);Ca=d+80|0}function SQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;while(1){if((c|0)!=8){d=w(b,c)+a|0;e=w(r[d+ -1|0],16843009);q[d+4>>2]=e;q[d>>2]=e;c=c+1|0;continue}break}}function Qm(a){var b=0;b=-48;a:{if((a+ -48&255)>>>0<10){break a}b=-87;if((a+ -97&255)>>>0<6){break a}return(a+ -65&255)>>>0<6?a+ -55|0:-1}return a+b|0}function IO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b,4,c);Ob(d+32|0,(b-(c<<1)|0)+1|0,c);ic(d,d+32|8,4);Wc(a,d+16|0,d,c,4);Ca=d+80|0}function bw(a,b,c){var d=0,e=0;d=9;if(!c){o[a+10|0]=0;d=4}while(1){if((d|0)>=0){c=d<<1;e=r[b+d|0];o[c+a|0]=e;o[(c|1)+a|0]=e;d=d+ -1|0;continue}break}}function Lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;n[q[q[a+5404>>2]+4>>2]](q[b+74176>>2],q[c+74464>>2],u[(w(d,480)+c|0)+148808>>2],1024<<(q[a+6488>>2]==1))}function wJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);ac(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function tK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ed(d+8|0,b,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);Dd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function pG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);Ub(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function lH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);Yb(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function jI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;zd(d+8|0,b,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);yd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function fK(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;d=(d|0)>0?d:0;while(1){if((d|0)!=(e|0)){f=e<<3;v[f+a>>3]=v[b+f>>3]*c;e=e+1|0;continue}break}}function dF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Vb(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);Ub(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function cS(a){var b=x(0),c=x(0);b=x(C(a));c=x(a-b);if(!(cx(.5)){return a}c=a;a=x(b*x(.5));b=x(a-x(C(a)))==x(0)?b:c}return b}function aQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b+c|0,4,c);Ob(d+32|0,b-(c<<1)|0,c);ic(d,d+32|8,4);Sc(a,d+16|0,d,c,4);Ca=d+80|0}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;vd(d+8|0,b,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);ud(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function Xw(a){a=a|0;var b=0,c=0;q[a>>2]=1636;b=q[a+4>>2];c=q[b+12>>2]+ -1|0;q[b+12>>2]=c;if(!(c|!b)){if(o[b+11|0]<=-1){Ya(q[b>>2])}Ya(b)}return a|0}function PO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b+c|0,4,c);Ob(d+32|0,b-(c<<1)|0,c);ic(d,d+32|8,4);Wc(a,d+16|0,d,c,4);Ca=d+80|0}function MK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;bc(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);ac(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function LL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);ec(d,d+80|0,8);gb(a,d+32|0,d,c,8);Ca=d+144|0}function KM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Id(d+8|0,b,4,c);sb(d+16|0,(b-(c<<1)|0)+2|0,c);Hd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function CI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Zb(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);Yb(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function $M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;fc(d+32|0,b,8,c);$a(d- -64|0,b-(c<<1)|0,c);ec(d,d+80|0,8);jb(a,d+32|0,d,c,8);Ca=d+144|0}function lo(a,b){var c=0;c=1;a=q[q[a+24312>>2]>>2];b=q[b>>2];if(!(q[a+68>>2]!=q[b+68>>2]|q[a+72>>2]!=q[b+72>>2])){c=q[a+80>>2]!=q[b+80>>2]}return c}function vG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Ab(d+128|0,b+c|0,16,c);Ec(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function tH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Cb(d+128|0,b+c|0,16,c);Fc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ed(d+8|0,b+c|0,4,c);sb(d+16|0,b-(c<<1)|0,c);Dd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function kF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Ab(d+128|0,b+c|0,16,c);Ec(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function dI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;zd(d+8|0,b+c|0,4,c);sb(d+16|0,b-(c<<1)|0,c);yd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function bA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(xb(a,q[b+8>>2],f)){Nj(b,c,d,e);return}a=q[a+8>>2];n[q[q[a>>2]+20>>2]](a,b,c,d,e,f)}function Wm(a,b,c){var d=0;d=Ca-16|0;Ca=d;a:{b:{if(!b){c=-28;break b}c=Vy(c,b);if((c|0)>-1){break a}}q[d>>2]=b;Ta(a,16,37794,d)}Ca=d+16|0;return c}function TF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;vd(d+8|0,b+c|0,4,c);sb(d+16|0,b-(c<<1)|0,c);ud(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function JI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Cb(d+128|0,b+c|0,16,c);Fc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function EM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Id(d+8|0,b+c|0,4,c);sb(d+16|0,b-(c<<1)|0,c);Hd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function oj(a){var b=0,c=0;b=q[a+28>>2];c=b+32|0;a=0;while(1){if((a|0)>2]){Ql(q[c>>2]+(a<<2)|0);a=a+1|0;continue}break}Wa(c);q[b+36>>2]=0}function ye(a){a=a|0;var b=0,c=0;b=Ca-16|0;Ca=b;c=rc(a);q[b+12>>2]=c;a:{if(c){a=Qg(c,a,68,0,0);if(a){break a}Wa(b+12|0)}a=0}Ca=b+16|0;return a|0}function hN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Gb(d+128|0,b+c|0,16,c);Hc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function fB(a,b,c){var d=0;d=Ca-144|0;Ca=d;d=Za(d,0,144);q[d+76>>2]=-1;q[d+44>>2]=a;q[d+32>>2]=1524;q[d+84>>2]=a;a=hB(d,b,c);Ca=d+144|0;return a}function eR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=0;while(1){if((b|0)!=8){q[a>>2]=-2139062144;q[a+4>>2]=-2139062144;b=b+1|0;a=a+d|0;continue}break}}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b,4,c);Ob(d+32|0,b-(c<<1)|0,c);ic(d,d+32|8,4);Sc(a,d+16|0,d,c,4);Ca=d+80|0}function UL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Gb(d+128|0,b+c|0,16,c);Hc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Eb(d+128|0,b+c|0,16,c);Gc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function GO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;jc(d+16|0,b,4,c);Ob(d+32|0,b-(c<<1)|0,c);ic(d,d+32|8,4);Wc(a,d+16|0,d,c,4);Ca=d+80|0}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;q[d+8>>2]=b;q[d>>2]=c;a=n[a](d+8|0,d)|0;J(q[d>>2]);J(q[d+8>>2]);Ca=d+16|0;return a|0}function DJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Eb(d+128|0,b+c|0,16,c);Gc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function hn(){var a=0,b=0,c=0;b=Ca-32|0;Ca=b;a=ra(2,b+8|0)|0;a:{if(!a){a=59;c=1;if(r[b+8|0]==2){break a}}q[865816]=a;c=0}a=c;Ca=b+32|0;return a}function fm(a){a=a|0;var b=0,c=0;q[a>>2]=1636;b=q[a+4>>2];c=q[b+12>>2]+ -1|0;q[b+12>>2]=c;if(!(c|!b)){if(o[b+11|0]<=-1){Ya(q[b>>2])}Ya(b)}Ya(a)}function _A(a){var b=0,c=0;b=Ca-16|0;Ca=b;c=-1;a:{if($A(a)){break a}if((n[q[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=r[b+15|0]}Ca=b+16|0;return c}function SN(a,b,c){var d=0;while(1){if((d|0)!=4){q[a>>2]=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);d=d+1|0;a=a+c|0;b=b+c|0;continue}break}}function yG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);zb(d,d+160|0,16,16);fb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ed(d+8|0,b,4,c);sb(d+16|0,b-(c<<1)|0,c);Dd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function vH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Bb(d,d+160|0,16,16);eb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function sF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Ab(d+128|0,b,16,c);Ec(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function mF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);zb(d,d+160|0,16,16);eb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function lI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;zd(d+8|0,b,4,c);sb(d+16|0,b-(c<<1)|0,c);yd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function jN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Fb(d,d+160|0,16,16);fb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function XL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Fb(d,d+160|0,16,16);eb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function VK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Db(d,d+160|0,16,16);fb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function Um(a,b,c){var d=0;d=Ca-16|0;Ca=d;a:{if(!b){c=0;break a}c=Uy(c,b,a);if((c|0)>-1){break a}q[d>>2]=b;Ta(a,16,39391,d)}Ca=d+16|0;return c}function RI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Cb(d+128|0,b,16,c);Fc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function Mj(a,b,c,d,e,f){var g=0,h=0,i=0;g=q[a+4>>2];h=g>>8;a=q[a>>2];i=a;if(g&1){h=q[q[d>>2]+h>>2]}n[q[q[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function MM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Id(d+8|0,b,4,c);sb(d+16|0,b-(c<<1)|0,c);Hd(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function LI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Bb(d,d+160|0,16,16);fb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function FJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);Db(d,d+160|0,16,16);eb(a,d+176|0,d,c,16,16,8);Ca=d+336|0}function EG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Ab(d+128|0,b,16,c);Ec(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function CH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1088|0;Ca=d;Cb(d+128|0,b,16,c);Fc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+1088|0}function $F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;vd(d+8|0,b,4,c);sb(d+16|0,b-(c<<1)|0,c);ud(d,d+16|8,4);ib(a,d+8|0,d,c,4);Ca=d+48|0}function zO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Ic(d,d+128|0,b,8,8,c);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+336|0}function oE(a,b,c){var d=0;q[a+8>>2]=0;d=(b|0)!=0&c>>>0<2147483135;c=d?c:0;q[a+12>>2]=c;b=d?b:0;q[a>>2]=b;q[a+16>>2]=c+8;q[a+4>>2]=b+(c+7>>3)}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=q[a+20>>2];d=q[a+16>>2]-e|0;d=d>>>0>c>>>0?c:d;Va(e,b,d);q[a+20>>2]=d+q[a+20>>2];return c|0}function cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=a;e=r[(a+c|0)+ -1|0];f=r[((c<<1)+a|0)+ -1|0];a=r[(w(c,3)+a|0)+ -1|0];cp(d,b,c,e,f,a,a)}function Ul(a,b){var c=0;c=-28;a:{if(b>>>0>2147483582){break a}c=dj(a,b- -64|0);if((c|0)<0){break a}Za(q[q[a>>2]+4>>2]+b|0,0,64);c=0}return c}function Pk(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d>>2]=-2139062144;q[d+4>>2]=-2139062144;c=c+1|0;continue}break}}function NP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Ib(d- -64|0,b+c|0,8,c);Ic(d,d+128|0,b,8,8,c);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+336|0}function Ko(a,b){var c=0;c=a+32856|0;if(!_a(c,a+32972|0)){a=a+32973|0;a=(_a(c,a)+(_a(c,a)<<1)|0)+(_a(c,a)<<2)|0;b=((a|0)>=(b|0))+a|0}return b}function EQ(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d>>2]=-2122219135;q[d+4>>2]=-2122219135;c=c+1|0;continue}break}}function uF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;zb(d,b,16,16);eb(a,b,d,c,16,16,8);Ca=d+336|0}function rN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Fb(d,b,16,16);fb(a,b,d,c,16,16,8);Ca=d+336|0}function pN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Gb(d+128|0,b,16,c);Hc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function jy(a){a=a|0;var b=x(0),c=x(0);b=u[a>>2];c=u[a+8>>2];u[a>>2]=b+c;u[a+8>>2]=b-c;b=u[a+4>>2];c=u[a+12>>2];u[a+4>>2]=b+c;u[a+12>>2]=b-c}function eM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Fb(d,b,16,16);eb(a,b,d,c,16,16,8);Ca=d+336|0}function cL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Db(d,b,16,16);fb(a,b,d,c,16,16,8);Ca=d+336|0}function bM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Gb(d+128|0,b,16,c);Hc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function aL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Eb(d+128|0,b,16,c);Gc(d,d+256|0,b,16,16,c);fb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Bb(d,b,16,16);fb(a,b,d,c,16,16,8);Ca=d+336|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Db(d,b,16,16);eb(a,b,d,c,16,16,8);Ca=d+336|0}function LJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Eb(d+128|0,b,16,c);Gc(d,d+256|0,b,16,16,c);eb(a,d+128|0,d,c,16,16,8);Ca=d+672|0}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;zb(d,b,16,16);fb(a,b,d,c,16,16,8);Ca=d+336|0}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;ab(d+128|0,b-(c<<1)|0,c);b=d+160|0;Bb(d,b,16,16);eb(a,b,d,c,16,16,8);Ca=d+336|0}function Dz(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function wN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;hc(d+512|0,b+c|0,32,c);Kd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+2368|0}function rk(a,b){var c=0,d=0,e=0;c=(b<<2)+a|0;d=c+28364|0;q[d>>2]=0;e=a;a=q[a+29572>>2]+ -1|0;q[e+29572>>2]=a;if(a){be(d,c+28368|0,a-b<<2)}}function jM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;hc(d+512|0,b+c|0,32,c);Kd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+2368|0}function hL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;dc(d+512|0,b+c|0,32,c);Gd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+2368|0}function YI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;$b(d+512|0,b+c|0,32,c);Bd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3712|0}function TJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;dc(d+512|0,b+c|0,32,c);Gd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+2368|0}function LG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;Xb(d+512|0,b+c|0,32,c);xd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3712|0}function KH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;$b(d+512|0,b+c|0,32,c);Bd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3712|0}function DQ(a,b){a=a|0;b=b|0;var c=0,d=0;while(1){if((c|0)!=8){d=w(b,c)+a|0;q[d>>2]=2139062143;q[d+4>>2]=2139062143;c=c+1|0;continue}break}}function AF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;Xb(d+512|0,b+c|0,32,c);xd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3712|0}function vP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;lc(d+256|0,b+c|0,16,c);Pd(d,d+512|0,b,16,c);Tc(a,d+256|0,d,c,16);Ca=d+1184|0}function gO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;lc(d+256|0,b+c|0,16,c);Pd(d,d+512|0,b,16,c);Xc(a,d+256|0,d,c,16);Ca=d+1184|0}function bh(a,b){o[a+16|0]=0;q[a+4>>2]=0;q[a>>2]=a+16;b=(b|0)==1?1008:b;q[a+12>>2]=b;b=b>>>0<1008?b:1008;q[a+8>>2]=b;if(b>>>0<0){fj(a,-1)}}function ad(a){var b=0;a=a*a;b=a*a;return x(a*-.499999997251031+1+b*.04166662332373906+a*b*(a*2439044879627741e-20+ -.001388676377460993))}function Qu(a){var b=0;b=q[a+592>>2];a:{if(!b){break a}b=q[b+52>>2];if(!b){break a}n[b](a)|0}Wa(q[a+28>>2]+60|0);q[a+592>>2]=0;lb(a+860|0)}function Ci(a,b,c,d,e){var f=0,g=0,h=0;f=q[a+4>>2];g=f>>8;a=q[a>>2];h=a;if(f&1){g=q[q[c>>2]+g>>2]}n[q[q[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function wO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-176|0;Ca=d;Pb(d- -64|0,b-(c<<1)|0,c);Hb(d,d+80|0,8,8);Bc(a,d+88|0,d,c,8,8,8);Ca=d+176|0}function qO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Ib(d- -64|0,b,8,c);Ic(d,d+128|0,b,8,8,c);Bc(a,d- -64|0,d,c,8,8,8);Ca=d+336|0}function nB(a,b,c,d){if(a|b){while(1){c=c+ -1|0;o[c|0]=r[(a&15)+200016|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function lB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=q[b>>2]+15&-16;q[c>>2]=b+16;d=a,e=Di(q[b>>2],q[b+4>>2],q[b+8>>2],q[b+12>>2]),v[d>>3]=e}function dP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Md(d+18|0,b-(c<<1)|0,c);Ld(d+14|0,d+22|0,2);Vc(a,d+24|0,d+14|0,c,2);Ca=d+32|0}function Md(a,b,c){var d=0,e=0;while(1){if((d|0)!=7){e=r[b|0]|r[b+1|0]<<8;o[a|0]=e;o[a+1|0]=e>>>8;d=d+1|0;b=b+c|0;a=a+2|0;continue}break}}function LP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-176|0;Ca=d;Pb(d- -64|0,b-(c<<1)|0,c);Hb(d,d+80|0,8,8);Ac(a,d+88|0,d,c,8,8,8);Ca=d+176|0}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Ib(d- -64|0,b,8,c);Ic(d,d+128|0,b,8,8,c);Ac(a,d- -64|0,d,c,8,8,8);Ca=d+336|0}function yN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);gc(d,d+576|0,32);kb(a,d+608|0,d,c,32);Ca=d+1184|0}function ob(a,b,c){a:{if((a|0)>(b|0)){if((c|0)<=(b|0)){break a}return(c|0)>(a|0)?a:c}if((b|0)<=(c|0)){break a}b=(c|0)>(a|0)?c:a}return b}function oO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-176|0;Ca=d;Pb(d- -64|0,b-(c<<1)|0,c);b=d+80|0;Hb(d,b,8,8);Bc(a,b,d,c,8,8,8);Ca=d+176|0}function nK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);Dd(d+8|0,d+16|8,4);ib(a,d+16|12,d+8|0,c,4);Ca=d+48|0}function mM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);gc(d,d+576|0,32);hb(a,d+608|0,d,c,32);Ca=d+1184|0}function kL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);cc(d,d+576|0,32);kb(a,d+608|0,d,c,32);Ca=d+1184|0}function fP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Nd(d+12|0,b+c|0,2,c);bg(d+8|0,d+16|0,b,2,c);Vc(a,d+12|0,d+8|0,c,2);Ca=d+48|0}function eI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);yd(d+8|0,d+16|8,4);ib(a,d+16|12,d+8|0,c,4);Ca=d+48|0}function dD(a){a=a|0;var b=0,c=0,d=0,e=0;while(1){if((b|0)!=64){c=p[(b<<1)+a>>1];d=c>>31;e=(d^d+c)+e|0;b=b+1|0;continue}break}return e|0}function _I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);_b(d,d+576|0,32);kb(a,d+608|0,d,c,32);Ca=d+1184|0}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Md(d+18|0,b-(c<<1)|0,c);b=d+22|0;Ld(d+14|0,b,2);Vc(a,b,d+14|0,c,2);Ca=d+32|0}function VJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);cc(d,d+576|0,32);hb(a,d+608|0,d,c,32);Ca=d+1184|0}function UF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);ud(d+8|0,d+16|8,4);ib(a,d+16|12,d+8|0,c,4);Ca=d+48|0}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);Wb(d,d+576|0,32);kb(a,d+608|0,d,c,32);Ca=d+1184|0}function MH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);_b(d,d+576|0,32);hb(a,d+608|0,d,c,32);Ca=d+1184|0}function Ly(a){a=a|0;var b=0;while(1){a:{if((b|0)==12){b=-1;break a}if(!Sb(w(b,20)+90912|0,a)){break a}b=b+1|0;continue}break}return b|0}function FM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);Hd(d+8|0,d+16|8,4);ib(a,d+16|12,d+8|0,c,4);Ca=d+48|0}function Ey(a){a=a|0;var b=0,c=0;b=v[a>>3];c=v[a+16>>3];v[a>>3]=b+c;v[a+16>>3]=b-c;b=v[a+8>>3];c=v[a+24>>3];v[a+8>>3]=b+c;v[a+24>>3]=b-c}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-176|0;Ca=d;Pb(d- -64|0,b-(c<<1)|0,c);b=d+80|0;Hb(d,b,8,8);Ac(a,b,d,c,8,8,8);Ca=d+176|0}function CF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);Wb(d,d+576|0,32);hb(a,d+608|0,d,c,32);Ca=d+1184|0}function uM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;hc(d+512|0,b,32,c);Kd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+2368|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;dc(d+512|0,b,32,c);Gd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+2368|0}function jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=16){Sd(q[(e<<2)+b>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}function jQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=16){eg(q[(e<<2)+b>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=16){Td(q[(e<<2)+b>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}function iQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=16){fg(q[(e<<2)+b>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;$b(d+512|0,b,32,c);Bd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3712|0}function cK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;dc(d+512|0,b,32,c);Gd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+2368|0}function VH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;$b(d+512|0,b,32,c);Bd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3712|0}function TG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;Xb(d+512|0,b,32,c);xd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+3712|0}function KF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-3712|0;Ca=d;Xb(d+512|0,b,32,c);xd(d,d+1024|0,b,32,c);hb(a,d+512|0,d,c,32);Ca=d+3712|0}function FN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2368|0;Ca=d;hc(d+512|0,b,32,c);Kd(d,d+1024|0,b,32,c);kb(a,d+512|0,d,c,32);Ca=d+2368|0}function wM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;gc(d,b,32);hb(a,b,d,c,32);Ca=d+1184|0}function wK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);b=d+16|8;Dd(d+8|0,b,4);ib(a,b,d+8|0,c,4);Ca=d+48|0}function tP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-592|0;Ca=d;Qb(d+256|0,b-(c<<1)|0,c);kc(d,d+288|0,16);Tc(a,d+304|0,d,c,16);Ca=d+592|0}function tL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;cc(d,b,32);kb(a,b,d,c,32);Ca=d+1184|0}function ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=4){Sd(q[(e<<2)+b>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}function nQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=4){eg(q[(e<<2)+b>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}function nP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;lc(d+256|0,b,16,c);Pd(d,d+512|0,b,16,c);Tc(a,d+256|0,d,c,16);Ca=d+1184|0}function nI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);b=d+16|8;yd(d+8|0,b,4);ib(a,b,d+8|0,c,4);Ca=d+48|0}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=4){Td(q[(e<<2)+b>>2]+a|0,(e<<6)+c|0,d);e=e+1|0;continue}break}}function lQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;while(1){if((e|0)!=4){fg(q[(e<<2)+b>>2]+a|0,(e<<5)+c|0,d);e=e+1|0;continue}break}}function gJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;_b(d,b,32);kb(a,b,d,c,32);Ca=d+1184|0}function eO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-592|0;Ca=d;Qb(d+256|0,b-(c<<1)|0,c);kc(d,d+288|0,16);Xc(a,d+304|0,d,c,16);Ca=d+592|0}function eK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;cc(d,b,32);hb(a,b,d,c,32);Ca=d+1184|0}function aG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);b=d+16|8;ud(d+8|0,b,4);ib(a,b,d+8|0,c,4);Ca=d+48|0}function _N(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;lc(d+256|0,b,16,c);Pd(d,d+512|0,b,16,c);Xc(a,d+256|0,d,c,16);Ca=d+1184|0}function Xu(a,b){var c=0;Wd(q[a+40>>2]);a:{if(!b){break a}c=Tl(q[a+40>>2],b);if(c){break a}q[q[a+40>>2]+28>>2]=q[b+28>>2];c=0}return c}function XH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;_b(d,b,32);hb(a,b,d,c,32);Ca=d+1184|0}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;Wb(d,b,32);kb(a,b,d,c,32);Ca=d+1184|0}function Tx(a){a=a|0;var b=0,c=0;b=q[a+8>>2];c=q[a>>2];q[a>>2]=b+c;q[a+8>>2]=c-b;b=q[a+12>>2];c=q[a+4>>2];q[a+4>>2]=b+c;q[a+12>>2]=c-b}function NM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;sb(d+16|0,b-(c<<1)|0,c);b=d+16|8;Hd(d+8|0,b,4);ib(a,b,d+8|0,c,4);Ca=d+48|0}function MF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;Wb(d,b,32);hb(a,b,d,c,32);Ca=d+1184|0}function HN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1184|0;Ca=d;bb(d+512|0,b-(c<<1)|0,c);b=d+576|0;gc(d,b,32);kb(a,b,d,c,32);Ca=d+1184|0}function yb(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;if(a){yb(q[a+24>>2]);yb(q[a+28>>2]);yb(q[a+32>>2]);Wa(a+36|0);Wa(b+12|0)}Ca=b+16|0}function gE(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;q[e+12>>2]=-1;c=In(a+c|0,(a+d|0)+1|0,e+12|0);Ca=e+16|0;a=c+(a^-1)|0;return(a|0)>(b|0)?b:a}function YB(a,b){a=a|0;b=b|0;var c=0;b=(b|0)>0?b:0;while(1){a:{if((b|0)!=(c|0)){if(r[a+c|0]){break a}b=c}return b|0}c=c+1|0;continue}}function We(a){q[a+12>>2]=0;q[a+16>>2]=-1;q[a+112>>2]=-1;q[a+116>>2]=0;q[a+280>>2]=0;q[a+248>>2]=0;q[a>>2]=0;q[a+96>>2]=0;lb(a+104|0)}function yL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;fc(d+32|0,b+c|0,8,c);Jd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+208|0}function sI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Zb(d+32|0,b+c|0,8,c);Ad(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+352|0}function lP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-592|0;Ca=d;Qb(d+256|0,b-(c<<1)|0,c);b=d+288|0;kc(d,b,16);Tc(a,b,d,c,16);Ca=d+592|0}function lJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;bc(d+32|0,b+c|0,8,c);Fd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+208|0}function hR(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=-2122219135;q[a+c>>2]=-2122219135;q[(c<<1)+a>>2]=-2122219135;q[w(c,3)+a>>2]=-2122219135}function fG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Vb(d+32|0,b+c|0,8,c);wd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+352|0}function cE(a,b){var c=0,d=0;c=1;d=q[a+4>>2]+ -66|0;if(!(!(r[a+1712|0]&7)|(d>>>0>22|!(1<>2]=-2139062144;q[a+c>>2]=-2139062144;q[(c<<1)+a>>2]=-2139062144;q[w(c,3)+a>>2]=-2139062144}function OO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ob(d+16|0,b-(c<<1)|0,c);ic(d,d+16|8,4);Wc(a,d+16|12,d,c,4);Ca=d- -64|0}function CK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;bc(d+32|0,b+c|0,8,c);Fd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+208|0}function $P(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ob(d+16|0,b-(c<<1)|0,c);ic(d,d+16|8,4);Sc(a,d+16|12,d,c,4);Ca=d- -64|0}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Zb(d+32|0,b+c|0,8,c);Ad(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+352|0}function tC(a,b){a=a|0;b=b|0;a:{b:{if(b){break b}b=q[a+12>>2];if(!b|!q[b+44>>2]){break b}b=q[a+24>>2];if(b){break a}}b=0}return b|0}function Yc(a){var b=0;a:{if(!a){break a}b=q[a>>2];if(!b){break a}q[a>>2]=0;a=q[b+8>>2];q[b+8>>2]=a+ -1;if((a|0)!=1){break a}hp(b)}}function bQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;jc(d+16|0,b+c|0,4,c);Od(d,d+32|0,b,4,c);Sc(a,d+16|0,d,c,4);Ca=d+112|0}function aj(a,b,c){var d=0;d=nb(40);if(!d){return 0}q[d+28>>2]=c;q[d+24>>2]=b;q[d+8>>2]=0;q[d+12>>2]=1072693248;q[d>>2]=a;return d}function Wl(a){var b=0,c=0;b=q[a>>2];if(!r[2432896]){n[124]();o[2432896]=1}c=q[(b<<2)+129248>>2];if(b>>>0<=1){q[a>>2]=b+1}return c}function Vs(a,b,c){var d=0;d=Ek(b,q[c>>2]);if((d|0)>=0){dg(b+344|0,33012,FD(a+29940|0));if(!q[c+652>>2]){q[b+84>>2]=1}d=0}return d}function TP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ob(d+16|0,b-(c<<1)|0,c);b=d+16|8;ic(d,b,4);Sc(a,b,d,c,4);Ca=d- -64|0}function QO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;jc(d+16|0,b+c|0,4,c);Od(d,d+32|0,b,4,c);Wc(a,d+16|0,d,c,4);Ca=d+112|0}function FO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ob(d+16|0,b-(c<<1)|0,c);b=d+16|8;ic(d,b,4);Wc(a,b,d,c,4);Ca=d- -64|0}function BB(a){var b=0;b=Ca-16|0;Ca=b;q[b>>2]=0;a=sa(a|0,557056,b|0)|0;if(a>>>0>=4294963201){q[865816]=0-a;a=-1}Ca=b+16|0;return a}function uI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);Yb(d,d+48|0,8);jb(a,d+56|0,d,c,8);Ca=d+112|0}function qj(a){var b=0,c=0;c=a+40|0;while(1){if((b|0)>2]){Wa(q[c>>2]+w(b,12)|0);b=b+1|0;continue}break}Wa(c);q[a+44>>2]=0}function nJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);ac(d,d+48|0,8);gb(a,d+56|0,d,c,8);Ca=d+112|0}function hG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);Ub(d,d+48|0,8);jb(a,d+56|0,d,c,8);Ca=d+112|0}function ev(a,b){a=q[a+8>>2];if(q[a+4>>2]){a=-541478725}else{a=q[a>>2];if(!(q[a+24>>2]|q[a+44>>2])){return-6}Sl(b,a);a=0}return a}function bH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);Yb(d,d+48|0,8);gb(a,d+56|0,d,c,8);Ca=d+112|0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;cp(a,b,c,r[(a+c|0)+ -1|0],r[((c<<1)+a|0)+ -1|0],r[(w(c,3)+a|0)+ -1|0],r[((c<<2)+a|0)+ -1|0])}function WE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);Ub(d,d+48|0,8);gb(a,d+56|0,d,c,8);Ca=d+112|0}function UM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);ec(d,d+48|0,8);jb(a,d+56|0,d,c,8);Ca=d+112|0}function Kh(a){var b=0;a:{if(q[a+6728>>2]!=4){b=0;if(q[a+6464>>2]){break a}}Va(a+6208|0,a+6472|0,264);b=1}q[a+6728>>2]=0;return b}function EK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);ac(d,d+48|0,8);jb(a,d+56|0,d,c,8);Ca=d+112|0}function Bw(a){q[a+24>>2]=111;q[a+20>>2]=112;q[a+16>>2]=113;q[a+12>>2]=114;q[a+8>>2]=115;q[a+4>>2]=116;q[a>>2]=117;q[a+28>>2]=118}function AL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);ec(d,d+48|0,8);gb(a,d+56|0,d,c,8);Ca=d+112|0}function xJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;ac(d,b,8);gb(a,b,d,c,8);Ca=d+112|0}function vJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;bc(d+32|0,b,8,c);Fd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+208|0}function qG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;Ub(d,b,8);jb(a,b,d,c,8);Ca=d+112|0}function oG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Vb(d+32|0,b,8,c);wd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+352|0}function mH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;Yb(d,b,8);gb(a,b,d,c,8);Ca=d+112|0}function le(a){q[a+4>>2]=0;q[a+8>>2]=0;q[a+20>>2]=-1;q[a+102632>>2]=-1;q[a+84>>2]=0;q[a+76>>2]=32;q[a+14664>>2]=-1;p[a+24>>1]=-1}function kH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Zb(d+32|0,b,8,c);Ad(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+352|0}function gR(a,b,c){a=a|0;b=b|0;c=c|0;q[a>>2]=2139062143;q[a+c>>2]=2139062143;q[(c<<1)+a>>2]=2139062143;q[w(c,3)+a>>2]=2139062143}function eF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;Ub(d,b,8);gb(a,b,d,c,8);Ca=d+112|0}function cF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Vb(d+32|0,b,8,c);wd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+352|0}function bI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;zd(d+8|0,b+c|0,4,c);Rf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+128|0}function aN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;ec(d,b,8);jb(a,b,d,c,8);Ca=d+112|0}function _M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;fc(d+32|0,b,8,c);Jd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+208|0}function SF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;vd(d+8|0,b+c|0,4,c);Nf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+128|0}function NK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;ac(d,b,8);jb(a,b,d,c,8);Ca=d+112|0}function ML(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;ec(d,b,8);gb(a,b,d,c,8);Ca=d+112|0}function LK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;bc(d+32|0,b,8,c);Fd(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+208|0}function KL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;fc(d+32|0,b,8,c);Jd(d,d- -64|0,b,8,c);gb(a,d+32|0,d,c,8);Ca=d+208|0}function DI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;$a(d+32|0,b-(c<<1)|0,c);b=d+48|0;Yb(d,b,8);jb(a,b,d,c,8);Ca=d+112|0}function BI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-352|0;Ca=d;Zb(d+32|0,b,8,c);Ad(d,d- -64|0,b,8,c);jb(a,d+32|0,d,c,8);Ca=d+352|0}function rb(a){var b=0,c=0;a=a?a:1;while(1){a:{b=Nb(a);if(b){break a}c=q[865841];if(!c){break a}n[c]();continue}break}return b}function lK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;Ed(d+8|0,b+c|0,4,c);Vf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+80|0}function dz(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n[a](b,c,d,e,f,g,h,i,j,k)}function VP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;jc(d+16|0,b,4,c);Od(d,d+32|0,b,4,c);Sc(a,d+16|0,d,c,4);Ca=d+112|0}function HO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;jc(d+16|0,b,4,c);Od(d,d+32|0,b,4,c);Wc(a,d+16|0,d,c,4);Ca=d+112|0}function DM(a,b,c){var d=0,e=0;e=c;c=q[b+8>>2];d=r[c|0];d=((d|0)==43)-((d|0)==45)|0;q[e>>2]=d;q[b+8>>2]=c+(d&1);return Xo(a,b)}function CM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;Id(d+8|0,b+c|0,4,c);Zf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+80|0}function BA(a,b){var c=0,d=0,e=0,f=0;c=ub(b);d=rb(c+13|0);q[d+8>>2]=0;q[d+4>>2]=c;q[d>>2]=c;e=a,f=Va(d+12|0,b,c+1|0),q[e>>2]=f}function nG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ca-16|0;Ca=c;q[c+8>>2]=q[b+192>>2];d=a,e=R(206456,c+8|0)|0,q[d>>2]=e;Ca=c+16|0}function TD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ca-16|0;Ca=c;q[c+8>>2]=q[b+196>>2];d=a,e=R(206456,c+8|0)|0,q[d>>2]=e;Ca=c+16|0}function Nk(a,b,c){var d=0;d=Ca-1024|0;Ca=d;q[d+12>>2]=512;q[d+8>>2]=512;q[d+4>>2]=0;q[d>>2]=a;o[a|0]=0;sQ(d,b,c);Ca=d+1024|0}function tv(){var a=0,b=0,c=0;while(1){if((a|0)!=2){b=q[(a<<2)+129248>>2];c=q[b+76>>2];if(c){n[c](b)}a=a+1|0;continue}break}}function nO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ca-16|0;Ca=c;q[c+8>>2]=r[b+188|0];d=a,e=R(206384,c+8|0)|0,q[d>>2]=e;Ca=c+16|0}function nD(a){var b=0;b=q[a+16>>2];q[a>>2]=(q[a>>2]+(r[b+1|0]<<1|r[b|0]<<9)|0)+ -65535;if(b>>>0>2]){q[a+16>>2]=b+2}}function kI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;zd(d+8|0,b,4,c);Rf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+128|0}function kA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(xb(a,q[b+8>>2],0)){Oj(b,c,d);return}a=q[a+8>>2];n[q[q[a>>2]+28>>2]](a,b,c,d)}function _F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;vd(d+8|0,b,4,c);Nf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+128|0}function Ym(a){var b=0;if(o[a+11|0]<0){b=q[a+4>>2]}else{b=r[a+11|0]}if(b>>>0<=0){$m();F()}if(o[a+11|0]<0){a=q[a>>2]}return a}function OE(a){var b=0;b=a+32856|0;if(_a(b,a+32925|0)){a=0}else{if(!_a(b,a+32926|0)){return 1}a=_a(b,a+32927|0)?2:3}return a}function MJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ca-16|0;Ca=c;q[c+8>>2]=r[b+189|0];d=a,e=R(206384,c+8|0)|0,q[d>>2]=e;Ca=c+16|0}function On(a,b){var c=0;c=Ca-16|0;Ca=c;a:{if(!lC(b,c+12|0)){b=nd(a,q[c+12>>2]);if(b){break a}}Ya(a);b=0}Ca=c+16|0;return b}function uK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;Ed(d+8|0,b,4,c);Vf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+80|0}function sR(a,b){a=a|0;b=b|0;b=q[a+12>>2];q[a+16>>2]=q[b+4>>2];q[b+4>>2]=a;a=q[b+8>>2];q[b+8>>2]=a+ -1;if((a|0)==1){hp(b)}}function LM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;Id(d+8|0,b,4,c);Zf(d,d+16|0,b,4,c);ib(a,d+8|0,d,c,4);Ca=d+80|0}function vA(a){var b=0;a:{a=q[a+8>>2];b=r[a|0];if((b|0)!=1){if(b&2){break a}o[a|0]=2;a=1}else{a=0}return a}Xm(205705);F()}function dk(a){var b=0,c=0;b=q[a>>2];a:{if(!b){break a}EB(b);c=q[b+13448>>2];if(!c){break a}n[q[c+4>>2]](b+13444|0)}Wa(a)}function uB(a){a=dS(a);a:{if(a<-2147483648^1?!(a>2147483647):0){break a}}if(y(a)<2147483648){return~~a}return-2147483648}function oB(a,b,c){if(a|b){while(1){c=c+ -1|0;o[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function mE(a){a=a|0;a=q[a>>2];q[a+1760>>2]=2147483647;q[a+1752>>2]=0;q[a+1756>>2]=-2147483648;rl(a+1216|0,8,1);return 0}function ff(a,b,c,d,e){var f=0;while(1){if((f|0)!=32){n[q[a+8>>2]]((f<<3)+c|0,b,d,32,e);b=b+8|0;f=f+1|0;continue}break}}function eo(a,b,c,d){a:{if(!(q[b+640>>2]&c)){break a}ko(a,b);if((c|0)==3){break a}jo(a,c);q[a+32>>2]=(q[a+32>>2]<<1)+d}}function Wa(a){var b=0;b=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);o[a|0]=0;o[a+1|0]=0;o[a+2|0]=0;o[a+3|0]=0;Ya(b)}function sc(a){var b=0,c=0,d=0;b=q[a+16>>2];c=r[b+1|0];d=r[b|0];q[a+16>>2]=b+2;q[a>>2]=(q[a>>2]+(c<<1|d<<9)|0)+ -65535}function Pi(a){var b=0;while(1){b=r[a|0];if(b){if(!((b+ -14&255)>>>0>17?b>>>0>=8:0)){o[a|0]=63}a=a+1|0;continue}break}}function Zj(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;ZA(c,a,b);d=Di(q[c>>2],q[c+4>>2],q[c+8>>2],q[c+12>>2]);Ca=c+16|0;return d}function Mb(a,b){var c=0,d=0,e=0;c=q[a+8>>2];d=0-c|0;e=a;a=q[a+16>>2]-c|0;q[e+8>>2]=((d|0)>(b|0)?d:(a|0)<(b|0)?a:b)+c}function uD(a){var b=0;b=q[a+4>>2]+ -2|0;q[a+4>>2]=b;if(q[a>>2]>2]-q[a+12>>2]|0}function hz(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;n[a](b,c,d,e,f,g,h,i,j)}function Xa(a){var b=0,c=0;b=q[a+8>>2];c=r[q[a>>2]+(b>>>3|0)|0];q[a+8>>2]=((b|0)>2])+b;return c<<(b&7)>>>7&1}function HE(a){var b=0;b=q[a+4>>2]+ -2|0;q[a+4>>2]=b;if(q[a>>2]>2]-q[a+12>>2]|0}function rn(a,b,c,d,e,f,g,h,i){q[a>>2]=b;q[a+4>>2]=c;q[a+8>>2]=d;q[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function oD(a){var b=0,c=0;c=q[a+4>>2];b=c+ -256>>>31|0;q[a+4>>2]=c<>2]<>2]=b;if(!(b&65535)){nD(a)}}function lC(a,b){var c=0,d=0;c=$R(a,0,4,0);d=Da;a:{if((a|4)>>>0>=65536){a=-28;if(d){break a}}q[b>>2]=c;a=0}return a}function bp(a,b){var c=0;while(1){c=Lk(b,5568,c,2);if(!c){return}if((dg(a,q[c>>2],q[c+4>>2])|0)>-1){continue}break}}function Hw(a,b,c,d){var e=x(0);e=u[d>>2];u[a>>2]=e*u[((c&15)<<2)+b>>2];u[a+4>>2]=e*u[(c>>>2&60)+b>>2];return a+8|0}function GE(a){var b=0,c=0;c=q[a+4>>2];b=c+ -256>>>31|0;q[a+4>>2]=c<>2]<>2]=b;if(!(b&65535)){sc(a)}}function yM(a,b,c,d){Yf(a,b,c,d);Yf(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Yf(a,b,c,d);Yf(a+16|0,b+16|0,c,d)}function hc(a,b,c,d){Gb(a,b,c,d);Gb(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Gb(a,b,c,d);Gb(a+16|0,b+16|0,c,d)}function hK(a,b,c,d){Uf(a,b,c,d);Uf(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Uf(a,b,c,d);Uf(a+16|0,b+16|0,c,d)}function dc(a,b,c,d){Eb(a,b,c,d);Eb(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Eb(a,b,c,d);Eb(a+16|0,b+16|0,c,d)}function ZH(a,b,c,d){Qf(a,b,c,d);Qf(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Qf(a,b,c,d);Qf(a+16|0,b+16|0,c,d)}function Xb(a,b,c,d){Ab(a,b,c,d);Ab(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Ab(a,b,c,d);Ab(a+16|0,b+16|0,c,d)}function SO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;p[a>>1]=r[b|0]|r[b+1|0]<<8;d=a+c|0;a=b+c|0;p[d>>1]=r[a|0]|r[a+1|0]<<8}function Oi(a,b,c){var d=0,e=0;if(r[c|0]){d=a;e=b;b=q[53123];if((b|0)<=-1){dE();b=q[53123]}XD(d,e,c,(a|0)==4?0:b)}}function OF(a,b,c,d){Mf(a,b,c,d);Mf(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Mf(a,b,c,d);Mf(a+16|0,b+16|0,c,d)}function $b(a,b,c,d){Cb(a,b,c,d);Cb(a+16|0,b+16|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Cb(a,b,c,d);Cb(a+16|0,b+16|0,c,d)}function uC(a){a=a|0;a:{b:{if(!a){break b}a=q[a+12>>2];if(!a){break b}a=q[a>>2];if(a){break a}}a=13590}return a|0}function UR(a,b){a=a|0;b=b|0;var c=0,d=0;c=q[a>>2];a=q[a+4>>2];b=(a>>1)+b|0;d=b;if(a&1){c=q[c+q[b>>2]>>2]}n[c](d)}function Mc(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;q[b+4>>2]=a;q[b>>2]=a;q[b+8>>2]=a+1;a=wA(b);Ca=b+16|0;return a}function wm(a,b){b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);Da=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24);return b}function gq(a){var b=0,c=0;b=q[a+8>>2];c=q[a+4>>2]+1|0;b=c>>>0>b>>>0?b:c;if(q[a>>2]!=(a+16|0)){Wa(a)}q[a+8>>2]=b}function dS(a){var b=0,c=0;b=C(a);c=a-b;if(!(c<.5)){a=D(a);if(c>.5){return a}c=a;a=b*.5;b=a-C(a)==0?b:c}return b}function Ni(a,b,c){var d=0;d=q[a+26388>>2];q[c>>2]=d;if(q[a+26388>>2]!=3){if(!(b&1)){q[c>>2]=d^3}b=b>>1}return b}function Bn(a,b,c){var d=0,e=0,f=0;e=c*c;v[a>>3]=e;f=c;d=c*134217729;c=d+(c-d);d=f-c;v[b>>3]=d*d+(c*c-e+(c+c)*d)}function oe(a){var b=0;b=ya(8)|0;q[b>>2]=205812;q[b>>2]=205856;BA(b+4|0,a);q[b>>2]=205904;xa(b|0,205936,34);F()}function Ye(a,b,c){var d=0;d=Ca-16|0;Ca=d;c=ye(c);q[d+12>>2]=c;a=Gk(a,b,c);if(!a){lb(d+12|0)}Ca=d+16|0;return a}function xb(a,b,c){if(!c){return q[a+4>>2]==q[b+4>>2]}if((a|0)==(b|0)){return 1}return!Sb(q[a+4>>2],q[b+4>>2])}function rM(a,b,c){Xf(a,b,c,32);Xf(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Xf(a,b+256|0,c,32);Xf(a+16|0,b+272|0,c,32)}function lc(a,b,c,d){Ib(a,b,c,d);Ib(a+8|0,b+8|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;Ib(a,b,c,d);Ib(a+8|0,b+8|0,c,d)}function hk(a){var b=0;b=q[a>>2];if(b){NB(b);Wa(b+68|0);Wa(b+736|0);Wa(b+248|0);Wa(b+252|0);Wa(b+436|0);Wa(a)}}function gc(a,b,c){Fb(a,b,c,32);Fb(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Fb(a,b+256|0,c,32);Fb(a+16|0,b+272|0,c,32)}function cc(a,b,c){Db(a,b,c,32);Db(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Db(a,b+256|0,c,32);Db(a+16|0,b+272|0,c,32)}function _b(a,b,c){Bb(a,b,c,32);Bb(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Bb(a,b+256|0,c,32);Bb(a+16|0,b+272|0,c,32)}function Wb(a,b,c){zb(a,b,c,32);zb(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;zb(a,b+256|0,c,32);zb(a+16|0,b+272|0,c,32)}function VA(a,b){var c=0;a=WA(a);c=ub(a);if(c>>>0>=64){Va(b,a,63);o[b+63|0]=0;return 68}Va(b,a,c+1|0);return 0}function Uz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206838;Q(206456,q[a+12>>2],4,-2147483648,2147483647);Ca=a+16|0}function Sz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206855;Q(206480,q[a+12>>2],4,-2147483648,2147483647);Ca=a+16|0}function RN(a,b,c,d){ag(a,b,c,d);ag(a+8|0,b+8|0,c,d);a=(c<<3)+a|0;b=(d<<3)+b|0;ag(a,b,c,d);ag(a+8|0,b+8|0,c,d)}function RH(a,b,c){Pf(a,b,c,32);Pf(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Pf(a,b+256|0,c,32);Pf(a+16|0,b+272|0,c,32)}function HF(a,b,c){Lf(a,b,c,32);Lf(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Lf(a,b+256|0,c,32);Lf(a+16|0,b+272|0,c,32)}function $J(a,b,c){Tf(a,b,c,32);Tf(a+16|0,b+16|0,c,32);a=(c<<3)+a|0;Tf(a,b+256|0,c,32);Tf(a+16|0,b+272|0,c,32)}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=wa((o[b+11|0]<0?q[b>>2]:b)|0,2220,q[c>>2])|0,q[d>>2]=e}function gB(a,b){var c=0;c=Ca-16|0;q[c+12>>2]=a;a=((b<<2)-(((b|0)!=0)<<2)|0)+a|0;q[c+8>>2]=a+4;return q[a>>2]}function WO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Nd(d+12|0,b,2,c);Vc(a,b+1|0,d+12|0,c,c);Ca=d+16|0}function yj(a){var b=0,c=0;b=0-q[a+8>>2]&7;if(b){c=a;b=b+q[a+8>>2]|0;a=q[a+16>>2];q[c+8>>2]=a>>>0>b>>>0?b:a}}function wA(a){var b=0,c=0;b=Ca-16|0;Ca=b;q[b+8>>2]=q[a+4>>2];if(r[q[b+8>>2]]!=1){c=vA(a)}Ca=b+16|0;return c}function qF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Lf(a,d+32|0,c,16);Ca=d+208|0}function nN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Fb(a,d+32|0,c,16);Ca=d+208|0}function ZK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Db(a,d+32|0,c,16);Ca=d+208|0}function PI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Bb(a,d+32|0,c,16);Ca=d+208|0}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Tf(a,d+32|0,c,16);Ca=d+208|0}function CG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);zb(a,d+32|0,c,16);Ca=d+208|0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Pf(a,d+32|0,c,16);Ca=d+208|0}function $L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;ab(d,b-(c<<1)|0,c);Xf(a,d+32|0,c,16);Ca=d+208|0}function xK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Ed(d+8|0,b,4,c);ib(a,b+2|0,d+8|0,c,c);Ca=d+16|0}function wF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Ab(d,b,16,c);eb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function sO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;Pb(d,b-(c<<1)|0,c);Hb(a,d+16|0,c,8);Ca=d+112|0}function sN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Gb(d,b,16,c);fb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function sM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);rM(a,d- -64|0,c);Ca=d+672|0}function oL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);cc(a,d- -64|0,c);Ca=d+672|0}function oI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;zd(d+8|0,b,4,c);ib(a,b+2|0,d+8|0,c,c);Ca=d+16|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ib(d,b,8,c);Bc(a,b+1|0,d,c,c,8,8);Ca=d- -64|0}function kz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=x(h);i=i|0;n[a](b,c,d,e,f,g,h,i)}function kc(a,b,c){Hb(a,b,c,16);Hb(a+8|0,b+8|0,c,16);a=(c<<3)+a|0;Hb(a,b+128|0,c,16);Hb(a+8|0,b+136|0,c,16)}function fM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Gb(d,b,16,c);eb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function dL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Eb(d,b,16,c);fb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function cJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);_b(a,d- -64|0,c);Ca=d+672|0}function bG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;vd(d+8|0,b,4,c);ib(a,b+2|0,d+8|0,c,c);Ca=d+16|0}function aK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);$J(a,d- -64|0,c);Ca=d+672|0}function XB(a,b,c){if(c>>>0>=4294967232){Wa(a);q[b>>2]=0;return}if(!WB(a,b,c- -64|0)){Za(q[a>>2]+c|0,0,64)}}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Cb(d,b,16,c);fb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function SH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);RH(a,d- -64|0,c);Ca=d+672|0}function RG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);Wb(a,d- -64|0,c);Ca=d+672|0}function QN(a,b,c){$f(a,b,c,16);$f(a+8|0,b+8|0,c,16);a=(c<<3)+a|0;$f(a,b+128|0,c,16);$f(a+8|0,b+136|0,c,16)}function PJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Eb(d,b,16,c);eb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Id(d+8|0,b,4,c);ib(a,b+2|0,d+8|0,c,c);Ca=d+16|0}function IF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);HF(a,d- -64|0,c);Ca=d+672|0}function HG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Ab(d,b,16,c);fb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;Pb(d,b-(c<<1)|0,c);$f(a,d+16|0,c,8);Ca=d+112|0}function FH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Cb(d,b,16,c);eb(a,b+2|0,d,c,c,16,8);Ca=d+128|0}function DN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;bb(d,b-(c<<1)|0,c);gc(a,d- -64|0,c);Ca=d+672|0}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ib(d,b,8,c);Ac(a,b+1|0,d,c,c,8,8);Ca=d- -64|0}function gz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;n[a](b,c,d,e,f,g,h,i)}function $O(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Md(d+2|0,b-(c<<1)|0,c);Ld(a,d+6|0,c);Ca=d+16|0}function uv(a,b){var c=0;q[a>>2]=b;q[a+8>>2]=0;c=b?56:0;q[a+12>>2]=c;q[a+16>>2]=c+8;q[a+4>>2]=(c>>>3|0)+b}function pP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Qb(d,b-(c<<1)|0,c);QN(a,d+32|0,c);Ca=d+336|0}function ik(a,b){var c=0;c=b;b=Ua(a,4);q[c>>2]=b;if((b|0)==15){return Ua(a,24)}return q[(b<<2)+174032>>2]}function aO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-336|0;Ca=d;Qb(d,b-(c<<1)|0,c);kc(a,d+32|0,c);Ca=d+336|0}function Vu(a,b){var c=0;while(1){if(q[b+248>>2]){return 0}c=Du(a,b);if((c|0)>-1){continue}break}return c}function TO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Nd(d+12|0,b,2,c);Vc(a,b,d+12|0,c,c);Ca=d+16|0}function Rv(a,b){a:{if((Pv(a,b,b+20|0)|0)>=0){if((Ov(a,b)|0)>-1){break a}}Ta(q[a+4>>2],16,22110,0);le(b)}}function qR(a,b,c){a=a|0;b=b|0;c=c|0;b=q[a-c>>2];q[a>>2]=b;q[a+c>>2]=b;q[(c<<1)+a>>2]=b;q[w(c,3)+a>>2]=b}function zP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ib(d,b,8,c);Ac(a,b,d,c,c,8,8);Ca=d- -64|0}function zI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);Yb(a,d+16|0,c);Ca=d+80|0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Ab(d,b,16,c);eb(a,b,d,c,c,16,8);Ca=d+128|0}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Gb(d,b,16,c);fb(a,b,d,c,c,16,8);Ca=d+128|0}function tJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);sJ(a,d+16|0,c);Ca=d+80|0}function qI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;zd(d+8|0,b,4,c);ib(a,b,d+8|0,c,c);Ca=d+16|0}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);Ub(a,d+16|0,c);Ca=d+80|0}function jO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Ib(d,b,8,c);Bc(a,b,d,c,c,8,8);Ca=d- -64|0}function iH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);hH(a,d+16|0,c);Ca=d+80|0}function hM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Gb(d,b,16,c);eb(a,b,d,c,c,16,8);Ca=d+128|0}function fL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Eb(d,b,16,c);fb(a,b,d,c,c,16,8);Ca=d+128|0}function dG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;vd(d+8|0,b,4,c);ib(a,b,d+8|0,c,c);Ca=d+16|0}function aF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);$E(a,d+16|0,c);Ca=d+80|0}function YM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);ec(a,d+16|0,c);Ca=d+80|0}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Cb(d,b,16,c);fb(a,b,d,c,c,16,8);Ca=d+128|0}function RJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Eb(d,b,16,c);eb(a,b,d,c,c,16,8);Ca=d+128|0}function QM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Id(d+8|0,b,4,c);ib(a,b,d+8|0,c,c);Ca=d+16|0}function JG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Ab(d,b,16,c);fb(a,b,d,c,c,16,8);Ca=d+128|0}function IL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);HL(a,d+16|0,c);Ca=d+80|0}function IK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;$a(d,b-(c<<1)|0,c);ac(a,d+16|0,c);Ca=d+80|0}function HH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-128|0;Ca=d;Cb(d,b,16,c);eb(a,b,d,c,c,16,8);Ca=d+128|0}function HD(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;q[e+12>>2]=d;qk(a,q[c>>2]?48:b,22987,d);q[c>>2]=1;Ca=e+16|0}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;Ed(d+8|0,b,4,c);ib(a,b,d+8|0,c,c);Ca=d+16|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;hc(d,b,32,c);hb(a,b+2|0,d,c,c);Ca=d+512|0}function uL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;dc(d,b,32,c);kb(a,b+2|0,d,c,c);Ca=d+512|0}function kP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-256|0;Ca=d;lc(d,b,16,c);Tc(a,b+1|0,d,c,c);Ca=d+256|0}function hJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;$b(d,b,32,c);kb(a,b+2|0,d,c,c);Ca=d+512|0}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;dc(d,b,32,c);hb(a,b+2|0,d,c,c);Ca=d+512|0}function _z(a){a=a|0;var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;a=$z(q[q[b+12>>2]+4>>2]);Ca=b+16|0;return a|0}function YH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;$b(d,b,32,c);hb(a,b+2|0,d,c,c);Ca=d+512|0}function XN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-256|0;Ca=d;lc(d,b,16,c);Xc(a,b+1|0,d,c,c);Ca=d+256|0}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;Xb(d,b,32,c);kb(a,b+2|0,d,c,c);Ca=d+512|0}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;Xb(d,b,32,c);hb(a,b+2|0,d,c,c);Ca=d+512|0}function Lc(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;q[b+4>>2]=a;q[b>>2]=a;q[b+8>>2]=a+1;uA(b);Ca=b+16|0}function IN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;hc(d,b,32,c);kb(a,b+2|0,d,c,c);Ca=d+512|0}function we(a,b){var c=0;c=nb(32);if(!c){return 0}q[c+12>>2]=a;q[c+8>>2]=1;q[c+20>>2]=b?b:69;return c}function sK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;sb(d,b-(c<<1)|0,c);Dd(a,d|8,c);Ca=d+32|0}function rA(a){var b=0;a:{a=q[a>>2]+ -12|0;b=q[a+8>>2]+ -1|0;q[a+8>>2]=b;if((b|0)>-1){break a}Ya(a)}}function pj(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;a=ln(b+12|0,130656,468,28,128);Ca=b+16|0;return a}function iI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;sb(d,b-(c<<1)|0,c);yd(a,d|8,c);Ca=d+32|0}function ck(a){var b=0,c=0;if(!a){return 0}b=ub(a)+1|0;c=nd(0,b);if(c){a=Va(c,a,b)}else{a=0}return a}function YF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;sb(d,b-(c<<1)|0,c);ud(a,d|8,c);Ca=d+32|0}function XP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ob(d,b-(c<<1)|0,c);MN(a,d|8,c);Ca=d+48|0}function Wz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206817;Q(206432,q[a+12>>2],2,-32768,32767);Ca=a+16|0}function Ki(a){var b=0;b=q[a>>2];if(b){El(b+24|0);Wa(b+16|0);Wa(b+20|0);Wa(b+96|0);Wa(b+92|0);Wa(a)}}function KO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-48|0;Ca=d;Ob(d,b-(c<<1)|0,c);ic(a,d|8,c);Ca=d+48|0}function JM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;sb(d,b-(c<<1)|0,c);Hd(a,d|8,c);Ca=d+32|0}function yJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;bc(d,b,8,c);gb(a,b+2|0,d,c,c);Ca=d+32|0}function xC(a){var b=0,c=0;b=q[a+8>>2];c=q[a+16>>2]-b|0;q[a+8>>2]=((b|0)<-32?0-b|0:(c|0)<32?c:32)+b}function td(a,b){if(!b){return 0}if((b|0)<=25){return Ua(a,b)}b=b+ -16|0;return Ua(a,16)<>2];c=r[q[a>>2]+(b>>>3|0)|0];q[a+8>>2]=b+1;return c<<(b&7)>>>7&1}function SP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;jc(d,b,4,c);Sc(a,b+1|0,d,c,c);Ca=d+16|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;fc(d,b,8,c);gb(a,b+2|0,d,c,c);Ca=d+32|0}function OK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;bc(d,b,8,c);jb(a,b+2|0,d,c,c);Ca=d+32|0}function FI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Zb(d,b,8,c);jb(a,b+2|0,d,c,c);Ca=d+32|0}function EO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;jc(d,b,4,c);Wc(a,b+1|0,d,c,c);Ca=d+16|0}function wL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;dc(d,b,32,c);kb(a,b,d,c,c);Ca=d+512|0}function jK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;dc(d,b,32,c);hb(a,b,d,c,c);Ca=d+512|0}function jJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;$b(d,b,32,c);kb(a,b,d,c,c);Ca=d+512|0}function iP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-256|0;Ca=d;lc(d,b,16,c);Tc(a,b,d,c,c);Ca=d+256|0}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;Xb(d,b,32,c);kb(a,b,d,c,c);Ca=d+512|0}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-256|0;Ca=d;lc(d,b,16,c);Xc(a,b,d,c,c);Ca=d+256|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;Xb(d,b,32,c);hb(a,b,d,c,c);Ca=d+512|0}function KN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;hc(d,b,32,c);kb(a,b,d,c,c);Ca=d+512|0}function Go(a,b){a=r[b+154080|0]+a|0;a=r[a+27816|0]+r[a+27823|0]|0;return(a>>>0<64?a+1>>>1|0:a)&31}function BE(a){var b=0;b=0-q[a+8>>2]&7;if(b){q[a+8>>2]=q[a+8>>2]+b}return q[a>>2]+(q[a+8>>2]>>3)|0}function AM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;hc(d,b,32,c);hb(a,b,d,c,c);Ca=d+512|0}function $H(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-512|0;Ca=d;$b(d,b,32,c);hb(a,b,d,c,c);Ca=d+512|0}function uA(a){var b=0;b=Ca-16|0;Ca=b;q[b+8>>2]=q[a+4>>2];o[q[b+8>>2]]=1;o[q[a+8>>2]]=1;Ca=b+16|0}function fz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=x(f);g=g|0;h=h|0;n[a](b,c,d,e,f,g,h)}function Py(a,b,c){a=a>>>0>195?0:w(a,152)+59184|0;if(!a){return}q[b>>2]=r[a+5|0];q[c>>2]=r[a+6|0]}function Zz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206786;Q(206396,q[a+12>>2],1,-128,127);Ca=a+16|0}function Yz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206791;Q(206420,q[a+12>>2],1,-128,127);Ca=a+16|0}function Kl(a,b,c){c=Fu(a,b,c);if((c|0)<=-1){Ta(a,16,28146,0);q[b+68>>2]=0;q[b+72>>2]=0}return c}function tG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Vb(d,b,8,c);jb(a,b,d,c,c);Ca=d+32|0}function rH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Zb(d,b,8,c);gb(a,b,d,c,c);Ca=d+32|0}function iz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return n[a](b,c,d,e,f,g)|0}function iF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Vb(d,b,8,c);gb(a,b,d,c,c);Ca=d+32|0}function dN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;fc(d,b,8,c);jb(a,b,d,c,c);Ca=d+32|0}function aA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(xb(a,q[b+8>>2],f)){Nj(b,c,d,e)}}function Vz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206823;Q(206444,q[a+12>>2],2,0,65535);Ca=a+16|0}function RL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;fc(d,b,8,c);gb(a,b,d,c,c);Ca=d+32|0}function QP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;jc(d,b,4,c);Sc(a,b,d,c,c);Ca=d+16|0}function QK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;bc(d,b,8,c);jb(a,b,d,c,c);Ca=d+32|0}function Iz(a){a=a|0;var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;a=q[b+12>>2];Rm();Ca=b+16|0;return a|0}function HI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;Zb(d,b,8,c);jb(a,b,d,c,c);Ca=d+32|0}function Fz(a,b){if(4294967216>>0){a=48}else{b=Gz(b);if(!b){return 48}q[a>>2]=b;a=0}return a}function CO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;jc(d,b,4,c);Wc(a,b,d,c,c);Ca=d+16|0}function BJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;bc(d,b,8,c);gb(a,b,d,c,c);Ca=d+32|0}function bz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return n[a](b,c,d,e,f,g)|0}function An(a){return of(a+ -1416.0996898839683)*2.247116418577895e+307*2.247116418577895e+307}function zm(a){if(a>>>0<=11){if(3040>>>a&1){return a}a=q[w(a,20)+90928>>2]}else{a=-1}return a}function rC(a){a=a|0;var b=0;a=q[a+12>>2];a:{if(a){b=6;if(q[a+92>>2]){break a}}b=5}return b|0}function hw(a,b){var c=0;while(1){if((c|0)!=17){o[b+c|0]=0;o[a+c|0]=0;c=c+1|0;continue}break}}function Xz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206803;Q(206408,q[a+12>>2],1,0,255);Ca=a+16|0}function Tz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206842;Q(206468,q[a+12>>2],4,0,-1);Ca=a+16|0}function Rz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206860;Q(206492,q[a+12>>2],4,0,-1);Ca=a+16|0}function _y(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=n[a](b,c,d,e)|0;ia(Da|0);return a|0}function xH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-832|0;Ca=d;Of(a,d,b,c,16,c);Ca=d+832|0}function oF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-832|0;Ca=d;Kf(a,d,b,c,16,c);Ca=d+832|0}function lN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-416|0;Ca=d;Hc(a,d,b,c,16,c);Ca=d+416|0}function cu(a){var b=0;b=a<<3;a=b+213092|0;b=q[b+213088>>2];if(!r[a|0]){n[b]();o[a|0]=1}}function ZL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-416|0;Ca=d;Wf(a,d,b,c,16,c);Ca=d+416|0}function XK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-416|0;Ca=d;Gc(a,d,b,c,16,c);Ca=d+416|0}function Qz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206874;aa(206504,q[a+12>>2],4);Ca=a+16|0}function Pz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206880;aa(206516,q[a+12>>2],8);Ca=a+16|0}function NI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-832|0;Ca=d;Fc(a,d,b,c,16,c);Ca=d+832|0}function Ju(a){a=a|0;q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);return a|0}function Iu(a,b){var c=0;c=Ca-16|0;Ca=c;ov(Vd(a,13,c+12|0),q[c+12>>2],b+344|0);Ca=c+16|0}function HJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-416|0;Ca=d;Sf(a,d,b,c,16,c);Ca=d+416|0}function AG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-832|0;Ca=d;Ec(a,d,b,c,16,c);Ca=d+832|0}function uO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;Ic(a,d,b,c,8,c);Ca=d+208|0}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1344|0;Ca=d;oM(a,d,b,c,c);Ca=d+1344|0}function pK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Vf(a,d,b,c,c);Ca=d- -64|0}function mL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1344|0;Ca=d;Gd(a,d,b,c,c);Ca=d+1344|0}function eS(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a}function aJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2688|0;Ca=d;Bd(a,d,b,c,c);Ca=d+2688|0}function ZJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1344|0;Ca=d;YJ(a,d,b,c,c);Ca=d+1344|0}function Pn(a){var b=0;b=rc(920);a:{if(b){if((vC(b,a)|0)>-1){break a}Ya(b)}b=0}return b}function PH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2688|0;Ca=d;OH(a,d,b,c,c);Ca=d+2688|0}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2688|0;Ca=d;xd(a,d,b,c,c);Ca=d+2688|0}function Oz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=206991;N(207960,0,q[a+12>>2]);Ca=a+16|0}function Mz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=207235;N(208240,4,q[a+12>>2]);Ca=a+16|0}function Lz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=207265;N(208280,5,q[a+12>>2]);Ca=a+16|0}function Kz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=207503;N(208320,6,q[a+12>>2]);Ca=a+16|0}function Jz(){var a=0;a=Ca-16|0;Ca=a;q[a+12>>2]=207534;N(208360,7,q[a+12>>2]);Ca=a+16|0}function JP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-208|0;Ca=d;_f(a,d,b,c,8,c);Ca=d+208|0}function HM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca+ -64|0;Ca=d;Zf(a,d,b,c,c);Ca=d- -64|0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-2688|0;Ca=d;EF(a,d,b,c,c);Ca=d+2688|0}function AN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-1344|0;Ca=d;Kd(a,d,b,c,c);Ca=d+1344|0}function sd(a,b){var c=0;if(!(!b|2147483647/(b>>>0)>>>0<=a>>>0)){c=nb(w(a,b))}return c}function od(a,b,c,d,e,f){a=q[a>>2];if(q[a+29688>>2]){Bu(q[a+25628>>2]+24|0,b,c,d,e,f)}}function md(a,b){var c=0;if(!(!b|2147483647/(b>>>0)>>>0<=a>>>0)){c=rc(w(a,b))}return c}function lz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;n[a](b,c,d,e,f,g)}function yf(a){a=a|0;if(!a){return 0}return(q[a+84>>2]|q[a+88>>2]?1:q[a+100>>2]!=0)|0}function xI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;Ad(a,d,b,c,c);Ca=d+288|0}function rP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;PN(a,d,b,c,c);Ca=d+672|0}function qJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;pJ(a,d,b,c,c);Ca=d+144|0}function jG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;wd(a,d,b,c,c);Ca=d+288|0}function gI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;Rf(a,d,b,c,c);Ca=d+112|0}function fH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;dH(a,d,b,c,c);Ca=d+288|0}function cO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-672|0;Ca=d;Pd(a,d,b,c,c);Ca=d+672|0}function az(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return n[a](b,c,d,e,f)|0}function ZE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-288|0;Ca=d;YE(a,d,b,c,c);Ca=d+288|0}function Xm(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=0;b=q[49879];un(b,a,0);xA(b);I();F()}function WM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Jd(a,d,b,c,c);Ca=d+144|0}function WF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-112|0;Ca=d;Nf(a,d,b,c,c);Ca=d+112|0}function Gi(a,b,c){var d=0;d=Ca-16|0;Ca=d;q[d+12>>2]=c;a=fB(a,b,c);Ca=d+16|0;return a}function GK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;Fd(a,d,b,c,c);Ca=d+144|0}function FL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-144|0;Ca=d;EL(a,d,b,c,c);Ca=d+144|0}function $y(a){return a+ -48>>>0<10|(a|32)+ -97>>>0<26|(a|0)==45|(a|0)==95|(a|1)==47}function bP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-32|0;Ca=d;bg(a,d,b,c,c);Ca=d+32|0}function ZP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;LN(a,d,b,c,c);Ca=d+80|0}function Om(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208040,1,q[b+12>>2]);Ca=b+16|0}function Nm(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208080,2,q[b+12>>2]);Ca=b+16|0}function Mm(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208120,3,q[b+12>>2]);Ca=b+16|0}function MO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-80|0;Ca=d;Od(a,d,b,c,c);Ca=d+80|0}function Lm(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208160,4,q[b+12>>2]);Ca=b+16|0}function Km(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208200,5,q[b+12>>2]);Ca=b+16|0}function Au(a){a=a|0;q[a>>2]=2452;wb(a+16|0);mc(a+20|0);n[q[q[a>>2]+8>>2]](a);Ya(a)}function Pm(a){var b=0;b=Ca-16|0;Ca=b;q[b+12>>2]=a;N(208e3,0,q[b+12>>2]);Ca=b+16|0}function eH(a,b){a=Va(a,b,408);if(q[b+64>>2]==(b|0)){q[a+64>>2]=a}Fk(Za(b,0,408))}function cv(a,b){a=a|0;b=b|0;var c=0;return(!q[q[a+4>>2]+8>>2]|b?c:q[a+12>>2])|0}function Jt(a){a=a|0;Cl(a);dh(a+524288|0);dh(a+786432|0);Kb(a,3055488,16384)} + + + +function Tv(a){a=a|0;a:{if(r[a+36|0]){break a}a=q[a+8>>2];if(!a){break a}Ya(a)}}function By(a){a=a|0;vm(a);li(a- -1048576|0);li(a+1572864|0);ae(a,743936,16384)}function $z(a){var b=0,c=0;b=ub(a)+1|0;c=Nb(b);if(!c){return 0}return Va(c,a,b)}function wf(a,b,c){var d=0;d=Ca-16|0;Ca=d;q[d+12>>2]=c;yn(a,b,c,0,0);Ca=d+16|0}function wb(a){var b=0;a:{if(!a){break a}b=q[a>>2];if(!b){break a}pc(b);Wa(a)}}function vf(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;q[e+12>>2]=d;_j(a,b,c,d);Ca=e+16|0}function nd(a,b){if(q[53124]+ -32>>>0>=b>>>0){a=Lj(a,!b+b|0)}else{a=0}return a}function mc(a){var b=0;a:{if(!a){break a}b=q[a>>2];if(!b){break a}Wd(b);Wa(a)}}function Ta(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;q[e+12>>2]=d;qk(a,b,c,d);Ca=e+16|0}function lA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(xb(a,q[b+8>>2],0)){Oj(b,c,d)}}function kb(a,b,c,d,e){fb(a,b,c,d,e,32,16);fb(a+16|0,b+16|0,c+16|0,d,e,32,16)}function hb(a,b,c,d,e){eb(a,b,c,d,e,32,16);eb(a+16|0,b+16|0,c+16|0,d,e,32,16)}function nz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;n[a](b,c,d,e,f)}function hy(a){a=a|0;tm(a);_h(a+524288|0);_h(a+786432|0);_d(a,1530400,16384)}function gk(a){var b=0;if(a){b=q[q[a+4>>2]+32>>2];if(b){n[b](a)}Wa(a);Ya(a)}}function du(a){a=a|0;Gl(a);qh(a+262144|0);qh(a+393216|0);vc(a,2662304,16384)}function Sx(a){a=a|0;pm(a);Mh(a+524288|0);Mh(a+786432|0);Zd(a,2054688,16384)}function Pc(a,b,c){var d=0;d=Ca-16|0;Ca=d;q[d+12>>2]=c;Zn(1,a,b,c);Ca=d+16|0}function Oc(a,b,c){var d=0;d=Ca-16|0;Ca=d;q[d+12>>2]=c;Zn(0,a,b,c);Ca=d+16|0}function tm(a){a=a|0;_h(a);$h(a+262144|0);$h(a+393216|0);_d(a,1399328,8192)}function pm(a){a=a|0;Mh(a);Nh(a+262144|0);Nh(a+393216|0);Zd(a,1923616,8192)}function dh(a){a=a|0;eh(a);fh(a+131072|0);fh(a+196608|0);Kb(a,2858880,4096)}function cz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return n[a](b,c,d,e)|0}function _h(a){a=a|0;$h(a);ai(a+131072|0);ai(a+196608|0);_d(a,1333792,4096)}function Mh(a){a=a|0;Nh(a);Oh(a+131072|0);Oh(a+196608|0);Zd(a,1858080,4096)}function Gl(a){a=a|0;qh(a);rh(a+131072|0);rh(a+196608|0);vc(a,2596768,8192)}function Cl(a){a=a|0;dh(a);eh(a+262144|0);eh(a+393216|0);Kb(a,2924416,8192)}function Cd(){var a=0;a=nb(408);if(!a){return 0}q[a+64>>2]=0;Fk(a);return a}function vm(a){a=a|0;li(a);mi(a+524288|0);mi(a+786432|0);ae(a,481792,8192)}function mi(a){a=a|0;ni(a);oi(a+131072|0);oi(a+196608|0);ae(a,285184,2048)}function li(a){a=a|0;mi(a);ni(a+262144|0);ni(a+393216|0);ae(a,350720,4096)}function Zn(a,b,c,d){qk(b,24,c,d);Ta(b,24,26256,0);if(a){Ta(b,24,26877,0)}}function Xc(a,b,c,d,e){Bc(a,b,c,d,e,16,16);Bc(a+8|0,b+8|0,c+8|0,d,e,16,16)}function VB(a){a=a|0;if(!a){return 0}return(q[a+92>>2]?1:q[a+108>>2]!=0)|0}function Tc(a,b,c,d,e){Ac(a,b,c,d,e,16,16);Ac(a+8|0,b+8|0,c+8|0,d,e,16,16)}function wp(a,b){a=a|0;b=b|0;tc(a,b);a=(b<<2)+a|0;qd(a,0,b);qd(a+8|0,0,b)}function up(a,b){a=a|0;b=b|0;Jc(a,b);a=(b<<2)+a|0;qd(a,0,b);qd(a+8|0,0,b)}function th(a){a=a|0;uh(a);vh(a- -8192|0);vh(a+12288|0);vc(a,2535328,512)}function sh(a){a=a|0;th(a);uh(a+16384|0);uh(a+24576|0);vc(a,2539424,1024)}function rh(a){a=a|0;sh(a);th(a+32768|0);th(a+49152|0);vc(a,2547616,2048)}function hh(a){a=a|0;ih(a);jh(a- -8192|0);jh(a+12288|0);Kb(a,2797440,256)}function fh(a){a=a|0;gh(a);hh(a+32768|0);hh(a+49152|0);Kb(a,2809728,1024)}function eh(a){a=a|0;fh(a);gh(a+65536|0);gh(a+98304|0);Kb(a,2826112,2048)}function ci(a){a=a|0;di(a);ei(a- -8192|0);ei(a+12288|0);_d(a,1272352,256)}function ai(a){a=a|0;bi(a);ci(a+32768|0);ci(a+49152|0);_d(a,1284640,1024)}function Sp(a,b){a=a|0;b=b|0;tc(a,b);a=(b<<2)+a|0;rd(a,0,b);rd(a+8|0,0,b)}function SR(a,b){a=a|0;b=b|0;tc(a,b);a=(b<<2)+a|0;pd(a,0,b);pd(a+8|0,0,b)}function Qp(a,b){a=a|0;b=b|0;Jc(a,b);a=(b<<2)+a|0;rd(a,0,b);rd(a+8|0,0,b)}function Qh(a){a=a|0;Rh(a);Sh(a- -8192|0);Sh(a+12288|0);Zd(a,1796640,256)}function QR(a,b){a=a|0;b=b|0;Jc(a,b);a=(b<<2)+a|0;pd(a,0,b);pd(a+8|0,0,b)}function Oh(a){a=a|0;Ph(a);Qh(a+32768|0);Qh(a+49152|0);Zd(a,1808928,1024)}function Nh(a){a=a|0;Oh(a);Ph(a+65536|0);Ph(a+98304|0);Zd(a,1825312,2048)}function MQ(a,b){a=a|0;b=b|0;hg(a,b);a=(b<<2)+a|0;Qd(a,0,b);Qd(a+4|0,0,b)}function HQ(a,b){a=a|0;b=b|0;Qk(a,b);a=(b<<2)+a|0;Qd(a,0,b);Qd(a+4|0,0,b)}function CR(a,b){a=a|0;b=b|0;tc(a,b);a=(b<<2)+a|0;Rd(a,0,b);Rd(a+8|0,0,b)}function AR(a,b){a=a|0;b=b|0;Jc(a,b);a=(b<<2)+a|0;Rd(a,0,b);Rd(a+8|0,0,b)}function $h(a){a=a|0;ai(a);bi(a+65536|0);bi(a+98304|0);_d(a,1301024,2048)}function qi(a){a=a|0;ri(a);si(a- -8192|0);si(a+12288|0);ae(a,223744,128)}function qh(a){a=a|0;rh(a);sh(a+65536|0);sh(a+98304|0);vc(a,2564e3,4096)}function ni(a){a=a|0;oi(a);pi(a+65536|0);pi(a+98304|0);ae(a,252416,1024)}function gh(a){a=a|0;hh(a);ih(a+16384|0);ih(a+24576|0);Kb(a,2801536,512)}function bj(a,b,c){a=a|0;b=b|0;c=c|0;Ik(a,b,c,16);Ik(a+16|0,b+16|0,c,16)}function bi(a){a=a|0;ci(a);di(a+16384|0);di(a+24576|0);_d(a,1276448,512)}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;Hk(a,b,c,16);Hk(a+16|0,b+16|0,c,16)}function Ph(a){a=a|0;Qh(a);Rh(a+16384|0);Rh(a+24576|0);Zd(a,1800736,512)}function xe(a){a=a|0;var b=0;b=ye(a);if(b){Za(q[b+4>>2],0,a)}return b|0}function pi(a){a=a|0;qi(a);ri(a+16384|0);ri(a+24576|0);ae(a,227840,256)}function oi(a){a=a|0;pi(a);qi(a+32768|0);qi(a+49152|0);ae(a,236032,512)}function vh(a){a=a|0;wh(a);xh(a+2048|0);xh(a+3072|0);vc(a,2532256,128)}function uh(a){a=a|0;vh(a);wh(a+4096|0);wh(a+6144|0);vc(a,2533280,256)}function jk(a){var b=0;b=Ua(a,5);if((b|0)==31){b=Ua(a,6)+32|0}return b}function ih(a){a=a|0;jh(a);kh(a+4096|0);kh(a+6144|0);Kb(a,2795392,128)}function hP(a,b,c){a=a|0;b=b|0;c=c|0;Jk(a,b,c,16);Jk(a+8|0,b+8|0,c,16)}function di(a){a=a|0;ei(a);fi(a+4096|0);fi(a+6144|0);_d(a,1270304,128)}function UN(a,b,c){a=a|0;b=b|0;c=c|0;Kk(a,b,c,16);Kk(a+8|0,b+8|0,c,16)}function Rh(a){a=a|0;Sh(a);Th(a+4096|0);Th(a+6144|0);Zd(a,1794592,128)}function FB(a){Wa(a+62608|0);Wa(a+62612|0);Wa(a+62620|0);Wa(a+62616|0)}function wh(a){a=a|0;xh(a);yh(a+1024|0);yh(a+1536|0);vc(a,2531744,64)}function oz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return x(x(n[a](b,c,d)))}function kh(a){a=a|0;lh(a);mh(a+1024|0);mh(a+1536|0);Kb(a,2793856,32)}function jh(a){a=a|0;kh(a);lh(a+2048|0);lh(a+3072|0);Kb(a,2794368,64)}function fi(a){a=a|0;gi(a);hi(a+1024|0);hi(a+1536|0);Kb(a,1268768,32)}function ei(a){a=a|0;fi(a);gi(a+2048|0);gi(a+3072|0);Kb(a,1269280,64)}function Th(a){a=a|0;Uh(a);Vh(a+1024|0);Vh(a+1536|0);hf(a,1793056,32)}function Sh(a){a=a|0;Th(a);Uh(a+2048|0);Uh(a+3072|0);hf(a,1793568,64)}function If(a,b){if(q[q[a+28224>>2]+12>>2]==3){tE(a,b);return}sE(a,b)}function ti(a){a=a|0;ui(a);vi(a+1024|0);vi(a+1536|0);jf(a,220160,16)}function si(a){a=a|0;ti(a);ui(a+2048|0);ui(a+3072|0);jf(a,220672,32)}function ri(a){a=a|0;si(a);ti(a+4096|0);ti(a+6144|0);jf(a,221696,64)}function yh(a){a=a|0;zh(a);Ah(a+256|0);Ah(a+384|0);vc(a,2531360,16)}function xh(a){a=a|0;yh(a);zh(a+512|0);zh(a+768|0);vc(a,2531488,32)}function wv(a){a=a|0;a=q[a>>2];q[a+48>>2]=123;q[a+44>>2]=7;return 0}function pz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=x(d);e=e|0;n[a](b,c,d,e)}function lh(a){a=a|0;mh(a);nh(a+512|0);nh(a+768|0);Kb(a,2793600,16)}function gi(a){a=a|0;hi(a);ii(a+512|0);ii(a+768|0);Kb(a,1268512,16)}function Uh(a){a=a|0;Vh(a);Wh(a+512|0);Wh(a+768|0);hf(a,1792800,16)}function zh(a){a=a|0;Ah(a);Bh(a+128|0);Bh(a+192|0);vc(a,2531296,8)}function qz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;n[a](b,c,d,e)}function oh(a){a=a|0;ph(a);$d(a- -64|0);$d(a+96|0);Kb(a,2793376,2)}function nh(a){a=a|0;oh(a);ph(a+128|0);ph(a+192|0);Kb(a,2793408,4)}function mh(a){a=a|0;nh(a);oh(a+256|0);oh(a+384|0);Kb(a,2793472,8)}function kM(a){a=+a;return+((+(Fy()>>>0)+4294967296*+(Da|0))*1e-6)}function ii(a){a=a|0;ji(a);ki(a+128|0);ki(a+192|0);Kb(a,1268320,4)}function hi(a){a=a|0;ii(a);ji(a+256|0);ji(a+384|0);Kb(a,1268384,8)}function Wh(a){a=a|0;Xh(a);Yh(a+128|0);Yh(a+192|0);hf(a,1792608,4)}function Vh(a){a=a|0;Wh(a);Xh(a+256|0);Xh(a+384|0);hf(a,1792672,8)}function Ah(a){a=a|0;Bh(a);Ch(a- -64|0);Ch(a+96|0);vc(a,2531264,4)}function vi(a){a=a|0;wi(a);xi(a+256|0);xi(a+384|0);jf(a,219776,4)}function ui(a){a=a|0;vi(a);wi(a+512|0);wi(a+768|0);jf(a,219904,8)}function tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return n[a](b,c,d)|0}function mz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;n[a](b,c,d,e)}function Bh(a){a=a|0;Ch(a);Dh(a+32|0);Dh(a+48|0);vc(a,2531232,2)}function Zm(a){if(4294967295>>0){oe(205637);F()}return rb(a)}function Xe(a,b,c){if(q[b+21844>>2]){xE(a,b,c);return}wE(a,b,c)}function Hn(){var a=0;a=nb(136);if(!a){return 0}Hi(a);return a}function xp(a,b){a=a|0;b=b|0;tc(a,b);qd(a,0,b);qd(a+8|0,0,b)}function vp(a,b){a=a|0;b=b|0;Jc(a,b);qd(a,0,b);qd(a+8|0,0,b)}function jE(a){a=a|0;a=q[a>>2];Wa(a);We(a+1396|0);ro(a+40|0)}function Tp(a,b){a=a|0;b=b|0;tc(a,b);rd(a,0,b);rd(a+8|0,0,b)}function TR(a,b){a=a|0;b=b|0;tc(a,b);pd(a,0,b);pd(a+8|0,0,b)}function Rp(a,b){a=a|0;b=b|0;Jc(a,b);rd(a,0,b);rd(a+8|0,0,b)}function RR(a,b){a=a|0;b=b|0;Jc(a,b);pd(a,0,b);pd(a+8|0,0,b)}function NQ(a,b){a=a|0;b=b|0;hg(a,b);Qd(a,0,b);Qd(a+4|0,0,b)}function IQ(a,b){a=a|0;b=b|0;Qk(a,b);Qd(a,0,b);Qd(a+4|0,0,b)}function DR(a,b){a=a|0;b=b|0;tc(a,b);Rd(a,0,b);Rd(a+8|0,0,b)}function BR(a,b){a=a|0;b=b|0;Jc(a,b);Rd(a,0,b);Rd(a+8|0,0,b)}function ez(a,b,c){a=a|0;b=b|0;c=c|0;return x(x(n[a](b,c)))}function bu(a,b){a=a|0;b=b|0;n[q[(q[a>>2]<<2)+91720>>2]](b)}function Sl(a,b){Va(a,b,72);rj(b);q[b+24>>2]=0;q[b+28>>2]=0}function Wd(a){qj(a);lb(a);rj(a);q[a+24>>2]=0;q[a+28>>2]=0}function gS(a){if(a){return 31-z(a+ -1^a)|0}return 32} + + + +function Lh(a,b,c){return Ih(a,b,c>>>0>268435455?-8:c<<3)}function wz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;n[a](b,c,d)}function Pj(a){a=a|0;q[a>>2]=205856;rA(a+4|0);return a|0}function vz(a,b,c){a=a|0;b=b|0;c=c|0;return n[a](b,c)|0}function nb(a){var b=0;b=rc(a);if(b){Za(b,0,a)}return b}function nA(a,b,c){a=a|0;b=b|0;c=c|0;return xb(a,b,0)|0}function fn(a,b){Wa(b);a=ck(a);q[b>>2]=a;return a?0:-48}function eB(a,b,c){a=a|0;b=b|0;c=c|0;return aB(a,b,c)|0}function zQ(a,b){a=a|0;b=b|0;Pk(a,b);Pk((b<<3)+a|0,b)}function xR(a,b){a=a|0;b=b|0;Tk(a,b);Tk((b<<3)+a|0,b)}function rp(a,b){a=a|0;b=b|0;cj(a,b);cj((b<<3)+a|0,b)}function kn(a,b,c){a=Yj(a,b,c,0,-2147483648);return a}function kk(a,b,c,d,e,f){a=Ji(a,b,c,d,e,f,5);return a}function ee(a,b){a=jn(a,b);return r[a|0]==(b&255)?a:0}function av(a,b){a=a|0;b=b|0;return q[a>>2]-q[b>>2]|0}function Qk(a,b){a=a|0;b=b|0;hg(a,b);hg((b<<3)+a|0,b)}function NR(a,b){a=a|0;b=b|0;Uk(a,b);Uk((b<<3)+a|0,b)}function Kp(a,b){a=a|0;b=b|0;ej(a,b);ej((b<<3)+a|0,b)}function Jc(a,b){a=a|0;b=b|0;tc(a,b);tc((b<<3)+a|0,b)}function Ty(a,b){a=a|0;b=b|0;return ij(a,q[b>>2])|0}function Le(){var a=0;a=nb(72);if(a){rj(a)}return a}function Gn(a){var b=0;b=q[a>>2];if(b){Hi(b);Wa(a)}}function uk(a){a=cd(a);return((a&1)+ -1^a>>>1)+1|0}function um(a){a=a|0;if(a){n[q[q[a>>2]+4>>2]](a)}}function tf(a,b,c){return Yj(a,b,c,-2147483648,0)}function Po(a,b,c){return Jf(a,b,-1,2147483647,c)}function zM(a,b,c){a=a|0;b=b|0;c=c|0;yM(a,b,c,c)}function yP(a,b,c){a=a|0;b=b|0;c=c|0;Jk(a,b,c,8)}function yK(a,b,c){a=a|0;b=b|0;c=c|0;Ed(a,b,c,c)}function xF(a,b,c){a=a|0;b=b|0;c=c|0;Mf(a,b,c,c)}function vL(a,b,c){a=a|0;b=b|0;c=c|0;dc(a,b,c,c)}function tN(a,b,c){a=a|0;b=b|0;c=c|0;Gb(a,b,c,c)}function sG(a,b,c){a=a|0;b=b|0;c=c|0;Vb(a,b,c,c)}function qH(a,b,c){a=a|0;b=b|0;c=c|0;oH(a,b,c,c)}function pI(a,b,c){a=a|0;b=b|0;c=c|0;zd(a,b,c,c)}function kO(a,b,c){a=a|0;b=b|0;c=c|0;Ib(a,b,c,c)}function jP(a,b,c){a=a|0;b=b|0;c=c|0;RN(a,b,c,c)}function iO(a,b,c){a=a|0;b=b|0;c=c|0;Kk(a,b,c,8)}function iK(a,b,c){a=a|0;b=b|0;c=c|0;hK(a,b,c,c)}function iJ(a,b,c){a=a|0;b=b|0;c=c|0;$b(a,b,c,c)}function hF(a,b,c){a=a|0;b=b|0;c=c|0;gF(a,b,c,c)}function gM(a,b,c){a=a|0;b=b|0;c=c|0;Yf(a,b,c,c)}function eL(a,b,c){a=a|0;b=b|0;c=c|0;Eb(a,b,c,c)}function cN(a,b,c){a=a|0;b=b|0;c=c|0;fc(a,b,c,c)}function cG(a,b,c){a=a|0;b=b|0;c=c|0;vd(a,b,c,c)}function _H(a,b,c){a=a|0;b=b|0;c=c|0;ZH(a,b,c,c)}function YG(a,b,c){a=a|0;b=b|0;c=c|0;Xb(a,b,c,c)}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;Hk(a,b,c,8)}function WN(a,b,c){a=a|0;b=b|0;c=c|0;lc(a,b,c,c)}function VO(a,b,c){a=a|0;b=b|0;c=c|0;Nd(a,b,c,c)}function VI(a,b,c){a=a|0;b=b|0;c=c|0;Cb(a,b,c,c)}function RP(a,b,c){a=a|0;b=b|0;c=c|0;NN(a,b,c,c)}function QL(a,b,c){a=a|0;b=b|0;c=c|0;PL(a,b,c,c)}function QJ(a,b,c){a=a|0;b=b|0;c=c|0;Uf(a,b,c,c)}function PM(a,b,c){a=a|0;b=b|0;c=c|0;Id(a,b,c,c)}function PK(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,c,c)}function PF(a,b,c){a=a|0;b=b|0;c=c|0;OF(a,b,c,c)}function JN(a,b,c){a=a|0;b=b|0;c=c|0;hc(a,b,c,c)}function IG(a,b,c){a=a|0;b=b|0;c=c|0;Ab(a,b,c,c)}function GI(a,b,c){a=a|0;b=b|0;c=c|0;Zb(a,b,c,c)}function GH(a,b,c){a=a|0;b=b|0;c=c|0;Qf(a,b,c,c)}function El(a){Wa(a+8|0);Wa(a- -64|0);Wa(a+12|0)}function DO(a,b,c){a=a|0;b=b|0;c=c|0;jc(a,b,c,c)}function AP(a,b,c){a=a|0;b=b|0;c=c|0;ag(a,b,c,c)}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;zJ(a,b,c,c)}function $i(a,b,c){a=a|0;b=b|0;c=c|0;Ik(a,b,c,8)}function zn(a,b){if(!a){return 0}return qB(a,b)}function Bz(a){a=a|0;a=Ca-a&-16;Ca=a;return a|0}function zg(a,b){a=a|0;b=b|0;$e(a,b);Ae(a,0,b)}function yg(a,b){a=a|0;b=b|0;_e(a,b);ze(a,0,b)}function xz(a,b,c){a=a|0;b=b|0;c=c|0;n[a](b,c)}function xg(a,b){a=a|0;b=b|0;Ze(a,b);Ae(a,0,b)}function _i(a,b,c){a=a|0;b=b|0;c=c|0;eN(a,b,c)}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;SL(a,b,c)}function PP(a,b,c){a=a|0;b=b|0;c=c|0;ON(a,b,c)}function Lb(a,b,c){if(!(r[a|0]&32)){Fm(b,c,a)}}function LQ(a,b){a=a|0;b=b|0;gp(a,b);Rk(a,0,b)}function KQ(a,b){a=a|0;b=b|0;fp(a,b);Sk(a,0,b)}function GQ(a,b){a=a|0;b=b|0;ep(a,b);Rk(a,0,b)}function FQ(a,b){a=a|0;b=b|0;dp(a,b);Sk(a,0,b)}function BO(a,b,c){a=a|0;b=b|0;c=c|0;SN(a,b,c)}function Ag(a,b){a=a|0;b=b|0;af(a,b);ze(a,0,b)}function zz(a,b){a=a|0;b=b|0;return n[a](b)|0}function wC(a,b){a=a|0;b=b|0;return ev(a,b)|0}function un(a,b,c){return yn(a,b,c,1521,1522)}function aw(a){a=a|0;gk(q[a+8>>2]);hk(a+12|0)}function Sn(a){a=a|0;return q[q[a>>2]+ -4>>2]}function dB(a){a=a|0;return ea(q[a+60>>2])|0}function $l(a){te(a+390884|0);te(a+390816|0)}function ot(a,b){a=a|0;b=b|0;Hl(a+ -24|0,b)}function ek(a){fk(q[(a<<2)+194880>>2],1<>2]>>2]}function bS(a,b,c,d){a=_R(a,b,c,d);return a}function aS(a,b,c,d){a=ZR(a,b,c,d);return a}function Ts(a,b){a=a|0;b=b|0;Dl(a+ -24|0,b)}function Qn(a){return Ua(a,16)<<16|Ua(a,16)}function $R(a,b,c,d){a=YR(a,b,c,d);return a}function rz(a,b){a=a|0;b=+b;return+n[a](b)}function lb(a){if(!(!a|!q[a>>2])){Vk(a,0)}}function fe(a){Ya(q[a+256>>2]);Za(a,0,280)}function Xr(a,b){a=a|0;b=b|0;Ba();return 0}function WR(){PA();VR();n[1551](3463368)|0}function Ky(a,b){a=a|0;b=b|0;n[q[a>>2]](b)}function AE(a){a=a|0;return q[q[a>>2]>>2]}function wQ(a,b){a=a|0;b=b|0;Mk(a,b,0,0)}function Jp(a,b){a=a|0;b=b|0;Mk(a,b,1,0)}function Ip(a,b){a=a|0;b=b|0;Mk(a,b,0,1)}function Xj(a,b){return Yj(a,b,16,-1,0)}function pA(a){a=a|0;return q[a+4>>2]}function Kn(a){a=q[a>>2];if(a){pc(a)}}function Az(a){a=a|0;return Fa(a|0)|0}function yz(a,b){a=a|0;b=b|0;n[a](b)}function uR(a,b){a=a|0;b=b|0;eQ(a,b)}function op(a,b){a=a|0;b=b|0;gQ(a,b)}function KR(a,b){a=a|0;b=b|0;fQ(a,b)}function JB(a,b,c){a=a|0;b=b|0;c=c|0}function Ep(a,b){a=a|0;b=b|0;hQ(a,b)}function mf(a,b,c){if(c){Va(a,b,c)}}function fS(a){return a<0?D(a):C(a)}function Ih(a,b,c){return ix(a,b,c)}function sA(a){a=a|0;return 205789}function Xp(a,b){a=a|0;b=b|0;Ya(b)}function zt(a){a=a|0;Il(a+ -24|0)}function Oy(a){a=a|0;o[a+208|0]=1}function Iv(a){a=a|0;Ej(a+ -24|0)}function rv(a){a=a|0;wj(a);Ya(a)}function qC(a){a=a|0;Wa(q[a>>2])}function oA(a){a=a|0;Pj(a);Ya(a)}function wB(a){a=+a;return+y(a)}function te(a){Wa(a+24|0);El(a)}function sj(a){return Vl(a,127)}function Dm(a,b){return Yy(a,b)}function Ai(a){a=a|0;return a|0}function vn(a,b,c){sn(a,b,c,0)}function qA(a){a=a|0;Ya(Pj(a))}function nv(a){a=a|0;Ya(wj(a))}function mn(a,b,c){sn(a,b,c,1)}function hv(a){a=a|0;Ya(tj(a))}function xk(a,b,c){oE(a,b,c)}function tA(){Xm(205759);F()}function nf(){oe(205624);F()}function DB(){return 3463264}function sz(a){a=a|0;n[a]()}function XR(a,b){i(a|0,b|0)}function Pe(a){a=a|0;Ya(a)}function ys(a){a=a|0;F()}function Jj(a){Em(a,0,0)}function $m(){I();F()}function mu(){wc(10)}function lu(){wc(11)}function ku(){wc(12)}function ju(){wc(13)}function iu(){wc(14)}function hu(){wc(15)}function gu(){wc(16)}function fu(){wc(17)}function Tt(){uc(10)}function St(){uc(11)}function Rt(){uc(12)}function Qt(){uc(13)}function Ot(){uc(14)}function Nt(){uc(15)}function Mt(){uc(16)}function Lt(){uc(17)}function Jn(a){a=a|0}function uu(){wc(4)}function ru(){wc(5)}function qu(){wc(6)}function pu(){wc(7)}function ou(){wc(8)}function nu(){wc(9)}function Zt(){uc(4)}function Yt(){uc(5)}function Xt(){uc(6)}function Wt(){uc(7)}function Vt(){uc(8)}function Ut(){uc(9)} +// EMSCRIPTEN_END_FUNCS +n[1]=Sn;n[2]=um;n[3]=hx;n[4]=Jv;n[5]=tu;n[6]=yl;n[7]=jl;n[8]=hq;n[9]=UR;n[10]=Ok;n[11]=nO;n[12]=fN;n[13]=CL;n[14]=yl;n[15]=MJ;n[16]=cI;n[17]=nG;n[18]=KE;n[19]=TD;n[20]=HC;n[21]=pB;n[22]=FA;n[23]=Cz;n[24]=Sn;n[25]=Ai;n[26]=Ai;n[27]=um;n[28]=Oy;n[29]=Ky;n[30]=Dy;n[31]=Cy;n[32]=xy;n[33]=my;n[34]=Pj;n[35]=Xw;n[36]=fm;n[37]=fm;n[38]=wj;n[39]=rv;n[40]=nv;n[41]=tj;n[42]=hv;n[43]=$u;n[44]=Uu;n[45]=aw;n[46]=Ju;n[47]=Au;n[48]=su;n[49]=Il;n[50]=Ej;n[51]=Hl;n[52]=eu;n[53]=Dl;n[54]=It;n[55]=zt;n[56]=Iv;n[57]=ot;n[58]=et;n[59]=Jh;n[60]=_s;n[61]=Ts;n[62]=Js;n[63]=ys;n[64]=Tv;n[65]=ps;n[66]=es;n[67]=tA;n[68]=Xp;n[69]=ye;n[70]=sR;n[71]=tB;n[72]=xB;n[73]=sB;n[74]=ce;n[75]=db;n[76]=KA;n[77]=Tj;n[78]=IA;n[79]=JA;n[80]=of;n[81]=DA;n[82]=wB;n[83]=kM;n[84]=BL;n[85]=sL;n[86]=iL;n[87]=$K;n[88]=WL;n[89]=RK;n[90]=JK;n[91]=zK;n[92]=qK;n[93]=fK;n[94]=WJ;n[95]=QE;n[96]=Qy;n[97]=Ly;n[98]=Ty;n[99]=Jy;n[100]=Iy;n[101]=rx;n[102]=qx;n[103]=px;n[104]=ox;n[105]=nx;n[106]=Qw;n[107]=Ow;n[108]=Nw;n[109]=Mw;n[110]=Lw;n[111]=Aw;n[112]=zw;n[113]=yw;n[114]=ww;n[115]=vw;n[116]=uw;n[117]=tw;n[118]=sw;n[119]=Yv;n[120]=Xv;n[121]=Wv;n[122]=Vv;n[123]=vv;n[124]=tv;n[125]=sv;n[126]=yf;n[127]=VB;n[128]=av;n[129]=xe;n[130]=Gu;n[131]=gD;n[132]=Un;n[133]=hD;n[134]=bu;n[135]=au;n[136]=xt;n[137]=wt;n[138]=vt;n[139]=ut;n[140]=tt;n[141]=st;n[142]=rt;n[143]=qt;n[144]=pt;n[145]=nt;n[146]=mt;n[147]=lt;n[148]=kt;n[149]=jt;n[150]=it;n[151]=ht;n[152]=ct;n[153]=Ss;n[154]=Rs;n[155]=Qs;n[156]=Ps;n[157]=ah;n[158]=Gq;n[159]=Fq;n[160]=Hq;n[161]=bl;n[162]=He;n[163]=cl;n[164]=Ie;n[165]=Os;n[166]=Ns;n[167]=Ms;n[168]=Ls;n[169]=Ks;n[170]=Is;n[171]=Hs;n[172]=Gs;n[173]=Fs;n[174]=Es;n[175]=Ds;n[176]=Cs;n[177]=Bs;n[178]=As;n[179]=zs;n[180]=xs;n[181]=_g;n[182]=$g;n[183]=Eq;n[184]=Dq;n[185]=ql;n[186]=ws;n[187]=vs;n[188]=pl;n[189]=pl;n[190]=us;n[191]=ts;n[192]=ql;n[193]=ah;n[194]=Bq;n[195]=Aq;n[196]=Cq;n[197]=$k;n[198]=Fe;n[199]=al;n[200]=Ge;n[201]=ss;n[202]=rs;n[203]=qs;n[204]=os;n[205]=ns;n[206]=ms;n[207]=ls;n[208]=ks;n[209]=js;n[210]=is;n[211]=hs;n[212]=gs;n[213]=fs;n[214]=ds;n[215]=cs;n[216]=bs;n[217]=_g;n[218]=$g;n[219]=zq;n[220]=yq;n[221]=ol;n[222]=as;n[223]=$r;n[224]=nl;n[225]=nl;n[226]=_r;n[227]=Zr;n[228]=ol;n[229]=ah;n[230]=wq;n[231]=vq;n[232]=xq;n[233]=Zk;n[234]=De;n[235]=_k;n[236]=Ee;n[237]=Yr;n[238]=Wr;n[239]=Vr;n[240]=Ur;n[241]=Tr;n[242]=Sr;n[243]=Rr;n[244]=Qr;n[245]=Pr;n[246]=Or;n[247]=Nr;n[248]=Mr;n[249]=Lr;n[250]=Kr;n[251]=Jr;n[252]=Ir;n[253]=_g;n[254]=$g;n[255]=uq;n[256]=tq;n[257]=ll;n[258]=Hr;n[259]=Gr;n[260]=kl;n[261]=kl;n[262]=Fr;n[263]=Er;n[264]=ll;n[265]=ah;n[266]=rq;n[267]=qq;n[268]=sq;n[269]=Wk;n[270]=Be;n[271]=Yk;n[272]=Ce;n[273]=Dr;n[274]=Cr;n[275]=Br;n[276]=Ar;n[277]=zr;n[278]=yr;n[279]=xr;n[280]=wr;n[281]=vr;n[282]=tr;n[283]=sr;n[284]=rr;n[285]=qr;n[286]=pr;n[287]=or;n[288]=nr;n[289]=_g;n[290]=$g;n[291]=pq;n[292]=oq;n[293]=il;n[294]=mr;n[295]=lr;n[296]=hl;n[297]=hl;n[298]=kr;n[299]=jr;n[300]=il;n[301]=Kq;n[302]=Oq;n[303]=Nq;n[304]=Qq;n[305]=dl;n[306]=Je;n[307]=el;n[308]=Ke;n[309]=ir;n[310]=hr;n[311]=gr;n[312]=fr;n[313]=er;n[314]=dr;n[315]=cr;n[316]=br;n[317]=ar;n[318]=$q;n[319]=_q;n[320]=Zq;n[321]=Yq;n[322]=Xq;n[323]=Wq;n[324]=Vq;n[325]=Iq;n[326]=Jq;n[327]=Mq;n[328]=Lq;n[329]=gl;n[330]=Uq;n[331]=Tq;n[332]=fl;n[333]=fl;n[334]=Sq;n[335]=Rq;n[336]=gl;n[337]=YB;n[338]=mq;n[339]=lq;n[340]=Zg;n[341]=Yg;n[342]=Xg;n[343]=Wg;n[344]=Vg;n[345]=Ug;n[346]=Ae;n[347]=jq;n[348]=Tg;n[349]=iq;n[350]=Sg;n[351]=ze;n[352]=Rg;n[353]=fq;n[354]=eq;n[355]=dq;n[356]=rd;n[357]=cq;n[358]=bq;n[359]=aq;n[360]=$p;n[361]=_p;n[362]=Zp;n[363]=Pg;n[364]=Yp;n[365]=Og;n[366]=Ng;n[367]=Mg;n[368]=Lg;n[369]=Kg;n[370]=Jg;n[371]=Ig;n[372]=Hg;n[373]=Gg;n[374]=Fg;n[375]=Eg;n[376]=Dg;n[377]=Cg;n[378]=Bg;n[379]=Wp;n[380]=Vp;n[381]=Up;n[382]=af;n[383]=Tp;n[384]=Sp;n[385]=Ag;n[386]=zg;n[387]=$e;n[388]=tc;n[389]=_e;n[390]=Rp;n[391]=Qp;n[392]=yg;n[393]=xg;n[394]=Ze;n[395]=Jc;n[396]=Pp;n[397]=Op;n[398]=Np;n[399]=Mp;n[400]=Lp;n[401]=wg;n[402]=vg;n[403]=ug;n[404]=ej;n[405]=Kp;n[406]=Jp;n[407]=Ip;n[408]=Hp;n[409]=Gp;n[410]=Fp;n[411]=Ep;n[412]=tg;n[413]=sg;n[414]=Td;n[415]=rg;n[416]=qg;n[417]=Sd;n[418]=Dp;n[419]=pg;n[420]=og;n[421]=ng;n[422]=mg;n[423]=lg;n[424]=kg;n[425]=jg;n[426]=ig;n[427]=Zg;n[428]=Yg;n[429]=Xg;n[430]=Wg;n[431]=Vg;n[432]=Ug;n[433]=Ae;n[434]=Tg;n[435]=Sg;n[436]=ze;n[437]=Rg;n[438]=Cp;n[439]=Bp;n[440]=qd;n[441]=Pg;n[442]=Ap;n[443]=Og;n[444]=Ng;n[445]=Mg;n[446]=Lg;n[447]=Kg;n[448]=Jg;n[449]=Ig;n[450]=Hg;n[451]=Gg;n[452]=Fg;n[453]=Eg;n[454]=Dg;n[455]=Cg;n[456]=Bg;n[457]=zp;n[458]=yp;n[459]=af;n[460]=xp;n[461]=wp;n[462]=Ag;n[463]=zg;n[464]=$e;n[465]=tc;n[466]=_e;n[467]=vp;n[468]=up;n[469]=yg;n[470]=xg;n[471]=Ze;n[472]=Jc;n[473]=tp;n[474]=sp;n[475]=wg;n[476]=vg;n[477]=ug;n[478]=cj;n[479]=rp;n[480]=qp;n[481]=pp;n[482]=op;n[483]=tg;n[484]=sg;n[485]=Td;n[486]=rg;n[487]=qg;n[488]=Sd;n[489]=np;n[490]=pg;n[491]=og;n[492]=ng;n[493]=mg;n[494]=lg;n[495]=kg;n[496]=jg;n[497]=ig;n[498]=Zg;n[499]=Yg;n[500]=Xg;n[501]=Wg;n[502]=Vg;n[503]=Ug;n[504]=Ae;n[505]=Tg;n[506]=Sg;n[507]=ze;n[508]=Rg;n[509]=mp;n[510]=lp;n[511]=pd;n[512]=Pg;n[513]=kp;n[514]=Og;n[515]=Ng;n[516]=Mg;n[517]=Lg;n[518]=Kg;n[519]=Jg;n[520]=Ig;n[521]=Hg;n[522]=Gg;n[523]=Fg;n[524]=Eg;n[525]=Dg;n[526]=Cg;n[527]=Bg;n[528]=jp;n[529]=ip;n[530]=af;n[531]=TR;n[532]=SR;n[533]=Ag;n[534]=zg;n[535]=$e;n[536]=tc;n[537]=_e;n[538]=RR;n[539]=QR;n[540]=yg;n[541]=xg;n[542]=Ze;n[543]=Jc;n[544]=PR;n[545]=OR;n[546]=wg;n[547]=vg;n[548]=ug;n[549]=Uk;n[550]=NR;n[551]=MR;n[552]=LR;n[553]=KR;n[554]=tg;n[555]=sg;n[556]=Td;n[557]=rg;n[558]=qg;n[559]=Sd;n[560]=JR;n[561]=pg;n[562]=og;n[563]=ng;n[564]=mg;n[565]=lg;n[566]=kg;n[567]=jg;n[568]=ig;n[569]=Zg;n[570]=Yg;n[571]=Xg;n[572]=Wg;n[573]=Vg;n[574]=Ug;n[575]=Ae;n[576]=Tg;n[577]=Sg;n[578]=ze;n[579]=Rg;n[580]=IR;n[581]=HR;n[582]=Rd;n[583]=Pg;n[584]=GR;n[585]=Og;n[586]=Ng;n[587]=Mg;n[588]=Lg;n[589]=Kg;n[590]=Jg;n[591]=Ig;n[592]=Hg;n[593]=Gg;n[594]=Fg;n[595]=Eg;n[596]=Dg;n[597]=Cg;n[598]=Bg;n[599]=FR;n[600]=ER;n[601]=af;n[602]=DR;n[603]=CR;n[604]=Ag;n[605]=zg;n[606]=$e;n[607]=tc;n[608]=_e;n[609]=BR;n[610]=AR;n[611]=yg;n[612]=xg;n[613]=Ze;n[614]=Jc;n[615]=zR;n[616]=yR;n[617]=wg;n[618]=vg;n[619]=ug;n[620]=Tk;n[621]=xR;n[622]=wR;n[623]=vR;n[624]=uR;n[625]=tg;n[626]=sg;n[627]=Td;n[628]=rg;n[629]=qg;n[630]=Sd;n[631]=tR;n[632]=pg;n[633]=og;n[634]=ng;n[635]=mg;n[636]=lg;n[637]=kg;n[638]=jg;n[639]=ig;n[640]=rR;n[641]=qR;n[642]=pR;n[643]=oR;n[644]=nR;n[645]=mR;n[646]=Sk;n[647]=lR;n[648]=kR;n[649]=Rk;n[650]=iR;n[651]=hR;n[652]=gR;n[653]=Qd;n[654]=fR;n[655]=eR;n[656]=dR;n[657]=cR;n[658]=bR;n[659]=aR;n[660]=_Q;n[661]=ZQ;n[662]=YQ;n[663]=XQ;n[664]=WQ;n[665]=VQ;n[666]=UQ;n[667]=TQ;n[668]=SQ;n[669]=RQ;n[670]=PQ;n[671]=OQ;n[672]=gp;n[673]=NQ;n[674]=MQ;n[675]=LQ;n[676]=KQ;n[677]=fp;n[678]=hg;n[679]=ep;n[680]=IQ;n[681]=HQ;n[682]=GQ;n[683]=FQ;n[684]=dp;n[685]=Qk;n[686]=EQ;n[687]=DQ;n[688]=CQ;n[689]=BQ;n[690]=AQ;n[691]=Pk;n[692]=zQ;n[693]=yQ;n[694]=xQ;n[695]=wQ;n[696]=vQ;n[697]=uQ;n[698]=fg;n[699]=tQ;n[700]=rQ;n[701]=eg;n[702]=qQ;n[703]=pQ;n[704]=oQ;n[705]=nQ;n[706]=mQ;n[707]=lQ;n[708]=kQ;n[709]=jQ;n[710]=iQ;n[711]=cQ;n[712]=bQ;n[713]=aQ;n[714]=$P;n[715]=_P;n[716]=ZP;n[717]=YP;n[718]=XP;n[719]=WP;n[720]=VP;n[721]=UP;n[722]=TP;n[723]=SP;n[724]=RP;n[725]=QP;n[726]=PP;n[727]=OP;n[728]=NP;n[729]=MP;n[730]=LP;n[731]=KP;n[732]=JP;n[733]=HP;n[734]=GP;n[735]=FP;n[736]=EP;n[737]=DP;n[738]=CP;n[739]=BP;n[740]=AP;n[741]=zP;n[742]=yP;n[743]=wP;n[744]=vP;n[745]=uP;n[746]=tP;n[747]=sP;n[748]=rP;n[749]=qP;n[750]=pP;n[751]=oP;n[752]=nP;n[753]=mP;n[754]=lP;n[755]=kP;n[756]=jP;n[757]=iP;n[758]=hP;n[759]=gP;n[760]=fP;n[761]=eP;n[762]=dP;n[763]=cP;n[764]=bP;n[765]=aP;n[766]=$O;n[767]=_O;n[768]=ZO;n[769]=YO;n[770]=XO;n[771]=WO;n[772]=VO;n[773]=TO;n[774]=SO;n[775]=RO;n[776]=QO;n[777]=PO;n[778]=OO;n[779]=NO;n[780]=MO;n[781]=LO;n[782]=KO;n[783]=IO;n[784]=HO;n[785]=GO;n[786]=FO;n[787]=EO;n[788]=DO;n[789]=CO;n[790]=BO;n[791]=AO;n[792]=zO;n[793]=xO;n[794]=wO;n[795]=vO;n[796]=uO;n[797]=tO;n[798]=sO;n[799]=rO;n[800]=qO;n[801]=pO;n[802]=oO;n[803]=lO;n[804]=kO;n[805]=jO;n[806]=iO;n[807]=hO;n[808]=gO;n[809]=fO;n[810]=eO;n[811]=dO;n[812]=cO;n[813]=bO;n[814]=aO;n[815]=$N;n[816]=_N;n[817]=ZN;n[818]=YN;n[819]=XN;n[820]=WN;n[821]=VN;n[822]=UN;n[823]=ao;n[824]=mD;n[825]=lD;n[826]=kD;n[827]=jD;n[828]=eD;n[829]=dD;n[830]=cD;n[831]=bD;n[832]=aD;n[833]=$C;n[834]=_C;n[835]=ZC;n[836]=YC;n[837]=XC;n[838]=WC;n[839]=VC;n[840]=UC;n[841]=Gf;n[842]=Ff;n[843]=Ef;n[844]=Df;n[845]=TC;n[846]=Cf;n[847]=Bf;n[848]=SC;n[849]=Af;n[850]=RC;n[851]=QC;n[852]=PC;n[853]=OC;n[854]=NC;n[855]=zf;n[856]=MC;n[857]=LC;n[858]=KC;n[859]=JC;n[860]=IC;n[861]=GC;n[862]=FC;n[863]=EC;n[864]=DC;n[865]=CC;n[866]=BC;n[867]=AC;n[868]=Ou;n[869]=QB;n[870]=RB;n[871]=Su;n[872]=oC;n[873]=nC;n[874]=mC;n[875]=kC;n[876]=jC;n[877]=iC;n[878]=hC;n[879]=gC;n[880]=fC;n[881]=eC;n[882]=dC;n[883]=cC;n[884]=bC;n[885]=aC;n[886]=JB;n[887]=HB;n[888]=GB;n[889]=AE;n[890]=Ey;n[891]=yi;n[892]=xi;n[893]=wi;n[894]=vi;n[895]=ui;n[896]=ti;n[897]=si;n[898]=ri;n[899]=qi;n[900]=pi;n[901]=oi;n[902]=ni;n[903]=mi;n[904]=li;n[905]=vm;n[906]=By;n[907]=jy;n[908]=$d;n[909]=ki;n[910]=ji;n[911]=ii;n[912]=hi;n[913]=gi;n[914]=fi;n[915]=ei;n[916]=di;n[917]=ci;n[918]=bi;n[919]=ai;n[920]=$h;n[921]=_h;n[922]=tm;n[923]=hy;n[924]=Tx;n[925]=Zh;n[926]=Yh;n[927]=Xh;n[928]=Wh;n[929]=Vh;n[930]=Uh;n[931]=Th;n[932]=Sh;n[933]=Rh;n[934]=Qh;n[935]=Ph;n[936]=Oh;n[937]=Nh;n[938]=Mh;n[939]=pm;n[940]=Sx;n[941]=Dh;n[942]=Ch;n[943]=Bh;n[944]=Ah;n[945]=zh;n[946]=yh;n[947]=xh;n[948]=wh;n[949]=vh;n[950]=uh;n[951]=th;n[952]=sh;n[953]=rh;n[954]=qh;n[955]=Gl;n[956]=du;n[957]=$d;n[958]=ph;n[959]=oh;n[960]=nh;n[961]=mh;n[962]=lh;n[963]=kh;n[964]=jh;n[965]=ih;n[966]=hh;n[967]=gh;n[968]=fh;n[969]=eh;n[970]=dh;n[971]=Cl;n[972]=Jt;n[973]=dv;n[974]=cv;n[975]=iv;n[976]=bj;n[977]=bj;n[978]=bj;n[979]=bj;n[980]=KN;n[981]=wL;n[982]=jJ;n[983]=ZG;n[984]=JN;n[985]=vL;n[986]=iJ;n[987]=YG;n[988]=IN;n[989]=uL;n[990]=hJ;n[991]=XG;n[992]=HN;n[993]=tL;n[994]=gJ;n[995]=VG;n[996]=GN;n[997]=rL;n[998]=fJ;n[999]=UG;n[1e3]=FN;n[1001]=qL;n[1002]=eJ;n[1003]=TG;n[1004]=EN;n[1005]=pL;n[1006]=dJ;n[1007]=SG;n[1008]=DN;n[1009]=oL;n[1010]=cJ;n[1011]=RG;n[1012]=BN;n[1013]=nL;n[1014]=bJ;n[1015]=QG;n[1016]=AN;n[1017]=mL;n[1018]=aJ;n[1019]=PG;n[1020]=zN;n[1021]=lL;n[1022]=$I;n[1023]=OG;n[1024]=yN;n[1025]=kL;n[1026]=_I;n[1027]=NG;n[1028]=xN;n[1029]=jL;n[1030]=ZI;n[1031]=MG;n[1032]=wN;n[1033]=hL;n[1034]=YI;n[1035]=LG;n[1036]=vN;n[1037]=gL;n[1038]=XI;n[1039]=KG;n[1040]=$i;n[1041]=$i;n[1042]=$i;n[1043]=$i;n[1044]=uN;n[1045]=fL;n[1046]=WI;n[1047]=JG;n[1048]=tN;n[1049]=eL;n[1050]=VI;n[1051]=IG;n[1052]=sN;n[1053]=dL;n[1054]=UI;n[1055]=HG;n[1056]=rN;n[1057]=cL;n[1058]=TI;n[1059]=GG;n[1060]=qN;n[1061]=bL;n[1062]=SI;n[1063]=FG;n[1064]=pN;n[1065]=aL;n[1066]=RI;n[1067]=EG;n[1068]=oN;n[1069]=_K;n[1070]=QI;n[1071]=DG;n[1072]=nN;n[1073]=ZK;n[1074]=PI;n[1075]=CG;n[1076]=mN;n[1077]=YK;n[1078]=OI;n[1079]=BG;n[1080]=lN;n[1081]=XK;n[1082]=NI;n[1083]=AG;n[1084]=kN;n[1085]=WK;n[1086]=MI;n[1087]=zG;n[1088]=jN;n[1089]=VK;n[1090]=LI;n[1091]=yG;n[1092]=iN;n[1093]=UK;n[1094]=KI;n[1095]=xG;n[1096]=hN;n[1097]=TK;n[1098]=JI;n[1099]=vG;n[1100]=gN;n[1101]=SK;n[1102]=II;n[1103]=uG;n[1104]=_i;n[1105]=_i;n[1106]=_i;n[1107]=_i;n[1108]=dN;n[1109]=QK;n[1110]=HI;n[1111]=tG;n[1112]=cN;n[1113]=PK;n[1114]=GI;n[1115]=sG;n[1116]=bN;n[1117]=OK;n[1118]=FI;n[1119]=rG;n[1120]=aN;n[1121]=NK;n[1122]=DI;n[1123]=qG;n[1124]=$M;n[1125]=MK;n[1126]=CI;n[1127]=pG;n[1128]=_M;n[1129]=LK;n[1130]=BI;n[1131]=oG;n[1132]=ZM;n[1133]=KK;n[1134]=AI;n[1135]=mG;n[1136]=YM;n[1137]=IK;n[1138]=zI;n[1139]=lG;n[1140]=XM;n[1141]=HK;n[1142]=yI;n[1143]=kG;n[1144]=WM;n[1145]=GK;n[1146]=xI;n[1147]=jG;n[1148]=VM;n[1149]=FK;n[1150]=wI;n[1151]=iG;n[1152]=UM;n[1153]=EK;n[1154]=uI;n[1155]=hG;n[1156]=TM;n[1157]=DK;n[1158]=tI;n[1159]=gG;n[1160]=SM;n[1161]=CK;n[1162]=sI;n[1163]=fG;n[1164]=RM;n[1165]=BK;n[1166]=rI;n[1167]=eG;n[1168]=Zi;n[1169]=Zi;n[1170]=Zi;n[1171]=Zi;n[1172]=QM;n[1173]=AK;n[1174]=qI;n[1175]=dG;n[1176]=PM;n[1177]=yK;n[1178]=pI;n[1179]=cG;n[1180]=OM;n[1181]=xK;n[1182]=oI;n[1183]=bG;n[1184]=NM;n[1185]=wK;n[1186]=nI;n[1187]=aG;n[1188]=MM;n[1189]=vK;n[1190]=lI;n[1191]=$F;n[1192]=LM;n[1193]=uK;n[1194]=kI;n[1195]=_F;n[1196]=KM;n[1197]=tK;n[1198]=jI;n[1199]=ZF;n[1200]=JM;n[1201]=sK;n[1202]=iI;n[1203]=YF;n[1204]=IM;n[1205]=rK;n[1206]=hI;n[1207]=XF;n[1208]=HM;n[1209]=pK;n[1210]=gI;n[1211]=WF;n[1212]=GM;n[1213]=oK;n[1214]=fI;n[1215]=VF;n[1216]=FM;n[1217]=nK;n[1218]=eI;n[1219]=UF;n[1220]=EM;n[1221]=mK;n[1222]=dI;n[1223]=TF;n[1224]=CM;n[1225]=lK;n[1226]=bI;n[1227]=SF;n[1228]=BM;n[1229]=kK;n[1230]=aI;n[1231]=RF;n[1232]=Yi;n[1233]=Yi;n[1234]=Yi;n[1235]=Yi;n[1236]=AM;n[1237]=jK;n[1238]=$H;n[1239]=QF;n[1240]=zM;n[1241]=iK;n[1242]=_H;n[1243]=PF;n[1244]=xM;n[1245]=gK;n[1246]=YH;n[1247]=NF;n[1248]=wM;n[1249]=eK;n[1250]=XH;n[1251]=MF;n[1252]=vM;n[1253]=dK;n[1254]=WH;n[1255]=LF;n[1256]=uM;n[1257]=cK;n[1258]=VH;n[1259]=KF;n[1260]=tM;n[1261]=bK;n[1262]=UH;n[1263]=JF;n[1264]=sM;n[1265]=aK;n[1266]=SH;n[1267]=IF;n[1268]=qM;n[1269]=_J;n[1270]=QH;n[1271]=GF;n[1272]=pM;n[1273]=ZJ;n[1274]=PH;n[1275]=FF;n[1276]=nM;n[1277]=XJ;n[1278]=NH;n[1279]=DF;n[1280]=mM;n[1281]=VJ;n[1282]=MH;n[1283]=CF;n[1284]=lM;n[1285]=UJ;n[1286]=LH;n[1287]=BF;n[1288]=jM;n[1289]=TJ;n[1290]=KH;n[1291]=AF;n[1292]=iM;n[1293]=SJ;n[1294]=JH;n[1295]=zF;n[1296]=Xi;n[1297]=Xi;n[1298]=Xi;n[1299]=Xi;n[1300]=hM;n[1301]=RJ;n[1302]=HH;n[1303]=yF;n[1304]=gM;n[1305]=QJ;n[1306]=GH;n[1307]=xF;n[1308]=fM;n[1309]=PJ;n[1310]=FH;n[1311]=wF;n[1312]=eM;n[1313]=OJ;n[1314]=EH;n[1315]=uF;n[1316]=cM;n[1317]=NJ;n[1318]=DH;n[1319]=tF;n[1320]=bM;n[1321]=LJ;n[1322]=CH;n[1323]=sF;n[1324]=aM;n[1325]=KJ;n[1326]=BH;n[1327]=rF;n[1328]=$L;n[1329]=JJ;n[1330]=AH;n[1331]=qF;n[1332]=_L;n[1333]=IJ;n[1334]=yH;n[1335]=pF;n[1336]=ZL;n[1337]=HJ;n[1338]=xH;n[1339]=oF;n[1340]=YL;n[1341]=GJ;n[1342]=wH;n[1343]=nF;n[1344]=XL;n[1345]=FJ;n[1346]=vH;n[1347]=mF;n[1348]=VL;n[1349]=EJ;n[1350]=uH;n[1351]=lF;n[1352]=UL;n[1353]=DJ;n[1354]=tH;n[1355]=kF;n[1356]=TL;n[1357]=CJ;n[1358]=sH;n[1359]=jF;n[1360]=Wi;n[1361]=Wi;n[1362]=Wi;n[1363]=Wi;n[1364]=RL;n[1365]=BJ;n[1366]=rH;n[1367]=iF;n[1368]=QL;n[1369]=AJ;n[1370]=qH;n[1371]=hF;n[1372]=OL;n[1373]=yJ;n[1374]=nH;n[1375]=fF;n[1376]=ML;n[1377]=xJ;n[1378]=mH;n[1379]=eF;n[1380]=LL;n[1381]=wJ;n[1382]=lH;n[1383]=dF;n[1384]=KL;n[1385]=vJ;n[1386]=kH;n[1387]=cF;n[1388]=JL;n[1389]=uJ;n[1390]=jH;n[1391]=bF;n[1392]=IL;n[1393]=tJ;n[1394]=iH;n[1395]=aF;n[1396]=GL;n[1397]=rJ;n[1398]=gH;n[1399]=_E;n[1400]=FL;n[1401]=qJ;n[1402]=fH;n[1403]=ZE;n[1404]=DL;n[1405]=oJ;n[1406]=cH;n[1407]=XE;n[1408]=AL;n[1409]=nJ;n[1410]=bH;n[1411]=WE;n[1412]=zL;n[1413]=mJ;n[1414]=aH;n[1415]=VE;n[1416]=yL;n[1417]=lJ;n[1418]=$G;n[1419]=UE;n[1420]=xL;n[1421]=kJ;n[1422]=_G;n[1423]=TE;n[1424]=wC;n[1425]=uC;n[1426]=tC;n[1427]=sC;n[1428]=rC;n[1429]=nE;n[1430]=Ay;n[1431]=zy;n[1432]=yy;n[1433]=wy;n[1434]=vy;n[1435]=uy;n[1436]=ty;n[1437]=sy;n[1438]=ry;n[1439]=qy;n[1440]=py;n[1441]=oy;n[1442]=ny;n[1443]=ly;n[1444]=ky;n[1445]=gy;n[1446]=fy;n[1447]=ey;n[1448]=dy;n[1449]=cy;n[1450]=by;n[1451]=ay;n[1452]=$x;n[1453]=_x;n[1454]=Zx;n[1455]=Yx;n[1456]=Xx;n[1457]=Wx;n[1458]=Vx;n[1459]=Ux;n[1460]=Rx;n[1461]=Qx;n[1462]=Px;n[1463]=Ox;n[1464]=Nx;n[1465]=Lx;n[1466]=Kx;n[1467]=Jx;n[1468]=Ix;n[1469]=Hx;n[1470]=Gx;n[1471]=Fx;n[1472]=Ex;n[1473]=Dx;n[1474]=Cx;n[1475]=uu;n[1476]=ru;n[1477]=qu;n[1478]=pu;n[1479]=ou;n[1480]=nu;n[1481]=mu;n[1482]=lu;n[1483]=ku;n[1484]=ju;n[1485]=iu;n[1486]=hu;n[1487]=gu;n[1488]=fu;n[1489]=Zt;n[1490]=Yt;n[1491]=Xt;n[1492]=Wt;n[1493]=Vt;n[1494]=Ut;n[1495]=Tt;n[1496]=St;n[1497]=Rt;n[1498]=Qt;n[1499]=Ot;n[1500]=Nt;n[1501]=Mt;n[1502]=Lt;n[1503]=Bx;n[1504]=zx;n[1505]=wx;n[1506]=vx;n[1507]=wv;n[1508]=xv;n[1509]=qC;n[1510]=bt;n[1511]=$s;n[1512]=wl;n[1513]=Ys;n[1514]=mE;n[1515]=lE;n[1516]=jE;n[1517]=iE;n[1518]=dB;n[1519]=bB;n[1520]=cB;n[1521]=mB;n[1522]=lB;n[1523]=kB;n[1524]=eB;n[1525]=Ai;n[1526]=Pe;n[1527]=sA;n[1528]=qA;n[1529]=pA;n[1530]=oA;n[1531]=Ai;n[1532]=Pe;n[1533]=Jn;n[1534]=Jn;n[1535]=nA;n[1536]=Pe;n[1537]=mA;n[1538]=aA;n[1539]=dA;n[1540]=lA;n[1541]=Pe;n[1542]=bA;n[1543]=eA;n[1544]=kA;n[1545]=Pe;n[1546]=cA;n[1547]=fA;n[1548]=jA;n[1549]=Pe;n[1550]=hA;n[1551]=Iz;function Ea(){return buffer.byteLength/65536|0}function Fa(pagesToAdd){pagesToAdd=pagesToAdd|0;var Ga=Ea()|0;var Ha=Ga+pagesToAdd|0;if(Ga=0;--La){Ka[48+La]=52+La;Ka[65+La]=La;Ka[97+La]=26+La}Ka[43]=62;Ka[47]=63;function Ma(uint8Array,offset,b64){var Na,Oa,La=0,Pa=offset,Qa=b64.length,Ra=offset+(Qa*3>>2);if(b64[Qa-2]=="=")--Ra;if(b64[Qa-1]=="=")--Ra;for(;La>4;if(Pa+1>2;if(Pa+2>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":1552,"maximum":1552+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=8706928,DYNAMICTOP_PTR=3463888;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall221(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648-PAGE_MULTIPLE;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",3463952,4),3463952);function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},fetch:function(url){var _this=this;this.controller=new AbortController;var signal=this.controller.signal;fetch(url,{signal:signal}).then(function(res){var reader=res.body.getReader();_this.fetchNext=function(){reader.read().then(({done:done,value:value})=>_this.onFetchData({done:done,data:value})).catch(console.error)};_this.fetchNext()}).catch(console.error)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;if(this.ws){this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null}if(this.controller)this.controller.abort();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(ts){postMessage({cmd:"playAudio",buffer:audioOutputArray,ts:ts})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;jx.buffer))},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});var canvas=new OffscreenCanvas(w,h);var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures();this.buffers=[[],[],[]];var size=w*h;var qsize=size>>2;if(this.isWebGL){this.draw=function(compositionTime,ts){var gl=this._contextGL;var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];if(gl){var yTextureRef=this._yTextureRef;var uTextureRef=this._uTextureRef;var vTextureRef=this._vTextureRef;gl.viewport(0,0,w,h);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w,h,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(y,y+size));gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(u,u+qsize));gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(v,v+qsize));gl.drawArrays(gl.TRIANGLE_STRIP,0,4);let image_bitmap=canvas.transferToImageBitmap();postMessage({cmd:"render",compositionTime:compositionTime,ts:ts,bps:this.bps,delay:this.delay,buffer:image_bitmap},[image_bitmap])}else{}}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}},getDelay:function(timestamp){this.firstVideoTimestamp=timestamp;this.firstTimestamp=Date.now();this.getDelay=function(timestamp){this.delay=timestamp-this.firstVideoTimestamp-(Date.now()-this.firstTimestamp);return this.delay};return 0},init:function(msg){var canvas=msg.canvas;var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures()}});var decoder=new Module.Jessibuca;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"init":decoder.init(msg);break;case"getProp":postMessage({cmd:"getProp",value:decoder[msg.prop]});break;case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffer[0]);decoder.buffers[1].push(msg.buffer[1]);decoder.buffers[2].push(msg.buffer[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));break;case"setVideoBuffer":decoder.videoBuffer=msg.time*1e3|0;break;case"close":decoder.close();break}}}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/web_src/static/js/jessibuca/ff.wasm b/web_src/public/jessibuca/ff.wasm old mode 100755 new mode 100644 similarity index 100% rename from web_src/static/js/jessibuca/ff.wasm rename to web_src/public/jessibuca/ff.wasm diff --git a/web_src/public/jessibuca/ff_wasm.js b/web_src/public/jessibuca/ff_wasm.js new file mode 100644 index 00000000..f88e6c42 --- /dev/null +++ b/web_src/public/jessibuca/ff_wasm.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":1552,"maximum":1552+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=8706928,DYNAMICTOP_PTR=3463888;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall221(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648-PAGE_MULTIPLE;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",3463952,4),3463952);function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},fetch:function(url){var _this=this;this.controller=new AbortController;var signal=this.controller.signal;fetch(url,{signal:signal}).then(function(res){var reader=res.body.getReader();_this.fetchNext=function(){reader.read().then(({done:done,value:value})=>_this.onFetchData({done:done,data:value})).catch(console.error)};_this.fetchNext()}).catch(console.error)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;if(this.ws){this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null}if(this.controller)this.controller.abort();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(ts){postMessage({cmd:"playAudio",buffer:audioOutputArray,ts:ts})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;jx.buffer))},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});var canvas=new OffscreenCanvas(w,h);var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures();this.buffers=[[],[],[]];var size=w*h;var qsize=size>>2;if(this.isWebGL){this.draw=function(compositionTime,ts){var gl=this._contextGL;var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];if(gl){var yTextureRef=this._yTextureRef;var uTextureRef=this._uTextureRef;var vTextureRef=this._vTextureRef;gl.viewport(0,0,w,h);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w,h,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(y,y+size));gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(u,u+qsize));gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(v,v+qsize));gl.drawArrays(gl.TRIANGLE_STRIP,0,4);let image_bitmap=canvas.transferToImageBitmap();postMessage({cmd:"render",compositionTime:compositionTime,ts:ts,bps:this.bps,delay:this.delay,buffer:image_bitmap},[image_bitmap])}else{}}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}},getDelay:function(timestamp){this.firstVideoTimestamp=timestamp;this.firstTimestamp=Date.now();this.getDelay=function(timestamp){this.delay=timestamp-this.firstVideoTimestamp-(Date.now()-this.firstTimestamp);return this.delay};return 0},init:function(msg){var canvas=msg.canvas;var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures()}});var decoder=new Module.Jessibuca;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"init":decoder.init(msg);break;case"getProp":postMessage({cmd:"getProp",value:decoder[msg.prop]});break;case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffer[0]);decoder.buffers[1].push(msg.buffer[1]);decoder.buffers[2].push(msg.buffer[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));break;case"setVideoBuffer":decoder.videoBuffer=msg.time*1e3|0;break;case"close":decoder.close();break}}}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _setTempRet0($i){setTempRet0($i|0)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"S":___cxa_allocate_exception,"R":___cxa_throw,"N":___syscall221,"K":___syscall3,"M":___syscall5,"Q":__embind_create_inheriting_constructor,"G":__embind_register_bool,"A":__embind_register_class,"v":__embind_register_class_class_function,"o":__embind_register_class_function,"n":__embind_register_class_property,"F":__embind_register_emval,"u":__embind_register_float,"i":__embind_register_integer,"f":__embind_register_memory_view,"w":__embind_register_std_string,"s":__embind_register_std_wstring,"H":__embind_register_void,"k":__emval_as,"t":__emval_call,"z":__emval_call_method,"g":__emval_call_void_method,"b":__emval_decref,"r":__emval_get_global,"e":__emval_get_method_caller,"m":__emval_get_property,"l":__emval_incref,"U":__emval_new,"d":__emval_new_cstring,"T":__emval_new_object,"h":__emval_run_destructors,"p":__emval_set_property,"j":__emval_take_value,"a":_abort,"q":_clock,"c":_emscripten_log,"D":_emscripten_memcpy_big,"E":_emscripten_resize_heap,"I":_environ_get,"J":_environ_sizes_get,"y":_fd_close,"L":_fd_fdstat_get,"B":_fd_seek,"x":_fd_write,"O":_gettimeofday,"V":_init,"memory":wasmMemory,"P":_round,"C":_setTempRet0,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["W"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["X"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Y"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["Z"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["_"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["$"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["aa"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ba"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ca"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["da"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["ea"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["fa"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["ga"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["ha"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ia"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["ja"]).apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){return(dynCall_dd=Module["dynCall_dd"]=Module["asm"]["ka"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["la"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["ma"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["na"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["oa"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["pa"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["qa"]).apply(null,arguments)};var dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=function(){return(dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=Module["asm"]["ra"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["sa"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["ta"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["ua"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["va"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ca"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/web_src/public/jessibuca/ff_wasm.wasm b/web_src/public/jessibuca/ff_wasm.wasm new file mode 100644 index 00000000..46537313 Binary files /dev/null and b/web_src/public/jessibuca/ff_wasm.wasm differ diff --git a/web_src/public/jessibuca/index.js b/web_src/public/jessibuca/index.js new file mode 100644 index 00000000..639e40dc --- /dev/null +++ b/web_src/public/jessibuca/index.js @@ -0,0 +1,3 @@ +!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};function e(t){return t&&t.__esModule?t.default:t}function r(t,e,r){Object.defineProperty(t,e,{get:r,enumerable:!0})}var n,i,o=!1;function a(){return o||(o=!0,i=t=>{var e=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),r=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n"),n=t.createShader(t.VERTEX_SHADER);t.shaderSource(n,e),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+t.getShaderInfoLog(n));var i=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(i,r),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+t.getShaderInfoLog(i));var o=t.createProgram();t.attachShader(o,n),t.attachShader(o,i),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)||console.log("Program failed to compile: "+t.getProgramInfoLog(o)),t.useProgram(o);var a=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),t.STATIC_DRAW);var s=t.getAttribLocation(o,"vertexPos");t.enableVertexAttribArray(s),t.vertexAttribPointer(s,2,t.FLOAT,!1,0,0);var f=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,f),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),t.STATIC_DRAW);var u=t.getAttribLocation(o,"texturePos");function h(e,r){var n=t.createTexture();return t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindTexture(t.TEXTURE_2D,null),t.uniform1i(t.getUniformLocation(o,e),r),n}t.enableVertexAttribArray(u),t.vertexAttribPointer(u,2,t.FLOAT,!1,0,0);var c=h("ySampler",0),d=h("uSampler",1),l=h("vSampler",2);return function(e,r,n,i,o){t.viewport(0,0,e,r),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,c),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e,r,0,t.LUMINANCE,t.UNSIGNED_BYTE,n),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,d),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,i),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,l),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,o),t.drawArrays(t.TRIANGLE_STRIP,0,4)}},r(n={},"default",(function(){return i}))),n}var s,f,u=!1;function h(){s={},a(),f=t=>{const e=document.createElement("canvas");e.style.position="absolute",e.style.top=0,e.style.left=0,t.$container.appendChild(e),t.$canvasElement=e,t.$container.style.overflow="hidden","absolute"!==t.$container.style.position&&(t.$container.style.position="relative");if(!t._supportOffscreen()){const e=(()=>{const e=t.$canvasElement;let r=null;const n=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let i=0;for(;!r&&i{t._contextGL&&(t._contextGL=null),t._contextGLRender&&(t._contextGLRender=null),t._bitmaprenderer&&(t._bitmaprenderer=null)}},r(s,"default",(function(){return f}))}function c(){return u||(u=!0,h()),s}var d,l,p,m,b,g,v=!1;function y(){return v||(v=!0,l={videoBuffer:.5,vod:!1,isResize:!0,isFullSize:!1,debug:!1,timeout:30,supportDblclickFullscreen:!1,showBandwidth:!1,keepScreenOn:!1,isNotMute:!1,hasAudio:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1},loadingText:"",background:"",decoder:"index.js",rotate:0,text:"",forceNoOffscreen:!1,hiddenAutoPause:!1},r(d={},"DEFAULT_OPTIONS",(function(){return l})),p={init:"init",initSize:"initSize",render:"render",playAudio:"playAudio",print:"print",printErr:"printErr",initAudioPlanar:"initAudioPlanar",kBps:"kBps"},r(d,"CMD_TYPE",(function(){return p})),m={close:"close",play:"play",setVideoBuffer:"setVideoBuffer",init:"init"},r(d,"POST_MESSAGE",(function(){return m})),b={fullscreen:"fullscreen",play:"play",pause:"pause",mute:"mute",load:"load",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",stats:"stats",performance:"performance",record:"record",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata"},r(d,"EVEMTS",(function(){return b})),g={empty:"empty",buffering:"buffering",full:"full"},r(d,"BUFFER_STATUS",(function(){return g}))),d}var w,_=!1;function A(t){t.resume();const e=t.createBufferSource();e.buffer=t.createBuffer(1,1,22050),e.connect(t.destination),e.noteOn?e.noteOn(0):e.start(0)}function M(t,e){t&&(t.style.display=e?"block":"none")}function E(t=""){const e=t.split(","),r=atob(e[1]),n=e[0].replace("data:","").replace(";base64","");let i=r.length,o=new Uint8Array(i);for(;i--;)o[i]=r.charCodeAt(i);return new File([o],"file",{type:n})}function S(t,e){const r=document.createElement("a");r.download=e,r.href=URL.createObjectURL(t),r.click(),URL.revokeObjectURL(t)}function k(t){if(null==t||""===t)return"0 KB/S";let e=parseFloat(t);return e=e.toFixed(2),e+"KB/S"}function B(t){let e=0;return t>=24?e=2:t>=15&&(e=1),e}function T(t,e){Object.keys(e||{}).forEach((function(r){t.style[r]=e[r]}))}function R(){let t=document.fullscreenElement||window.webkitFullscreenElement||document.msFullscreenElement;return void 0===t&&(t=!1),!!t}function x(){}function C(){return(new Date).getTime()}function I(t){Object.keys(t||{}).forEach((e=>{"bgDom"!==e&&M(t[e],!1)}))}function D(t){M(t.pauseDom,!0),M(t.screenshotsDom,!0),M(t.fullscreenDom,!0),M(t.quietAudioDom,!0),M(t.textDom,!0),M(t.speedDom,!0),M(t.recordDom,!0),M(t.loadingDom,!1),M(t.playDom,!1),M(t.playBigDom,!1),M(t.bgDom,!1)}function P(t,e){let r=y().BUFFER_STATUS.buffering;return 0===t?r=y().BUFFER_STATUS.empty:t>=e&&(r=y().BUFFER_STATUS.full),r}function O(){return _||(_=!0,w={},y(),r(w,"audioContextUnlock",(function(){return A})),r(w,"$domToggle",(function(){return M})),r(w,"dataURLToFile",(function(){return E})),r(w,"downloadImg",(function(){return S})),r(w,"bpsSize",(function(){return k})),r(w,"fpsStatus",(function(){return B})),r(w,"setStyle",(function(){return T})),r(w,"checkFull",(function(){return R})),r(w,"noop",(function(){return x})),r(w,"now",(function(){return C})),r(w,"$hideBtns",(function(){return I})),r(w,"$initBtns",(function(){return D})),r(w,"bufferStatus",(function(){return P}))),w}var L,U,j=!1;function N(){return j||(j=!0,L={},O(),U=t=>{t._audioContext=new(window.AudioContext||window.webkitAudioContext),t._gainNode=t._audioContext.createGain(),t._audioEnabled=e=>{e?(O().audioContextUnlock(t._audioContext),t._audioEnabled=e=>{e?t._audioContext.resume():t._audioContext.suspend()},t._audioContext.resume()):t._audioContext.suspend()},t._audioEnabled(!0),t._mute=()=>{t._audioEnabled(!1),t.quieting=!0},t._cancelMute=()=>{t._audioEnabled(!0),t.quieting=!1},t._audioResume=()=>{t._cancelMute()},t._initAudioPlanar=e=>{const r=t._audioContext;if(!r)return!1;let n=[];const i=r.createScriptProcessor(1024,0,2);i.onaudioprocess=function(t){if(n.length){const r=n.shift();for(let n=0;n{i.disconnect(t._gainNode),t._gainNode.disconnect(r.destination),delete t._closeAudio,n=[]},t._gainNode.connect(r.destination),t._playAudio=t=>n.push(t)},t._destroyAudioContext=()=>{t._audioContext.close(),t._audioContext=null,t._gainNode=null}},r(L,"default",(function(){return U}))),L}var z,F,q=!1;function W(){return q||(q=!0,z={},O(),F=t=>{t._resize$2=()=>t.resize(),t._handleVisibilityChange$2=()=>t._handleVisibilityChange(),t._onfullscreenchange$2=()=>t._onfullscreenchange(),t._handleWakeLock$2=()=>t._handleWakeLock(),window.addEventListener("resize",t._resize$2),window.addEventListener("fullscreenchange",t._onfullscreenchange$2),document.addEventListener("visibilitychange",t._handleVisibilityChange$2),document.addEventListener("visibilitychange",t._handleWakeLock$2),window.addEventListener("fullscreenchange",t._handleWakeLock$2),t._opt.supportDblclickFullscreen&&t.$canvasElement.addEventListener("dblclick",(()=>{t.fullscreen=!t.fullscreen}),!1),t._removeEventListener=()=>{window.removeEventListener("resize",t._resize$2),window.removeEventListener("fullscreenchange",t._onfullscreenchange$2),document.removeEventListener("visibilitychange",t._handleWakeLock$2),document.removeEventListener("visibilitychange",t._handleVisibilityChange$2),window.removeEventListener("fullscreenchange",t._handleWakeLock$2)},t.$doms.playDom&&t.$doms.playDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.playBigDom&&t.$doms.playBigDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.pauseDom&&t.$doms.pauseDom.addEventListener("click",(e=>{e.stopPropagation(),t._pause()}),!1),t.$doms.screenshotsDom&&t.$doms.screenshotsDom.addEventListener("click",(e=>{e.stopPropagation();const r=(t._opt.text||"")+""+O().now();t._screenshot(r)}),!1),t.$doms.fullscreenDom&&t.$doms.fullscreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!0}),!1),t.$doms.minScreenDom&&t.$doms.minScreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!1}),!1),t.$doms.recordDom&&t.$doms.recordDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!0}),!1),t.$doms.recordingDom&&t.$doms.recordingDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!1}),!1),t.$doms.quietAudioDom&&t.$doms.quietAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._cancelMute()}),!1),t.$doms.playAudioDom&&t.$doms.playAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._mute()}),!1),t._enableWakeLock()},r(z,"default",(function(){return F}))),z}var H,G,Y=!1;function K(){return Y||(Y=!0,H={},O(),W(),G=t=>{t._showControl=()=>{let e=!1,r=!1;return Object.keys(t._opt.operateBtns).forEach((e=>{t._opt.operateBtns[e]&&(r=!0)})),(t._opt.showBandwidth||t._opt.text||r)&&(e=!0),e};const e={},r=document.createDocumentFragment(),n=document.createElement("div"),i=document.createElement("div"),o=document.createElement("div"),a=document.createElement("div"),s=document.createElement("div"),f=document.createElement("div"),u=document.createElement("div"),h=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),l=document.createElement("div"),p=document.createElement("div"),m=document.createElement("div"),b=document.createElement("div"),g=document.createElement("div"),v=document.createElement("div"),y=document.createElement("div"),w=document.createElement("div");m.innerText=t._opt.loadingText||"",a.innerText=t._opt.text||"",s.innerText="",f.title="播放",h.title="暂停",c.title="截屏",d.title="全屏",l.title="退出全屏",b.title="静音",g.title="取消静音",v.title="录制",y.title="取消录制";let _={position:"absolute",width:"100%",height:"100%"};t._opt.background&&(_=Object.assign({},_,{backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",backgroundImage:"url('"+t._opt.background+"')"}));const A={position:"absolute",width:"100%",height:"100%",textAlign:"center",color:"#fff",display:"none",backgroundImage:"url('data:image/gif;base64,R0lGODlhgACAAKIAAP///93d3bu7u5mZmQAA/wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAEACwCAAIAfAB8AAAD/0i63P4wygYqmDjrzbtflvWNZGliYXiubKuloivPLlzReD7al+7/Eh5wSFQIi8hHYBkwHUmD6CD5YTJLz49USuVYraRsZ7vtar7XnQ1Kjpoz6LRHvGlz35O4nEPP2O94EnpNc2sef1OBGIOFMId/inB6jSmPdpGScR19EoiYmZobnBCIiZ95k6KGGp6ni4wvqxilrqBfqo6skLW2YBmjDa28r6Eosp27w8Rov8ekycqoqUHODrTRvXsQwArC2NLF29UM19/LtxO5yJd4Au4CK7DUNxPebG4e7+8n8iv2WmQ66BtoYpo/dvfacBjIkITBE9DGlMvAsOIIZjIUAixliv9ixYZVtLUos5GjwI8gzc3iCGghypQqrbFsme8lwZgLZtIcYfNmTJ34WPTUZw5oRxdD9w0z6iOpO15MgTh1BTTJUKos39jE+o/KS64IFVmsFfYT0aU7capdy7at27dw48qdS7eu3bt480I02vUbX2F/JxYNDImw4GiGE/P9qbhxVpWOI/eFKtlNZbWXuzlmG1mv58+gQ4seTbq06dOoU6vGQZJy0FNlMcV+czhQ7SQmYd8eMhPs5BxVdfcGEtV3buDBXQ+fURxx8oM6MT9P+Fh6dOrH2zavc13u9JXVJb520Vp8dvC76wXMuN5Sepm/1WtkEZHDefnzR9Qvsd9+/wi8+en3X0ntYVcSdAE+UN4zs7ln24CaLagghIxBaGF8kFGoIYV+Ybghh841GIyI5ICIFoklJsigihmimJOLEbLYIYwxSgigiZ+8l2KB+Ml4oo/w8dijjcrouCORKwIpnJIjMnkkksalNeR4fuBIm5UEYImhIlsGCeWNNJphpJdSTlkml1jWeOY6TnaRpppUctcmFW9mGSaZceYopH9zkjnjUe59iR5pdapWaGqHopboaYua1qije67GJ6CuJAAAIfkEBQUABAAsCgACAFcAMAAAA/9Iutz+ML5Ag7w46z0r5WAoSp43nihXVmnrdusrv+s332dt4Tyo9yOBUJD6oQBIQGs4RBlHySSKyczVTtHoidocPUNZaZAr9F5FYbGI3PWdQWn1mi36buLKFJvojsHjLnshdhl4L4IqbxqGh4gahBJ4eY1kiX6LgDN7fBmQEJI4jhieD4yhdJ2KkZk8oiSqEaatqBekDLKztBG2CqBACq4wJRi4PZu1sA2+v8C6EJexrBAD1AOBzsLE0g/V1UvYR9sN3eR6lTLi4+TlY1wz6Qzr8u1t6FkY8vNzZTxaGfn6mAkEGFDgL4LrDDJDyE4hEIbdHB6ESE1iD4oVLfLAqPETIsOODwmCDJlv5MSGJklaS6khAQAh+QQFBQAEACwfAAIAVwAwAAAD/0i63P5LSAGrvTjrNuf+YKh1nWieIumhbFupkivPBEzR+GnnfLj3ooFwwPqdAshAazhEGUXJJIrJ1MGOUamJ2jQ9QVltkCv0XqFh5IncBX01afGYnDqD40u2z76JK/N0bnxweC5sRB9vF34zh4gjg4uMjXobihWTlJUZlw9+fzSHlpGYhTminKSepqebF50NmTyor6qxrLO0L7YLn0ALuhCwCrJAjrUqkrjGrsIkGMW/BMEPJcphLgDaABjUKNEh29vdgTLLIOLpF80s5xrp8ORVONgi8PcZ8zlRJvf40tL8/QPYQ+BAgjgMxkPIQ6E6hgkdjoNIQ+JEijMsasNY0RQix4gKP+YIKXKkwJIFF6JMudFEAgAh+QQFBQAEACw8AAIAQgBCAAAD/kg0PPowykmrna3dzXvNmSeOFqiRaGoyaTuujitv8Gx/661HtSv8gt2jlwIChYtc0XjcEUnMpu4pikpv1I71astytkGh9wJGJk3QrXlcKa+VWjeSPZHP4Rtw+I2OW81DeBZ2fCB+UYCBfWRqiQp0CnqOj4J1jZOQkpOUIYx/m4oxg5cuAaYBO4Qop6c6pKusrDevIrG2rkwptrupXB67vKAbwMHCFcTFxhLIt8oUzLHOE9Cy0hHUrdbX2KjaENzey9Dh08jkz8Tnx83q66bt8PHy8/T19vf4+fr6AP3+/wADAjQmsKDBf6AOKjS4aaHDgZMeSgTQcKLDhBYPEswoA1BBAgAh+QQFBQAEACxOAAoAMABXAAAD7Ei6vPOjyUkrhdDqfXHm4OZ9YSmNpKmiqVqykbuysgvX5o2HcLxzup8oKLQQix0UcqhcVo5ORi+aHFEn02sDeuWqBGCBkbYLh5/NmnldxajX7LbPBK+PH7K6narfO/t+SIBwfINmUYaHf4lghYyOhlqJWgqDlAuAlwyBmpVnnaChoqOkpaanqKmqKgGtrq+wsbA1srW2ry63urasu764Jr/CAb3Du7nGt7TJsqvOz9DR0tPU1TIA2ACl2dyi3N/aneDf4uPklObj6OngWuzt7u/d8fLY9PXr9eFX+vv8+PnYlUsXiqC3c6PmUUgAACH5BAUFAAQALE4AHwAwAFcAAAPpSLrc/m7IAau9bU7MO9GgJ0ZgOI5leoqpumKt+1axPJO1dtO5vuM9yi8TlAyBvSMxqES2mo8cFFKb8kzWqzDL7Xq/4LB4TC6bz1yBes1uu9uzt3zOXtHv8xN+Dx/x/wJ6gHt2g3Rxhm9oi4yNjo+QkZKTCgGWAWaXmmOanZhgnp2goaJdpKGmp55cqqusrZuvsJays6mzn1m4uRAAvgAvuBW/v8GwvcTFxqfIycA3zA/OytCl0tPPO7HD2GLYvt7dYd/ZX99j5+Pi6tPh6+bvXuTuzujxXens9fr7YPn+7egRI9PPHrgpCQAAIfkEBQUABAAsPAA8AEIAQgAAA/lIutz+UI1Jq7026h2x/xUncmD5jehjrlnqSmz8vrE8u7V5z/m5/8CgcEgsGo/IpHLJbDqf0Kh0ShBYBdTXdZsdbb/Yrgb8FUfIYLMDTVYz2G13FV6Wz+lX+x0fdvPzdn9WeoJGAYcBN39EiIiKeEONjTt0kZKHQGyWl4mZdREAoQAcnJhBXBqioqSlT6qqG6WmTK+rsa1NtaGsuEu6o7yXubojsrTEIsa+yMm9SL8osp3PzM2cStDRykfZ2tfUtS/bRd3ewtzV5pLo4eLjQuUp70Hx8t9E9eqO5Oku5/ztdkxi90qPg3x2EMpR6IahGocPCxp8AGtigwQAIfkEBQUABAAsHwBOAFcAMAAAA/9Iutz+MMo36pg4682J/V0ojs1nXmSqSqe5vrDXunEdzq2ta3i+/5DeCUh0CGnF5BGULC4tTeUTFQVONYAs4CfoCkZPjFar83rBx8l4XDObSUL1Ott2d1U4yZwcs5/xSBB7dBMBhgEYfncrTBGDW4WHhomKUY+QEZKSE4qLRY8YmoeUfkmXoaKInJ2fgxmpqqulQKCvqRqsP7WooriVO7u8mhu5NacasMTFMMHCm8qzzM2RvdDRK9PUwxzLKdnaz9y/Kt8SyR3dIuXmtyHpHMcd5+jvWK4i8/TXHff47SLjQvQLkU+fG29rUhQ06IkEG4X/Rryp4mwUxSgLL/7IqFETB8eONT6ChCFy5ItqJomES6kgAQAh+QQFBQAEACwKAE4AVwAwAAAD/0i63A4QuEmrvTi3yLX/4MeNUmieITmibEuppCu3sDrfYG3jPKbHveDktxIaF8TOcZmMLI9NyBPanFKJp4A2IBx4B5lkdqvtfb8+HYpMxp3Pl1qLvXW/vWkli16/3dFxTi58ZRcChwIYf3hWBIRchoiHiotWj5AVkpIXi4xLjxiaiJR/T5ehoomcnZ+EGamqq6VGoK+pGqxCtaiiuJVBu7yaHrk4pxqwxMUzwcKbyrPMzZG90NGDrh/JH8t72dq3IN1jfCHb3L/e5ebh4ukmxyDn6O8g08jt7tf26ybz+m/W9GNXzUQ9fm1Q/APoSWAhhfkMAmpEbRhFKwsvCsmosRIHx444PoKcIXKkjIImjTzjkQAAIfkEBQUABAAsAgA8AEIAQgAAA/VIBNz+8KlJq72Yxs1d/uDVjVxogmQqnaylvkArT7A63/V47/m2/8CgcEgsGo/IpHLJbDqf0Kh0Sj0FroGqDMvVmrjgrDcTBo8v5fCZki6vCW33Oq4+0832O/at3+f7fICBdzsChgJGeoWHhkV0P4yMRG1BkYeOeECWl5hXQ5uNIAOjA1KgiKKko1CnqBmqqk+nIbCkTq20taVNs7m1vKAnurtLvb6wTMbHsUq4wrrFwSzDzcrLtknW16tI2tvERt6pv0fi48jh5h/U6Zs77EXSN/BE8jP09ZFA+PmhP/xvJgAMSGBgQINvEK5ReIZhQ3QEMTBLAAAh+QQFBQAEACwCAB8AMABXAAAD50i6DA4syklre87qTbHn4OaNYSmNqKmiqVqyrcvBsazRpH3jmC7yD98OCBF2iEXjBKmsAJsWHDQKmw571l8my+16v+CweEwum8+hgHrNbrvbtrd8znbR73MVfg838f8BeoB7doN0cYZvaIuMjY6PkJGSk2gClgJml5pjmp2YYJ6dX6GeXaShWaeoVqqlU62ir7CXqbOWrLafsrNctjIDwAMWvC7BwRWtNsbGFKc+y8fNsTrQ0dK3QtXAYtrCYd3eYN3c49/a5NVj5eLn5u3s6e7x8NDo9fbL+Mzy9/T5+tvUzdN3Zp+GBAAh+QQJBQAEACwCAAIAfAB8AAAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdArcQK2TOL7/nl4PSMwIfcUk5YhUOh3M5nNKiOaoWCuWqt1Ou16l9RpOgsvEMdocXbOZ7nQ7DjzTaeq7zq6P5fszfIASAYUBIYKDDoaGIImKC4ySH3OQEJKYHZWWi5iZG0ecEZ6eHEOio6SfqCaqpaytrpOwJLKztCO2jLi1uoW8Ir6/wCHCxMG2x7muysukzb230M6H09bX2Nna29zd3t/g4cAC5OXm5+jn3Ons7eba7vHt2fL16tj2+QL0+vXw/e7WAUwnrqDBgwgTKlzIsKHDh2gGSBwAccHEixAvaqTYcFCjRoYeNyoM6REhyZIHT4o0qPIjy5YTTcKUmHImx5cwE85cmJPnSYckK66sSAAj0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gwxZJAAA7')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"40px 40px"},M={position:"absolute",width:"100%",height:"100%",display:"none",background:"rgba(0,0,0,0.4)",backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAByBJREFUeNrlXFlIVV0U3vsaaINmZoX0YAR6y8oGMkKLoMESSjBoUJEoIogoIggigoryIQoKGqi3Roh6TKGBIkNEe6hMgzTNKLPSUlMrNdvrf/juurlP5zpc7znb+r+X755pn7W+Pe+9zpVimIEUKVKJiUIKKWRqKs5OmwZOTBQkSFBUFK5HR+tPt7WBOzpwX3U1jquqwGVleK6iQkoppSQy7a8xEBERLVwIPnsWXF9PrqCxEXzxInjpUrDH47YO0h2hw8JwtG4deN8+8OzZA0vl7Vt/iZZCCtnUhPPt7fp9o0fjvpgYHHu9uD8+Hsdsh52hggTV1uLg2DHwpUvSIz3S093ttE4hB5qSxYuRAc+f910im5vBFy6As7LALORQ7RgzBullZIBPngQ3NPRt1+vXeH7NGtN69u8oERFFRIDPnQMrZe8YZ0huLhwMDzdjb1gYC4zj4uKAeaFIkbpxAwfWvse48FOngp89s7eeS1p2Nlg63vQF7Y8iRWrlSthZXR2wZhAR0dy55gwlIqI5c8AfPtgbeuUKHIqKMi3soP3z1UzwiRP2NbqtDbxsmXuGacK3tOgG/fwJ3rbNtIDO+J2ZiQzp6ND97uzE+RUrHDaAmxprif/+HQasXm1aKKcBPxcsADc1/VEjFClS8+eH7oXcuSpSpJ480V/Y0wPOyjItjNtgofWmiPHuHa7Hxg79RUT0e1Rjxb/X1ASnDw9vf/3S9bl1K/iEFSlSixbZdz7Xr5t2fLgBuuTn2xfUjRsHmVBYGNg6gWpo+FtHNU4DuowYAZ3Ky+11GzOm/4SIiGjDBvuczM52zAHua4iI6OpVcGEheO1a8PCdP/j9CNRyKFKk9u4doBDWCRXXBOcE0GekgVBUhPuSk00LPTAdCwp0+3n0GBER4AFenbQiJ8cdg7dvpwGB5xunT4PHjTMtuL0/qan29q9fH+AB62jnyxe31moGlwFWNDbCzq1bcez+snLffr14odtrMzrCBet6/Pnz7hoabAZY8fgxT5iGRwbs36/b19kJHjnS49+BEkIIMXmy/vjt26YdCA4pKdgHKC2Fo5cvh2xiFBTu3NGPw8Ox/5CW5tG3/hi8VffokRmDQwUeNOTlwc/KSmRIbq67djx9Cm5p+W2akEKmpfnaSt5zZdTXY8+0udmQcg5h0iQwD3MfPgRPn+7UG6GjUjiqrNSver0eVIWEBP85EiSIN7H/dSxZAuY1roMHHRt02OqamOhrgnoN46SQQn76ZFoad8Hj8kOH4D/PZJOSQvYKW11jYnxNkHWK3NFhWhKz8HrB9+7xaCU06fYKIiBBgiIjfRlgHTf/j+NlNMTFgceOHXJSJEgQ9wXCVyOk9AlvLfEDWDT6X+DAAXSiHz8OOSkppJCRkfrJ9vYR+NHaql8wNV42jVevUFJ37kQ8kHX8PlRMmOD/SYIEtbZ69IAkvsATs38dP36ADx8GJyc7IzyD+xbhqxE1Nb4a8PKlfiE+HsOxyEgYZI1A+9tRUADetQtNTF2dU29CJ84Twhkz9KtVVb4+oKxMvxAWxjM101KFBvX1qNmbNkHwNWucFl4HT/QmTvSfIkGCSks9HC2MsxxzyTekp5uWLjh0dYHz88FeL2ry5ctm7LHq2NMD7rXUg6rC0cKM9+/BfQS1hghDXg1VpEjdvasvLpqHf3VWs/P+/QA3Lltm75jz8T7BZQAvn9tscJgWXpEiNWuWvd2bNwcQwONbnq6p0R8oLnYnA7Zs6Vvw7m7Yd/z4gDe5DQH2Xrum29/SwoObfh7cts1egFWrnDU4Lg785g2Ytx4LC2H4zJmmhe3XD5+dsJsD1xhHjgwwgfBwPFBXpydQXe3uFqXzfU9o7ZUSXFRkX/IHMcENGKXgixY27fBwA8TZudO+5dixY4gJ37xpyQVfvEtmpmnHTQMFMiUFevBeL6OkZMg1GQlER4P5wwTGt29g65bmvw/4HShanD+5mjIlxC+cNw/cKxqYw7RDHZY9TOEXXpEiVVurC8+jtJUrnTNAkSK1fDle2NWlG9DeDs7IMC2UM35zU2Mt8Urhel6eywalp+vCMzhM++hRDlo1LeCg/dNGNdy5Wtt4LvEuCv+HodqHCu/e2Y8Cyss5aNW0sAPzh8fx1uEkgyMGHWxqgjM8NhYGWoNSraMnvm6+89aXDHjmap1AMUpKcD9/+D2MAYNzcsD9fRDNsZMcwsedfehiPJFeUhJ4925wWVnfdvFHiDt2gEM/MXT+rwp47UMKKeT27Ti7Zw+YA6UCgbdKKyr8cTVSSCEbG3Ge/5yDwWtD48fjfv6rAl7C6LUeb4uvX8FnzuD5U6ewjP35s9M6uQaUJP4Qgz8E4SbJ2sk5BV5jevAAvHmzqS9/hs0XJxBi1CgOWtVjVnlHKSEB16Oj/wgoE0L8LsFcM169AldV8Q4UjouKULKtNch9/AdsEf6XQYgIsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0xMlQxMTo1NjowNSswODowMGcMj/QAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMTJUMTE6NTY6MDUrMDg6MDAWUTdIAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9wZHMzeWYxNGczYi9ib2Zhbmcuc3Zn11us5wAAAABJRU5ErkJggg==')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"48px 48px",cursor:"pointer"},E={position:"absolute",top:0,height:"100%",display:"flex",alignItems:"center"},S={display:"none",position:"relative",fontSize:"13px",color:"#fff",lineHeight:"20px",marginLeft:"5px",marginRight:"5px",userSelect:"none"},k={display:"none",position:"relative",width:"16px",height:"16px",marginLeft:"8px",marginRight:"8px",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",cursor:"pointer"};O().setStyle(w,_),O().setStyle(n,{height:"38px",zIndex:11,position:"absolute",left:0,bottom:0,width:"100%",background:"rgba(0,0,0)"}),O().setStyle(p,A),O().setStyle(u,M),O().setStyle(m,{position:"absolute",width:"100%",top:"60%",textAlign:"center"}),O().setStyle(i,Object.assign({},E,{left:0})),O().setStyle(o,Object.assign({},E,{right:0})),O().setStyle(a,S),O().setStyle(s,S),O().setStyle(f,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII=')"})),O().setStyle(h,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII=')"})),O().setStyle(c,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC')"})),O().setStyle(d,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg==')"})),O().setStyle(l,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg==')"})),O().setStyle(b,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg==')"})),O().setStyle(g,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg==')"})),O().setStyle(v,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg==')"})),O().setStyle(y,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg==')"})),p.appendChild(m),t._opt.text&&(i.appendChild(a),e.textDom=a),t._opt.showBandwidth&&(i.appendChild(s),e.speedDom=s),t._opt.operateBtns.record&&(o.appendChild(y),o.appendChild(v),e.recordingDom=y,e.recordDom=v),t._opt.operateBtns.screenshot&&(o.appendChild(c),e.screenshotsDom=c),t._opt.operateBtns.play&&(o.appendChild(f),o.appendChild(h),e.playDom=f,e.pauseDom=h),t._opt.operateBtns.audio&&(o.appendChild(g),o.appendChild(b),e.playAudioDom=g,e.quietAudioDom=b),t._opt.operateBtns.fullscreen&&(o.appendChild(d),o.appendChild(l),e.fullscreenDom=d,e.minScreenDom=l),n.appendChild(i),n.appendChild(o),r.appendChild(w),e.bgDom=w,r.appendChild(p),e.loadingDom=p,t._showControl()&&r.appendChild(n),t._opt.operateBtns.play&&(r.appendChild(u),e.playBigDom=u),t.$container.appendChild(r),t.$doms=e,t._removeContainerChild=()=>{for(;t.$container.firstChild;)t.$container.removeChild(t.$container.firstChild)},W().default(t),O().$hideBtns(t.$doms),t._opt.isNotMute||t._mute()},r(H,"default",(function(){return G}))),H}var V,Z,$=!1;function X(){return $||($=!0,V={},y(),O(),Z=t=>{const e=new Worker(t._opt.decoder);e.onmessage=r=>{const n=r.data;switch(n.cmd){case y().CMD_TYPE.init:t.setBufferTime(t._opt.videoBuffer),e.postMessage({cmd:y().POST_MESSAGE.init,opt:JSON.stringify(t._opt),sampleRate:t._audioContext.sampleRate}),t._hasLoaded||(t._hasLoaded=!0,t.onLoad(),t._trigger(y().EVEMTS.load));break;case y().CMD_TYPE.initSize:t.$canvasElement.width=n.w,t.$canvasElement.height=n.h,t.onInitSize(),t._resize(),t._trigger(y().EVEMTS.videoInfo,{w:n.w,h:n.h}),t._trigger(y().EVEMTS.start),t._supportOffscreen()&&(t._bitmaprenderer=t.$canvasElement.getContext("bitmaprenderer"));break;case y().CMD_TYPE.render:t.loading&&(t.loading=!1,t.playing=!0,t._clearCheckLoading()),t.playing&&(t._supportOffscreen()?t._bitmaprenderer.transferFromImageBitmap(n.buffer):t._contextGLRender(t.$canvasElement.width,t.$canvasElement.height,n.output[0],n.output[1],n.output[2])),t._trigger(y().EVEMTS.timeUpdate,n.ts),t.onTimeUpdate(n.ts),t._updateStats({buf:n.delay,ts:n.ts}),t._checkHeart();break;case y().CMD_TYPE.playAudio:t.playing&&!t.quieting&&t._playAudio(n.buffer);break;case y().CMD_TYPE.print:t.onLog(n.text),t._trigger(y().EVEMTS.log,n.text);break;case y().CMD_TYPE.printErr:t.onLog(n.text),t._trigger(y().EVEMTS.log,n.text),t.onError(n.text),t._trigger(y().EVEMTS.error,n.text);break;case y().CMD_TYPE.initAudioPlanar:t._initAudioPlanar(n),t._trigger(y().EVEMTS.audioInfo,{numOfChannels:n.channels,sampleRate:n.samplerate});break;case y().CMD_TYPE.kBps:t.playing&&(t.$doms.speedDom&&(t.$doms.speedDom.innerText=O().bpsSize(n.kBps)),t._trigger(y().EVEMTS.kBps,n.kBps));default:t[n.cmd]&&t[n.cmd](n)}},t._decoderWorker=e},r(V,"default",(function(){return Z}))),V}var J,Q,tt=!1;function et(){return tt||(tt=!0,J={},O(),y(),Q=t=>{t._loading=!0,t._recording=!1,t._playing=!1,t._audioPlaying=!1,t._quieting=!1,t._fullscreen=!1,t._stats={buf:0,fps:0,abps:"",vbps:"",ts:""},t._hasLoaded=!1,t._playUrl="",t._startBpsTime="",t._bps=0,t._checkHeartTimeout=null,t._wakeLock=null,t._contextGL=null,t._contextGLRender=null,t._checkLoadingTimeout=null,t._bitmaprenderer=null,t._isPlayingBeforePageHidden=!1,t._initCheckVariable=()=>{t._startBpsTime="",t._bps=0,t._clearCheckHeartTimeout(),t._clearCheckLoading()},t._clearCheckHeartTimeout=()=>{t._checkHeartTimeout&&(clearTimeout(t._checkHeartTimeout),t._checkHeartTimeout=null)},t._startCheckHeartTimeout=()=>{t._checkHeartTimeout=setTimeout((function(){t._trigger(y().EVEMTS.timeout),t.recording=!1,t.playing=!1,t._close()}),1e3*t._opt.timeout)},t._clearCheckLoading=()=>{t._checkLoadingTimeout&&(clearTimeout(t._checkLoadingTimeout),t._checkLoadingTimeout=null)},t._checkLoading=()=>{t._clearCheckLoading(),t._checkLoadingTimeout=setTimeout((()=>{t._trigger(y().EVEMTS.timeout),t.playing=!1,t._close(),O().$domToggle(t.$doms.loadingDom,!1)}),1e3*t._opt.timeout)}},r(J,"default",(function(){return Q}))),J}var rt,nt,it=!1;function ot(){return it||(it=!0,rt={},O(),nt=t=>{t.onPlay=O().noop,t.onPause=O().noop,t.onRecord=O().noop,t.onFullscreen=O().noop,t.onMute=O().noop,t.onLoad=O().noop,t.onLog=O().noop,t.onError=O().noop,t.onTimeUpdate=O().noop,t.onInitSize=O().noop},r(rt,"default",(function(){return nt}))),rt}var at,st,ft=!1;function ut(){return ft||(ft=!0,st=t=>{t._on=(e,r)=>{let n,i,o;if(!r)return t;for(n=t.__events||(t.__events={}),e=e.split(/\s+/);i=e.shift();)o=n[i]||(n[i]=[]),o.push(r);return t},t._off=()=>{let e;return(e=t.__events)?(delete t.__events,t):t},t._trigger=(e,...r)=>{function n(t,e){if(t)for(let r=0,n=t.length;r{t._pause=()=>{t._close(),t.loading&&O().$domToggle(t.$doms.loadingDom,!1),t.recording=!1,t.playing=!1},t._play=e=>{if(!t._playUrl&&!e)return;let r=!1;e?(t._playUrl&&(t._close(),r=!0,t.clearView()),t.loading=!0,O().$domToggle(t.$doms.bgDom,!1),t._checkLoading(),t._playUrl=e):t._playUrl&&(t.loading?(O().$hideBtns(t.$doms),O().$domToggle(t.$doms.fullscreenDom,!0),O().$domToggle(t.$doms.pauseDom,!0),O().$domToggle(t.$doms.loadingDom,!0),t._checkLoading()):t.playing=!0),t._initCheckVariable(),r?setTimeout((()=>{t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.play,url:t._playUrl})}),300):t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.play,url:t._playUrl})},t._screenshot=(e,r,n)=>{e=e||O().now();const i={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let o=.92;void 0!==n&&(o=Number(n));const a=t.$canvasElement.toDataURL(i[r]||i.png,o);O().downloadImg(O().dataURLToFile(a),e)},t._close=()=>{t._close$2(),t._clearView()},t._close$2=()=>{t._opt.debug&&console.log("_close$2-START"),t._closeAudio&&t._closeAudio(),t._audioPlayBuffers=[],t._audioPlaying=!1,t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.close}),delete t._playAudio,t._releaseWakeLock(),t._initCheckVariable(),t._opt.debug&&console.log("_close$2-END")},t._releaseWakeLock=()=>{t._wakeLock&&(t._wakeLock.release(),t._wakeLock=null)},t._clearView=()=>{t._contextGL&&t._contextGL.clear(t._contextGL.COLOR_BUFFER_BIT)},t._resize=()=>{let e=t.$container.clientWidth,r=t.$container.clientHeight;t._showControl()&&(r-=38);let n=t.$canvasElement.width,i=t.$canvasElement.height;const o=t._opt.rotate;let a=(e-n)/2,s=(r-i)/2;270!==o&&90!==o||(n=t.$canvasElement.height,i=t.$canvasElement.width);let f=e/n,u=r/i,h=f>u?u:f;t._opt.isResize||f!==u&&(h=f+","+u),t._opt.isFullResize&&(h=f>u?f:u);let c="scale("+h+")";o&&(c+=" rotate("+o+"deg)"),t.$canvasElement.style.transform=c,t.$canvasElement.style.left=a+"px",t.$canvasElement.style.top=s+"px"},t._enableWakeLock=()=>{t._opt.keepScreenOn&&"wakeLock"in navigator&&navigator.wakeLock.request("screen").then((e=>{t._wakeLock=e}))},t._supportOffscreen=()=>!t._opt.forceNoOffscreen&&"function"==typeof t.$canvasElement.transferControlToOffscreen,t._checkHeart=()=>{t._clearCheckHeartTimeout(),t._startCheckHeartTimeout()},t._updateStats=e=>{e=e||{},t._startBpsTime||(t._startBpsTime=O().now());const r=O().now();r-t._startBpsTime<1e3?t._stats.fps+=1:(t._stats.ts=e.ts,t._stats.buf=e.buf,t._trigger(y().EVEMTS.stats,t._stats),t._trigger(y().EVEMTS.performance,O().fpsStatus(t._stats.fps)),t._trigger(y().EVEMTS.buffer,O().bufferStatus(t._stats.buf,1e3*t._opt.videoBuffer)),t._stats.fps=0,t._startBpsTime=r)},t._onfullscreenchange=()=>{t.fullscreen=O().checkFull()},t._handleVisibilityChange=()=>{t._opt.hiddenAutoPause&&(t._opt.debug&&console.log(document.visibilityState,t._isPlayingBeforePageHidden),"visible"===document.visibilityState?t._isPlayingBeforePageHidden&&t._play():(t._isPlayingBeforePageHidden=t.playing,t.playing&&t._pause()))},t._handleWakeLock=()=>{null!==t._wakeLock&&"visible"===document.visibilityState&&t._enableWakeLock()}},r(ht,"default",(function(){return ct}))),ht}var pt,mt,bt=!1;function gt(){return bt||(bt=!0,pt={},et(),ot(),ut(),lt(),mt=t=>{et().default(t),ot().default(t),ut().default(t),lt().default(t)},r(pt,"default",(function(){return mt}))),pt}var vt,yt=!1;var wt,_t,At,Mt,Et,St,kt,Bt,Tt=!1;function Rt(){throw new Error("setTimeout has not been defined")}function xt(){throw new Error("clearTimeout has not been defined")}function Ct(t){if(At===setTimeout)return setTimeout(t,0);if((At===Rt||!At)&&setTimeout)return At=setTimeout,setTimeout(t,0);try{return At(t,0)}catch(e){try{return At.call(null,t,0)}catch(e){return At.call(this,t,0)}}}function It(){St&&kt&&(St=!1,kt.length?Et=kt.concat(Et):Bt=-1,Et.length&&Dt())}function Dt(){if(!St){var t=Ct(It);St=!0;for(var e=Et.length;e;){for(kt=Et,Et=[];++Bt1)for(var r=1;r0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function Kt(t){var e,r,n=Yt(t),i=n[0],o=n[1],a=new Ft(function(t,e,r){return 3*(e+r)/4-r}(0,i,o)),s=0,f=o>0?i-4:i;for(r=0;r>16&255,a[s++]=e>>8&255,a[s++]=255&e;return 2===o&&(e=zt[t.charCodeAt(r)]<<2|zt[t.charCodeAt(r+1)]>>4,a[s++]=255&e),1===o&&(e=zt[t.charCodeAt(r)]<<10|zt[t.charCodeAt(r+1)]<<4|zt[t.charCodeAt(r+2)]>>2,a[s++]=e>>8&255,a[s++]=255&e),a}function Vt(t,e,r){for(var n,i,o=[],a=e;a>18&63]+Nt[i>>12&63]+Nt[i>>6&63]+Nt[63&i]);return o.join("")}function Zt(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,s=r-n;as?s:a+o));return 1===n?(e=t[r-1],i.push(Nt[e>>2]+Nt[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(Nt[e>>10]+Nt[e>>4&63]+Nt[e<<2&63]+"=")),i.join("")}function $t(){return Gt||(Gt=!0,function(){for((Ut={}).toByteArray=Kt,jt=Zt,Ut.fromByteArray=jt,Nt=[],zt=[],Ft="undefined"!=typeof Uint8Array?Uint8Array:Array,Wt=0,Ht=(qt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").length;Wt*/ +(Xt={}).read=function(t,e,r,n,i){var o,a,s=8*i-n-1,f=(1<>1,h=-7,c=r?i-1:0,d=r?-1:1,l=t[e+c];for(c+=d,o=l&(1<<-h)-1,l>>=-h,h+=s;h>0;o=256*o+t[e+c],c+=d,h-=8);for(a=o&(1<<-h)-1,o>>=-h,h+=n;h>0;a=256*a+t[e+c],c+=d,h-=8);if(0===o)o=1-u;else{if(o===f)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,n),o-=u}return(l?-1:1)*a*Math.pow(2,o-n)},Jt=function(t,e,r,n,i,o){var a,s,f,u=8*o-i-1,h=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-a))<1&&(a--,f*=2),(e+=a+c>=1?d/f:d*Math.pow(2,1-c))*f>=2&&(a++,f/=2),a+c>=h?(s=0,a=h):a+c>=1?(s=(e*f-1)*Math.pow(2,i),a+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),a=0));i>=8;t[r+l]=255&s,l+=p,s/=256,i-=8);for(a=a<0;t[r+l]=255&a,l+=p,a/=256,u-=8);t[r+l-p]|=128*m},Xt.write=Jt),Xt}var ee,re,ne,ie,oe,ae,se,fe,ue,he=!1;function ce(t){if(t>oe)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,de.prototype),e}function de(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return me(t)}return le(t,e,r)}function le(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!de.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|we(t,e),n=ce(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(He(t,Uint8Array)){var e=new Uint8Array(t);return ge(e.buffer,e.byteOffset,e.byteLength)}return be(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(He(t,ArrayBuffer)||t&&He(t.buffer,ArrayBuffer))return ge(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(He(t,SharedArrayBuffer)||t&&He(t.buffer,SharedArrayBuffer)))return ge(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return de.from(n,e,r);var i=function(t){if(de.isBuffer(t)){var e=0|ve(t.length),r=ce(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Ge(t.length)?ce(0):be(t);if("Buffer"===t.type&&Array.isArray(t.data))return be(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return de.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function pe(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function me(t){return pe(t),ce(t<0?0:0|ve(t))}function be(t){for(var e=t.length<0?0:0|ve(t.length),r=ce(e),n=0;n=oe)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+oe.toString(16)+" bytes");return 0|t}function ye(t){return+t!=t&&(t=0),de.alloc(+t)}function we(t,e){if(de.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||He(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Fe(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return qe(t).length;default:if(i)return n?-1:Fe(t).length;e=(""+e).toLowerCase(),i=!0}}function _e(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return Pe(this,e,r);case"utf8":case"utf-8":return Ce(this,e,r);case"ascii":return Ie(this,e,r);case"latin1":case"binary":return De(this,e,r);case"base64":return xe(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function Ae(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Me(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Ge(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=de.from(e,n)),de.isBuffer(e))return 0===e.length?-1:Ee(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Ee(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ee(t,e,r,n,i){var o,a=1,s=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,f/=2,r/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var h=-1;for(o=r;os&&(r=s-f),o=r;o>=0;o--){for(var c=!0,d=0;di&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function xe(t,e,r){return 0===e&&r===t.length?$t().fromByteArray(t):$t().fromByteArray(t.slice(e,r))}function Ce(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+c<=r)switch(c){case 1:u<128&&(h=u);break;case 2:128==(192&(o=t[i+1]))&&(f=(31&u)<<6|63&o)>127&&(h=f);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(f=(15&u)<<12|(63&o)<<6|63&a)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(f=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&f<1114112&&(h=f)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=c}return function(t){var e=t.length;if(e<=se)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nn)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function Ue(t,e,r,n,i,o){if(!de.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function je(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ne(t,e,r,n,i){return e=+e,r>>>=0,i||je(t,0,r,4),te().write(t,e,r,n,23,4),r+4}function ze(t,e,r,n,i){return e=+e,r>>>=0,i||je(t,0,r,8),te().write(t,e,r,n,52,8),r+8}function Fe(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function qe(t){return $t().toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(fe,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function We(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function He(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Ge(t){return t!=t}function Ye(){ee={},$t(),te(),re="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null,ne=de,ee.Buffer=ne,ie=ye,ee.SlowBuffer=ie,50,ee.INSPECT_MAX_BYTES=50,ae=oe=2147483647,ee.kMaxLength=ae,de.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),de.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(de.prototype,"parent",{enumerable:!0,get:function(){if(de.isBuffer(this))return this.buffer}}),Object.defineProperty(de.prototype,"offset",{enumerable:!0,get:function(){if(de.isBuffer(this))return this.byteOffset}}),de.poolSize=8192,de.from=function(t,e,r){return le(t,e,r)},Object.setPrototypeOf(de.prototype,Uint8Array.prototype),Object.setPrototypeOf(de,Uint8Array),de.alloc=function(t,e,r){return function(t,e,r){return pe(t),t<=0?ce(t):void 0!==e?"string"==typeof r?ce(t).fill(e,r):ce(t).fill(e):ce(t)}(t,e,r)},de.allocUnsafe=function(t){return me(t)},de.allocUnsafeSlow=function(t){return me(t)},de.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==de.prototype},de.compare=function(t,e){if(He(t,Uint8Array)&&(t=de.from(t,t.offset,t.byteLength)),He(e,Uint8Array)&&(e=de.from(e,e.offset,e.byteLength)),!de.isBuffer(t)||!de.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);in.length?de.from(o).copy(n,i):Uint8Array.prototype.set.call(n,o,i);else{if(!de.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i)}i+=o.length}return n},de.byteLength=we,de.prototype._isBuffer=!0,de.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e50&&(t+=" ... "),""},re&&(de.prototype[re]=de.prototype.inspect),de.prototype.compare=function(t,e,r,n,i){if(He(t,Uint8Array)&&(t=de.from(t,t.offset,t.byteLength)),!de.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),f=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return Se(this,t,e,r);case"utf8":case"utf-8":return ke(this,t,e,r);case"ascii":case"latin1":case"binary":return Be(this,t,e,r);case"base64":return Te(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Re(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},de.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},se=4096,de.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},de.prototype.readUint8=de.prototype.readUInt8=function(t,e){return t>>>=0,e||Le(t,1,this.length),this[t]},de.prototype.readUint16LE=de.prototype.readUInt16LE=function(t,e){return t>>>=0,e||Le(t,2,this.length),this[t]|this[t+1]<<8},de.prototype.readUint16BE=de.prototype.readUInt16BE=function(t,e){return t>>>=0,e||Le(t,2,this.length),this[t]<<8|this[t+1]},de.prototype.readUint32LE=de.prototype.readUInt32LE=function(t,e){return t>>>=0,e||Le(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},de.prototype.readUint32BE=de.prototype.readUInt32BE=function(t,e){return t>>>=0,e||Le(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},de.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},de.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},de.prototype.readInt8=function(t,e){return t>>>=0,e||Le(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},de.prototype.readInt16LE=function(t,e){t>>>=0,e||Le(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},de.prototype.readInt16BE=function(t,e){t>>>=0,e||Le(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},de.prototype.readInt32LE=function(t,e){return t>>>=0,e||Le(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},de.prototype.readInt32BE=function(t,e){return t>>>=0,e||Le(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},de.prototype.readFloatLE=function(t,e){return t>>>=0,e||Le(t,4,this.length),te().read(this,t,!0,23,4)},de.prototype.readFloatBE=function(t,e){return t>>>=0,e||Le(t,4,this.length),te().read(this,t,!1,23,4)},de.prototype.readDoubleLE=function(t,e){return t>>>=0,e||Le(t,8,this.length),te().read(this,t,!0,52,8)},de.prototype.readDoubleBE=function(t,e){return t>>>=0,e||Le(t,8,this.length),te().read(this,t,!1,52,8)},de.prototype.writeUintLE=de.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},de.prototype.writeUint8=de.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,255,0),this[e]=255&t,e+1},de.prototype.writeUint16LE=de.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},de.prototype.writeUint16BE=de.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},de.prototype.writeUint32LE=de.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},de.prototype.writeUint32BE=de.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},de.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);Ue(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},de.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);Ue(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},de.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},de.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},de.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},de.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},de.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},de.prototype.writeFloatLE=function(t,e,r){return Ne(this,t,e,!0,r)},de.prototype.writeFloatBE=function(t,e,r){return Ne(this,t,e,!1,r)},de.prototype.writeDoubleLE=function(t,e,r){return ze(this,t,e,!0,r)},de.prototype.writeDoubleBE=function(t,e,r){return ze(this,t,e,!1,r)},de.prototype.copy=function(t,e,r,n){if(!de.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o2){var f=n.lastIndexOf("/");if(f!==n.length-1){-1===f?(n="",i=0):i=(n=n.slice(0,f)).length-1-n.lastIndexOf("/"),o=s,a=0;continue}}else if(2===n.length||1===n.length){n="",i=0,o=s,a=0;continue}e&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+t.slice(o+1,s):n=t.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===r&&-1!==a?++a:a=-1}return n}function Qe(){return $e||($e=!0,Ve={},Lt(),(Ze={resolve:function(){for(var t,e="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var i;n>=0?i=arguments[n]:(void 0===t&&(t=Lt().cwd()),i=t),Xe(i),0!==i.length&&(e=i+"/"+e,r=47===i.charCodeAt(0))}return e=Je(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(Xe(t),0===t.length)return".";var e=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=Je(t,!e)).length||e||(t="."),t.length>0&&r&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return Xe(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":Ze.normalize(t)},relative:function(t,e){if(Xe(t),Xe(e),t===e)return"";if((t=Ze.resolve(t))===(e=Ze.resolve(e)))return"";for(var r=1;rs){if(47===e.charCodeAt(o+u))return e.slice(o+u+1);if(0===u)return e.slice(o+u)}else i>s&&(47===t.charCodeAt(r+u)?f=u:0===u&&(f=0));break}var h=t.charCodeAt(r+u);if(h!==e.charCodeAt(o+u))break;47===h&&(f=u)}var c="";for(u=r+f+1;u<=n;++u)u!==n&&47!==t.charCodeAt(u)||(0===c.length?c+="..":c+="/..");return c.length>0?c+e.slice(o+f):(o+=f,47===e.charCodeAt(o)&&++o,e.slice(o))},_makeLong:function(t){return t},dirname:function(t){if(Xe(t),0===t.length)return".";for(var e=t.charCodeAt(0),r=47===e,n=-1,i=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!i){n=o;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"//":t.slice(0,n)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');Xe(t);var r,n=0,i=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var a=e.length-1,s=-1;for(r=t.length-1;r>=0;--r){var f=t.charCodeAt(r);if(47===f){if(!o){n=r+1;break}}else-1===s&&(o=!1,s=r+1),a>=0&&(f===e.charCodeAt(a)?-1==--a&&(i=r):(a=-1,i=s))}return n===i?i=s:-1===i&&(i=t.length),t.slice(n,i)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!o){n=r+1;break}}else-1===i&&(o=!1,i=r+1);return-1===i?"":t.slice(n,i)},extname:function(t){Xe(t);for(var e=-1,r=0,n=-1,i=!0,o=0,a=t.length-1;a>=0;--a){var s=t.charCodeAt(a);if(47!==s)-1===n&&(i=!1,n=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!i){r=a+1;break}}return-1===e||-1===n||0===o||1===o&&e===n-1&&e===r+1?"":t.slice(e,n)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+t+n:n}("/",t)},parse:function(t){Xe(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var r,n=t.charCodeAt(0),i=47===n;i?(e.root="/",r=1):r=0;for(var o=-1,a=0,s=-1,f=!0,u=t.length-1,h=0;u>=r;--u)if(47!==(n=t.charCodeAt(u)))-1===s&&(f=!1,s=u+1),46===n?-1===o?o=u:1!==h&&(h=1):-1!==o&&(h=-1);else if(!f){a=u+1;break}return-1===o||-1===s||0===h||1===h&&o===s-1&&o===a+1?-1!==s&&(e.base=e.name=0===a&&i?t.slice(1,s):t.slice(a,s)):(0===a&&i?(e.name=t.slice(1,o),e.base=t.slice(1,s)):(e.name=t.slice(a,o),e.base=t.slice(a,s)),e.ext=t.slice(o,s)),a>0?e.dir=t.slice(0,a-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null}).posix=Ze,Ve=Ze),Ve}var tr,er=!1;function rr(){return er||(er=!0,tr={}),tr}var nr,ir,or,ar,sr=!1;function fr(t,e){for(var r in t)e[r]=t[r]}function ur(t,e,r){return ar(t,e,r)}function hr(){return sr||(sr=!0,nr={},or=Ke(),(ar=or.Buffer).from&&ar.alloc&&ar.allocUnsafe&&ar.allocUnsafeSlow?nr=or:(fr(or,nr),ir=ur,nr.Buffer=ir),ur.prototype=Object.create(ar.prototype),fr(ar,ur),ur.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return ar(t,e,r)},ur.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=ar(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},ur.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return ar(t)},ur.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return or.SlowBuffer(t)}),nr}var cr,dr,lr,pr,mr,br=!1;function gr(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}function vr(t,e){if(t>lr)throw new RangeError("requested too many random bytes");var r=pr.allocUnsafe(t);if(t>0)if(t>dr)for(var n=0;n0&&a.length>i&&!a.warned){a.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=t,f.type=e,f.count=a.length,s=f,console&&console.warn&&console.warn(s)}return t}function Pr(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Or(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Pr.bind(n);return i.listener=r,n.wrapFn=i,i}function Lr(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=i[t];if(void 0===s)return!1;if("function"==typeof s)Sr(s,this,e);else{var f=s.length,u=jr(s,f);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},xr.prototype.listeners=function(t){return Lr(this,t,!0)},xr.prototype.rawListeners=function(t){return Lr(this,t,!1)},xr.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Ur.call(t,e)},xr.prototype.listenerCount=Ur,xr.prototype.eventNames=function(){return this._eventsCount>0?kr(this._events):[]}),Mr}var zr,Fr=!1;function qr(){return Fr||(Fr=!0,zr={},zr=Nr().EventEmitter),zr}var Wr,Hr,Gr,Yr,Kr=!1;function Vr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Zr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $r(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return Hr.alloc(0);for(var e,r,n,i=Hr.allocUnsafe(t>>>0),o=this.head,a=0;o;)e=o.data,r=i,n=a,Hr.prototype.copy.call(e,r,n),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=Hr.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:Yr,value:function(t,e){return Gr(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function pn(){return cn||(cn=!0,fn={},un={},dn("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),dn("ERR_INVALID_ARG_TYPE",(function(t,e,r){var n,i,o,a;if("string"==typeof e&&(i="not ",e.substr(!o||o<0?0:+o,i.length)===i)?(n="must not be",e=e.replace(/^not /,"")):n="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))a="The ".concat(t," ").concat(n," ").concat(ln(e,"type"));else{var s=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";a='The "'.concat(t,'" ').concat(s," ").concat(n," ").concat(ln(e,"type"))}return a+". Received type ".concat(typeof r)}),TypeError),dn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),dn("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),dn("ERR_STREAM_PREMATURE_CLOSE","Premature close"),dn("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),dn("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),dn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),dn("ERR_STREAM_WRITE_AFTER_END","write after end"),dn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),dn("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),dn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),hn=un,fn.codes=hn),fn}var mn,bn,gn=!1;function vn(t,e,r,n){var i=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,n,r);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new bn(n?r:"highWaterMark",i);return Math.floor(i)}return t.objectMode?16:16384}function yn(){return gn||(gn=!0,mn={},bn=pn().codes.ERR_INVALID_OPT_VALUE,mn={getHighWaterMark:vn}),mn}var wn,_n=!1;function An(t,e){if(Mn("noDeprecation"))return t;var r=!1;return function(){if(!r){if(Mn("throwDeprecation"))throw new Error(e);Mn("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}function Mn(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}function En(){return _n||(_n=!0,wn={},wn=An),wn}var Sn,kn,Bn,Tn,Rn,xn,Cn,In,Dn,Pn,On,Ln,Un,jn,Nn,zn,Fn,qn,Wn=!1;function Hn(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}function Gn(){}function Yn(t,e,r){kn=kn||li(),t=t||{},"boolean"!=typeof r&&(r=e instanceof kn),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Cn(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=!1===t.decodeStrings;this.decodeStrings=!n,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new On;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(Lt().nextTick(i,n),Lt().nextTick(ti,t,e),t._writableState.errorEmitted=!0,Fn(t,n)):(i(n),t._writableState.errorEmitted=!0,Fn(t,n),ti(t,e))}(t,r,n,e,i);else{var o=Jn(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Xn(t,r),n?Lt().nextTick($n,t,r,o,i):$n(t,r,o,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Hn(this)}function Kn(t){var e=this instanceof(kn=kn||li());if(!e&&!qn.call(Kn,this))return new Kn(t);this._writableState=new Yn(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),Tn.call(this)}function Vn(t,e,r,n,i,o){if(!r){var a=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=Rn.from(e,r)),e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var f=e.length-1))throw new zn(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Kn.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Kn.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Kn.prototype._write=function(t,e,r){r(new Pn("_write()"))},Kn.prototype._writev=null,Kn.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,ti(t,e),r&&(e.finished?Lt().nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(Kn.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Kn.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Kn.prototype.destroy=sn().destroy,Kn.prototype._undestroy=sn().undestroy,Kn.prototype._destroy=function(t,e){e(t)}}function ri(){return Wn||(Wn=!0,ei()),Sn}var ni,ii,oi,ai,si,fi,ui=!1;function hi(t){if(!(this instanceof hi))return new hi(t);oi.call(this,t),ri().call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",ci)))}function ci(){this._writableState.ended||Lt().nextTick(di,this)}function di(t){t.end()}function li(){return ui||(ui=!0,function(){for(ni={},Lt(),ii=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e},ni=hi,oi=Go(),ri(),Ar()(hi,oi),ai=ii(ri().prototype),si=0;si>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function _i(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function Ai(t,e){var r=function(t,e,r){var n=e.length-1;if(n=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}function Mi(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function Ei(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function Si(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function ki(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Bi(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Ti(t){return t.toString(this.encoding)}function Ri(t){return t&&t.length?this.write(t):""}function xi(){return vi||(vi=!0,pi={},mi=hr().Buffer,bi=mi.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},gi=yi,pi.StringDecoder=gi,yi.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===fo.prototype||(e=function(t){return fo.from(t)}(e)),n)a.endEmitted?Mo(t,new yo):xo(t,a,e,!0);else if(a.ended)Mo(t,new go);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?xo(t,a,e,!1):Po(t,a)):xo(t,a,e,!1)}else n||(a.reading=!1,Po(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=So?t=So:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function Io(t){var e=t._readableState;co("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(co("emitReadable",e.flowing),e.emittedReadable=!0,Lt().nextTick(Do,t))}function Do(t){var e=t._readableState;co("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,No(t)}function Po(t,e){e.readingMore||(e.readingMore=!0,Lt().nextTick(Oo,t,e))}function Oo(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Uo(t){co("readable nexttick read 0"),t.read(0)}function jo(t,e){co("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),No(t),e.flowing&&!e.reading&&t.read(0)}function No(t){var e=t._readableState;for(co("flow",e.flowing);e.flowing&&null!==t.read(););}function zo(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Fo(t){var e=t._readableState;co("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,Lt().nextTick(qo,e,t))}function qo(t,e){if(co("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function Wo(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return co("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Fo(this):Io(this),null;if(0===(t=Co(t,e))&&e.ended)return 0===e.length&&Fo(this),null;var n,i=e.needReadable;return co("need readable",i),(0===e.length||e.length-t0?zo(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Fo(this)),null!==n&&this.emit("data",n),n},To.prototype._read=function(t){Mo(this,new vo("_read()"))},To.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,co("pipe count=%d opts=%j",n.pipesCount,e);var i=(!e||!1!==e.end)&&t!==Lt().stdout&&t!==Lt().stderr?a:l;function o(e,i){co("onunpipe"),e===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,co("cleanup"),t.removeListener("close",c),t.removeListener("finish",d),t.removeListener("drain",s),t.removeListener("error",h),t.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",l),r.removeListener("data",u),f=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||s())}function a(){co("onend"),t.end()}n.endEmitted?Lt().nextTick(i):r.once("end",i),t.on("unpipe",o);var s=function(t){return function(){var e=t._readableState;co("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&ao(t,"data")&&(e.flowing=!0,No(t))}}(r);t.on("drain",s);var f=!1;function u(e){co("ondata");var i=t.write(e);co("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==Wo(n.pipes,t))&&!f&&(co("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){co("onerror",e),l(),t.removeListener("error",h),0===ao(t,"error")&&Mo(t,e)}function c(){t.removeListener("finish",d),l()}function d(){co("onfinish"),t.removeListener("close",c),l()}function l(){co("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",c),t.once("finish",d),t.emit("pipe",r),n.flowing||(co("pipe resume"),r.resume()),t},To.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,co("on readable",n.length,n.reading),n.length?Io(this):n.reading||Lt().nextTick(Uo,this))),r},To.prototype.addListener=To.prototype.on,To.prototype.removeListener=function(t,e){var r=so.prototype.removeListener.call(this,t,e);return"readable"===t&&Lt().nextTick(Lo,this),r},To.prototype.removeAllListeners=function(t){var e=so.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||Lt().nextTick(Lo,this),e},To.prototype.resume=function(){var t=this._readableState;return t.flowing||(co("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,Lt().nextTick(jo,t,e))}(this,t)),t.paused=!1,this},To.prototype.pause=function(){return co("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(co("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},To.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(co("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(co("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o0,(function(t){n||(n=t),t&&o.forEach(va),a||(o.forEach(va),i(n))}))}));return e.reduce(ya)}function Aa(){return ma||(ma=!0,ha={},da=pn().codes,la=da.ERR_MISSING_ARGS,pa=da.ERR_STREAM_DESTROYED,ha=_a),ha}var Ma,Ea,Sa,ka,Ba,Ta,Ra,xa,Ca,Ia,Da=!1;function Pa(){return Da||(Da=!0,Ea={},Ma=Ea=Go(),Sa=Ma,Ea.Stream=Sa,ka=Ma,Ea.Readable=ka,Ba=ri(),Ea.Writable=Ba,Ta=li(),Ea.Duplex=Ta,Ra=ia(),Ea.Transform=Ra,xa=ua(),Ea.PassThrough=xa,Ca=Li(),Ea.finished=Ca,Ia=Aa(),Ea.pipeline=Ia),Ea}var Oa,La,Ua,ja=!1;function Na(t){Ua.call(this),this._block=La.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}function za(){Oa={},La=hr().Buffer,Ua=Pa().Transform,Ar()(Na,Ua),Na.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},Na.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},Na.prototype.update=function(t,e){if(function(t,e){if(!La.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");La.isBuffer(t)||(t=La.from(t,e));for(var r=this._block,n=0;this._blockOffset+t.length-n>=this._blockSize;){for(var i=this._blockOffset;i0;++o)this._length[o]+=a,(a=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*a);return this},Na.prototype._update=function(){throw new Error("_update is not implemented")},Na.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},Na.prototype._digest=function(){throw new Error("_digest is not implemented")},Oa=Na}function Fa(){return ja||(ja=!0,za()),Oa}var qa,Wa,Ha,Ga,Ya,Ka=!1;function Va(){Ha.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Za(t,e){return t<>>32-e}function $a(t,e,r,n,i,o,a){return Za(t+(e&r|~e&n)+i+o|0,a)+e|0}function Xa(t,e,r,n,i,o,a){return Za(t+(e&n|r&~n)+i+o|0,a)+e|0}function Ja(t,e,r,n,i,o,a){return Za(t+(e^r^n)+i+o|0,a)+e|0}function Qa(t,e,r,n,i,o,a){return Za(t+(r^(e|~n))+i+o|0,a)+e|0}function ts(){return Ka||(Ka=!0,qa={},Wa=Ar(),Ha=Fa(),Ga=hr().Buffer,Ya=new Array(16),Wa(Va,Ha),Va.prototype._update=function(){for(var t=Ya,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=$a(r,n,i,o,t[0],3614090360,7),o=$a(o,r,n,i,t[1],3905402710,12),i=$a(i,o,r,n,t[2],606105819,17),n=$a(n,i,o,r,t[3],3250441966,22),r=$a(r,n,i,o,t[4],4118548399,7),o=$a(o,r,n,i,t[5],1200080426,12),i=$a(i,o,r,n,t[6],2821735955,17),n=$a(n,i,o,r,t[7],4249261313,22),r=$a(r,n,i,o,t[8],1770035416,7),o=$a(o,r,n,i,t[9],2336552879,12),i=$a(i,o,r,n,t[10],4294925233,17),n=$a(n,i,o,r,t[11],2304563134,22),r=$a(r,n,i,o,t[12],1804603682,7),o=$a(o,r,n,i,t[13],4254626195,12),i=$a(i,o,r,n,t[14],2792965006,17),r=Xa(r,n=$a(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=Xa(o,r,n,i,t[6],3225465664,9),i=Xa(i,o,r,n,t[11],643717713,14),n=Xa(n,i,o,r,t[0],3921069994,20),r=Xa(r,n,i,o,t[5],3593408605,5),o=Xa(o,r,n,i,t[10],38016083,9),i=Xa(i,o,r,n,t[15],3634488961,14),n=Xa(n,i,o,r,t[4],3889429448,20),r=Xa(r,n,i,o,t[9],568446438,5),o=Xa(o,r,n,i,t[14],3275163606,9),i=Xa(i,o,r,n,t[3],4107603335,14),n=Xa(n,i,o,r,t[8],1163531501,20),r=Xa(r,n,i,o,t[13],2850285829,5),o=Xa(o,r,n,i,t[2],4243563512,9),i=Xa(i,o,r,n,t[7],1735328473,14),r=Ja(r,n=Xa(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=Ja(o,r,n,i,t[8],2272392833,11),i=Ja(i,o,r,n,t[11],1839030562,16),n=Ja(n,i,o,r,t[14],4259657740,23),r=Ja(r,n,i,o,t[1],2763975236,4),o=Ja(o,r,n,i,t[4],1272893353,11),i=Ja(i,o,r,n,t[7],4139469664,16),n=Ja(n,i,o,r,t[10],3200236656,23),r=Ja(r,n,i,o,t[13],681279174,4),o=Ja(o,r,n,i,t[0],3936430074,11),i=Ja(i,o,r,n,t[3],3572445317,16),n=Ja(n,i,o,r,t[6],76029189,23),r=Ja(r,n,i,o,t[9],3654602809,4),o=Ja(o,r,n,i,t[12],3873151461,11),i=Ja(i,o,r,n,t[15],530742520,16),r=Qa(r,n=Ja(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=Qa(o,r,n,i,t[7],1126891415,10),i=Qa(i,o,r,n,t[14],2878612391,15),n=Qa(n,i,o,r,t[5],4237533241,21),r=Qa(r,n,i,o,t[12],1700485571,6),o=Qa(o,r,n,i,t[3],2399980690,10),i=Qa(i,o,r,n,t[10],4293915773,15),n=Qa(n,i,o,r,t[1],2240044497,21),r=Qa(r,n,i,o,t[8],1873313359,6),o=Qa(o,r,n,i,t[15],4264355552,10),i=Qa(i,o,r,n,t[6],2734768916,15),n=Qa(n,i,o,r,t[13],1309151649,21),r=Qa(r,n,i,o,t[4],4149444226,6),o=Qa(o,r,n,i,t[11],3174756917,10),i=Qa(i,o,r,n,t[2],718787259,15),n=Qa(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},Va.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Ga.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},qa=Va),qa}var es,rs,ns,is,os,as,ss,fs,us,hs,cs,ds=!1;function ls(){is.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function ps(t,e){return t<>>32-e}function ms(t,e,r,n,i,o,a,s){return ps(t+(e^r^n)+o+a|0,s)+i|0}function bs(t,e,r,n,i,o,a,s){return ps(t+(e&r|~e&n)+o+a|0,s)+i|0}function gs(t,e,r,n,i,o,a,s){return ps(t+((e|~r)^n)+o+a|0,s)+i|0}function vs(t,e,r,n,i,o,a,s){return ps(t+(e&n|r&~n)+o+a|0,s)+i|0}function ys(t,e,r,n,i,o,a,s){return ps(t+(e^(r|~n))+o+a|0,s)+i|0}function ws(){return ds||(ds=!0,es={},rs=Ke().Buffer,ns=Ar(),is=Fa(),os=new Array(16),as=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ss=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],fs=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],us=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hs=[0,1518500249,1859775393,2400959708,2840853838],cs=[1352829926,1548603684,1836072691,2053994217,0],ns(ls,is),ls.prototype._update=function(){for(var t=os,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,a=0|this._e,s=0|this._a,f=0|this._b,u=0|this._c,h=0|this._d,c=0|this._e,d=0;d<80;d+=1){var l,p;d<16?(l=ms(r,n,i,o,a,t[as[d]],hs[0],fs[d]),p=ys(s,f,u,h,c,t[ss[d]],cs[0],us[d])):d<32?(l=bs(r,n,i,o,a,t[as[d]],hs[1],fs[d]),p=vs(s,f,u,h,c,t[ss[d]],cs[1],us[d])):d<48?(l=gs(r,n,i,o,a,t[as[d]],hs[2],fs[d]),p=gs(s,f,u,h,c,t[ss[d]],cs[2],us[d])):d<64?(l=vs(r,n,i,o,a,t[as[d]],hs[3],fs[d]),p=bs(s,f,u,h,c,t[ss[d]],cs[3],us[d])):(l=ys(r,n,i,o,a,t[as[d]],hs[4],fs[d]),p=ms(s,f,u,h,c,t[ss[d]],cs[4],us[d])),r=a,a=o,o=ps(i,10),i=n,n=l,s=c,c=h,h=ps(u,10),u=f,f=p}var m=this._b+i+h|0;this._b=this._c+o+c|0,this._c=this._d+a+s|0,this._d=this._e+r+f|0,this._e=this._a+n+u|0,this._a=m},ls.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=rs.alloc?rs.alloc(20):new rs(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},es=ls),es}var _s,As,Ms=!1;function Es(t,e){this._block=As.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}function Ss(){return Ms||(Ms=!0,_s={},As=hr().Buffer,Es.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=As.from(t,e));for(var r=this._block,n=this._blockSize,i=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Es.prototype._update=function(){throw new Error("_update must be implemented by subclass")},_s=Es),_s}var ks,Bs,Ts,Rs,xs,Cs,Is=!1;function Ds(){this.init(),this._w=Cs,Ts.call(this,64,56)}function Ps(t){return t<<30|t>>>2}function Os(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}function Ls(){return Is||(Is=!0,ks={},Bs=Ar(),Ts=Ss(),Rs=hr().Buffer,xs=[1518500249,1859775393,-1894007588,-899497514],Cs=new Array(80),Bs(Ds,Ts),Ds.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Ds.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=t.readInt32BE(4*f);for(;f<80;++f)r[f]=r[f-3]^r[f-8]^r[f-14]^r[f-16];for(var u=0;u<80;++u){var h=~~(u/20),c=0|((e=n)<<5|e>>>27)+Os(h,i,o,a)+s+r[u]+xs[h];s=a,a=o,o=Ps(i),i=n,n=c}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0},Ds.prototype._hash=function(){var t=Rs.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},ks=Ds),ks}var Us,js,Ns,zs,Fs,qs,Ws=!1;function Hs(){this.init(),this._w=qs,Ns.call(this,64,56)}function Gs(t){return t<<5|t>>>27}function Ys(t){return t<<30|t>>>2}function Ks(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}function Vs(){return Ws||(Ws=!0,Us={},js=Ar(),Ns=Ss(),zs=hr().Buffer,Fs=[1518500249,1859775393,-1894007588,-899497514],qs=new Array(80),js(Hs,Ns),Hs.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Hs.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=t.readInt32BE(4*f);for(;f<80;++f)r[f]=(e=r[f-3]^r[f-8]^r[f-14]^r[f-16])<<1|e>>>31;for(var u=0;u<80;++u){var h=~~(u/20),c=Gs(n)+Ks(h,i,o,a)+s+r[u]+Fs[h]|0;s=a,a=o,o=Ys(i),i=n,n=c}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0},Hs.prototype._hash=function(){var t=zs.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},Us=Hs),Us}var Zs,$s,Xs,Js,Qs,tf,ef=!1;function rf(){this.init(),this._w=tf,Xs.call(this,64,56)}function nf(t,e,r){return r^t&(e^r)}function of(t,e,r){return t&e|r&(t|e)}function af(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function sf(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function ff(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function uf(){return ef||(ef=!0,Zs={},$s=Ar(),Xs=Ss(),Js=hr().Buffer,Qs=[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],tf=new Array(64),$s(rf,Xs),rf.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},rf.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0|this._f,u=0|this._g,h=0|this._h,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<64;++c)r[c]=0|(((e=r[c-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[c-7]+ff(r[c-15])+r[c-16];for(var d=0;d<64;++d){var l=h+sf(s)+nf(s,f,u)+Qs[d]+r[d]|0,p=af(n)+of(n,i,o)|0;h=u,u=f,f=s,s=a+l|0,a=o,o=i,i=n,n=l+p|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0,this._f=f+this._f|0,this._g=u+this._g|0,this._h=h+this._h|0},rf.prototype._hash=function(){var t=Js.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},Zs=rf),Zs}var hf,cf,df,lf,pf,mf=!1;function bf(){this.init(),this._w=pf,Ss().call(this,64,56)}function gf(){return mf||(mf=!0,hf={},cf=Ar(),df=uf(),Ss(),lf=hr().Buffer,pf=new Array(64),cf(bf,df),bf.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},bf.prototype._hash=function(){var t=lf.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},hf=bf),hf}var vf,yf,wf,_f,Af,Mf,Ef=!1;function Sf(){this.init(),this._w=Mf,wf.call(this,128,112)}function kf(t,e,r){return r^t&(e^r)}function Bf(t,e,r){return t&e|r&(t|e)}function Tf(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Rf(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function xf(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Cf(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function If(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function Df(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function Pf(t,e){return t>>>0>>0?1:0}function Of(){return Ef||(Ef=!0,vf={},yf=Ar(),wf=Ss(),_f=hr().Buffer,Af=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Mf=new Array(160),yf(Sf,wf),Sf.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sf.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,s=0|this._fh,f=0|this._gh,u=0|this._hh,h=0|this._al,c=0|this._bl,d=0|this._cl,l=0|this._dl,p=0|this._el,m=0|this._fl,b=0|this._gl,g=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var y=e[v-30],w=e[v-30+1],_=xf(y,w),A=Cf(w,y),M=If(y=e[v-4],w=e[v-4+1]),E=Df(w,y),S=e[v-14],k=e[v-14+1],B=e[v-32],T=e[v-32+1],R=A+k|0,x=_+S+Pf(R,A)|0;x=(x=x+M+Pf(R=R+E|0,E)|0)+B+Pf(R=R+T|0,T)|0,e[v]=x,e[v+1]=R}for(var C=0;C<160;C+=2){x=e[C],R=e[C+1];var I=Bf(r,n,i),D=Bf(h,c,d),P=Tf(r,h),O=Tf(h,r),L=Rf(a,p),U=Rf(p,a),j=Af[C],N=Af[C+1],z=kf(a,s,f),F=kf(p,m,b),q=g+U|0,W=u+L+Pf(q,g)|0;W=(W=(W=W+z+Pf(q=q+F|0,F)|0)+j+Pf(q=q+N|0,N)|0)+x+Pf(q=q+R|0,R)|0;var H=O+D|0,G=P+I+Pf(H,O)|0;u=f,g=b,f=s,b=m,s=a,m=p,a=o+W+Pf(p=l+q|0,l)|0,o=i,l=d,i=n,d=c,n=r,c=h,r=W+G+Pf(h=q+H|0,q)|0}this._al=this._al+h|0,this._bl=this._bl+c|0,this._cl=this._cl+d|0,this._dl=this._dl+l|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+b|0,this._hl=this._hl+g|0,this._ah=this._ah+r+Pf(this._al,h)|0,this._bh=this._bh+n+Pf(this._bl,c)|0,this._ch=this._ch+i+Pf(this._cl,d)|0,this._dh=this._dh+o+Pf(this._dl,l)|0,this._eh=this._eh+a+Pf(this._el,p)|0,this._fh=this._fh+s+Pf(this._fl,m)|0,this._gh=this._gh+f+Pf(this._gl,b)|0,this._hh=this._hh+u+Pf(this._hl,g)|0},Sf.prototype._hash=function(){var t=_f.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},vf=Sf),vf}var Lf,Uf,jf,Nf,zf,Ff=!1;function qf(){this.init(),this._w=zf,Ss().call(this,128,112)}function Wf(){return Ff||(Ff=!0,Lf={},Uf=Ar(),jf=Of(),Ss(),Nf=hr().Buffer,zf=new Array(160),Uf(qf,jf),qf.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},qf.prototype._hash=function(){var t=Nf.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},Lf=qf),Lf}var Hf,Gf,Yf=!1;function Kf(){return Yf||(Yf=!0,Hf={},(Gf=Hf=function(t){t=t.toLowerCase();var e=Gf[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e}).sha=Ls(),Gf.sha1=Vs(),Gf.sha224=gf(),Gf.sha256=uf(),Gf.sha384=Wf(),Gf.sha512=Of()),Hf}var Vf,Zf,$f,Xf,Jf=!1;function Qf(t){$f.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}function tu(){return Jf||(Jf=!0,Vf={},Zf=hr().Buffer,$f=Pa().Transform,Xf=xi().StringDecoder,Ar()(Qf,$f),Qf.prototype.update=function(t,e,r){"string"==typeof t&&(t=Zf.from(t,e));var n=this._update(t);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},Qf.prototype.setAutoPadding=function(){},Qf.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},Qf.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},Qf.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},Qf.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},Qf.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},Qf.prototype._finalOrDigest=function(t){var e=this.__final()||Zf.alloc(0);return t&&(e=this._toString(e,t,!0)),e},Qf.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new Xf(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},Vf=Qf),Vf}var eu,ru,nu,iu,ou,au,su=!1;function fu(t){au.call(this,"digest"),this._hash=t}function uu(){return su||(su=!0,eu={},ru=Ar(),nu=ts(),iu=ws(),ou=Kf(),au=tu(),ru(fu,au),fu.prototype._update=function(t){this._hash.update(t)},fu.prototype._final=function(){return this._hash.digest()},eu=function(t){return"md5"===(t=t.toLowerCase())?new nu:"rmd160"===t||"ripemd160"===t?new iu:new fu(ou(t))}),eu}var hu,cu,du,lu,pu,mu,bu=!1;function gu(t,e){lu.call(this,"digest"),"string"==typeof e&&(e=du.from(e)),this._alg=t,this._key=e,e.length>mu?e=t(e):e.lengthr)?e=("rmd160"===t?new Ru:xu(t)).update(e).digest():e.lengthqu||e!=e)throw new TypeError("Bad key length")}),Fu}var Gu,Yu,Ku,Vu=!1;function Zu(){return Vu||(Vu=!0,Gu={},Lt(),t.process&&t.process.browser?Yu="utf-8":t.process&&t.process.version?(Ku=parseInt(Lt().version.split(".")[0].slice(1),10),Yu=Ku>=6?"utf-8":"binary"):Yu="utf-8",Gu=Yu),Gu}var $u,Xu,Ju=!1;function Qu(){return Ju||(Ju=!0,$u={},Xu=hr().Buffer,$u=function(t,e,r){if(Xu.isBuffer(t))return t;if("string"==typeof t)return Xu.from(t,e);if(ArrayBuffer.isView(t))return Xu.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}),$u}var th,eh,rh,nh,ih,oh,ah,sh,fh,uh,hh=!1;function ch(t,e,r){var n=function(t){function e(e){return nh(t).update(e).digest()}function r(t){return(new rh).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?eh:e}(t),i="sha512"===t||"sha384"===t?128:64;e.length>i?e=n(e):e.length>>0},Lh=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},Oh.writeUInt32BE=Lh,Uh=function(t,e,r,n){for(var i=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.ip=Uh,jh=function(t,e,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=e>>>s+a&1,i<<=1,i|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.rip=jh,Nh=function(t,e,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1}for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.pc1=Nh,zh=function(t,e){return t<>>28-e},Oh.r28shl=zh,Fh=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24],qh=function(t,e,r,n){for(var i=0,o=0,a=Fh.length>>>1,s=0;s>>Fh[s]&1;for(s=a;s>>Fh[s]&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.pc2=qh,Wh=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0},Oh.expand=Wh,Hh=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11],Gh=function(t,e){for(var r=0,n=0;n<4;n++)r<<=4,r|=Hh[64*n+(t>>>18-6*n&63)];for(n=0;n<4;n++)r<<=4,r|=Hh[256+64*n+(e>>>18-6*n&63)];return r>>>0},Oh.substitute=Gh,Yh=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7],Kh=function(t){for(var e=0,r=0;r>>Yh[r]&1;return e>>>0},Oh.permute=Kh,Vh=function(t,e,r){for(var n=t.toString(2);n.length0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},nc.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},nc.prototype._pad=function(t,e){if(0===e)return!1;for(;e>>1];r=$h().r28shl(r,o),n=$h().r28shl(n,o),$h().pc2(r,n,t.keys,i)}},cc.prototype._update=function(t,e,r,n){var i=this._desState,o=$h().readUInt32BE(t,e),a=$h().readUInt32BE(t,e+4);$h().ip(o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,o,a,i.tmp,0):this._decrypt(i,o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],$h().writeUInt32BE(r,o,n),$h().writeUInt32BE(r,a,n+4)},cc.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n>>0,o=c}$h().rip(a,o,n,i)},cc.prototype._decrypt=function(t,e,r,n,i){for(var o=r,a=e,s=t.keys.length-2;s>=0;s-=2){var f=t.keys[s],u=t.keys[s+1];$h().expand(o,t.tmp,0),f^=t.tmp[0],u^=t.tmp[1];var h=$h().substitute(f,u),c=o;o=(a^$h().permute(h))>>>0,a=c}$h().rip(o,a,n,i)}),oc}var lc,pc,mc,bc,gc=!1;function vc(t){tc().equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e>o%8,t._prev=Ad(t._prev,r?n:i);return a}function Ad(t,e){var r=t.length,n=-1,i=vd.allocUnsafe(t.length);for(t=vd.concat([t,vd.from([e])]);++n>7;return i}function Md(){return wd||(wd=!0,gd={},vd=hr().Buffer,yd=function(t,e,r){for(var n=e.length,i=vd.allocUnsafe(n),o=-1;++o>>24]^h[p>>>16&255]^c[m>>>8&255]^d[255&b]^e[g++],a=u[p>>>24]^h[m>>>16&255]^c[b>>>8&255]^d[255&l]^e[g++],s=u[m>>>24]^h[b>>>16&255]^c[l>>>8&255]^d[255&p]^e[g++],f=u[b>>>24]^h[l>>>16&255]^c[p>>>8&255]^d[255&m]^e[g++],l=o,p=a,m=s,b=f;return o=(n[l>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^e[g++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&l])^e[g++],s=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[l>>>8&255]<<8|n[255&p])^e[g++],f=(n[b>>>24]<<24|n[l>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[g++],[o>>>=0,a>>>=0,s>>>=0,f>>>=0]}function sl(t){this._key=il(t),this._reset()}function fl(){return nl||(nl=!0,Jd={},Qd=hr().Buffer,tl=[0,1,2,4,8,16,32,64,128,27,54],el=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,f=0;f<256;++f){var u=s^s<<1^s<<2^s<<3^s<<4;u=u>>>8^255&u^99,r[a]=u,n[u]=a;var h=t[a],c=t[h],d=t[c],l=257*t[u]^16843008*u;i[0][a]=l<<24|l>>>8,i[1][a]=l<<16|l>>>16,i[2][a]=l<<8|l>>>24,i[3][a]=l,l=16843009*d^65537*c^257*h^16843008*a,o[0][u]=l<<24|l>>>8,o[1][u]=l<<16|l>>>16,o[2][u]=l<<8|l>>>24,o[3][u]=l,0===a?a=s=1:(a=h^t[t[t[d^h]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}(),sl.blockSize=16,sl.keySize=32,sl.prototype.blockSize=sl.blockSize,sl.prototype.keySize=sl.keySize,sl.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=el.SBOX[a>>>24]<<24|el.SBOX[a>>>16&255]<<16|el.SBOX[a>>>8&255]<<8|el.SBOX[255&a],a^=tl[o/e|0]<<24):e>6&&o%e==4&&(a=el.SBOX[a>>>24]<<24|el.SBOX[a>>>16&255]<<16|el.SBOX[a>>>8&255]<<8|el.SBOX[255&a]),i[o]=i[o-e]^a}for(var s=[],f=0;f>>24]]^el.INV_SUB_MIX[1][el.SBOX[h>>>16&255]]^el.INV_SUB_MIX[2][el.SBOX[h>>>8&255]]^el.INV_SUB_MIX[3][el.SBOX[255&h]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=s},sl.prototype.encryptBlockRaw=function(t){return al(t=il(t),this._keySchedule,el.SUB_MIX,el.SBOX,this._nRounds)},sl.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=Qd.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},sl.prototype.decryptBlock=function(t){var e=(t=il(t))[1];t[1]=t[3],t[3]=e;var r=al(t,this._invKeySchedule,el.INV_SUB_MIX,el.INV_SBOX,this._nRounds),n=Qd.allocUnsafe(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[3],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[1],12),n},sl.prototype.scrub=function(){ol(this._keySchedule),ol(this._invKeySchedule),ol(this._key)},rl=sl,Jd.AES=rl),Jd}var ul,hl,cl,dl=!1;function ll(t){var e=hl.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function pl(t){this.h=t,this.state=hl.alloc(16,0),this.cache=hl.allocUnsafe(0)}function ml(){return dl||(dl=!0,ul={},hl=hr().Buffer,cl=hl.alloc(16,0),pl.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=ll(i)},pl.prototype.update=function(t){var e;for(this.cache=hl.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},pl.prototype.final=function(t,e){return this.cache.length&&this.ghash(hl.concat([this.cache,cl],16)),this.ghash(ll([0,t,0,e])),this.state},ul=pl),ul}var bl,gl,vl,yl,wl,_l,Al,Ml=!1;function El(t,e,r,n){vl.call(this);var i=gl.alloc(4,0);this._cipher=new(fl().AES)(e);var o=this._cipher.encryptBlock(i);this._ghash=new wl(o),r=function(t,e,r){if(12===e.length)return t._finID=gl.concat([e,gl.from([0,0,0,1])]),gl.concat([e,gl.from([0,0,0,2])]);var n=new wl(r),i=e.length,o=i%16;n.update(e),o&&(o=16-o,n.update(gl.alloc(o,0))),n.update(gl.alloc(8,0));var a=8*i,s=gl.alloc(8);s.writeUIntBE(a,0,8),n.update(s),t._finID=n.state;var f=gl.from(t._finID);return Al(f),f}(this,r,o),this._prev=gl.from(r),this._cache=gl.allocUnsafe(0),this._secCache=gl.allocUnsafe(0),this._decrypt=n,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}function Sl(){bl={},fl(),gl=hr().Buffer,vl=tu(),yl=Ar(),wl=ml(),_l=Xc(),Al=Pd(),yl(El,vl),El.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=gl.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},El.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=_l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i0||n>0;){var f=new Ol;f.update(s),f.update(t),e&&f.update(e),s=f.digest();var u=0;if(i>0){var h=o.length-i;u=Math.min(i,s.length),s.copy(o,h,0,u),i-=u}if(u0){var c=a.length-n,d=Math.min(n,s.length-u);s.copy(a,c,u,u+d),n-=d}}return s.fill(0),{key:o,iv:a}}function jl(){return Ll||(Ll=!0,Dl={},Pl=hr().Buffer,Ol=ts(),Dl=Ul),Dl}var Nl,zl,Fl,ql,Wl,Hl,Gl,Yl,Kl,Vl,Zl=!1;function $l(t,e,r){Hl.call(this),this._cache=new Xl,this._cipher=new(fl().AES)(e),this._prev=ql.from(r),this._mode=t,this._autopadding=!0}function Xl(){this.cache=ql.allocUnsafe(0)}function Jl(t,e,r){var n=zl[t.toLowerCase()];if(!n)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=ql.from(e)),e.length!==n.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=ql.from(r)),"GCM"!==n.mode&&r.length!==n.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===n.type?new Wl(n.module,e,r):"auth"===n.type?new Fl(n.module,e,r):new $l(n.module,e,r)}function Ql(t,e){var r=zl[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=Gl(e,!1,r.key,r.iv);return Jl(t,n.key,n.iv)}function tp(){return Zl||(Zl=!0,Nl={},zl=Xd(),Fl=kl(),ql=hr().Buffer,Wl=Il(),Hl=tu(),fl(),Gl=jl(),Ar()($l,Hl),$l.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return ql.concat(n)},Yl=ql.alloc(16,16),$l.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(Yl))throw this._cipher.scrub(),new Error("data not multiple of block length")},$l.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},Xl.prototype.add=function(t){this.cache=ql.concat([this.cache,t])},Xl.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},Xl.prototype.flush=function(){for(var t=16-this.cache.length,e=ql.allocUnsafe(t),r=-1;++r16)throw new Error("unable to decrypt data");for(var r=-1;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},dp.prototype.flush=function(){if(this.cache.length)return this.cache},fp=pp,ep.createDecipher=fp,up=lp,ep.createDecipheriv=up}function bp(){return hp||(hp=!0,mp()),ep}var gp,vp,yp,wp,_p,Ap,Mp,Ep,Sp,kp,Bp,Tp,Rp=!1;function xp(){return Object.keys(Mp)}function Cp(){return Rp||(Rp=!0,Ap={},tp(),bp(),Mp=Gd(),gp=tp().createCipher,Ep=Ap.Cipher=gp,Ap.createCipher=Ep,vp=tp().createCipheriv,Sp=Ap.Cipheriv=vp,Ap.createCipheriv=Sp,yp=bp().createDecipher,kp=Ap.Decipher=yp,Ap.createDecipher=kp,wp=bp().createDecipheriv,Bp=Ap.Decipheriv=wp,Ap.createDecipheriv=Bp,_p=xp,Tp=Ap.getCiphers=_p,Ap.listCiphers=Tp),Ap}var Ip,Dp,Pp,Op,Lp,Up,jp,Np,zp=!1;function Fp(){return zp||(zp=!0,(Pp={})["des-ecb"]={key:8,iv:0},Ip={key:8,iv:8},Op=Pp.des=Ip,Pp["des-cbc"]=Op,Dp={key:24,iv:8},Lp=Pp.des3=Dp,Pp["des-ede3-cbc"]=Lp,Up={key:24,iv:0},Pp["des-ede3"]=Up,jp={key:16,iv:8},Pp["des-ede-cbc"]=jp,Np={key:16,iv:0},Pp["des-ede"]=Np),Pp}var qp,Wp,Hp,Gp,Yp,Kp,Vp,Zp,$p,Xp,Jp,Qp,tm,em,rm,nm=!1;function im(t,e){var r,n;if(t=t.toLowerCase(),Zp[t])r=Zp[t].key,n=Zp[t].iv;else{if(!$p[t])throw new TypeError("invalid suite type");r=8*$p[t].key,n=$p[t].iv}var i=Xp(e,!1,r,n);return am(t,i.key,i.iv)}function om(t,e){var r,n;if(t=t.toLowerCase(),Zp[t])r=Zp[t].key,n=Zp[t].iv;else{if(!$p[t])throw new TypeError("invalid suite type");r=8*$p[t].key,n=$p[t].iv}var i=Xp(e,!1,r,n);return sm(t,i.key,i.iv)}function am(t,e,r){if(t=t.toLowerCase(),Zp[t])return Cp().createCipheriv(t,e,r);if($p[t])return new Vp({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function sm(t,e,r){if(t=t.toLowerCase(),Zp[t])return Cp().createDecipheriv(t,e,r);if($p[t])return new Vp({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}function fm(){return Object.keys($p).concat(Cp().getCiphers())}function um(){return nm||(nm=!0,Kp={},Vp=Wc(),Cp(),Zp=Xd(),$p=Fp(),Xp=jl(),qp=im,Jp=Kp.Cipher=qp,Kp.createCipher=Jp,Wp=am,Qp=Kp.Cipheriv=Wp,Kp.createCipheriv=Qp,Hp=om,tm=Kp.Decipher=Hp,Kp.createDecipher=tm,Gp=sm,em=Kp.Decipheriv=Gp,Kp.createDecipheriv=em,Yp=fm,rm=Kp.getCiphers=Yp,Kp.listCiphers=rm),Kp}var hm,cm=!1;function dm(){hm=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:rr().Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?u[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var d=h[t],l=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(l).toString(t);n=(p=p.idivn(l)).isZero()?m+n:u[d-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,s,f="le"===e,u=new t(o),h=this.clone();if(f){for(s=0;!h.isZero();s++)a=h.andln(255),h.iushrn(8),u[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(l=d),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?l(this,t,e):r<63?d(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new A(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function g(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(t,e){t.iushrn(this.n,0,e)},g.prototype.imulK=function(t){return t.imul(this.k)},n(v,g),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return b[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new M(t)},n(M,A),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function lm(){return cm||(cm=!0,dm()),hm}var pm,mm,bm,gm=!1;function vm(t){this.rand=t}function ym(){return gm||(gm=!0,function(){if(pm={},pm=function(t){return mm||(mm=new vm(null)),mm.generate(t)},bm=vm,pm.Rand=bm,vm.prototype.generate=function(t){return this._rand(t)},vm.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r=0);return n},Mm.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},Mm.prototype.test=function(t,e,r){var n=t.bitLength(),i=_m.mont(t),o=new _m(1).toRed(i);e||(e=Math.max(1,n/48|0));for(var a=t.subn(1),s=0;!a.testn(s);s++);for(var f=t.shrn(s),u=a.toRed(i);e>0;e--){var h=this._randrange(new _m(2),a);r&&r(h);var c=h.toRed(i).redPow(f);if(0!==c.cmp(o)&&0!==c.cmp(u)){for(var d=1;d0;e--){var u=this._randrange(new _m(2),o),h=t.gcd(u);if(0!==h.cmpn(1))return h;var c=u.toRed(n).redPow(s);if(0!==c.cmp(i)&&0!==c.cmp(f)){for(var d=1;dt;)r.ishrn(1);if(r.isEven()&&r.iadd(Cm),r.testn(1)||r.iadd(Im),e.cmp(Im)){if(!e.cmp(Dm))for(;r.mod(Pm).cmp(Om);)r.iadd(Um)}else for(;r.mod(Tm).cmp(Lm);)r.iadd(Um);if(zm(n=r.shrn(1))&&zm(r)&&Fm(n)&&Fm(r)&&xm.test(n)&&xm.test(r))return r}}function Wm(){return Nm||(Nm=!0,Sm={},km=yr(),Sm=qm,qm.simpleSieve=zm,qm.fermatTest=Fm,Bm=lm(),Tm=new Bm(24),Rm=Em(),xm=new Rm,Cm=new Bm(1),Im=new Bm(2),Dm=new Bm(5),new Bm(16),new Bm(8),Pm=new Bm(10),Om=new Bm(3),new Bm(7),Lm=new Bm(11),Um=new Bm(4),new Bm(12),jm=null),Sm}var Hm,Gm=!1;function Ym(){return Gm||(Gm=!0,Hm={},Hm=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')),Hm}var Km,Vm,Zm,$m,Xm,Jm,Qm,tb,eb,rb,nb,ib,ob=!1;function ab(t,e){return e=e||"utf8",Vm.isBuffer(t)||(t=new Vm(t,e)),this._pub=new Zm(t),this}function sb(t,e){return e=e||"utf8",Vm.isBuffer(t)||(t=new Vm(t,e)),this._priv=new Zm(t),this}function fb(t,e,r){this.setGenerator(e),this.__prime=new Zm(t),this._prime=Zm.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=ab,this.setPrivateKey=sb):this._primeCode=8}function ub(t,e){var r=new Vm(t.toArray());return e?r.toString(e):r}function hb(){Km={},Vm=Ke().Buffer,Zm=lm(),$m=Em(),Xm=new $m,Jm=new Zm(24),Qm=new Zm(11),tb=new Zm(10),eb=new Zm(3),rb=new Zm(7),Wm(),nb=yr(),Km=fb,ib={},Object.defineProperty(fb.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),n=[r,t.toString(16)].join("_");if(n in ib)return ib[n];var i,o=0;if(t.isEven()||!Wm().simpleSieve||!Wm().fermatTest(t)||!Xm.test(t))return o+=1,o+="02"===r||"05"===r?8:4,ib[n]=o,o;switch(Xm.test(t.shrn(1))||(o+=2),r){case"02":t.mod(Jm).cmp(Qm)&&(o+=8);break;case"05":(i=t.mod(tb)).cmp(eb)&&i.cmp(rb)&&(o+=8);break;default:o+=4}return ib[n]=o,o}(this.__prime,this.__gen)),this._primeCode}}),fb.prototype.generateKeys=function(){return this._priv||(this._priv=new Zm(nb(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},fb.prototype.computeSecret=function(t){var e=(t=(t=new Zm(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new Vm(e.toArray()),n=this.getPrime();if(r.length=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,n,i){for(var o=0,a=0,s=Math.min(t.length,n),f=e;f=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&a0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){i.prototype.inspect=h}else i.prototype.inspect=h;function h(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?c[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],h=l[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(h).toString(t);n=(p=p.idivn(h)).isZero()?m+n:c[u-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r._strip()}i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return b(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?b(this,t,e):g(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,n+=o/67108864|0,n+=a>>>26,this.words[i]=67108863&a}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this._strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new S(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function A(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},n(_,w),_.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},_.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new _;else if("p224"===t)e=new A;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return y[t]=e,e},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}var Rb,xb,Cb,Ib,Db=!1;function Pb(t){var e,r=t.modulus.byteLength();do{e=new Cb(Ib(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function Ob(t,e){var r=function(t){var e=Pb(t);return{blinder:e.toRed(Cb.mont(t.modulus)).redPow(new Cb(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),n=e.modulus.byteLength(),i=new Cb(t).mul(r.blinder).umod(e.modulus),o=i.toRed(Cb.mont(e.prime1)),a=i.toRed(Cb.mont(e.prime2)),s=e.coefficient,f=e.prime1,u=e.prime2,h=o.redPow(e.exponent1).fromRed(),c=a.redPow(e.exponent2).fromRed(),d=h.isub(c).imul(s).umod(f).imul(u);return c.iadd(d).imul(r.unblinder).umod(e.modulus).toArrayLike(xb,"be",n)}function Lb(){Rb={},xb=Ke().Buffer,Bb||(Bb=!0,Tb()),Cb=kb,Ib=yr(),Ob.getr=Pb,Rb=Ob}function Ub(){return Db||(Db=!0,Lb()),Rb}var jb,Nb=!1;function zb(){return Nb||(Nb=!0,jb={},jb=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')),jb}var Fb,qb,Wb=!1;function Hb(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var n=0;n>8,a=255&i;o?r.push(o,a):r.push(a)}return r}function Gb(t){return 1===t.length?"0"+t:t}function Yb(t){for(var e="",r=0;r(i>>1)-1?(i>>1)-f:f,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n}function tg(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,f=t.andln(3)+i&3,u=e.andln(3)+o&3;3===f&&(f=-1),3===u&&(u=-1),a=0==(1&f)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==u?f:-f,r[0].push(a),s=0==(1&u)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==f?u:-u,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r}function eg(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}}function rg(t){return"string"==typeof t?Zb.toArray(t,"hex"):t}function ng(t){return new $b(t,"hex","le")}function ig(){return Jb||(Jb=!0,Zb=Vb={},$b=lm(),Xb=tc(),Kb(),Zb.assert=Xb,Zb.toArray=Kb().toArray,Zb.zero2=Kb().zero2,Zb.toHex=Kb().toHex,Zb.encode=Kb().encode,Zb.getNAF=Qb,Zb.getJSF=tg,Zb.cachedProperty=eg,Zb.parseBytes=rg,Zb.intFromLE=ng),Vb}var og,ag,sg,fg,ug,hg=!1;function cg(t,e){this.type=t,this.p=new ag(e.p,16),this.red=e.prime?ag.red(e.prime):ag.mont(this.p),this.zero=new ag(0).toRed(this.red),this.one=new ag(1).toRed(this.red),this.two=new ag(2).toRed(this.red),this.n=e.n&&new ag(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function dg(t,e){this.curve=t,this.type=e,this.precomputed=null}function lg(){return hg||(hg=!0,og={},ag=lm(),ig(),sg=ig().getNAF,fg=ig().getJSF,ug=ig().assert,og=cg,cg.prototype.point=function(){throw new Error("Not implemented")},cg.prototype.validate=function(){throw new Error("Not implemented")},cg.prototype._fixedNafMul=function(t,e){ug(t.precomputed);var r=t._getDoubles(),n=sg(e,1,this._bitLength),i=(1<=o;f--)a=(a<<1)+n[f];s.push(a)}for(var u=this.jpoint(null,null,null),h=this.jpoint(null,null,null),c=i;c>0;c--){for(o=0;o=0;s--){for(var f=0;s>=0&&0===o[s];s--)f++;if(s>=0&&f++,a=a.dblp(f),s<0)break;var u=o[s];ug(0!==u),a="affine"===t.type?u>0?a.mixedAdd(i[u-1>>1]):a.mixedAdd(i[-u-1>>1].neg()):u>0?a.add(i[u-1>>1]):a.add(i[-u-1>>1].neg())}return"affine"===t.type?a.toP():a},cg.prototype._wnafMulAdd=function(t,e,r,n,i){var o,a,s,f=this._wnafT1,u=this._wnafT2,h=this._wnafT3,c=0;for(o=0;o=1;o-=2){var l=o-1,p=o;if(1===f[l]&&1===f[p]){var m=[e[l],null,null,e[p]];0===e[l].y.cmp(e[p].y)?(m[1]=e[l].add(e[p]),m[2]=e[l].toJ().mixedAdd(e[p].neg())):0===e[l].y.cmp(e[p].y.redNeg())?(m[1]=e[l].toJ().mixedAdd(e[p]),m[2]=e[l].add(e[p].neg())):(m[1]=e[l].toJ().mixedAdd(e[p]),m[2]=e[l].toJ().mixedAdd(e[p].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],g=fg(r[l],r[p]);for(c=Math.max(g[0].length,c),h[l]=new Array(c),h[p]=new Array(c),a=0;a=0;o--){for(var A=0;o>=0;){var M=!0;for(a=0;a=0&&A++,w=w.dblp(A),o<0)break;for(a=0;a0?s=u[a][E-1>>1]:E<0&&(s=u[a][-E-1>>1].neg()),w="affine"===s.type?w.mixedAdd(s):w.add(s))}}for(o=0;o=Math.ceil((t.bitLength()+1)/e.step)},dg.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=e,a=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:i},{a:o,b:a}]},wg.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),f=i.mul(r.b),u=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:f.add(u).neg()}},wg.prototype.pointFromX=function(t,e){(t=new mg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},wg.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},wg.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},_g.prototype.isInfinity=function(){return this.inf},_g.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},_g.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},_g.prototype.getX=function(){return this.x.fromRed()},_g.prototype.getY=function(){return this.y.fromRed()},_g.prototype.mul=function(t){return t=new mg(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},_g.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},_g.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},_g.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},_g.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},_g.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},bg(Ag,gg.BasePoint),wg.prototype.jpoint=function(t,e,r){return new Ag(this,t,e,r)},Ag.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},Ag.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ag.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),f=o.redSub(a);if(0===s.cmpn(0))return 0!==f.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),h=u.redMul(s),c=n.redMul(u),d=f.redSqr().redIAdd(h).redISub(c).redISub(c),l=f.redMul(c.redISub(d)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,l,p)},Ag.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=a.redSqr(),u=f.redMul(a),h=r.redMul(f),c=s.redSqr().redIAdd(u).redISub(h).redISub(h),d=s.redMul(h.redISub(c)).redISub(i.redMul(u)),l=this.z.redMul(a);return this.curve.jpoint(c,d,l)},Ag.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Ag.prototype.inspect=function(){return this.isInfinity()?"":""},Ag.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}),pg}var Eg,Sg,kg,Bg,Tg=!1;function Rg(t){Bg.call(this,"mont",t),this.a=new Sg(t.a,16).toRed(this.red),this.b=new Sg(t.b,16).toRed(this.red),this.i4=new Sg(4).toRed(this.red).redInvm(),this.two=new Sg(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function xg(t,e,r){Bg.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Sg(e,16),this.z=new Sg(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}function Cg(){return Tg||(Tg=!0,Eg={},Sg=lm(),kg=Ar(),Bg=lg(),ig(),kg(Rg,Bg),Eg=Rg,Rg.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},kg(xg,Bg.BasePoint),Rg.prototype.decodePoint=function(t,e){return this.point(ig().toArray(t,e),1)},Rg.prototype.point=function(t,e){return new xg(this,t,e)},Rg.prototype.pointFromJSON=function(t){return xg.fromJSON(this,t)},xg.prototype.precompute=function(){},xg.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},xg.fromJSON=function(t,e){return new xg(t,e[0],e[1]||t.one)},xg.prototype.inspect=function(){return this.isInfinity()?"":""},xg.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},xg.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},xg.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),s=e.z.redMul(o.redAdd(a).redSqr()),f=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,f)},xg.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},xg.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},xg.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},xg.prototype.getX=function(){return this.normalize(),this.x.fromRed()}),Eg}var Ig,Dg,Pg,Og,Lg,Ug=!1;function jg(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Og.call(this,"edwards",t),this.a=new Dg(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Dg(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Dg(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Lg(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function Ng(t,e,r,n,i){Og.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Dg(e,16),this.y=new Dg(r,16),this.z=n?new Dg(n,16):this.curve.one,this.t=i&&new Dg(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}function zg(){return Ug||(Ug=!0,Ig={},ig(),Dg=lm(),Pg=Ar(),Og=lg(),Lg=ig().assert,Pg(jg,Og),Ig=jg,jg.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},jg.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},jg.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},jg.prototype.pointFromX=function(t,e){(t=new Dg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),i=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=n.redMul(i.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var s=a.fromRed().isOdd();return(e&&!s||!e&&s)&&(a=a.redNeg()),this.point(t,a)},jg.prototype.pointFromY=function(t,e){(t=new Dg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),i=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(i.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},jg.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},Pg(Ng,Og.BasePoint),jg.prototype.pointFromJSON=function(t){return Ng.fromJSON(this,t)},jg.prototype.point=function(t,e,r,n){return new Ng(this,t,e,r,n)},Ng.fromJSON=function(t,e){return new Ng(t,e[0],e[1],e[2])},Ng.prototype.inspect=function(){return this.isInfinity()?"":""},Ng.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Ng.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),s=n.redSub(e),f=i.redMul(a),u=o.redMul(s),h=i.redMul(s),c=a.redMul(o);return this.curve.point(f,u,c,h)},Ng.prototype._projDbl=function(){var t,e,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),f=this.y.redSqr();if(this.curve.twisted){var u=(n=this.curve._mulA(s)).redAdd(f);this.zOne?(t=a.redSub(s).redSub(f).redMul(u.redSub(this.curve.two)),e=u.redMul(n.redSub(f)),r=u.redSqr().redSub(u).redSub(u)):(i=this.z.redSqr(),o=u.redSub(i).redISub(i),t=a.redSub(s).redISub(f).redMul(o),e=u.redMul(n.redSub(f)),r=u.redMul(o))}else n=s.redAdd(f),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(a.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(s.redISub(f)),r=n.redMul(o);return this.curve.point(t,e,r)},Ng.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Ng.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),s=i.redAdd(n),f=r.redAdd(e),u=o.redMul(a),h=s.redMul(f),c=o.redMul(f),d=a.redMul(s);return this.curve.point(u,h,d,c)},Ng.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),f=i.redSub(s),u=i.redAdd(s),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),c=n.redMul(f).redMul(h);return this.curve.twisted?(e=n.redMul(u).redMul(a.redSub(this.curve._mulA(o))),r=f.redMul(u)):(e=n.redMul(u).redMul(a.redSub(o)),r=this.curve._mulC(f).redMul(u)),this.curve.point(c,e,r)},Ng.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Ng.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Ng.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Ng.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Ng.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Ng.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Ng.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Ng.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Ng.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Ng.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},Ng.prototype.toP=Ng.prototype.normalize,Ng.prototype.mixedAdd=Ng.prototype.add),Ig}var Fg,qg,Wg=!1;function Hg(){return Wg||(Wg=!0,(qg=Fg={}).base=lg(),qg.short=Mg(),qg.mont=Cg(),qg.edwards=zg()),Fg}var Gg,Yg,Kg,Vg,Zg,$g,Xg,Jg,Qg,tv,ev,rv,nv,iv,ov,av,sv,fv,uv,hv,cv,dv,lv,pv,mv,bv,gv,vv,yv,wv=!1;function _v(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Av(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i>6|192,r[n++]=63&o|128):_v(t,i)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++i)),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=63&o|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=63&o|128)}else for(i=0;i>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Sv(t,e){for(var r="",n=0;n>>0}return o}function Rv(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r}function xv(t,e){return t>>>e|t<<32-e}function Cv(t,e){return t<>>32-e}function Iv(t,e){return t+e>>>0}function Dv(t,e,r){return t+e+r>>>0}function Pv(t,e,r,n){return t+e+r+n>>>0}function Ov(t,e,r,n,i){return t+e+r+n+i>>>0}function Lv(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o}function Uv(t,e,r,n){return(e+n>>>0>>0}function jv(t,e,r,n){return e+n>>>0}function Nv(t,e,r,n,i,o,a,s){var f=0,u=e;return f+=(u=u+n>>>0)>>0)>>0)>>0}function zv(t,e,r,n,i,o,a,s){return e+n+o+s>>>0}function Fv(t,e,r,n,i,o,a,s,f,u){var h=0,c=e;return h+=(c=c+n>>>0)>>0)>>0)>>0)>>0}function qv(t,e,r,n,i,o,a,s,f,u){return e+n+o+s+u>>>0}function Wv(t,e,r){return(e<<32-r|t>>>r)>>>0}function Hv(t,e,r){return(t<<32-r|e>>>r)>>>0}function Gv(t,e,r){return t>>>r}function Yv(t,e,r){return(t<<32-r|e>>>r)>>>0}function Kv(){return wv||(wv=!0,Gg={},Yg=tc(),Kg=Ar(),Vg=Kg,Gg.inherits=Vg,Zg=Av,Gg.toArray=Zg,$g=Mv,Gg.toHex=$g,Xg=Ev,Gg.htonl=Xg,Jg=Sv,Gg.toHex32=Jg,Qg=kv,Gg.zero2=Qg,tv=Bv,Gg.zero8=tv,ev=Tv,Gg.join32=ev,rv=Rv,Gg.split32=rv,nv=xv,Gg.rotr32=nv,iv=Cv,Gg.rotl32=iv,ov=Iv,Gg.sum32=ov,av=Dv,Gg.sum32_3=av,sv=Pv,Gg.sum32_4=sv,fv=Ov,Gg.sum32_5=fv,uv=Lv,Gg.sum64=uv,hv=Uv,Gg.sum64_hi=hv,cv=jv,Gg.sum64_lo=cv,dv=Nv,Gg.sum64_4_hi=dv,lv=zv,Gg.sum64_4_lo=lv,pv=Fv,Gg.sum64_5_hi=pv,mv=qv,Gg.sum64_5_lo=mv,bv=Wv,Gg.rotr64_hi=bv,gv=Hv,Gg.rotr64_lo=gv,vv=Gv,Gg.shr64_hi=vv,yv=Yv,Gg.shr64_lo=yv),Gg}var Vv,Zv,$v,Xv=!1;function Jv(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}function Qv(){return Xv||(Xv=!0,Vv={},Kv(),Zv=tc(),$v=Jv,Vv.BlockHash=$v,Jv.prototype.update=function(t,e){if(t=Kv().toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=Kv().join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3}function by(t){return ey(t,17)^ey(t,19)^t>>>10}function gy(){return uy||(uy=!0,ty={},Kv(),ey=Kv().rotr32,ry=hy,ty.ft_1=ry,ny=cy,ty.ch32=ny,iy=dy,ty.maj32=iy,oy=ly,ty.s0_256=oy,ay=py,ty.s1_256=ay,sy=my,ty.g0_256=sy,fy=by,ty.g1_256=fy),ty}var vy,yy,wy,_y,Ay,My,Ey,Sy=!1;function ky(){if(!(this instanceof ky))return new ky;My.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}function By(){return Sy||(Sy=!0,vy={},Kv(),Qv(),gy(),yy=Kv().rotl32,wy=Kv().sum32,_y=Kv().sum32_5,Ay=gy().ft_1,My=Qv().BlockHash,Ey=[1518500249,1859775393,2400959708,3395469782],Kv().inherits(ky,My),vy=ky,ky.blockSize=512,ky.outSize=160,ky.hmacStrength=80,ky.padLength=64,ky.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),t_(t.length<=this.blockSize);for(var e=t.length;e=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}function M_(){return __||(__=!0,y_={},s_(),Kb(),w_=tc(),y_=A_,A_.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},A_.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=Kb().toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"}),E_}var x_,C_,I_,D_=!1;function P_(t,e){if(t instanceof P_)return t;this._importDER(t,e)||(I_(t.r&&t.s,"Signature without r or s"),this.r=new C_(t.r,16),this.s=new C_(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function O_(){this.place=0}function L_(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function U_(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}function N_(){return D_||(D_=!0,x_={},C_=lm(),ig(),I_=ig().assert,x_=P_,P_.prototype._importDER=function(t,e){t=ig().toArray(t,e);var r=new O_;if(48!==t[r.place++])return!1;var n=L_(t,r);if(!1===n)return!1;if(n+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var i=L_(t,r);if(!1===i)return!1;var o=t.slice(r.place,i+r.place);if(r.place+=i,2!==t[r.place++])return!1;var a=L_(t,r);if(!1===a)return!1;if(t.length!==a+r.place)return!1;var s=t.slice(r.place,a+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new C_(o),this.s=new C_(s),this.recoveryParam=null,!0},P_.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=U_(e),r=U_(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];j_(n,e.length),(n=n.concat(e)).push(2),j_(n,r.length);var i=n.concat(r),o=[48];return j_(o,i.length),o=o.concat(i),ig().encode(o,t)}),x_}var z_,F_,q_,W_,H_,G_,Y_,K_,V_=!1;function Z_(t){if(!(this instanceof Z_))return new Z_(t);"string"==typeof t&&(G_(Object.prototype.hasOwnProperty.call(W_,t),"Unknown curve "+t),t=W_[t]),t instanceof W_.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}function $_(){return V_||(V_=!0,z_={},F_=lm(),q_=M_(),ig(),W_=v_(),H_=ym(),G_=ig().assert,Y_=R_(),K_=N_(),z_=Z_,Z_.prototype.keyPair=function(t){return new Y_(this,t)},Z_.prototype.keyFromPrivate=function(t,e){return Y_.fromPrivate(this,t,e)},Z_.prototype.keyFromPublic=function(t,e){return Y_.fromPublic(this,t,e)},Z_.prototype.genKeyPair=function(t){t||(t={});for(var e=new q_({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||H_(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new F_(2));;){var i=new F_(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},Z_.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},Z_.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new F_(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),a=t.toArray("be",i),s=new q_({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),f=this.n.sub(new F_(1)),u=0;;u++){var h=n.k?n.k(u):new F_(s.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(f)>=0)){var c=this.g.mul(h);if(!c.isInfinity()){var d=c.getX(),l=d.umod(this.n);if(0!==l.cmpn(0)){var p=h.invm(this.n).mul(l.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(c.getY().isOdd()?1:0)|(0!==d.cmp(l)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new K_({r:l,s:p,recoveryParam:m})}}}}}},Z_.prototype.verify=function(t,e,r,n){t=this._truncateToN(new F_(t,16)),r=this.keyFromPublic(r,n);var i=(e=new K_(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),f=s.mul(t).umod(this.n),u=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(f,r.getPublic(),u)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(f,r.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},Z_.prototype.recoverPubKey=function(t,e,r,n){G_((3&r)===r,"The recovery param is more than two bits"),e=new K_(e,n);var i=this.n,o=new F_(t),a=e.r,s=e.s,f=1&r,u=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");a=u?this.curve.pointFromX(a.add(this.curve.n),f):this.curve.pointFromX(a,f);var h=e.r.invm(i),c=i.sub(o).mul(h).umod(i),d=s.mul(h).umod(i);return this.g.mulAdd(c,a,d)},Z_.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new K_(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}),z_}var X_,J_,Q_,tA,eA=!1;function rA(t,e){this.eddsa=t,this._secret=Q_(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=Q_(e.pub)}function nA(){return eA||(eA=!0,X_={},ig(),J_=ig().assert,Q_=ig().parseBytes,tA=ig().cachedProperty,rA.fromPublic=function(t,e){return e instanceof rA?e:new rA(t,{pub:e})},rA.fromSecret=function(t,e){return e instanceof rA?e:new rA(t,{secret:e})},rA.prototype.secret=function(){return this._secret},tA(rA,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),tA(rA,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),tA(rA,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,n=e.slice(0,t.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),tA(rA,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),tA(rA,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),tA(rA,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),rA.prototype.sign=function(t){return J_(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},rA.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},rA.prototype.getSecret=function(t){return J_(this._secret,"KeyPair is public only"),ig().encode(this.secret(),t)},rA.prototype.getPublic=function(t){return ig().encode(this.pubBytes(),t)},X_=rA),X_}var iA,oA,aA,sA,fA,uA=!1;function hA(t,e){this.eddsa=t,"object"!=typeof e&&(e=fA(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),aA(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof oA&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}function cA(){return uA||(uA=!0,iA={},oA=lm(),ig(),aA=ig().assert,sA=ig().cachedProperty,fA=ig().parseBytes,sA(hA,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),sA(hA,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),sA(hA,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),sA(hA,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),hA.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},hA.prototype.toHex=function(){return ig().encode(this.toBytes(),"hex").toUpperCase()},iA=hA),iA}var dA,lA,pA,mA,bA,gA=!1;function vA(t){if(pA("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof vA))return new vA(t);t=lA[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=s_().sha512}function yA(){return gA||(gA=!0,dA={},s_(),lA=v_(),ig(),pA=ig().assert,mA=ig().parseBytes,nA(),bA=cA(),dA=vA,vA.prototype.sign=function(t,e){t=mA(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),s=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:s,Rencoded:o})},vA.prototype.verify=function(t,e,r){t=mA(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},vA.prototype.hashInt=function(){for(var t=this.hash(),e=0;e=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,n,i){for(var o=0,a=0,s=Math.min(t.length,n),f=e;f=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&a0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){i.prototype.inspect=h}else i.prototype.inspect=h;function h(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?c[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],h=l[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(h).toString(t);n=(p=p.idivn(h)).isZero()?m+n:c[u-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r._strip()}i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return b(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?b(this,t,e):g(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,n+=o/67108864|0,n+=a>>>26,this.words[i]=67108863&a}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this._strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new S(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function A(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},n(_,w),_.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},_.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new _;else if("p224"===t)e=new A;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return y[t]=e,e},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function BA(){return SA||(SA=!0,kA()),EA}var TA,RA,xA,CA,IA,DA,PA=!1;function OA(){return PA||(PA=!0,function(){for(IA in TA={},Lt(),RA=Ke(),xA=RA.Buffer,CA={},RA)RA.hasOwnProperty(IA)&&"SlowBuffer"!==IA&&"Buffer"!==IA&&(CA[IA]=RA[IA]);for(IA in DA=CA.Buffer={},xA)xA.hasOwnProperty(IA)&&"allocUnsafe"!==IA&&"allocUnsafeSlow"!==IA&&(DA[IA]=xA[IA]);if(CA.Buffer.prototype=xA.prototype,DA.from&&DA.from!==Uint8Array.from||(DA.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return xA(t,e,r)}),DA.alloc||(DA.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=xA(t);return e&&0!==e.length?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n}),!CA.kStringMaxLength)try{CA.kStringMaxLength=Lt().binding("buffer").kStringMaxLength}catch(t){}CA.constants||(CA.constants={MAX_LENGTH:CA.kMaxLength},CA.kStringMaxLength&&(CA.constants.MAX_STRING_LENGTH=CA.kStringMaxLength)),TA=CA}()),TA}var LA,UA,jA,NA=!1;function zA(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function FA(t,e){this.path=t,this.rethrow(e)}function qA(){return NA||(NA=!0,LA={},UA=Ar(),jA=zA,LA.Reporter=jA,zA.prototype.isError=function(t){return t instanceof FA},zA.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},zA.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},zA.prototype.enterKey=function(t){return this._reporterState.path.push(t)},zA.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},zA.prototype.leaveKey=function(t,e,r){const n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},zA.prototype.path=function(){return this._reporterState.path.join("/")},zA.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},zA.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},zA.prototype.error=function(t){let e;const r=this._reporterState,n=t instanceof FA;if(e=n?t:new FA(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},zA.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},UA(FA,Error),FA.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,FA),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}),LA}var WA,HA,GA,YA,KA,VA,ZA=!1;function $A(t,e){GA.call(this,e),YA.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function XA(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return XA.isEncoderBuffer(t)||(t=new XA(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=YA.byteLength(t);else{if(!YA.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}function JA(){return ZA||(ZA=!0,WA={},HA=Ar(),GA=qA().Reporter,YA=OA().Buffer,HA($A,GA),KA=$A,WA.DecoderBuffer=KA,$A.isDecoderBuffer=function(t){return t instanceof $A||"object"==typeof t&&YA.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},$A.prototype.save=function(){return{offset:this.offset,reporter:GA.prototype.save.call(this)}},$A.prototype.restore=function(t){const e=new $A(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,GA.prototype.restore.call(this,t.reporter),e},$A.prototype.isEmpty=function(){return this.offset===this.length},$A.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},$A.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new $A(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},$A.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},VA=XA,WA.EncoderBuffer=VA,XA.isEncoderBuffer=function(t){return t instanceof XA||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},XA.prototype.join=function(t,e){return t||(t=YA.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):YA.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}),WA}var QA,tM,eM,rM,nM,iM,oM,aM,sM,fM=!1;function uM(t,e,r){const n={};this._baseState=n,n.name=r,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}function hM(){return fM||(fM=!0,QA={},tM=qA().Reporter,eM=JA().EncoderBuffer,rM=JA().DecoderBuffer,nM=tc(),oM=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(iM=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"]),aM=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"],QA=uM,sM=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"],uM.prototype.clone=function(){const t=this._baseState,e={};sM.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},uM.prototype._wrap=function(){const t=this._baseState;oM.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},uM.prototype._init=function(t){const e=this._baseState;nM(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),nM.equal(e.children.length,1,"Root node can have only one child")},uM.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(nM(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(nM(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const n=t[r];e[n]=r})),e})))},aM.forEach((function(t){uM.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),iM.forEach((function(t){uM.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return nM(null===e.tag),e.tag=t,this._useArgs(r),this}})),uM.prototype.use=function(t){nM(t);const e=this._baseState;return nM(null===e.use),e.use=t,this},uM.prototype.optional=function(){return this._baseState.optional=!0,this},uM.prototype.def=function(t){const e=this._baseState;return nM(null===e.default),e.default=t,e.optional=!0,this},uM.prototype.explicit=function(t){const e=this._baseState;return nM(null===e.explicit&&null===e.implicit),e.explicit=t,this},uM.prototype.implicit=function(t){const e=this._baseState;return nM(null===e.explicit&&null===e.implicit),e.implicit=t,this},uM.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},uM.prototype.key=function(t){const e=this._baseState;return nM(null===e.key),e.key=t,this},uM.prototype.any=function(){return this._baseState.any=!0,this},uM.prototype.choice=function(t){const e=this._baseState;return nM(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},uM.prototype.contains=function(t){const e=this._baseState;return nM(null===e.use),e.contains=t,this},uM.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let n,i=r.default,o=!0,a=null;if(null!==r.key&&(a=t.enterKey(r.key)),r.optional){let n=null;if(null!==r.explicit?n=r.explicit:null!==r.implicit?n=r.implicit:null!==r.tag&&(n=r.tag),null!==n||r.any){if(o=this._peekTag(t,n,r.any),t.isError(o))return o}else{const n=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(n)}}if(r.obj&&o&&(n=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const n=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const n=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(n))return n;r.any?i=t.raw(e):t=n}if(e&&e.track&&null!==r.tag&&e.track(t.path(),n,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const n=new rM(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(n,e)}}return r.obj&&o&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,r.key,i),i},uM.prototype._decodeGeneric=function(t,e,r){const n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},uM.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),nM(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},uM.prototype._decodeChoice=function(t,e){const r=this._baseState;let n=null,i=!1;return Object.keys(r.choice).some((function(o){const a=t.save(),s=r.choice[o];try{const r=s._decode(t,e);if(t.isError(r))return!1;n={type:o,value:r},i=!0}catch(e){return t.restore(a),!1}return!0}),this),i?n:t.error("Choice not matched")},uM.prototype._createEncoderBuffer=function(t){return new eM(t,this.reporter)},uM.prototype._encode=function(t,e,r){const n=this._baseState;if(null!==n.default&&n.default===t)return;const i=this._encodeValue(t,e,r);return void 0===i||this._skipDefault(i,e,r)?void 0:i},uM.prototype._encodeValue=function(t,e,r){const n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new tM);let i=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n.default)return;t=n.default}let o=null,a=!1;if(n.any)i=this._createEncoderBuffer(t);else if(n.choice)i=this._encodeChoice(t,e);else if(n.contains)o=this._getUse(n.contains,r)._encode(t,e),a=!0;else if(n.children)o=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const n=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const i=r._encode(t[r._baseState.key],e,t);return e.leaveKey(n),i}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),r))}else null!==n.use?i=this._getUse(n.use,r)._encode(t,e):(o=this._encodePrimitive(n.tag,t),a=!0);if(!n.any&&null===n.choice){const t=null!==n.implicit?n.implicit:n.tag,r=null===n.implicit?"universal":"context";null===t?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(i=this._encodeComposite(t,a,r,o))}return null!==n.explicit&&(i=this._encodeComposite(n.explicit,!1,"context",i)),i},uM.prototype._encodeChoice=function(t,e){const r=this._baseState,n=r.choice[t.type];return n||nM(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},uM.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},uM.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},uM.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}),QA}var cM,dM,lM,pM,mM,bM=!1;function gM(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const n=t[r];e[n]=r})),e}function vM(){return bM||(bM=!0,(cM={}).tagClass=dM={0:"universal",1:"application",2:"context",3:"private"},lM=gM(dM),cM.tagClassByName=lM,pM={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},cM.tag=pM,mM=gM(pM),cM.tagByName=mM),cM}var yM,wM,_M,AM,MM=!1;function EM(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new SM,this.tree._init(t.body)}function SM(t){AM.call(this,"der",t)}function kM(t){return t<10?"0"+t:t}function BM(){yM={},wM=Ar(),_M=OA().Buffer,AM=hM(),vM(),yM=EM,EM.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},wM(SM,AM),SM.prototype._encodeComposite=function(t,e,r,n){const i=function(t,e,r,n){let i;if("seqof"===t?t="seq":"setof"===t&&(t="set"),vM().tagByName.hasOwnProperty(t))i=vM().tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}return i>=31?n.error("Multi-octet tag encoding unsupported"):(e||(i|=32),i|=vM().tagClassByName[r||"universal"]<<6,i)}(t,e,r,this.reporter);if(n.length<128){const t=_M.alloc(2);return t[0]=i,t[1]=n.length,this._createEncoderBuffer([t,n])}let o=1;for(let t=n.length;t>=256;t>>=8)o++;const a=_M.alloc(2+o);a[0]=i,a[1]=128|o;for(let t=1+o,e=n.length;e>0;t--,e>>=8)a[t]=255&e;return this._createEncoderBuffer([a,n])},SM.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=_M.alloc(2*t.length);for(let r=0;r=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let n=0;for(let e=0;e=128;r>>=7)n++}const i=_M.alloc(n);let o=i.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(i[o--]=127&r;(r>>=7)>0;)i[o--]=128|127&r}return this._createEncoderBuffer(i)},SM.prototype._encodeTime=function(t,e){let r;const n=new Date(t);return"gentime"===e?r=[kM(n.getUTCFullYear()),kM(n.getUTCMonth()+1),kM(n.getUTCDate()),kM(n.getUTCHours()),kM(n.getUTCMinutes()),kM(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[kM(n.getUTCFullYear()%100),kM(n.getUTCMonth()+1),kM(n.getUTCDate()),kM(n.getUTCHours()),kM(n.getUTCMinutes()),kM(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},SM.prototype._encodeNull=function(){return this._createEncoderBuffer("")},SM.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!_M.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=_M.from(e)}if(_M.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=_M.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const n=new Array(r);for(let e=n.length-1;e>=0;e--)n[e]=255&t,t>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(_M.from(n))},SM.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},SM.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},SM.prototype._skipDefault=function(t,e,r){const n=this._baseState;let i;if(null===n.default)return!1;const o=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,r).join()),o.length!==n.defaultBuffer.length)return!1;for(i=0;i>6],i=0==(32&r);if(31==(31&r)){let n=r;for(r=0;128==(128&n);){if(n=t.readUInt8(e),t.isError(n))return n;r<<=7,r|=127&n}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:vM().tag[r]}}function VM(t,e,r){let n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;const i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(let e=0;e0&&r.ishrn(n),r}function WS(t,e,r){var n,i;do{for(n=xS.alloc(0);8*n.length=e)throw new Error("invalid sig")}function ek(){return JS||(JS=!0,YS={},KS=hr().Buffer,VS=BA(),ZS=MA().ec,$S=SS(),XS=TS(),YS=QS),YS}var rk,nk,ik,ok,ak,sk,fk,uk=!1;function hk(t){Pa().Writable.call(this);var e=fk[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=ik(e.hash),this._tag=e.id,this._signType=e.sign}function ck(t){Pa().Writable.call(this);var e=fk[t];if(!e)throw new Error("Unknown message digest");this._hash=ik(e.hash),this._tag=e.id,this._signType=e.sign}function dk(t){return new hk(t)}function lk(t){return new ck(t)}function pk(){return uk||(uk=!0,rk={},nk=hr().Buffer,ik=uu(),Pa(),ok=Ar(),ak=GS(),sk=ek(),fk=Uu(),Object.keys(fk).forEach((function(t){fk[t].id=nk.from(fk[t].id,"hex"),fk[t.toLowerCase()]=fk[t]})),ok(hk,Pa().Writable),hk.prototype._write=function(t,e,r){this._hash.update(t),r()},hk.prototype.update=function(t,e){return"string"==typeof t&&(t=nk.from(t,e)),this._hash.update(t),this},hk.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),n=ak(r,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},ok(ck,Pa().Writable),ck.prototype._write=function(t,e,r){this._hash.update(t),r()},ck.prototype.update=function(t,e){return"string"==typeof t&&(t=nk.from(t,e)),this._hash.update(t),this},ck.prototype.verify=function(t,e,r){"string"==typeof e&&(e=nk.from(e,r)),this.end();var n=this._hash.digest();return sk(e,n,t,this._signType,this._tag)},rk={Sign:dk,Verify:lk,createSign:dk,createVerify:lk}),rk}var mk,bk,gk,vk,yk=!1;function wk(t){this.curveType=vk[t],this.curveType||(this.curveType={name:t}),this.curve=new(MA().ec)(this.curveType.name),this.keys=void 0}function _k(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new bk(t);if(r&&n.lengtho-11)throw new Error("message too long");return n=r?Kk.alloc(o-i-3,255):function(t){var e,r=Kk.allocUnsafe(t),n=0,i=zk(2*t),o=0;for(;nr-a-2)throw new Error("message too long");var s=Kk.alloc(r-n-a-2),f=r-o-1,u=zk(o),h=Wk(Kk.concat([i,s,Kk.alloc(1,1),e],f),qk(u,f)),c=Wk(u,qk(h,o));return new Hk(Kk.concat([Kk.alloc(1),c,h],r))}(o,e);else if(1===n)i=Zk(o,e,r);else{if(3!==n)throw new Error("unknown padding");if((i=new Hk(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?Yk(i,o):Gk(i,o)}}var Xk,Jk,Qk,tB,eB,rB,nB,iB,oB,aB=!1;function sB(t,e){var r=t.modulus.byteLength(),n=nB("sha1").update(oB.alloc(0)).digest(),i=n.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,i+1),a=e.slice(i+1),s=tB(o,Qk(a,i)),f=tB(a,Qk(s,r-i-1));if(function(t,e){t=oB.from(t),e=oB.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++ia||new eB(e).cmp(o.modulus)>=0)throw new Error("decryption error");i=r?iB(new eB(e),o):rB(e,o);var s=oB.alloc(a-i.length);if(i=oB.concat([s,i],a),4===n)return sB(o,i);if(1===n)return function(t,e,r){for(var n=e.slice(0,2),i=2,o=0;0!==e[i++];)if(i>=e.length){o++;break}var a=e.slice(2,i-1);if(("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return e.slice(i)}(0,i,r);if(3===n)return i;throw new Error("unknown padding")}}var uB,hB,cB,dB,lB,pB=!1;function mB(){uB={},Vk||(Vk=!0,$k()),hB=jk,uB.publicEncrypt=hB,aB||(aB=!0,fB()),cB=Xk,uB.privateDecrypt=cB,dB=function(t,e){return hB(t,e,!0)},uB.privateEncrypt=dB,lB=function(t,e){return cB(t,e,!0)},uB.publicDecrypt=lB}var bB,gB,vB,yB,wB,_B,AB,MB=!1;function EB(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}function SB(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>AB||t<0)throw new TypeError("offset must be a uint32");if(t>wB||t>e)throw new RangeError("offset out of range")}function kB(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>AB||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>wB)throw new RangeError("buffer too small")}function BB(e,r,n,i){if(!(yB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)i=r,r=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-r;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return SB(r,e.length),kB(n,r,e.length),TB(e,r,n,i)}function TB(t,e,r,n){var i=t.buffer,o=new Uint8Array(i,e,r);return _B.getRandomValues(o),n?void Lt().nextTick((function(){n(null,t)})):t}function RB(e,r,n){if(void 0===r&&(r=0),!(yB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return SB(r,e.length),void 0===n&&(n=e.length-r),kB(n,r,e.length),TB(e,r,n)}function xB(){return MB||(MB=!0,vB={},Lt(),hr(),yr(),yB=hr().Buffer,wB=hr().kMaxLength,_B=t.crypto||t.msCrypto,AB=Math.pow(2,32)-1,_B&&_B.getRandomValues?(bB=BB,vB.randomFill=bB,gB=RB,vB.randomFillSync=gB):(bB=EB,vB.randomFill=bB,gB=EB,vB.randomFillSync=gB)),vB}var CB,IB,DB,PB,OB,LB,UB,jB,NB,zB,FB,qB,WB=!1;function HB(){LB={},DB=yr(),IB=LB.prng=DB,CB=LB.pseudoRandomBytes=IB,UB=LB.rng=CB,LB.randomBytes=UB,PB=uu(),jB=LB.Hash=PB,LB.createHash=jB,OB=Pu(),NB=LB.Hmac=OB,LB.createHmac=NB,zB=zu(),FB=Object.keys(zB),["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(FB),Ph(),um(),Ab||(Ab=!0,Sb()),pk(),qB=Ak(),LB.createECDH=qB,pB||(pB=!0,mB()),xB()}function GB(){return WB||(WB=!0,HB()),LB}var YB,KB,VB,ZB,$B,XB,JB,QB,tT,eT,rT,nT,iT,oT,aT,sT,fT,uT,hT,cT,dT,lT,pT,mT,bT,gT,vT,yT,wT,_T,AT,MT,ET,ST,kT,BT,TT,RT,xT,CT,IT,DT,PT,OT,LT,UT,jT,NT,zT,FT,qT,WT,HT,GT,YT,KT,VT,ZT,$T,XT,JT,QT,tR,eR,rR,nR,iR,oR,aR,sR,fR,uR,hR,cR,dR,lR,pR,mR,bR,gR,vR,yR,wR,_R=!1;function AR(t){return ZB.locateFile?ZB.locateFile(t,iT):iT+t}function MR(t){MR.shown||(MR.shown={}),MR.shown[t]||(MR.shown[t]=1,cT(t))}function ER(t,e){t||jR("Assertion failed: "+e)}function SR(t,e,r){for(var n=e+r,i=e;t[i]&&!(i>=n);)++i;if(i-e>16&&t.subarray&&gT)return gT.decode(t.subarray(e,i));for(var o="";e>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|s)}else o+=String.fromCharCode(a)}return o}function kR(t,e){return t?SR(_T,t,e):""}function BR(t,e,r,n){if(!(n>0))return 0;for(var i=r,o=r+n-1,a=0;a=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a);if(s<=127){if(r>=o)break;e[r++]=s}else if(s<=2047){if(r+1>=o)break;e[r++]=192|s>>6,e[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;e[r++]=224|s>>12,e[r++]=128|s>>6&63,e[r++]=128|63&s}else{if(r+3>=o)break;e[r++]=240|s>>18,e[r++]=128|s>>12&63,e[r++]=128|s>>6&63,e[r++]=128|63&s}}return e[r]=0,r-i}function TR(t,e,r){return BR(t,_T,e,r)}function RR(t){for(var e=0,r=0;r=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++r)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}function xR(t,e){for(var r=t,n=r>>1,i=n+e/2;!(n>=i)&&MT[n];)++n;if((r=n<<1)-t>32&&vT)return vT.decode(_T.subarray(t,r));for(var o="",a=0;!(a>=e/2);++a){var s=AT[t+2*a>>1];if(0==s)break;o+=String.fromCharCode(s)}return o}function CR(t,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=e,i=(r-=2)<2*t.length?r/2:t.length,o=0;o>1]=a,e+=2}return AT[e>>1]=0,e-n}function IR(t){return 2*t.length}function DR(t,e){for(var r=0,n="";!(r>=e/4);){var i=ET[t+4*r>>2];if(0==i)break;if(++r,i>=65536){var o=i-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(i)}return n}function PR(t,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=e,i=n+r-4,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o);if(ET[e>>2]=a,(e+=4)+4>i)break}return ET[e>>2]=0,e-n}function OR(t){for(var e=0,r=0;r=55296&&n<=57343&&++r,e+=4}return e}function LR(t){IT++,ZB.monitorRunDependencies&&ZB.monitorRunDependencies(IT)}function UR(t){if(IT--,ZB.monitorRunDependencies&&ZB.monitorRunDependencies(IT),0==IT&&(null!==DT&&(clearInterval(DT),DT=null),PT)){var e=PT;PT=null,e()}}function jR(t){throw ZB.onAbort&&ZB.onAbort(t),cT(t+=""),bT=!0,1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(t)}function NR(t){return t.startsWith(OT)}function zR(t){return t.startsWith("file://")}function FR(t){try{if(t==LT&&pT)return new Uint8Array(pT);if(sT)return sT(t);throw"both async and sync fetching of the wasm failed"}catch(t){jR(t)}}function qR(){var t={a:lR};function e(t,e){var r,n,i=t.exports;ZB.asm=i,mT=ZB.asm.J,r=mT.buffer,yT=r,ZB.HEAP8=wT=new Int8Array(r),ZB.HEAP16=AT=new Int16Array(r),ZB.HEAP32=ET=new Int32Array(r),ZB.HEAPU8=_T=new Uint8Array(r),ZB.HEAPU16=MT=new Uint16Array(r),ZB.HEAPU32=ST=new Uint32Array(r),ZB.HEAPF32=kT=new Float32Array(r),ZB.HEAPF64=BT=new Float64Array(r),TT=ZB.asm.N,n=ZB.asm.K,xT.unshift(n),UR()}function r(t){e(t.instance)}function n(e){return function(){if(!pT&&(tT||eT)){if("function"==typeof fetch&&!zR(LT))return fetch(LT,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+LT+"'";return t.arrayBuffer()})).catch((function(){return FR(LT)}));if(aT)return new Promise((function(t,e){aT(LT,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return FR(LT)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then(e,(function(t){cT("failed to asynchronously prepare wasm: "+t),jR(t)}))}if(LR(),ZB.instantiateWasm)try{return ZB.instantiateWasm(t,e)}catch(t){return cT("Module.instantiateWasm callback failed with error: "+t),!1}return pT||"function"!=typeof WebAssembly.instantiateStreaming||NR(LT)||zR(LT)||"function"!=typeof fetch?n(r):fetch(LT,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(r,(function(t){return cT("wasm streaming compile failed: "+t),cT("falling back to ArrayBuffer instantiation"),n(r)}))})),{}}function WR(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?TT.get(r)():TT.get(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(ZB)}}function HR(){var t=new Error;if(!t.stack){try{throw new Error}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function GR(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(rT)try{return GB(),function(){return GB().randomBytes(1)[0]}}catch(t){}return function(){jR("randomDevice")}}function YR(t){for(var e=function(t,e){return e||(e=dT),Math.ceil(t/e)*e}(t,65536),r=mR(e);t>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return o=28,ET[gR()>>2]=o,-1;default:return-28}}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),-t.errno}var o}function VR(t,e,r){HT.varargs=r;try{var n=HT.getStr(t),i=r?HT.get():0;return WT.open(n,e,i).fd}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),-t.errno}}function ZR(t,e,r,n,i){}function $R(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}function XR(){for(var t=new Array(256),e=0;e<256;++e)t[e]=String.fromCharCode(e);GT=t}function JR(t){for(var e="",r=t;_T[r];)e+=GT[_T[r++]];return e}function QR(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=ZT&&e<=$T?"_"+t:t}function tx(t,e){return t=QR(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ex(t,e){var r=tx(e,(function(t){this.name=e,this.message=t;var r=new Error(t).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}function rx(t){throw new XT(t)}function nx(t){throw new JT(t)}function ix(t,e,r){function n(e){var n=r(e);n.length!==t.length&&nx("Mismatched type converter count");for(var i=0;i>o])},destructorFunction:null})}function sx(t){if(!(this instanceof vx))return!1;if(!(t instanceof vx))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=t.$$.ptrType.registeredClass,i=t.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return e===n&&r===i}function fx(t){rx(t.$$.ptrType.registeredClass.name+" instance already deleted")}function ux(t){}function hx(t){t.count.value-=1,0===t.count.value&&function(t){t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)}(t)}function cx(t){return"undefined"==typeof FinalizationGroup?(cx=function(t){return t},t):(QT=new FinalizationGroup((function(t){for(var e=t.next();!e.done;e=t.next()){var r=e.value;r.ptr?hx(r):console.warn("object already deleted: "+r.ptr)}})),ux=function(t){QT.unregister(t.$$)},(cx=function(t){return QT.register(t,t.$$,t.$$),t})(t))}function dx(){if(this.$$.ptr||fx(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var t,e=cx(Object.create(Object.getPrototypeOf(this),{$$:{value:(t=this.$$,{count:t.count,deleteScheduled:t.deleteScheduled,preservePointerOnDelete:t.preservePointerOnDelete,ptr:t.ptr,ptrType:t.ptrType,smartPtr:t.smartPtr,smartPtrType:t.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function lx(){this.$$.ptr||fx(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&rx("Object already scheduled for deletion"),ux(this),hx(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function px(){return!this.$$.ptr}function mx(){for(;eR.length;){var t=eR.pop();t.$$.deleteScheduled=!1,t.delete()}}function bx(){return this.$$.ptr||fx(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&rx("Object already scheduled for deletion"),eR.push(this),1===eR.length&&tR&&tR(mx),this.$$.deleteScheduled=!0,this}function gx(){vx.prototype.isAliasOf=sx,vx.prototype.clone=dx,vx.prototype.delete=lx,vx.prototype.isDeleted=px,vx.prototype.deleteLater=bx}function vx(){}function yx(t,e,r){if(void 0===t[e].overloadTable){var n=t[e];t[e]=function(){return t[e].overloadTable.hasOwnProperty(arguments.length)||rx("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].overloadTable+")!"),t[e].overloadTable[arguments.length].apply(this,arguments)},t[e].overloadTable=[],t[e].overloadTable[n.argCount]=n}}function wx(t,e,r,n,i,o,a,s){this.name=t,this.constructor=e,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=o,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function _x(t,e,r){for(;e!==r;)e.upcast||rx("Expected null or instance of "+r.name+", got an instance of "+e.name),t=e.upcast(t),e=e.baseClass;return t}function Ax(t,e){if(null===e)return this.isReference&&rx("null is not a valid "+this.name),0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name);var r=e.$$.ptrType.registeredClass;return _x(e.$$.ptr,r,this.registeredClass)}function Mx(t,e){var r;if(null===e)return this.isReference&&rx("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==t&&t.push(this.rawDestructor,r),r):0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&e.$$.ptrType.isConst&&rx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);var n=e.$$.ptrType.registeredClass;if(r=_x(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&rx("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:rx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var i=e.clone();r=this.rawShare(r,eC((function(){i.delete()}))),null!==t&&t.push(this.rawDestructor,r)}break;default:rx("Unsupporting sharing policy")}return r}function Ex(t,e){if(null===e)return this.isReference&&rx("null is not a valid "+this.name),0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name),e.$$.ptrType.isConst&&rx("Cannot convert argument of type "+e.$$.ptrType.name+" to parameter type "+this.name);var r=e.$$.ptrType.registeredClass;return _x(e.$$.ptr,r,this.registeredClass)}function Sx(t){return this.fromWireType(ST[t>>2])}function kx(t){return this.rawGetPointee&&(t=this.rawGetPointee(t)),t}function Bx(t){this.rawDestructor&&this.rawDestructor(t)}function Tx(t){null!==t&&t.delete()}function Rx(t,e,r){if(e===r)return t;if(void 0===r.baseClass)return null;var n=Rx(t,e,r.baseClass);return null===n?null:r.downcast(n)}function xx(){return Object.keys(nR).length}function Cx(){var t=[];for(var e in nR)nR.hasOwnProperty(e)&&t.push(nR[e]);return t}function Ix(t){tR=t,eR.length&&tR&&tR(mx)}function Dx(){ZB.getInheritedInstanceCount=xx,ZB.getLiveInheritedInstances=Cx,ZB.flushPendingDeletes=mx,ZB.setDelayFunction=Ix}function Px(t,e){return e=function(t,e){for(void 0===e&&rx("ptr should not be undefined");t.baseClass;)e=t.upcast(e),t=t.baseClass;return e}(t,e),nR[e]}function Ox(t,e){return e.ptrType&&e.ptr||nx("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&nx("Both smartPtrType and smartPtr must be specified"),e.count={value:1},cx(Object.create(t,{$$:{value:e}}))}function Lx(t){var e=this.getPointee(t);if(!e)return this.destructor(t),null;var r=Px(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=t,r.clone();var n=r.clone();return this.destructor(t),n}function i(){return this.isSmartPointer?Ox(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:t}):Ox(this.registeredClass.instancePrototype,{ptrType:this,ptr:t})}var o,a=this.registeredClass.getActualType(e),s=rR[a];if(!s)return i.call(this);o=this.isConst?s.constPointerType:s.pointerType;var f=Rx(e,this.registeredClass,o.registeredClass);return null===f?i.call(this):this.isSmartPointer?Ox(o.registeredClass.instancePrototype,{ptrType:o,ptr:f,smartPtrType:this,smartPtr:t}):Ox(o.registeredClass.instancePrototype,{ptrType:o,ptr:f})}function Ux(){jx.prototype.getPointee=kx,jx.prototype.destructor=Bx,jx.prototype.argPackAdvance=8,jx.prototype.readValueFromPointer=Sx,jx.prototype.deleteObject=Tx,jx.prototype.fromWireType=Lx}function jx(t,e,r,n,i,o,a,s,f,u,h){this.name=t,this.registeredClass=e,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=o,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=f,this.rawShare=u,this.rawDestructor=h,i||void 0!==e.baseClass?this.toWireType=Mx:n?(this.toWireType=Ax,this.destructorFunction=null):(this.toWireType=Ex,this.destructorFunction=null)}function Nx(t,e,r){return t.includes("j")?function(t,e,r){var n=ZB["dynCall_"+t];return r&&r.length?n.apply(null,[e].concat(r)):n.call(null,e)}(t,e,r):TT.get(e).apply(null,r)}function zx(t,e){var r,n,i,o=(t=JR(t)).includes("j")?(r=t,n=e,i=[],function(){i.length=arguments.length;for(var t=0;t>2)+n]);return r}function Gx(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function Yx(t,e,r,n,i,o){ER(e>0);var a=Hx(e,r);i=zx(n,i);var s=[o],f=[];ix([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.registeredClass.constructor_body&&(t.registeredClass.constructor_body=[]),void 0!==t.registeredClass.constructor_body[e-1])throw new XT("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.registeredClass.constructor_body[e-1]=function(){qx("Cannot construct "+t.name+" due to unbound types",a)},ix([],a,(function(n){return t.registeredClass.constructor_body[e-1]=function(){arguments.length!==e-1&&rx(r+" called with "+arguments.length+" arguments, expected "+(e-1)),f.length=0,s.length=e;for(var t=1;t0?", ":"")+c),d+=(u?"var rv = ":"")+"invoker(fn"+(c.length>0?", ":"")+c+");\n",s)d+="runDestructors(destructors);\n";else for(f=a?1:2;f4&&0==--aR[t].refcount&&(aR[t]=void 0,oR.push(t))}function Jx(){for(var t=0,e=5;e>2])};case 3:return function(t){return this.fromWireType(BT[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function oC(t,e,r){var n=$R(r);ox(t,{name:e=JR(e),fromWireType:function(t){return t},toWireType:function(t,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+nC(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:iC(e,n),destructorFunction:null})}function aC(t,e,r){switch(e){case 0:return r?function(t){return wT[t]}:function(t){return _T[t]};case 1:return r?function(t){return AT[t>>1]}:function(t){return MT[t>>1]};case 2:return r?function(t){return ET[t>>2]}:function(t){return ST[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function sC(t,e,r,n,i){e=JR(e),-1===i&&(i=4294967295);var o=$R(r),a=function(t){return t};if(0===n){var s=32-8*r;a=function(t){return t<>>s}}var f=e.includes("unsigned");ox(t,{name:e,fromWireType:a,toWireType:function(t,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+nC(r)+'" to '+this.name);if(ri)throw new TypeError('Passing a number "'+nC(r)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+n+", "+i+"]!");return f?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:aC(e,o,0!==n),destructorFunction:null})}function fC(t,e,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function i(t){var e=ST,r=e[t>>=2],i=e[t+1];return new n(yT,i,r)}ox(t,{name:r=JR(r),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function uC(t,e){var r="std::string"===(e=JR(e));ox(t,{name:e,fromWireType:function(t){var e,n=ST[t>>2];if(r)for(var i=t+4,o=0;o<=n;++o){var a=t+4+o;if(o==n||0==_T[a]){var s=kR(i,a-i);void 0===e?e=s:(e+=String.fromCharCode(0),e+=s),i=a+1}}else{var f=new Array(n);for(o=0;o>2]=i,r&&n)TR(e,o+4,i+1);else if(n)for(var a=0;a255&&(pR(o),rx("String has UTF-16 code units that do not fit in 8 bits")),_T[o+4+a]=s}else for(a=0;a>2],a=o(),f=t+4,u=0;u<=i;++u){var h=t+4+u*e;if(u==i||0==a[h>>s]){var c=n(f,h-f);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),f=h+e}}return pR(t),r},toWireType:function(t,n){"string"!=typeof n&&rx("Cannot pass non-string to C++ string type "+r);var o=a(n),f=mR(4+o+e);return ST[f>>2]=o>>s,i(n,f+4,o+e),null!==t&&t.push(pR,f),f},argPackAdvance:8,readValueFromPointer:Sx,destructorFunction:function(t){pR(t)}})}function cC(t,e){ox(t,{isVoid:!0,name:e=JR(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(t,e){}})}function dC(t){return t||rx("Cannot use deleted val. handle = "+t),aR[t].value}function lC(t,e){var r=KT[t];return void 0===r&&rx(e+" has unknown type "+Fx(t)),r}function pC(t,e,r){t=dC(t),e=lC(e,"emval::as");var n=[],i=eC(n);return ET[r>>2]=i,e.toWireType(n,t)}function mC(t,e,r,n){var i,o;(t=fR[t])(e=dC(e),r=void 0===(o=sR[i=r])?JR(i):o,null,n)}function bC(t,e){for(var r=function(t,e){for(var r=new Array(t),n=0;n>2)+n],"parameter "+n);return r}(t,e),n=r[0],i=n.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$",o=["retType"],a=[n],s="",f=0;f4&&(aR[t].refcount+=1)}function vC(t){Gx(aR[t].value),Xx(t)}function yC(t,e){return eC((t=lC(t,"_emval_take_value")).readValueFromPointer(e))}function wC(){jR()}function _C(){return void 0===_C.start&&(_C.start=Date.now()),1e3*(Date.now()-_C.start)|0}function AC(t,e){return(t>>>0)+4294967296*e}function MC(t,e){if(t<=0)return t;var r=e<=32?Math.abs(1<=r&&(e<=32||t>r)&&(t=-2*r+t),t}function EC(t,e){return t>=0?t:e<=32?2*Math.abs(1<0?"\n":"")+function(t){var e=HR(),r=e.lastIndexOf("_emscripten_log"),n=e.lastIndexOf("_emscripten_get_callstack"),i=e.indexOf("\n",Math.max(r,n))+1;e=e.slice(i),32&t&&MR("EM_LOG_DEMANGLE is deprecated; ignoring"),8&t&&"undefined"==typeof emscripten_source_map&&(MR('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),t^=8,t|=16);var o=null;if(128&t)for(o=SC(arguments);o[1].includes("_emscripten_");)o=SC(o[0]);var a=e.split("\n");e="";var s=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),f=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var h in a){var c=a[h],d="",l="",p=0,m=0,b=u.exec(c);if(b&&5==b.length)d=b[1],l=b[2],p=b[3],m=b[4];else{if((b=s.exec(c))||(b=f.exec(c)),!(b&&b.length>=4)){e+=c+"\n";continue}d=b[1],l=b[2],p=b[3],m=0|b[4]}var g=!1;if(8&t){var v=emscripten_source_map.originalPositionFor({line:p,column:m});(g=v&&v.source)&&(64&t&&(v.source=v.source.substring(v.source.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=" at "+d+" ("+v.source+":"+v.line+":"+v.column+")\n")}(16&t||!g)&&(64&t&&(l=l.substring(l.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=(g?" = "+d:" at "+d)+" ("+l+":"+p+":"+m+")\n"),128&t&&o[0]&&(o[1]==d&&o[2].length>0&&(e=e.replace(/\s+$/,""),e+=" with values: "+o[1]+o[2]+"\n"),o=SC(o[0]))}return e.replace(/\s+$/,"")}(t)),1&t?4&t?console.error(e):2&t?console.warn(e):512&t?console.info(e):256&t?console.debug(e):console.log(e):6&t?cT(e):hT(e)}function BC(t,e,r){kC(t,SR(function(t,e){var r=t,n=e;function i(t){var e;return n=function(t,e){return"double"!==e&&"i64"!==e||7&t&&(t+=4),t}(n,t),"double"===t?(e=BT[n>>3],n+=8):"i64"==t?(e=[ET[n>>2],ET[n+4>>2]],n+=8):(t="i32",e=ET[n>>2],n+=4),e}for(var o,a,s,f,u=[];;){var h=r;if(0===(o=wT[r>>0]))break;if(a=wT[r+1>>0],37==o){var c=!1,d=!1,l=!1,p=!1,m=!1;t:for(;;){switch(a){case 43:c=!0;break;case 45:d=!0;break;case 35:l=!0;break;case 48:if(p)break t;p=!0;break;case 32:m=!0;break;default:break t}r++,a=wT[r+1>>0]}var b=0;if(42==a)b=i("i32"),r++,a=wT[r+1>>0];else for(;a>=48&&a<=57;)b=10*b+(a-48),r++,a=wT[r+1>>0];var g,v=!1,y=-1;if(46==a){if(y=0,v=!0,r++,42==(a=wT[r+1>>0]))y=i("i32"),r++;else for(;;){var w=wT[r+1>>0];if(w<48||w>57)break;y=10*y+(w-48),r++}a=wT[r+1>>0]}switch(y<0&&(y=6,v=!1),String.fromCharCode(a)){case"h":104==wT[r+2>>0]?(r++,g=1):g=2;break;case"l":108==wT[r+2>>0]?(r++,g=8):g=4;break;case"L":case"q":case"j":g=8;break;case"z":case"t":case"I":g=4;break;default:g=null}switch(g&&r++,a=wT[r+1>>0],String.fromCharCode(a)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var _=100==a||105==a;s=i("i"+8*(g=g||4)),8==g&&(s=117==a?(s[0]>>>0)+4294967296*(s[1]>>>0):AC(s[0],s[1])),g<=4&&(s=(_?MC:EC)(s&Math.pow(256,g)-1,8*g));var A=Math.abs(s),M="";if(100==a||105==a)k=MC(s,8*g).toString(10);else if(117==a)k=EC(s,8*g).toString(10),s=Math.abs(s);else if(111==a)k=(l?"0":"")+A.toString(8);else if(120==a||88==a){if(M=l&&0!=s?"0x":"",s<0){s=-s,k=(A-1).toString(16);for(var E=[],S=0;S=0&&(c?M="+"+M:m&&(M=" "+M)),"-"==k.charAt(0)&&(M="-"+M,k=k.substr(1));M.length+k.lengthR&&R>=-4?(a=(103==a?"f":"F").charCodeAt(0),y-=R+1):(a=(103==a?"e":"E").charCodeAt(0),y--),T=Math.min(y,20)}101==a||69==a?(k=s.toExponential(T),/[eE][-+]\d$/.test(k)&&(k=k.slice(0,-1)+"0"+k.slice(-1))):102!=a&&70!=a||(k=s.toFixed(T),0===s&&((f=s)<0||0===f&&1/f==-1/0)&&(k="-"+k));var x=k.split("e");if(B&&!l)for(;x[0].length>1&&x[0].includes(".")&&("0"==x[0].slice(-1)||"."==x[0].slice(-1));)x[0]=x[0].slice(0,-1);else for(l&&-1==k.indexOf(".")&&(x[0]+=".");y>T++;)x[0]+="0";k=x[0]+(x.length>1?"e"+x[1]:""),69==a&&(k=k.toUpperCase()),s>=0&&(c?k="+"+k:m&&(k=" "+k))}else k=(s<0?"-":"")+"inf",p=!1;for(;k.length>0]);else u=u.concat(NC("(null)".substr(0,I),!0));if(d)for(;I0;)u.push(32);d||u.push(i("i8"));break;case"n":var D=i("i32*");ET[D>>2]=u.length;break;case"%":u.push(o);break;default:for(S=h;S>0])}r+=2}else u.push(o),r+=1}return u}(e,r),0))}function TC(t){_T.length;jR("OOM")}function RC(){if(!RC.strings){var t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:QB||"./this.program"};for(var e in uR)t[e]=uR[e];var r=[];for(var e in t)r.push(e+"="+t[e]);RC.strings=r}return RC.strings}function xC(t,e){try{var r=0;return RC().forEach((function(n,i){var o=e+r;ET[t+4*i>>2]=o,function(t,e,r){for(var n=0;n>0]=t.charCodeAt(n);r||(wT[e>>0]=0)}(n,o),r+=n.length+1})),0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function CC(t,e){try{var r=RC();ET[t>>2]=r.length;var n=0;return r.forEach((function(t){n+=t.length+1})),ET[e>>2]=n,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function IC(t){try{var e=HT.getStreamFromFD(t);return WT.close(e),0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function DC(t,e){try{var r=HT.getStreamFromFD(t),n=r.tty?2:WT.isDir(r.mode)?3:WT.isLink(r.mode)?7:4;return wT[e>>0]=n,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function PC(t,e,r,n){try{var i=HT.getStreamFromFD(t),o=HT.doReadv(i,e,r);return ET[n>>2]=o,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function OC(t,e,r,n,i){try{var o=HT.getStreamFromFD(t),a=4294967296*r+(e>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(WT.llseek(o,a,n),jT=[o.position>>>0,(UT=o.position,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[i>>2]=jT[0],ET[i+4>>2]=jT[1],o.getdents&&0===a&&0===n&&(o.getdents=null),0)}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function LC(t,e,r,n){try{var i=HT.getStreamFromFD(t),o=HT.doWritev(i,e,r);return ET[n>>2]=o,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function UC(t){var e=Date.now();return ET[t>>2]=e/1e3|0,ET[t+4>>2]=e%1e3*1e3|0,0}function jC(t){lT(t)}function NC(t,e,r){var n=r>0?r:RR(t)+1,i=new Array(n),o=BR(t,i,0,i.length);return e&&(i.length=o),i}function zC(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function FC(t){function e(){yR||(yR=!0,ZB.calledRun=!0,bT||(!0,ZB.noFSInit||WT.init.initialized||WT.init(),FT.init(),WR(xT),ZB.onRuntimeInitialized&&ZB.onRuntimeInitialized(),function(){if(ZB.postRun)for("function"==typeof ZB.postRun&&(ZB.postRun=[ZB.postRun]);ZB.postRun.length;)t=ZB.postRun.shift(),CT.unshift(t);var t;WR(CT)}()))}t=t||JB,IT>0||(!function(){if(ZB.preRun)for("function"==typeof ZB.preRun&&(ZB.preRun=[ZB.preRun]);ZB.preRun.length;)t=ZB.preRun.shift(),RT.unshift(t);var t;WR(RT)}(),IT>0||(ZB.setStatus?(ZB.setStatus("Running..."),setTimeout((function(){setTimeout((function(){ZB.setStatus("")}),1),e()}),1)):e()))}function qC(){for(XB in{},YB=Lt(),KB="/Users/wancheng/Documents/GitHub/jessibuca-v2/demo/public",VB=Ke().Buffer,$B={},ZB=void 0!==ZB?ZB:{})ZB.hasOwnProperty(XB)&&($B[XB]=ZB[XB]);for(XB in JB=[],QB="./this.program",function(t,e){throw e},tT=!1,eT=!1,rT=!1,nT=!1,tT="object"==typeof window,eT="function"==typeof importScripts,rT="object"==typeof YB&&"object"==typeof YB.versions&&"string"==typeof YB.versions.node,nT=!tT&&!rT&&!eT,iT="",rT?(iT=eT?Qe().dirname(iT)+"/":KB+"/",oT=function(t,e){return fT||(fT=rr()),uT||(uT=Qe()),t=uT.normalize(t),fT.readFileSync(t,e?null:"utf8")},sT=function(t){var e=oT(t,!0);return e.buffer||(e=new Uint8Array(e)),ER(e.buffer),e},YB.argv.length>1&&(QB=YB.argv[1].replace(/\\/g,"/")),JB=YB.argv.slice(2),ZB,YB.on("uncaughtException",(function(t){if(!(t instanceof zC))throw t})),YB.on("unhandledRejection",jR),function(t){YB.exit(t)},ZB.inspect=function(){return"[Emscripten Module object]"}):nT?("undefined"!=typeof read&&(oT=function(t){return read(t)}),sT=function(t){var e;return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(ER("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?JB=scriptArgs:void 0!==arguments&&(JB=arguments),"function"==typeof quit&&function(t){quit(t)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(tT||eT)&&(eT?iT=self.location.href:"undefined"!=typeof document&&document.currentScript&&(iT=document.currentScript.src),iT=0!==iT.indexOf("blob:")?iT.substr(0,iT.lastIndexOf("/")+1):"",oT=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},eT&&(sT=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),aT=function(t,e,r){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?e(n.response):r()},n.onerror=r,n.send(null)},function(t){document.title=t}),hT=ZB.print||console.log.bind(console),cT=ZB.printErr||console.warn.bind(console),$B)$B.hasOwnProperty(XB)&&(ZB[XB]=$B[XB]);if($B=null,ZB.arguments&&(JB=ZB.arguments),ZB.thisProgram&&(QB=ZB.thisProgram),ZB.quit&&ZB.quit,dT=16,0,lT=function(t){t},ZB.wasmBinary&&(pT=ZB.wasmBinary),ZB.noExitRuntime||!0,"object"!=typeof WebAssembly&&jR("no native wasm support detected"),bT=!1,gT="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,vT="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ZB.INITIAL_MEMORY||67108864,RT=[],xT=[],CT=[],!1,IT=0,DT=null,PT=null,ZB.preloadedImages={},ZB.preloadedAudios={},OT="data:application/octet-stream;base64,",NR(LT="ff.wasm")||(LT=AR(LT)),NT={splitPath:function(t){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e="/"===t.charAt(0),r="/"===t.substr(-1);return(t=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=NT.splitPath(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(t){if("/"===t)return"/";var e=(t=(t=NT.normalize(t)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?t:t.substr(e+1)},extname:function(t){return NT.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return NT.normalize(t.join("/"))},join2:function(t,e){return NT.normalize(t+"/"+e)}},zT={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var n=r>=0?arguments[r]:WT.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,e="/"===n.charAt(0)}return(e?"/":"")+(t=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||"."},relative:function(t,e){function r(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=zT.resolve(t).substr(1),e=zT.resolve(e).substr(1);for(var n=r(t.split("/")),i=r(e.split("/")),o=Math.min(n.length,i.length),a=o,s=0;s0?r.slice(0,n).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;t.input=NC(e,!0)}return t.input.shift()},put_char:function(t,e){null===e||10===e?(hT(SR(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(hT(SR(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){null===e||10===e?(cT(SR(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cT(SR(t.output,0)),t.output=[])}}},qT={ops_table:null,mount:function(t){return qT.createNode(null,"/",16895,0)},createNode:function(t,e,r,n){if(WT.isBlkdev(r)||WT.isFIFO(r))throw new WT.ErrnoError(63);qT.ops_table||(qT.ops_table={dir:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr,lookup:qT.node_ops.lookup,mknod:qT.node_ops.mknod,rename:qT.node_ops.rename,unlink:qT.node_ops.unlink,rmdir:qT.node_ops.rmdir,readdir:qT.node_ops.readdir,symlink:qT.node_ops.symlink},stream:{llseek:qT.stream_ops.llseek}},file:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr},stream:{llseek:qT.stream_ops.llseek,read:qT.stream_ops.read,write:qT.stream_ops.write,allocate:qT.stream_ops.allocate,mmap:qT.stream_ops.mmap,msync:qT.stream_ops.msync}},link:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr,readlink:qT.node_ops.readlink},stream:{}},chrdev:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr},stream:WT.chrdev_stream_ops}});var i=WT.createNode(t,e,r,n);return WT.isDir(i.mode)?(i.node_ops=qT.ops_table.dir.node,i.stream_ops=qT.ops_table.dir.stream,i.contents={}):WT.isFile(i.mode)?(i.node_ops=qT.ops_table.file.node,i.stream_ops=qT.ops_table.file.stream,i.usedBytes=0,i.contents=null):WT.isLink(i.mode)?(i.node_ops=qT.ops_table.link.node,i.stream_ops=qT.ops_table.link.stream):WT.isChrdev(i.mode)&&(i.node_ops=qT.ops_table.chrdev.node,i.stream_ops=qT.ops_table.chrdev.stream),i.timestamp=Date.now(),t&&(t.contents[e]=i,t.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(t){return t.contents?t.contents.subarray?t.contents.subarray(0,t.usedBytes):new Uint8Array(t.contents):new Uint8Array(0)},expandFileStorage:function(t,e){var r=t.contents?t.contents.length:0;if(!(r>=e)){e=Math.max(e,r*(r<1048576?2:1.125)>>>0),0!=r&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(0==e)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=WT.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,WT.isDir(t.mode)?e.size=4096:WT.isFile(t.mode)?e.size=t.usedBytes:WT.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){void 0!==e.mode&&(t.mode=e.mode),void 0!==e.timestamp&&(t.timestamp=e.timestamp),void 0!==e.size&&qT.resizeFileStorage(t,e.size)},lookup:function(t,e){throw WT.genericErrors[44]},mknod:function(t,e,r,n){return qT.createNode(t,e,r,n)},rename:function(t,e,r){if(WT.isDir(t.mode)){var n;try{n=WT.lookupNode(e,r)}catch(t){}if(n)for(var i in n.contents)throw new WT.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=WT.lookupNode(t,e);for(var n in r.contents)throw new WT.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)t.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(t,e,r){var n=qT.createNode(t,e,41471,0);return n.link=r,n},readlink:function(t){if(!WT.isLink(t.mode))throw new WT.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,n,i){var o=t.node.contents;if(i>=t.node.usedBytes)return 0;var a=Math.min(t.node.usedBytes-i,n);if(a>8&&o.subarray)e.set(o.subarray(i,i+a),r);else for(var s=0;s0||n+r8)throw new WT.ErrnoError(32);for(var i=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!1),o=WT.root,a="/",s=0;s40)throw new WT.ErrnoError(32)}}return{path:a,node:o}},getPath:function(t){for(var e;;){if(WT.isRoot(t)){var r=t.mount.mountpoint;return e?"/"!==r[r.length-1]?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,n=0;n>>0)%WT.nameTable.length},hashAddNode:function(t){var e=WT.hashName(t.parent.id,t.name);t.name_next=WT.nameTable[e],WT.nameTable[e]=t},hashRemoveNode:function(t){var e=WT.hashName(t.parent.id,t.name);if(WT.nameTable[e]===t)WT.nameTable[e]=t.name_next;else for(var r=WT.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=WT.mayLookup(t);if(r)throw new WT.ErrnoError(r,t);for(var n=WT.hashName(t.id,e),i=WT.nameTable[n];i;i=i.name_next){var o=i.name;if(i.parent.id===t.id&&o===e)return i}return WT.lookup(t,e)},createNode:function(t,e,r,n){var i=new WT.FSNode(t,e,r,n);return WT.hashAddNode(i),i},destroyNode:function(t){WT.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return 32768==(61440&t)},isDir:function(t){return 16384==(61440&t)},isLink:function(t){return 40960==(61440&t)},isChrdev:function(t){return 8192==(61440&t)},isBlkdev:function(t){return 24576==(61440&t)},isFIFO:function(t){return 4096==(61440&t)},isSocket:function(t){return 49152==(49152&t)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=WT.flagModes[t];if(void 0===e)throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},nodePermissions:function(t,e){return WT.ignorePermissions||(!e.includes("r")||292&t.mode)&&(!e.includes("w")||146&t.mode)&&(!e.includes("x")||73&t.mode)?0:2},mayLookup:function(t){var e=WT.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{WT.lookupNode(t,e);return 20}catch(t){}return WT.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var n;try{n=WT.lookupNode(t,e)}catch(t){return t.errno}var i=WT.nodePermissions(t,"wx");if(i)return i;if(r){if(!WT.isDir(n.mode))return 54;if(WT.isRoot(n)||WT.getPath(n)===WT.cwd())return 10}else if(WT.isDir(n.mode))return 31;return 0},mayOpen:function(t,e){return t?WT.isLink(t.mode)?32:WT.isDir(t.mode)&&("r"!==WT.flagsToPermissionString(e)||512&e)?31:WT.nodePermissions(t,WT.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||WT.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!WT.streams[r])return r;throw new WT.ErrnoError(33)},getStream:function(t){return WT.streams[t]},createStream:function(t,e,r){WT.FSStream||(WT.FSStream=function(){},WT.FSStream.prototype={object:{get:function(){return this.node},set:function(t){this.node=t}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new WT.FSStream;for(var i in t)n[i]=t[i];t=n;var o=WT.nextfd(e,r);return t.fd=o,WT.streams[o]=t,t},closeStream:function(t){WT.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=WT.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new WT.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return 255&t},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){WT.devices[t]={stream_ops:e}},getDevice:function(t){return WT.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var n=r.pop();e.push(n),r.push.apply(r,n.mounts)}return e},syncfs:function(t,e){"function"==typeof t&&(e=t,t=!1),WT.syncFSRequests++,WT.syncFSRequests>1&&cT("warning: "+WT.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=WT.getMounts(WT.root.mount),n=0;function i(t){return WT.syncFSRequests--,e(t)}function o(t){if(t)return o.errored?void 0:(o.errored=!0,i(t));++n>=r.length&&i(null)}r.forEach((function(e){if(!e.type.syncfs)return o(null);e.type.syncfs(e,t,o)}))},mount:function(t,e,r){var n,i="/"===r,o=!r;if(i&&WT.root)throw new WT.ErrnoError(10);if(!i&&!o){var a=WT.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,WT.isMountpoint(n))throw new WT.ErrnoError(10);if(!WT.isDir(n.mode))throw new WT.ErrnoError(54)}var s={type:t,opts:e,mountpoint:r,mounts:[]},f=t.mount(s);return f.mount=s,s.root=f,i?WT.root=f:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),f},unmount:function(t){var e=WT.lookupPath(t,{follow_mount:!1});if(!WT.isMountpoint(e.node))throw new WT.ErrnoError(28);var r=e.node,n=r.mounted,i=WT.getMounts(n);Object.keys(WT.nameTable).forEach((function(t){for(var e=WT.nameTable[t];e;){var r=e.name_next;i.includes(e.mount)&&WT.destroyNode(e),e=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(n);r.mount.mounts.splice(o,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var n=WT.lookupPath(t,{parent:!0}).node,i=NT.basename(t);if(!i||"."===i||".."===i)throw new WT.ErrnoError(28);var o=WT.mayCreate(n,i);if(o)throw new WT.ErrnoError(o);if(!n.node_ops.mknod)throw new WT.ErrnoError(63);return n.node_ops.mknod(n,i,e,r)},create:function(t,e){return e=void 0!==e?e:438,e&=4095,e|=32768,WT.mknod(t,e,0)},mkdir:function(t,e){return e=void 0!==e?e:511,e&=1023,e|=16384,WT.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),n="",i=0;ithis.length-1||t<0)){var e=t%this.chunkSize,r=t/this.chunkSize|0;return this.getter(r)[e]}},o.prototype.setDataGetter=function(t){this.getter=t},o.prototype.cacheLength=function(){var t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw new Error("Couldn't load "+r+". Status: "+t.status);var e,n=Number(t.getResponseHeader("Content-length")),i=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,o=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;i||(a=n);var s=this;s.setDataGetter((function(t){var e=t*a,i=(t+1)*a-1;if(i=Math.min(i,n-1),void 0===s.chunks[t]&&(s.chunks[t]=function(t,e){if(t>e)throw new Error("invalid range ("+t+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==a&&i.setRequestHeader("Range","bytes="+t+"-"+e),"undefined"!=typeof Uint8Array&&(i.responseType="arraybuffer"),i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):NC(i.responseText||"",!0)}(e,i)),void 0===s.chunks[t])throw new Error("doXHR failed!");return s.chunks[t]})),!o&&n||(a=n=1,n=this.getter(0).length,a=n,hT("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!eT)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new o;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var f=WT.createFile(t,e,s,n,i);s.contents?f.contents=s.contents:s.url&&(f.contents=null,f.url=s.url),Object.defineProperties(f,{usedBytes:{get:function(){return this.contents.length}}});var u={};return Object.keys(f.stream_ops).forEach((function(t){var e=f.stream_ops[t];u[t]=function(){return WT.forceLoadFile(f),e.apply(null,arguments)}})),u.read=function(t,e,r,n,i){WT.forceLoadFile(f);var o=t.node.contents;if(i>=o.length)return 0;var a=Math.min(o.length-i,n);if(o.slice)for(var s=0;s>2]=n.dev,ET[r+4>>2]=0,ET[r+8>>2]=n.ino,ET[r+12>>2]=n.mode,ET[r+16>>2]=n.nlink,ET[r+20>>2]=n.uid,ET[r+24>>2]=n.gid,ET[r+28>>2]=n.rdev,ET[r+32>>2]=0,jT=[n.size>>>0,(UT=n.size,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[r+40>>2]=jT[0],ET[r+44>>2]=jT[1],ET[r+48>>2]=4096,ET[r+52>>2]=n.blocks,ET[r+56>>2]=n.atime.getTime()/1e3|0,ET[r+60>>2]=0,ET[r+64>>2]=n.mtime.getTime()/1e3|0,ET[r+68>>2]=0,ET[r+72>>2]=n.ctime.getTime()/1e3|0,ET[r+76>>2]=0,jT=[n.ino>>>0,(UT=n.ino,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[r+80>>2]=jT[0],ET[r+84>>2]=jT[1],0},doMsync:function(t,e,r,n,i){var o=_T.slice(t,t+r);WT.msync(e,o,i,r,n)},doMkdir:function(t,e){return"/"===(t=NT.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),WT.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return WT.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var n=WT.readlink(t),i=Math.min(r,RR(n)),o=wT[e+i];return TR(n,e,r+1),wT[e+i]=o,i},doAccess:function(t,e){if(-8&e)return-28;var r;if(!(r=WT.lookupPath(t,{follow:!0}).node))return-44;var n="";return 4&e&&(n+="r"),2&e&&(n+="w"),1&e&&(n+="x"),n&&WT.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var n=WT.getStream(r);return n&&WT.close(n),WT.open(t,e,0,r,r).fd},doReadv:function(t,e,r,n){for(var i=0,o=0;o>2],s=ET[e+(8*o+4)>>2],f=WT.read(t,wT,a,s,n);if(f<0)return-1;if(i+=f,f>2],s=ET[e+(8*o+4)>>2],f=WT.write(t,wT,a,s,n);if(f<0)return-1;i+=f}return i},varargs:void 0,get:function(){return HT.varargs+=4,ET[HT.varargs-4>>2]},getStr:function(t){return kR(t)},getStreamFromFD:function(t){var e=WT.getStream(t);if(!e)throw new WT.ErrnoError(8);return e},get64:function(t,e){return t}},GT=void 0,YT={},KT={},VT={},ZT=48,$T=57,XT=void 0,JT=void 0,QT=!1,tR=void 0,eR=[],rR={},nR={},iR=void 0,oR=[],aR=[{},{value:void 0},{value:null},{value:!0},{value:!1}],sR={},fR=[],uR={},hR=function(t,e,r,n){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=WT.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},cR=365,dR=146,Object.defineProperties(hR.prototype,{read:{get:function(){return(this.mode&cR)===cR},set:function(t){t?this.mode|=cR:this.mode&=~cR}},write:{get:function(){return(this.mode&dR)===dR},set:function(t){t?this.mode|=dR:this.mode&=~dR}},isFolder:{get:function(){return WT.isDir(this.mode)}},isDevice:{get:function(){return WT.isChrdev(this.mode)}}}),WT.FSNode=hR,WT.staticInit(),XR(),XT=ZB.BindingError=ex(Error,"BindingError"),JT=ZB.InternalError=ex(Error,"InternalError"),gx(),Ux(),Dx(),iR=ZB.UnboundTypeError=ex(Error,"UnboundTypeError"),tC(),lR={z:KR,y:VR,t:ZR,D:ax,o:Wx,j:Yx,g:Vx,I:$x,C:rC,m:oC,c:sC,b:fC,n:uC,i:hC,E:cC,r:pC,e:mC,p:Xx,d:bC,H:gC,q:vC,w:yC,a:wC,G:_C,f:BC,u:TC,v:xC,x:CC,l:IC,A:DC,B:PC,s:OC,k:LC,F:UC,h:jC},qR(),ZB.___wasm_call_ctors=function(){return(ZB.___wasm_call_ctors=ZB.asm.K).apply(null,arguments)},pR=ZB._free=function(){return(pR=ZB._free=ZB.asm.L).apply(null,arguments)},mR=ZB._malloc=function(){return(mR=ZB._malloc=ZB.asm.M).apply(null,arguments)},bR=ZB._strlen=function(){return(bR=ZB._strlen=ZB.asm.O).apply(null,arguments)},gR=ZB.___errno_location=function(){return(gR=ZB.___errno_location=ZB.asm.P).apply(null,arguments)},vR=ZB.___getTypeName=function(){return(vR=ZB.___getTypeName=ZB.asm.Q).apply(null,arguments)},ZB.___embind_register_native_and_builtin_types=function(){return(ZB.___embind_register_native_and_builtin_types=ZB.asm.R).apply(null,arguments)},ZB.dynCall_ijiii=function(){return(ZB.dynCall_ijiii=ZB.asm.S).apply(null,arguments)},ZB.dynCall_viiijj=function(){return(ZB.dynCall_viiijj=ZB.asm.T).apply(null,arguments)},ZB.dynCall_jij=function(){return(ZB.dynCall_jij=ZB.asm.U).apply(null,arguments)},ZB.dynCall_jii=function(){return(ZB.dynCall_jii=ZB.asm.V).apply(null,arguments)},ZB.dynCall_jiji=function(){return(ZB.dynCall_jiji=ZB.asm.W).apply(null,arguments)},ZB._ff_h264_cabac_tables=77157,PT=function t(){yR||FC(),yR||(PT=t)},ZB.run=FC,ZB.preInit)for("function"==typeof ZB.preInit&&(ZB.preInit=[ZB.preInit]);ZB.preInit.length>0;)ZB.preInit.pop()();FC(),wR=e(ZB)}var WC=!1;function HC(t){let e=t.next(),r=null;return n=>{var i=new Uint8Array(n);if(r){var o=new Uint8Array(r.length+i.length);o.set(r),o.set(i,r.length),i=o,r=null}for(;i.length>=e.value;){var a=i.slice(e.value);e=t.next(i.slice(0,e.value)),i=a}i.length>0&&(r=i)}}function GC(){({}),_R||(_R=!0,qC()),a(),(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1})(),Date.now||(Date.now=function(){return(new Date).getTime()}),wR.print=function(t){postMessage({cmd:"print",text:t})},wR.printErr=function(t){postMessage({cmd:"printErr",text:t})},wR.postRun=function(){var t=[],e={_firstCheckpoint:0,_lastCheckpoint:0,_intervalBytes:0,_lastSecondBytes:0,addBytes:function(t){0===e._firstCheckpoint?(e._firstCheckpoint=Date.now(),e._lastCheckpoint=e._firstCheckpoint,e._intervalBytes+=t):Date.now()-e._lastCheckpoint<1e3?e._intervalBytes+=t:(e._lastSecondBytes=e._intervalBytes,e._intervalBytes=t,e._lastCheckpoint=Date.now())},reset:function(){e._firstCheckpoint=e._lastCheckpoint=0,e._intervalBytes=0,e._lastSecondBytes=0},getCurrentKBps:function(){e.addBytes(0);var t=(Date.now()-e._lastCheckpoint)/1e3;return 0==t&&(t=1),e._intervalBytes/t/1024},getLastSecondKBps:function(){return e.addBytes(0),0!==e._lastSecondBytes?e._lastSecondBytes/1024:Date.now()-e._lastCheckpoint>=500?e.getCurrentKBps():0}},r={opt:{},initAudioPlanar:function(t,e){postMessage({cmd:"initAudioPlanar",samplerate:e,channels:t});var r=[],n=[],i=0;this.playAudioPlanar=function(e,o){for(var a=o,s=[],f=0,u=0;u<2;u++){var h=wR.HEAPU32[(e>>2)+u]>>2;s[u]=wR.HEAPF32.subarray(h,h+a)}if(i){if(!(a>=(o=1024-i)))return i+=a,r[0]=Float32Array.of(...r[0],...s[0]),void(2==t&&(r[1]=Float32Array.of(...r[1],...s[1])));n[0]=Float32Array.of(...r[0],...s[0].subarray(0,o)),2==t&&(n[1]=Float32Array.of(...r[1],...s[1].subarray(0,o))),postMessage({cmd:"playAudio",buffer:n},n.map((t=>t.buffer))),f=o,a-=o}for(i=a;i>=1024;i-=1024)n[0]=s[0].slice(f,f+=1024),2==t&&(n[1]=s[1].slice(f-1024,f)),postMessage({cmd:"playAudio",buffer:n},n.map((t=>t.buffer)));i&&(r[0]=s[0].slice(f),2==t&&(r[1]=s[1].slice(f)))}},inputFlv:function*(){yield 9;for(var e=new ArrayBuffer(4),r=new Uint8Array(e),o=new Uint32Array(e);;){r[3]=0;var a=yield 15,s=a[4];r[0]=a[7],r[1]=a[6],r[2]=a[5];var f=o[0];r[0]=a[10],r[1]=a[9],r[2]=a[8];var u=o[0];16777215===u&&(r[3]=a[11],u=o[0]);var h=yield f;switch(s){case 8:this.opt.hasAudio&&t.push({ts:u,payload:h,decoder:n,type:0});break;case 9:t.push({ts:u,payload:h,decoder:i,type:h[0]>>4})}}},play:function(r){this.opt.debug&&console.log("Jessibuca play",r),this.getDelay=function(t){return t?(this.firstTimestamp=t,this.startTimestamp=Date.now(),this.getDelay=function(t){return this.delay=Date.now()-this.startTimestamp-(t-this.firstTimestamp),this.delay},-1):-1};if(this.stopId=setInterval((()=>{if(t.length)if(this.dropping){for(e=t.shift();1!==e.type&&t.length;)e=t.shift();1===e.type&&(this.dropping=!1,e.decoder.decode(e.payload))}else{var e=t[0];if(-1===this.getDelay(e.ts))t.shift(),this.ts=e.ts,e.decoder.decode(e.payload);else if(this.delay>this.videoBuffer+1e3)this.dropping=!0;else for(;t.length&&(e=t[0],this.getDelay(e.ts)>this.videoBuffer);)t.shift(),this.ts=e.ts,e.decoder.decode(e.payload)}}),10),this.speedSamplerId=setInterval((()=>{postMessage({cmd:"kBps",kBps:e.getLastSecondKBps()})}),1e3),0==r.indexOf("http")){this.flvMode=!0;var o=this,s=new AbortController;fetch(r,{signal:s.signal}).then((function(t){var r=t.body.getReader(),n=o.inputFlv(),i=HC(n),a=function(){r.read().then((({done:t,value:r})=>{t?n.return(null):(e.addBytes(r.byteLength),i(r),a())})).catch((function(t){n.return(null),o.opt.debug&&console.error(t),-1===t.toString().indexOf("The user aborted a request")&&postMessage({cmd:"printErr",text:t.toString()})}))};a()})).catch((t=>{postMessage({cmd:"printErr",text:t.message})})),this._close=function(){s.abort()}}else{if(this.flvMode=-1!=r.indexOf(".flv"),this.ws=new WebSocket(r),this.ws.binaryType="arraybuffer",this.flvMode){let t=this.inputFlv();var f=HC(t);this.ws.onmessage=t=>{e.addBytes(t.data.byteLength),f(t.data)},this.ws.onerror=e=>{t.return(null),postMessage({cmd:"printErr",text:e.toString()})}}else this.ws.onmessage=r=>{e.addBytes(r.data.byteLength);var o=new DataView(r.data);switch(o.getUint8(0)){case 1:this.opt.hasAudio&&t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:n,type:0});break;case 2:t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:i,type:o.getUint8(5)>>4})}},this.ws.onerror=t=>{postMessage({cmd:"printErr",text:t.toString()})};this._close=function(){this.ws.close(),this.ws=null}}this.setVideoSize=function(t,e){postMessage({cmd:"initSize",w:t,h:e});var r=t*e,n=r>>2;if(this.opt.forceNoOffscreen||"undefined"==typeof OffscreenCanvas)this.draw=function(t,e,i,o){var a=[wR.HEAPU8.subarray(e,e+r),wR.HEAPU8.subarray(i,i+n),wR.HEAPU8.subarray(o,o+n)].map((t=>Uint8Array.from(t)));postMessage({cmd:"render",compositionTime:t,delay:this.delay,ts:this.ts,output:a},a.map((t=>t.buffer)))};else{var i=new OffscreenCanvas(t,e),o=i.getContext("webgl"),s=a().default(o);this.draw=function(o,a,f,u){s(t,e,wR.HEAPU8.subarray(a,a+r),wR.HEAPU8.subarray(f,f+n),wR.HEAPU8.subarray(u,u+n));let h=i.transferToImageBitmap();postMessage({cmd:"render",compositionTime:o,delay:this.delay,ts:this.ts,buffer:h},[h])}}}},close:function(){this._close&&(this.opt.debug&&console.log("worker close"),this._close(),clearInterval(this.stopId),this.stopId=null,clearInterval(this.speedSamplerId),this.speedSamplerId=null,e.reset(),this.ws=null,n.clear(),i.clear(),this.firstTimestamp=0,this.startTimestamp=0,this.delay=0,this.ts=0,this.flvMode=!1,t=[],delete this.playAudioPlanar,delete this.draw,delete this.getDelay)}},n=new wR.AudioDecoder(r),i=new wR.VideoDecoder(r);postMessage({cmd:"init"}),self.onmessage=function(t){var e=t.data;switch(e.cmd){case"init":r.opt=JSON.parse(e.opt),n.sample_rate=e.sampleRate;break;case"getProp":postMessage({cmd:"getProp",value:r[e.prop]});break;case"setProp":r[e.prop]=e.value;break;case"play":r.play(e.url);break;case"setVideoBuffer":r.videoBuffer=1e3*e.time|0;break;case"close":r.close()}}}}"undefined"==typeof importScripts?yt||(yt=!0,{},c(),N(),K(),X(),gt(),y(),O(),vt=class{constructor(t){if(this._opt=Object.assign(y().DEFAULT_OPTIONS,t),this.$container=t.container,"string"==typeof t.container&&(this.$container=document.querySelector(t.container)),!this.$container)throw new Error("Jessibuca need container option");delete this._opt.container,this._opt.debug&&console.log("options",this._opt),gt().default(this),c().default(this),N().default(this),X().default(this),K().default(this)}set fullscreen(t){t?(O().checkFull()||this.$container.requestFullscreen(),O().$domToggle(this.$doms.minScreenDom,!0),O().$domToggle(this.$doms.fullscreenDom,!1)):(O().checkFull()&&document.exitFullscreen(),O().$domToggle(this.$doms.minScreenDom,!1),O().$domToggle(this.$doms.fullscreenDom,!0)),this._fullscreen!==t&&(this.onFullscreen(t),this._trigger(y().EVEMTS.fullscreen,t)),this._fullscreen=t}get fullscreen(){return this._fullscreen}set playing(t){t?(O().$domToggle(this.$doms.playBigDom,!1),O().$domToggle(this.$doms.playDom,!1),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.screenshotsDom,!0),O().$domToggle(this.$doms.recordDom,!0),this._quieting?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0))):(this.$doms.speedDom&&(this.$doms.speedDom.innerText=""),this._playUrl&&(O().$domToggle(this.$doms.playDom,!0),O().$domToggle(this.$doms.playBigDom,!0),O().$domToggle(this.$doms.pauseDom,!1)),O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!1),O().$domToggle(this.$doms.screenshotsDom,!1),O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!1)),this._playing!==t&&(t?(this.onPlay(),this._trigger(y().EVEMTS.play)):(this.onPause(),this._trigger(y().EVEMTS.pause))),this._playing=t}get playing(){return this._playing}set quieting(t){t?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0)),this._quieting!==t&&(this.onMute(t),this._trigger(y().EVEMTS.mute,t)),this._quieting=t}get quieting(){return this._quieting}set loading(t){t?(O().$hideBtns(this.$doms),O().$domToggle(this.$doms.fullscreenDom,!0),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.loadingDom,!0)):O().$initBtns(this.$doms),this._loading=t}get loading(){return this._loading}set recording(t){t?(O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!0)):(O().$domToggle(this.$doms.recordDom,!0),O().$domToggle(this.$doms.recordingDom,!1)),this._recording!==t&&(this.onRecord(t),this._trigger(y().EVEMTS.record,t),this._recording=t)}get recording(){return this._recording}isPlaying(){return this.playing}isMute(){return this.quieting}setDebug(t){this._opt.isDebug=!!t}setTimeout(t){this._opt.timeout=Number(t)}setVod(t){this._opt.vod=!!t}setNoOffscreen(t){this._opt.forceNoOffscreen=!!t}setScaleMode(t){0===(t=Number(t))?(this._opt.isFullResize=!1,this._opt.isResize=!1):1===t?(this._opt.isFullResize=!1,this._opt.isResize=!0):2===t&&(this._opt.isFullResize=!0),this._resize()}mute(){this._mute()}cancelMute(){this._cancelMute()}audioResume(){this._cancelMute()}pause(){this._pause()}play(t){this._play(t)}close(){this._close()}destroy(){this._close(),this._destroyAudioContext(),this._destroyContextGL(),this._decoderWorker.terminate(),this._removeEventListener(),this._initCheckVariable(),this._off(),this._removeContainerChild()}clearView(){this._clearView()}resize(){this._resize()}setBufferTime(t){t=Number(t),this._decoderWorker.postMessage({cmd:y().POST_MESSAGE.setVideoBuffer,time:t})}setRotate(t){t=parseInt(t,10),this._opt.rotate!==t&&-1!==[0,90,270].indexOf(t)&&(this._opt.rotate=t,this.resize())}setVolume(t){if(this._gainNode){if(t=parseFloat(t),isNaN(t))return;this._gainNode.gain.setValueAtTime(t,this._audioContext.currentTime)}}setKeepScreenOn(){this._opt.keepScreenOn=!0}setFullscreen(t){const e=!!t;this.fullscreen!==e&&(this.fullscreen=e)}hasLoaded(){return this._hasLoaded}screenshot(t,e,r){this._screenshot(t,e,r)}on(t,e){this._on(t,e)}},window.Jessibuca=vt):WC||(WC=!0,GC())}(); \ No newline at end of file diff --git a/web_src/public/jessibuca/libhevc_aac.js b/web_src/public/jessibuca/libhevc_aac.js new file mode 100644 index 00000000..9e7a2d84 --- /dev/null +++ b/web_src/public/jessibuca/libhevc_aac.js @@ -0,0 +1,35 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=199+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var exports=( +// EMSCRIPTEN_START_ASM +function a(asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(low,high){b[0]=low;b[1]=high}function j(){return c[0]}function k(value){c[0]=value}function l(global,env,buffer){var m=env.memory;var n=wasmTable;var o=new global.Int8Array(buffer);var p=new global.Int16Array(buffer);var q=new global.Int32Array(buffer);var r=new global.Uint8Array(buffer);var s=new global.Uint16Array(buffer);var t=new global.Uint32Array(buffer);var u=new global.Float32Array(buffer);var v=new global.Float64Array(buffer);var w=global.Math.imul;var x=global.Math.fround;var y=global.Math.abs;var z=global.Math.clz32;var A=global.Math.min;var B=global.Math.max;var C=global.Math.floor;var D=global.Math.ceil;var E=global.Math.sqrt;var F=env.abort;var G=global.NaN;var H=global.Infinity;var I=env.__assert_fail;var J=env._emval_decref;var K=env.emscripten_log;var L=env._emval_new_cstring;var M=env._emval_get_method_caller;var N=env._emval_call_void_method;var O=env._embind_register_memory_view;var P=env._emval_run_destructors;var Q=env._embind_register_integer;var R=env._emval_take_value;var S=env._emval_as;var T=env._emval_incref;var U=env._emval_get_property;var V=env._embind_register_class_property;var W=env._embind_register_class_function;var X=env._emval_set_property;var Y=env._emval_get_global;var Z=env.clock;var _=env._embind_register_std_wstring;var $=env._emval_call;var aa=env._embind_register_class_class_function;var ba=env._embind_register_float;var ca=env._embind_register_std_string;var da=env.abort;var ea=env.fd_write;var fa=env._emval_call_method;var ga=env._embind_register_class;var ha=env.fd_seek;var ia=env.setTempRet0;var ja=env.emscripten_memcpy_big;var ka=env.emscripten_resize_heap;var la=env._embind_register_emval;var ma=env._embind_register_bool;var na=env._embind_register_void;var oa=env.fd_close;var pa=env.pthread_join;var qa=env.pthread_create;var ra=env._embind_create_inheriting_constructor;var sa=env.__cxa_throw;var ta=env.__cxa_allocate_exception;var ua=env._emval_new_object;var va=env._emval_new;var wa=env.init;var xa=5410544;var ya=0; +// EMSCRIPTEN_START_FUNCS +function Xe(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;j=xa-80|0;J=h&65280;K=h&65520;O=(K|0)==65520?4:(J|0)==65280?8:16;a:{if((i&65520)==65520){u=p[19331];L=p[19330];M=p[19329];N=p[19328];x=p[19351];y=p[19319];z=p[19350];A=p[19318];B=p[19349];C=p[19317];D=p[19348];E=p[19316];F=p[19347];G=p[19315];H=p[19346];I=p[19314];ba=p[19345];ca=p[19313];da=p[19344];ea=p[19312];fa=p[19297];ga=p[19296];s=q[j+12>>2];i=q[j+8>>2];m=q[j+4>>2];n=q[j>>2];ha=w(e,3)<<1;S=e<<1;ia=S<<1;e=b;while(1){b:{if(!(h&1)){i=p[a+ha>>1];m=p[a+S>>1];q[j+40>>2]=w(i,z)+w(m,A);q[j+36>>2]=w(i,B)+w(m,C);q[j+32>>2]=w(i,D)+w(m,E);q[j+28>>2]=w(i,F)+w(m,G);q[j+24>>2]=w(i,H)+w(m,I);q[j+20>>2]=w(i,ba)+w(m,ca);P=w(i,da)+w(m,ea)|0;q[j+16>>2]=P;Q=w(i,x)+w(m,y)|0;q[j+44>>2]=Q;i=p[a>>1];k=w(i,ga);m=p[a+ia>>1];n=w(m,N);R=k-n|0;q[j+76>>2]=R;s=w(m,u);T=k-s|0;q[j+64>>2]=T;U=k+s|0;q[j+60>>2]=U;t=w(i,fa);i=w(m,L);V=t-i|0;q[j+68>>2]=V;W=i+t|0;q[j+56>>2]=W;m=w(m,M);X=t-m|0;q[j+72>>2]=X;t=m+t|0;q[j+52>>2]=t;Y=k+n|0;q[j+48>>2]=Y;k=R-Q|0;p[e+16>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=P+Y|0;p[e>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=t+q[j+20>>2]|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=X-q[j+40>>2]|0;p[e+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;t=q[j+24>>2];k=t+W|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;P=q[j+36>>2];k=V-P|0;p[e+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;Q=q[j+28>>2];k=Q+U|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;R=q[j+32>>2];k=T-R|0;p[e+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=R+q[j+64>>2]|0;p[e+8>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+60>>2]-Q|0;p[e+24>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=P+q[j+68>>2]|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+56>>2]-t|0;p[e+26>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break b}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;l=l+1|0;if((O|0)!=(l|0)){continue}break}q[j+12>>2]=s;q[j+8>>2]=i;q[j+4>>2]=m;q[j>>2]=n;if((K|0)==65520){s=p[19331];k=p[19330];t=p[19329];u=p[19328];J=p[19351];K=p[19319];O=p[19350];L=p[19318];M=p[19349];N=p[19317];x=p[19348];y=p[19316];z=p[19347];A=p[19315];B=p[19346];C=p[19314];D=p[19345];E=p[19313];F=p[19344];G=p[19312];H=p[19297];I=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,J)+w(e,K);q[j+40>>2]=w(a,O)+w(e,L);q[j+36>>2]=w(a,M)+w(e,N);q[j+32>>2]=w(a,x)+w(e,y);q[j+28>>2]=w(a,z)+w(e,A);q[j+24>>2]=w(a,B)+w(e,C);q[j+20>>2]=w(a,D)+w(e,E);q[j+16>>2]=w(a,F)+w(e,G);a=p[b+64>>1];h=w(a,u);q[j>>2]=h;i=w(a,t);q[j+4>>2]=i;m=w(a,k);q[j+8>>2]=m;n=w(a,s);q[j+12>>2]=n;e=p[b>>1];a=w(e,I);q[j+64>>2]=a-n;e=w(e,H);q[j+68>>2]=e-m;q[j+52>>2]=e+i;q[j+72>>2]=e-i;q[j+56>>2]=e+m;q[j+76>>2]=a-h;q[j+60>>2]=a+n;a=a+h|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((J|0)!=65280){u=p[19523];J=p[19459];K=p[19395];O=p[19331];L=p[19522];M=p[19458];N=p[19394];x=p[19330];y=p[19521];z=p[19457];A=p[19393];B=p[19329];C=p[19520];D=p[19456];E=p[19392];F=p[19328];G=p[19543];H=p[19511];I=p[19479];ba=p[19447];ca=p[19415];da=p[19383];ea=p[19351];fa=p[19319];ga=p[19542];ha=p[19510];S=p[19478];ia=p[19446];P=p[19414];Q=p[19382];R=p[19350];T=p[19318];U=p[19541];V=p[19509];W=p[19477];X=p[19445];Y=p[19413];na=p[19381];oa=p[19349];pa=p[19317];Z=p[19540];v=p[19508];_=p[19476];$=p[19444];aa=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ta=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ja=p[19379];ka=p[19347];la=p[19315];ra=p[19538];ma=p[19506];sa=p[19474];ua=p[19442];va=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];m=p[b+288>>1];n=p[b+352>>1];s=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,ea)+w(e,fa)|0)+w(h,da)|0)+w(l,ca)|0)+w(m,ba)|0)+w(n,I)|0)+w(s,H)|0)+w(k,G);q[j+40>>2]=((((((w(a,R)+w(e,T)|0)+w(h,Q)|0)+w(l,P)|0)+w(m,ia)|0)+w(n,S)|0)+w(s,ha)|0)+w(k,ga);q[j+36>>2]=((((((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(l,Y)|0)+w(m,X)|0)+w(n,W)|0)+w(s,V)|0)+w(k,U);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,aa)|0)+w(m,$)|0)+w(n,_)|0)+w(s,v)|0)+w(k,Z);q[j+28>>2]=((((((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(l,Ga)|0)+w(m,Fa)|0)+w(n,Ea)|0)+w(s,ta)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,va)|0)+w(m,ua)|0)+w(n,sa)|0)+w(s,ma)|0)+w(k,ra);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(m,Oa)|0)+w(n,Na)|0)+w(s,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0)+w(n,Va)|0)+w(s,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];m=((w(a,E)+w(e,F)|0)+w(h,D)|0)+w(l,C)|0;q[j>>2]=m;n=((w(a,A)+w(e,B)|0)+w(h,z)|0)+w(l,y)|0;q[j+4>>2]=n;s=((w(a,N)+w(e,x)|0)+w(h,M)|0)+w(l,L)|0;q[j+8>>2]=s;a=((w(a,K)+w(e,O)|0)+w(h,J)|0)+w(l,u)|0;q[j+12>>2]=a;e=p[b+256>>1];h=p[b>>1];l=w(e,db)+w(h,eb)|0;k=p[b+384>>1];wa=p[b+128>>1];ya=w(k,fb)+w(wa,t)|0;za=l-ya|0;q[j+64>>2]=za-a;e=w(e,$a)+w(h,ab)|0;h=w(k,bb)+w(cb,wa)|0;k=e-h|0;q[j+68>>2]=k-s;e=e+h|0;q[j+52>>2]=e+n;q[j+72>>2]=e-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;a=l+ya|0;q[j+76>>2]=a-m;a=a+m|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}n=p[19395];s=p[19331];k=p[19394];u=p[19330];J=p[19393];K=p[19329];O=p[19392];L=p[19328];M=p[19415];N=p[19383];x=p[19351];y=p[19319];z=p[19414];A=p[19382];B=p[19350];C=p[19318];D=p[19413];E=p[19381];F=p[19349];G=p[19317];H=p[19412];I=p[19380];ba=p[19348];ca=p[19316];da=p[19411];ea=p[19379];fa=p[19347];ga=p[19315];ha=p[19410];S=p[19378];ia=p[19346];P=p[19314];Q=p[19409];R=p[19377];T=p[19345];U=p[19313];V=p[19408];W=p[19376];X=p[19344];Y=p[19312];na=p[19297];oa=p[19361];pa=p[19296];a=0;while(1){e=p[b+96>>1];h=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(e,x)+w(h,y)|0)+w(i,N)|0)+w(l,M);q[j+40>>2]=((w(e,B)+w(h,C)|0)+w(i,A)|0)+w(l,z);q[j+36>>2]=((w(e,F)+w(h,G)|0)+w(i,E)|0)+w(l,D);q[j+32>>2]=((w(e,ba)+w(h,ca)|0)+w(i,I)|0)+w(l,H);q[j+28>>2]=((w(e,fa)+w(h,ga)|0)+w(i,ea)|0)+w(l,da);q[j+24>>2]=((w(e,ia)+w(h,P)|0)+w(i,S)|0)+w(l,ha);q[j+20>>2]=((w(e,T)+w(h,U)|0)+w(i,R)|0)+w(l,Q);q[j+16>>2]=((w(e,X)+w(h,Y)|0)+w(i,W)|0)+w(l,V);e=p[b+192>>1];h=p[b+64>>1];i=w(e,O)+w(h,L)|0;q[j>>2]=i;l=w(e,J)+w(h,K)|0;q[j+4>>2]=l;m=w(e,k)+w(h,u)|0;q[j+8>>2]=m;e=w(e,n)+w(h,s)|0;q[j+12>>2]=e;h=p[b>>1];Z=w(h,pa);v=p[b+128>>1];_=w(v,t);$=Z-_|0;q[j+64>>2]=$-e;h=w(h,na);v=w(v,oa);aa=h-v|0;q[j+68>>2]=aa-m;h=h+v|0;q[j+52>>2]=h+l;q[j+72>>2]=h-l;q[j+56>>2]=m+aa;h=Z+_|0;q[j+76>>2]=h-i;q[j+60>>2]=e+$;e=h+i|0;q[j+48>>2]=e;e=e+q[j+16>>2]|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=q[j+76>>2]-q[j+44>>2]|0;e=r[c+16|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+16|0]=(e|0)<255?e:255;e=q[j+20>>2]+q[j+52>>2]|0;e=r[c+2|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+2|0]=(e|0)<255?e:255;e=q[j+72>>2]-q[j+40>>2]|0;e=r[c+18|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+18|0]=(e|0)<255?e:255;e=q[j+24>>2]+q[j+56>>2]|0;e=r[c+4|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+4|0]=(e|0)<255?e:255;e=q[j+68>>2]-q[j+36>>2]|0;e=r[c+20|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+20|0]=(e|0)<255?e:255;e=q[j+28>>2]+q[j+60>>2]|0;e=r[c+6|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+6|0]=(e|0)<255?e:255;h=q[j+64>>2];i=q[j+32>>2];e=h-i|0;e=r[c+22|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+22|0]=(e|0)<255?e:255;e=h+i|0;e=r[c+8|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+8|0]=(e|0)<255?e:255;e=q[j+60>>2]-q[j+28>>2]|0;e=r[c+24|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+24|0]=(e|0)<255?e:255;e=q[j+36>>2]+q[j+68>>2]|0;e=r[c+10|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+10|0]=(e|0)<255?e:255;e=q[j+56>>2]-q[j+24>>2]|0;e=r[c+26|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+26|0]=(e|0)<255?e:255;e=q[j+40>>2]+q[j+72>>2]|0;e=r[c+12|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+12|0]=(e|0)<255?e:255;e=q[j+52>>2]-q[j+20>>2]|0;e=r[c+28|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+28|0]=(e|0)<255?e:255;e=q[j+44>>2]+q[j+76>>2]|0;e=r[c+14|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+14|0]=(e|0)<255?e:255;e=q[j+48>>2]-q[j+16>>2]|0;e=r[c+30|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+30|0]=(e|0)<255?e:255;d=d+g|0;c=c+f|0;b=b+2|0;a=a+1|0;if((a|0)!=16){continue}break}break a}L=w(e,7);M=w(e,5);N=w(e,3);if((i&65280)!=65280){x=p[19523];y=p[19459];z=p[19395];A=p[19331];B=p[19522];C=p[19458];D=p[19394];E=p[19330];F=p[19521];G=p[19457];H=p[19393];I=p[19329];ba=p[19520];ca=p[19456];da=p[19392];ea=p[19328];fa=p[19543];ga=p[19511];ha=p[19479];S=p[19447];ia=p[19415];P=p[19383];Q=p[19351];R=p[19319];T=p[19542];U=p[19510];V=p[19478];W=p[19446];X=p[19414];Y=p[19382];na=p[19350];oa=p[19318];pa=p[19541];Z=p[19509];v=p[19477];_=p[19445];$=p[19413];aa=p[19381];Aa=p[19349];Ba=p[19317];Ca=p[19540];Da=p[19508];ta=p[19476];Ea=p[19444];Fa=p[19412];Ga=p[19380];ja=p[19348];ka=p[19316];la=p[19539];ra=p[19507];ma=p[19475];sa=p[19443];ua=p[19411];va=p[19379];Ia=p[19347];Ja=p[19315];Ka=p[19538];La=p[19506];Ma=p[19474];Na=p[19442];Oa=p[19410];Pa=p[19378];Qa=p[19346];Ra=p[19314];Sa=p[19537];Ta=p[19505];Ua=p[19473];Va=p[19441];Wa=p[19409];Xa=p[19377];Ya=p[19345];Za=p[19313];_a=p[19536];$a=p[19504];ab=p[19472];bb=p[19440];cb=p[19408];db=p[19376];eb=p[19344];fb=p[19312];wa=p[19425];ya=p[19297];za=p[19489];nb=p[19361];ob=p[19424];pb=p[19296];qb=p[19488];rb=p[19360];s=q[j+12>>2];i=q[j+8>>2];n=q[j+4>>2];m=q[j>>2];sb=w(e,9)<<1;tb=w(e,11)<<1;ub=w(e,13)<<1;vb=w(e,15)<<1;wb=e<<3;xb=w(e,12)<<1;yb=e<<4;hb=e<<1;zb=hb<<1;Ab=w(e,6)<<1;Bb=w(e,10)<<1;Cb=w(e,14)<<1;e=b;while(1){c:{if(!(h&1)){i=p[(N<<1)+a>>1];l=p[a+hb>>1];m=p[(M<<1)+a>>1];n=p[(L<<1)+a>>1];s=p[a+sb>>1];k=p[a+tb>>1];t=p[a+ub>>1];u=p[a+vb>>1];q[j+44>>2]=((((((w(i,Q)+w(l,R)|0)+w(m,P)|0)+w(n,ia)|0)+w(s,S)|0)+w(k,ha)|0)+w(t,ga)|0)+w(u,fa);q[j+40>>2]=((((((w(i,na)+w(l,oa)|0)+w(m,Y)|0)+w(n,X)|0)+w(s,W)|0)+w(k,V)|0)+w(t,U)|0)+w(u,T);q[j+36>>2]=((((((w(i,Aa)+w(l,Ba)|0)+w(m,aa)|0)+w(n,$)|0)+w(s,_)|0)+w(k,v)|0)+w(t,Z)|0)+w(u,pa);q[j+32>>2]=((((((w(i,ja)+w(l,ka)|0)+w(m,Ga)|0)+w(n,Fa)|0)+w(s,Ea)|0)+w(k,ta)|0)+w(t,Da)|0)+w(u,Ca);q[j+28>>2]=((((((w(i,Ia)+w(l,Ja)|0)+w(m,va)|0)+w(n,ua)|0)+w(s,sa)|0)+w(k,ma)|0)+w(t,ra)|0)+w(u,la);q[j+24>>2]=((((((w(i,Qa)+w(l,Ra)|0)+w(m,Pa)|0)+w(n,Oa)|0)+w(s,Na)|0)+w(k,Ma)|0)+w(t,La)|0)+w(u,Ka);q[j+20>>2]=((((((w(i,Ya)+w(l,Za)|0)+w(m,Xa)|0)+w(n,Wa)|0)+w(s,Va)|0)+w(k,Ua)|0)+w(t,Ta)|0)+w(u,Sa);q[j+16>>2]=((((((w(i,eb)+w(l,fb)|0)+w(m,db)|0)+w(n,cb)|0)+w(s,bb)|0)+w(k,ab)|0)+w(t,$a)|0)+w(u,_a);i=p[a+yb>>1];n=p[a>>1];u=w(i,ob)+w(n,pb)|0;qa=p[a+xb>>1];Ha=p[a+wb>>1];ib=w(qa,qb)+w(Ha,rb)|0;gb=u-ib|0;l=p[a+Ab>>1];m=p[a+zb>>1];k=p[a+Bb>>1];t=p[a+Cb>>1];s=((w(l,z)+w(m,A)|0)+w(k,y)|0)+w(t,x)|0;jb=gb-s|0;q[j+64>>2]=jb;gb=s+gb|0;q[j+60>>2]=gb;n=w(i,wa)+w(n,ya)|0;qa=w(qa,za)+w(Ha,nb)|0;Ha=n-qa|0;i=((w(l,D)+w(m,E)|0)+w(k,C)|0)+w(t,B)|0;kb=Ha-i|0;q[j+68>>2]=kb;Ha=i+Ha|0;q[j+56>>2]=Ha;qa=n+qa|0;n=((w(l,H)+w(m,I)|0)+w(k,G)|0)+w(t,F)|0;lb=qa-n|0;q[j+72>>2]=lb;qa=n+qa|0;q[j+52>>2]=qa;u=u+ib|0;m=((w(l,da)+w(m,ea)|0)+w(k,ca)|0)+w(t,ba)|0;k=u-m|0;q[j+76>>2]=k;l=m+u|0;q[j+48>>2]=l;l=l+q[j+16>>2]|0;p[e>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=k-q[j+44>>2]|0;p[e+16>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=qa+q[j+20>>2]|0;p[e+2>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=lb-q[j+40>>2]|0;p[e+18>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;k=q[j+24>>2];l=k+Ha|0;p[e+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;t=q[j+36>>2];l=kb-t|0;p[e+20>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;u=q[j+28>>2];l=u+gb|0;p[e+6>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;qa=q[j+32>>2];l=jb-qa|0;p[e+22>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=qa+q[j+64>>2]|0;p[e+8>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+60>>2]-u|0;p[e+24>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=t+q[j+68>>2]|0;p[e+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+56>>2]-k|0;p[e+26>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;break c}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;mb=mb+1|0;if((O|0)!=(mb|0)){continue}break}q[j+12>>2]=s;q[j+8>>2]=i;q[j+4>>2]=n;q[j>>2]=m;if((K|0)==65520){s=p[19331];k=p[19330];t=p[19329];u=p[19328];J=p[19351];K=p[19319];O=p[19350];L=p[19318];M=p[19349];N=p[19317];x=p[19348];y=p[19316];z=p[19347];A=p[19315];B=p[19346];C=p[19314];D=p[19345];E=p[19313];F=p[19344];G=p[19312];H=p[19297];I=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,J)+w(e,K);q[j+40>>2]=w(a,O)+w(e,L);q[j+36>>2]=w(a,M)+w(e,N);q[j+32>>2]=w(a,x)+w(e,y);q[j+28>>2]=w(a,z)+w(e,A);q[j+24>>2]=w(a,B)+w(e,C);q[j+20>>2]=w(a,D)+w(e,E);q[j+16>>2]=w(a,F)+w(e,G);a=p[b+64>>1];h=w(a,u);q[j>>2]=h;i=w(a,t);q[j+4>>2]=i;m=w(a,k);q[j+8>>2]=m;n=w(a,s);q[j+12>>2]=n;e=p[b>>1];a=w(e,I);q[j+64>>2]=a-n;e=w(e,H);q[j+68>>2]=e-m;q[j+52>>2]=e+i;q[j+72>>2]=e-i;q[j+56>>2]=e+m;q[j+76>>2]=a-h;q[j+60>>2]=a+n;a=a+h|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((J|0)!=65280){u=p[19523];J=p[19459];K=p[19395];O=p[19331];L=p[19522];M=p[19458];N=p[19394];x=p[19330];y=p[19521];z=p[19457];A=p[19393];B=p[19329];C=p[19520];D=p[19456];E=p[19392];F=p[19328];G=p[19543];H=p[19511];I=p[19479];ba=p[19447];ca=p[19415];da=p[19383];ea=p[19351];fa=p[19319];ga=p[19542];ha=p[19510];S=p[19478];ia=p[19446];P=p[19414];Q=p[19382];R=p[19350];T=p[19318];U=p[19541];V=p[19509];W=p[19477];X=p[19445];Y=p[19413];na=p[19381];oa=p[19349];pa=p[19317];Z=p[19540];v=p[19508];_=p[19476];$=p[19444];aa=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ta=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ja=p[19379];ka=p[19347];la=p[19315];ra=p[19538];ma=p[19506];sa=p[19474];ua=p[19442];va=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];m=p[b+288>>1];n=p[b+352>>1];s=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,ea)+w(e,fa)|0)+w(h,da)|0)+w(l,ca)|0)+w(m,ba)|0)+w(n,I)|0)+w(s,H)|0)+w(k,G);q[j+40>>2]=((((((w(a,R)+w(e,T)|0)+w(h,Q)|0)+w(l,P)|0)+w(m,ia)|0)+w(n,S)|0)+w(s,ha)|0)+w(k,ga);q[j+36>>2]=((((((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(l,Y)|0)+w(m,X)|0)+w(n,W)|0)+w(s,V)|0)+w(k,U);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,aa)|0)+w(m,$)|0)+w(n,_)|0)+w(s,v)|0)+w(k,Z);q[j+28>>2]=((((((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(l,Ga)|0)+w(m,Fa)|0)+w(n,Ea)|0)+w(s,ta)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,va)|0)+w(m,ua)|0)+w(n,sa)|0)+w(s,ma)|0)+w(k,ra);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(m,Oa)|0)+w(n,Na)|0)+w(s,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0)+w(n,Va)|0)+w(s,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];m=((w(a,E)+w(e,F)|0)+w(h,D)|0)+w(l,C)|0;q[j>>2]=m;n=((w(a,A)+w(e,B)|0)+w(h,z)|0)+w(l,y)|0;q[j+4>>2]=n;s=((w(a,N)+w(e,x)|0)+w(h,M)|0)+w(l,L)|0;q[j+8>>2]=s;a=((w(a,K)+w(e,O)|0)+w(h,J)|0)+w(l,u)|0;q[j+12>>2]=a;e=p[b+256>>1];h=p[b>>1];l=w(e,db)+w(h,eb)|0;k=p[b+384>>1];wa=p[b+128>>1];ya=w(k,fb)+w(wa,t)|0;za=l-ya|0;q[j+64>>2]=za-a;e=w(e,$a)+w(h,ab)|0;h=w(k,bb)+w(cb,wa)|0;k=e-h|0;q[j+68>>2]=k-s;e=e+h|0;q[j+52>>2]=e+n;q[j+72>>2]=e-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;a=l+ya|0;q[j+76>>2]=a-m;a=a+m|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}n=p[19395];s=p[19331];k=p[19394];u=p[19330];J=p[19393];K=p[19329];O=p[19392];L=p[19328];M=p[19415];N=p[19383];x=p[19351];y=p[19319];z=p[19414];A=p[19382];B=p[19350];C=p[19318];D=p[19413];E=p[19381];F=p[19349];G=p[19317];H=p[19412];I=p[19380];ba=p[19348];ca=p[19316];da=p[19411];ea=p[19379];fa=p[19347];ga=p[19315];ha=p[19410];S=p[19378];ia=p[19346];P=p[19314];Q=p[19409];R=p[19377];T=p[19345];U=p[19313];V=p[19408];W=p[19376];X=p[19344];Y=p[19312];na=p[19297];oa=p[19361];pa=p[19296];a=0;while(1){e=p[b+96>>1];h=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(e,x)+w(h,y)|0)+w(i,N)|0)+w(l,M);q[j+40>>2]=((w(e,B)+w(h,C)|0)+w(i,A)|0)+w(l,z);q[j+36>>2]=((w(e,F)+w(h,G)|0)+w(i,E)|0)+w(l,D);q[j+32>>2]=((w(e,ba)+w(h,ca)|0)+w(i,I)|0)+w(l,H);q[j+28>>2]=((w(e,fa)+w(h,ga)|0)+w(i,ea)|0)+w(l,da);q[j+24>>2]=((w(e,ia)+w(h,P)|0)+w(i,S)|0)+w(l,ha);q[j+20>>2]=((w(e,T)+w(h,U)|0)+w(i,R)|0)+w(l,Q);q[j+16>>2]=((w(e,X)+w(h,Y)|0)+w(i,W)|0)+w(l,V);e=p[b+192>>1];h=p[b+64>>1];i=w(e,O)+w(h,L)|0;q[j>>2]=i;l=w(e,J)+w(h,K)|0;q[j+4>>2]=l;m=w(e,k)+w(h,u)|0;q[j+8>>2]=m;e=w(e,n)+w(h,s)|0;q[j+12>>2]=e;h=p[b>>1];Z=w(h,pa);v=p[b+128>>1];_=w(v,t);$=Z-_|0;q[j+64>>2]=$-e;h=w(h,na);v=w(v,oa);aa=h-v|0;q[j+68>>2]=aa-m;h=h+v|0;q[j+52>>2]=h+l;q[j+72>>2]=h-l;q[j+56>>2]=m+aa;h=Z+_|0;q[j+76>>2]=h-i;q[j+60>>2]=e+$;e=h+i|0;q[j+48>>2]=e;e=e+q[j+16>>2]|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=q[j+76>>2]-q[j+44>>2]|0;e=r[c+16|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+16|0]=(e|0)<255?e:255;e=q[j+20>>2]+q[j+52>>2]|0;e=r[c+2|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+2|0]=(e|0)<255?e:255;e=q[j+72>>2]-q[j+40>>2]|0;e=r[c+18|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+18|0]=(e|0)<255?e:255;e=q[j+24>>2]+q[j+56>>2]|0;e=r[c+4|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+4|0]=(e|0)<255?e:255;e=q[j+68>>2]-q[j+36>>2]|0;e=r[c+20|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+20|0]=(e|0)<255?e:255;e=q[j+28>>2]+q[j+60>>2]|0;e=r[c+6|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+6|0]=(e|0)<255?e:255;h=q[j+64>>2];i=q[j+32>>2];e=h-i|0;e=r[c+22|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+22|0]=(e|0)<255?e:255;e=h+i|0;e=r[c+8|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+8|0]=(e|0)<255?e:255;e=q[j+60>>2]-q[j+28>>2]|0;e=r[c+24|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+24|0]=(e|0)<255?e:255;e=q[j+36>>2]+q[j+68>>2]|0;e=r[c+10|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+10|0]=(e|0)<255?e:255;e=q[j+56>>2]-q[j+24>>2]|0;e=r[c+26|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+26|0]=(e|0)<255?e:255;e=q[j+40>>2]+q[j+72>>2]|0;e=r[c+12|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+12|0]=(e|0)<255?e:255;e=q[j+52>>2]-q[j+20>>2]|0;e=r[c+28|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+28|0]=(e|0)<255?e:255;e=q[j+44>>2]+q[j+76>>2]|0;e=r[c+14|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+14|0]=(e|0)<255?e:255;e=q[j+48>>2]-q[j+16>>2]|0;e=r[c+30|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+30|0]=(e|0)<255?e:255;d=d+g|0;c=c+f|0;b=b+2|0;a=a+1|0;if((a|0)!=16){continue}break}break a}t=p[19395];u=p[19331];x=p[19394];y=p[19330];z=p[19393];A=p[19329];B=p[19392];C=p[19328];D=p[19415];E=p[19383];F=p[19351];G=p[19319];H=p[19414];I=p[19382];ba=p[19350];ca=p[19318];da=p[19413];ea=p[19381];fa=p[19349];ga=p[19317];ha=p[19412];S=p[19380];ia=p[19348];P=p[19316];Q=p[19411];R=p[19379];T=p[19347];U=p[19315];V=p[19410];W=p[19378];X=p[19346];Y=p[19314];na=p[19409];oa=p[19377];pa=p[19345];Z=p[19313];v=p[19408];_=p[19376];$=p[19344];aa=p[19312];Aa=p[19297];Ba=p[19361];Ca=p[19296];Da=p[19360];l=q[j+12>>2];n=q[j+8>>2];i=q[j+4>>2];m=q[j>>2];ta=e<<1;Ea=ta<<1;Fa=w(e,6)<<1;Ga=e<<3;e=b;while(1){d:{if(!(h&1)){i=p[(N<<1)+a>>1];l=p[a+ta>>1];m=p[(M<<1)+a>>1];n=p[(L<<1)+a>>1];q[j+44>>2]=((w(i,F)+w(l,G)|0)+w(m,E)|0)+w(n,D);q[j+40>>2]=((w(i,ba)+w(l,ca)|0)+w(m,I)|0)+w(n,H);q[j+36>>2]=((w(i,fa)+w(l,ga)|0)+w(m,ea)|0)+w(n,da);q[j+32>>2]=((w(i,ia)+w(l,P)|0)+w(m,S)|0)+w(n,ha);q[j+28>>2]=((w(i,T)+w(l,U)|0)+w(m,R)|0)+w(n,Q);q[j+24>>2]=((w(i,X)+w(l,Y)|0)+w(m,W)|0)+w(n,V);q[j+20>>2]=((w(i,pa)+w(l,Z)|0)+w(m,oa)|0)+w(n,na);q[j+16>>2]=((w(i,$)+w(l,aa)|0)+w(m,_)|0)+w(n,v);i=p[a>>1];ja=w(i,Ca);n=p[a+Ga>>1];ka=w(n,Da);la=ja-ka|0;m=p[a+Fa>>1];k=p[a+Ea>>1];l=w(m,t)+w(k,u)|0;ra=la-l|0;q[j+64>>2]=ra;la=l+la|0;q[j+60>>2]=la;i=w(i,Aa);ma=w(n,Ba);sa=i-ma|0;n=w(m,x)+w(k,y)|0;ua=sa-n|0;q[j+68>>2]=ua;sa=n+sa|0;q[j+56>>2]=sa;ma=i+ma|0;i=w(m,z)+w(k,A)|0;va=ma-i|0;q[j+72>>2]=va;ma=i+ma|0;q[j+52>>2]=ma;ja=ja+ka|0;m=w(m,B)+w(k,C)|0;ka=ja-m|0;q[j+76>>2]=ka;k=m+ja|0;q[j+48>>2]=k;k=k+q[j+16>>2]|0;p[e>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ka-q[j+44>>2]|0;p[e+16>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ma+q[j+20>>2]|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=va-q[j+40>>2]|0;p[e+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;ja=q[j+24>>2];k=ja+sa|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;ka=q[j+36>>2];k=ua-ka|0;p[e+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=la;la=q[j+28>>2];k=k+la|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ra;ra=q[j+32>>2];k=k-ra|0;p[e+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ra+q[j+64>>2]|0;p[e+8>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+60>>2]-la|0;p[e+24>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ka+q[j+68>>2]|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+56>>2]-ja|0;p[e+26>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break d}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;s=s+1|0;if((O|0)!=(s|0)){continue}break}q[j+12>>2]=l;q[j+8>>2]=n;q[j+4>>2]=i;q[j>>2]=m;if((K|0)==65520){s=p[19331];k=p[19330];t=p[19329];u=p[19328];J=p[19351];K=p[19319];O=p[19350];L=p[19318];M=p[19349];N=p[19317];x=p[19348];y=p[19316];z=p[19347];A=p[19315];B=p[19346];C=p[19314];D=p[19345];E=p[19313];F=p[19344];G=p[19312];H=p[19297];I=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,J)+w(e,K);q[j+40>>2]=w(a,O)+w(e,L);q[j+36>>2]=w(a,M)+w(e,N);q[j+32>>2]=w(a,x)+w(e,y);q[j+28>>2]=w(a,z)+w(e,A);q[j+24>>2]=w(a,B)+w(e,C);q[j+20>>2]=w(a,D)+w(e,E);q[j+16>>2]=w(a,F)+w(e,G);a=p[b+64>>1];h=w(a,u);q[j>>2]=h;i=w(a,t);q[j+4>>2]=i;m=w(a,k);q[j+8>>2]=m;n=w(a,s);q[j+12>>2]=n;e=p[b>>1];a=w(e,I);q[j+64>>2]=a-n;e=w(e,H);q[j+68>>2]=e-m;q[j+52>>2]=e+i;q[j+72>>2]=e-i;q[j+56>>2]=e+m;q[j+76>>2]=a-h;q[j+60>>2]=a+n;a=a+h|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((J|0)!=65280){u=p[19523];J=p[19459];K=p[19395];O=p[19331];L=p[19522];M=p[19458];N=p[19394];x=p[19330];y=p[19521];z=p[19457];A=p[19393];B=p[19329];C=p[19520];D=p[19456];E=p[19392];F=p[19328];G=p[19543];H=p[19511];I=p[19479];ba=p[19447];ca=p[19415];da=p[19383];ea=p[19351];fa=p[19319];ga=p[19542];ha=p[19510];S=p[19478];ia=p[19446];P=p[19414];Q=p[19382];R=p[19350];T=p[19318];U=p[19541];V=p[19509];W=p[19477];X=p[19445];Y=p[19413];na=p[19381];oa=p[19349];pa=p[19317];Z=p[19540];v=p[19508];_=p[19476];$=p[19444];aa=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ta=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ja=p[19379];ka=p[19347];la=p[19315];ra=p[19538];ma=p[19506];sa=p[19474];ua=p[19442];va=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];m=p[b+288>>1];n=p[b+352>>1];s=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,ea)+w(e,fa)|0)+w(h,da)|0)+w(l,ca)|0)+w(m,ba)|0)+w(n,I)|0)+w(s,H)|0)+w(k,G);q[j+40>>2]=((((((w(a,R)+w(e,T)|0)+w(h,Q)|0)+w(l,P)|0)+w(m,ia)|0)+w(n,S)|0)+w(s,ha)|0)+w(k,ga);q[j+36>>2]=((((((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(l,Y)|0)+w(m,X)|0)+w(n,W)|0)+w(s,V)|0)+w(k,U);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,aa)|0)+w(m,$)|0)+w(n,_)|0)+w(s,v)|0)+w(k,Z);q[j+28>>2]=((((((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(l,Ga)|0)+w(m,Fa)|0)+w(n,Ea)|0)+w(s,ta)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,va)|0)+w(m,ua)|0)+w(n,sa)|0)+w(s,ma)|0)+w(k,ra);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(m,Oa)|0)+w(n,Na)|0)+w(s,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0)+w(n,Va)|0)+w(s,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];m=((w(a,E)+w(e,F)|0)+w(h,D)|0)+w(l,C)|0;q[j>>2]=m;n=((w(a,A)+w(e,B)|0)+w(h,z)|0)+w(l,y)|0;q[j+4>>2]=n;s=((w(a,N)+w(e,x)|0)+w(h,M)|0)+w(l,L)|0;q[j+8>>2]=s;a=((w(a,K)+w(e,O)|0)+w(h,J)|0)+w(l,u)|0;q[j+12>>2]=a;e=p[b+256>>1];h=p[b>>1];l=w(e,db)+w(h,eb)|0;k=p[b+384>>1];wa=p[b+128>>1];ya=w(k,fb)+w(wa,t)|0;za=l-ya|0;q[j+64>>2]=za-a;e=w(e,$a)+w(h,ab)|0;h=w(k,bb)+w(cb,wa)|0;k=e-h|0;q[j+68>>2]=k-s;e=e+h|0;q[j+52>>2]=e+n;q[j+72>>2]=e-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;a=l+ya|0;q[j+76>>2]=a-m;a=a+m|0;q[j+48>>2]=a;a=a+q[j+16>>2]|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+76>>2]-q[j+44>>2]|0;a=r[c+16|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+16|0]=(a|0)<255?a:255;a=q[j+20>>2]+q[j+52>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+72>>2]-q[j+40>>2]|0;a=r[c+18|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+18|0]=(a|0)<255?a:255;a=q[j+24>>2]+q[j+56>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+68>>2]-q[j+36>>2]|0;a=r[c+20|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+20|0]=(a|0)<255?a:255;a=q[j+28>>2]+q[j+60>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;e=q[j+64>>2];h=q[j+32>>2];a=e-h|0;a=r[c+22|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+22|0]=(a|0)<255?a:255;a=e+h|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[j+60>>2]-q[j+28>>2]|0;a=r[c+24|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+24|0]=(a|0)<255?a:255;a=q[j+36>>2]+q[j+68>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[j+56>>2]-q[j+24>>2]|0;a=r[c+26|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+26|0]=(a|0)<255?a:255;a=q[j+40>>2]+q[j+72>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[j+52>>2]-q[j+20>>2]|0;a=r[c+28|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+28|0]=(a|0)<255?a:255;a=q[j+44>>2]+q[j+76>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;a=q[j+48>>2]-q[j+16>>2]|0;a=r[c+30|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+30|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}n=p[19395];s=p[19331];k=p[19394];u=p[19330];J=p[19393];K=p[19329];O=p[19392];L=p[19328];M=p[19415];N=p[19383];x=p[19351];y=p[19319];z=p[19414];A=p[19382];B=p[19350];C=p[19318];D=p[19413];E=p[19381];F=p[19349];G=p[19317];H=p[19412];I=p[19380];ba=p[19348];ca=p[19316];da=p[19411];ea=p[19379];fa=p[19347];ga=p[19315];ha=p[19410];S=p[19378];ia=p[19346];P=p[19314];Q=p[19409];R=p[19377];T=p[19345];U=p[19313];V=p[19408];W=p[19376];X=p[19344];Y=p[19312];na=p[19297];oa=p[19361];pa=p[19296];a=0;while(1){e=p[b+96>>1];h=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(e,x)+w(h,y)|0)+w(i,N)|0)+w(l,M);q[j+40>>2]=((w(e,B)+w(h,C)|0)+w(i,A)|0)+w(l,z);q[j+36>>2]=((w(e,F)+w(h,G)|0)+w(i,E)|0)+w(l,D);q[j+32>>2]=((w(e,ba)+w(h,ca)|0)+w(i,I)|0)+w(l,H);q[j+28>>2]=((w(e,fa)+w(h,ga)|0)+w(i,ea)|0)+w(l,da);q[j+24>>2]=((w(e,ia)+w(h,P)|0)+w(i,S)|0)+w(l,ha);q[j+20>>2]=((w(e,T)+w(h,U)|0)+w(i,R)|0)+w(l,Q);q[j+16>>2]=((w(e,X)+w(h,Y)|0)+w(i,W)|0)+w(l,V);e=p[b+192>>1];h=p[b+64>>1];i=w(e,O)+w(h,L)|0;q[j>>2]=i;l=w(e,J)+w(h,K)|0;q[j+4>>2]=l;m=w(e,k)+w(h,u)|0;q[j+8>>2]=m;e=w(e,n)+w(h,s)|0;q[j+12>>2]=e;h=p[b>>1];Z=w(h,pa);v=p[b+128>>1];_=w(v,t);$=Z-_|0;q[j+64>>2]=$-e;h=w(h,na);v=w(v,oa);aa=h-v|0;q[j+68>>2]=aa-m;h=h+v|0;q[j+52>>2]=h+l;q[j+72>>2]=h-l;q[j+56>>2]=m+aa;h=Z+_|0;q[j+76>>2]=h-i;q[j+60>>2]=e+$;e=h+i|0;q[j+48>>2]=e;e=e+q[j+16>>2]|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=q[j+76>>2]-q[j+44>>2]|0;e=r[c+16|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+16|0]=(e|0)<255?e:255;e=q[j+20>>2]+q[j+52>>2]|0;e=r[c+2|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+2|0]=(e|0)<255?e:255;e=q[j+72>>2]-q[j+40>>2]|0;e=r[c+18|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+18|0]=(e|0)<255?e:255;e=q[j+24>>2]+q[j+56>>2]|0;e=r[c+4|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+4|0]=(e|0)<255?e:255;e=q[j+68>>2]-q[j+36>>2]|0;e=r[c+20|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+20|0]=(e|0)<255?e:255;e=q[j+28>>2]+q[j+60>>2]|0;e=r[c+6|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+6|0]=(e|0)<255?e:255;h=q[j+64>>2];i=q[j+32>>2];e=h-i|0;e=r[c+22|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+22|0]=(e|0)<255?e:255;e=h+i|0;e=r[c+8|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+8|0]=(e|0)<255?e:255;e=q[j+60>>2]-q[j+28>>2]|0;e=r[c+24|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+24|0]=(e|0)<255?e:255;e=q[j+36>>2]+q[j+68>>2]|0;e=r[c+10|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+10|0]=(e|0)<255?e:255;e=q[j+56>>2]-q[j+24>>2]|0;e=r[c+26|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+26|0]=(e|0)<255?e:255;e=q[j+40>>2]+q[j+72>>2]|0;e=r[c+12|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+12|0]=(e|0)<255?e:255;e=q[j+52>>2]-q[j+20>>2]|0;e=r[c+28|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+28|0]=(e|0)<255?e:255;e=q[j+44>>2]+q[j+76>>2]|0;e=r[c+14|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+14|0]=(e|0)<255?e:255;e=q[j+48>>2]-q[j+16>>2]|0;e=r[c+30|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+30|0]=(e|0)<255?e:255;d=d+g|0;c=c+f|0;b=b+2|0;a=a+1|0;if((a|0)!=16){continue}break}}}function lk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;j=xa-176|0;xa=j;A=h>>>0>4294967279?4:h>>>0>4294967039?8:32;a:{b:{if(i>>>0>=4294967280){D=p[19623];E=p[19622];F=p[19621];G=p[19620];H=p[19619];I=p[19618];K=p[19617];O=p[19616];P=p[19663];Q=p[19599];R=p[19662];S=p[19598];T=p[19661];U=p[19597];V=p[19660];W=p[19596];X=p[19659];Y=p[19595];Z=p[19658];_=p[19594];$=p[19657];aa=p[19593];ba=p[19656];ca=p[19592];da=p[19655];ea=p[19591];fa=p[19654];ga=p[19590];ha=p[19653];ia=p[19589];ja=p[19652];ka=p[19588];la=p[19651];ma=p[19587];na=p[19650];oa=p[19586];pa=p[19649];J=p[19585];ua=p[19648];va=p[19584];wa=p[19553];ya=p[19552];za=w(e,3)<<1;qa=e<<1;Aa=qa<<1;k=b;l=h;while(1){c:{if(!(l&1)){e=p[a+za>>1];i=p[a+qa>>1];q[j+108>>2]=w(e,P)+w(i,Q);q[j+104>>2]=w(e,R)+w(i,S);q[j+100>>2]=w(e,T)+w(i,U);q[j+96>>2]=w(e,V)+w(i,W);q[j+92>>2]=w(e,X)+w(i,Y);q[j+88>>2]=w(e,Z)+w(i,_);q[j+84>>2]=w(e,$)+w(i,aa);q[j+80>>2]=w(e,ba)+w(i,ca);q[j+76>>2]=w(e,da)+w(i,ea);q[j+72>>2]=w(e,fa)+w(i,ga);q[j+68>>2]=w(e,ha)+w(i,ia);q[j+64>>2]=w(e,ja)+w(i,ka);q[j+60>>2]=w(e,la)+w(i,ma);q[j+56>>2]=w(e,na)+w(i,oa);q[j+52>>2]=w(e,pa)+w(i,J);q[j+48>>2]=w(e,ua)+w(i,va);e=p[a+Aa>>1];q[j>>2]=0;q[j+4>>2]=0;q[j+8>>2]=0;q[j+12>>2]=0;m=w(e,H);q[j+28>>2]=m;u=w(e,G);q[j+32>>2]=u;t=w(e,I);q[j+24>>2]=t;v=w(e,F);q[j+36>>2]=v;L=w(e,K);q[j+20>>2]=L;M=w(e,E);q[j+40>>2]=M;i=w(e,O);q[j+16>>2]=i;N=w(e,D);q[j+44>>2]=N;n=p[a>>1];e=w(n,ya);q[j+144>>2]=e-N;i=e+i|0;q[j+112>>2]=i;n=w(n,wa);q[j+148>>2]=n-M;q[j+116>>2]=n+L;q[j+152>>2]=n-v;q[j+120>>2]=n+t;q[j+156>>2]=e-u;q[j+124>>2]=e+m;q[j+160>>2]=e-m;q[j+128>>2]=e+u;q[j+164>>2]=n-t;q[j+132>>2]=n+v;q[j+168>>2]=n-L;q[j+136>>2]=n+M;q[j+140>>2]=e+N;q[j+172>>2]=e-q[j+16>>2];e=0;while(1){n=(e<<1)+k|0;i=q[(j+48|0)+(e<<2)>>2]+i|0;p[n>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;i=15-e<<2;i=q[i+(j+112|0)>>2]-q[i+(j+48|0)>>2]|0;p[n+32>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;e=e+1|0;if((e|0)==16){break c}i=q[(j+112|0)+(e<<2)>>2];continue}}p[k>>1]=0;p[k+2>>1]=0;p[k+4>>1]=0;p[k+6>>1]=0;p[k+56>>1]=0;p[k+58>>1]=0;p[k+60>>1]=0;p[k+62>>1]=0;p[k+48>>1]=0;p[k+50>>1]=0;p[k+52>>1]=0;p[k+54>>1]=0;p[k+40>>1]=0;p[k+42>>1]=0;p[k+44>>1]=0;p[k+46>>1]=0;p[k+32>>1]=0;p[k+34>>1]=0;p[k+36>>1]=0;p[k+38>>1]=0;p[k+24>>1]=0;p[k+26>>1]=0;p[k+28>>1]=0;p[k+30>>1]=0;p[k+16>>1]=0;p[k+18>>1]=0;p[k+20>>1]=0;p[k+22>>1]=0;p[k+8>>1]=0;p[k+10>>1]=0;p[k+12>>1]=0;p[k+14>>1]=0}l=l>>1;k=k- -64|0;a=a+2|0;s=s+1|0;if((A|0)!=(s|0)){continue}break}if(h>>>0>=4294967280){v=p[19623];A=p[19622];L=p[19621];M=p[19620];N=p[19619];D=p[19618];E=p[19617];F=p[19616];G=p[19663];H=p[19599];I=p[19662];K=p[19598];O=p[19661];P=p[19597];Q=p[19660];R=p[19596];S=p[19659];T=p[19595];U=p[19658];V=p[19594];W=p[19657];X=p[19593];Y=p[19656];Z=p[19592];_=p[19655];$=p[19591];aa=p[19654];ba=p[19590];ca=p[19653];da=p[19589];ea=p[19652];fa=p[19588];ga=p[19651];ha=p[19587];ia=p[19650];ja=p[19586];ka=p[19649];la=p[19585];ma=p[19648];na=p[19584];oa=p[19553];pa=p[19552];h=0;while(1){a=p[b+192>>1];e=p[b+64>>1];q[j+108>>2]=w(a,G)+w(e,H);q[j+104>>2]=w(a,I)+w(e,K);q[j+100>>2]=w(a,O)+w(e,P);q[j+96>>2]=w(a,Q)+w(e,R);q[j+92>>2]=w(a,S)+w(e,T);q[j+88>>2]=w(a,U)+w(e,V);q[j+84>>2]=w(a,W)+w(e,X);q[j+80>>2]=w(a,Y)+w(e,Z);q[j+76>>2]=w(a,_)+w(e,$);q[j+72>>2]=w(a,aa)+w(e,ba);q[j+68>>2]=w(a,ca)+w(e,da);q[j+64>>2]=w(a,ea)+w(e,fa);q[j+60>>2]=w(a,ga)+w(e,ha);q[j+56>>2]=w(a,ia)+w(e,ja);q[j+52>>2]=w(a,ka)+w(e,la);q[j+48>>2]=w(a,ma)+w(e,na);a=p[b+128>>1];q[j>>2]=0;q[j+4>>2]=0;q[j+8>>2]=0;q[j+12>>2]=0;k=w(a,N);q[j+28>>2]=k;s=w(a,M);q[j+32>>2]=s;l=w(a,D);q[j+24>>2]=l;n=w(a,L);q[j+36>>2]=n;m=w(a,E);q[j+20>>2]=m;u=w(a,A);q[j+40>>2]=u;e=w(a,F);q[j+16>>2]=e;t=w(a,v);q[j+44>>2]=t;J=p[b>>1];a=w(J,pa);q[j+144>>2]=a-t;i=a+e|0;q[j+112>>2]=i;e=w(oa,J);q[j+148>>2]=e-u;q[j+116>>2]=e+m;q[j+152>>2]=e-n;q[j+120>>2]=e+l;q[j+156>>2]=a-s;q[j+124>>2]=a+k;q[j+160>>2]=a-k;q[j+128>>2]=a+s;q[j+164>>2]=e-l;q[j+132>>2]=e+n;q[j+168>>2]=e-m;q[j+136>>2]=e+u;q[j+140>>2]=a+t;q[j+172>>2]=a-q[j+16>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;i=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[i+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+i|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=32){continue}break}break a}if(h>>>0>4294967039){break b}t=p[20451];v=p[20195];A=p[19939];L=p[19683];M=p[20450];N=p[20194];D=p[19938];E=p[19682];F=p[20449];G=p[20193];H=p[19937];I=p[19681];K=p[20448];O=p[20192];P=p[19936];Q=p[19680];R=p[20519];S=p[20391];T=p[20263];U=p[20135];V=p[20007];W=p[19879];X=p[19751];Y=p[19623];Z=p[20518];_=p[20390];$=p[20262];aa=p[20134];ba=p[20006];ca=p[19878];da=p[19750];ea=p[19622];fa=p[20517];ga=p[20389];ha=p[20261];ia=p[20133];ja=p[20005];ka=p[19877];la=p[19749];ma=p[19621];na=p[20516];oa=p[20388];pa=p[20260];J=p[20132];ua=p[20004];va=p[19876];wa=p[19748];ya=p[19620];za=p[20515];qa=p[20387];Aa=p[20259];Ba=p[20131];Ca=p[20003];Da=p[19875];Ea=p[19747];Fa=p[19619];Ga=p[20514];Ha=p[20386];Ia=p[20258];Ja=p[20130];Ka=p[20002];La=p[19874];Ma=p[19746];Na=p[19618];Oa=p[20513];Pa=p[20385];Qa=p[20257];Ra=p[20129];Sa=p[20001];Ta=p[19873];Ua=p[19745];Va=p[19617];Wa=p[20512];Xa=p[20384];Ya=p[20256];Za=p[20128];_a=p[2e4];$a=p[19872];ab=p[19744];bb=p[19616];cb=p[20065];db=p[19553];eb=p[20064];fb=p[19552];gb=p[20321];hb=p[19809];ib=p[20320];jb=p[19808];n=0;while(1){e=p[b+1984>>1];h=p[b+1856>>1];k=p[b+1728>>1];s=p[b+1600>>1];l=p[b+1472>>1];m=p[b+1344>>1];u=p[b+1216>>1];z=p[b+1088>>1];x=p[b+960>>1];y=p[b+832>>1];B=p[b+704>>1];C=p[b+576>>1];ra=p[b+448>>1];sa=p[b+320>>1];ta=p[b+192>>1];mb=p[b+64>>1];i=0;while(1){a=i<<1;q[(j+48|0)+(i<<2)>>2]=((((((((((((((w(ta,p[a+39296>>1])+w(mb,p[a+39168>>1])|0)+w(sa,p[a+39424>>1])|0)+w(ra,p[a+39552>>1])|0)+w(C,p[a+39680>>1])|0)+w(B,p[a+39808>>1])|0)+w(y,p[a+39936>>1])|0)+w(x,p[a+40064>>1])|0)+w(z,p[a+40192>>1])|0)+w(u,p[a+40320>>1])|0)+w(m,p[a+40448>>1])|0)+w(l,p[a+40576>>1])|0)+w(s,p[a+40704>>1])|0)+w(k,p[a+40832>>1])|0)+w(h,p[a+40960>>1])|0)+w(e,p[a+41088>>1]);i=i+1|0;if((i|0)!=16){continue}break}a=p[b+384>>1];e=p[b+128>>1];h=p[b+640>>1];i=p[b+896>>1];k=p[b+1152>>1];s=p[b+1408>>1];l=p[b+1664>>1];m=p[b+1920>>1];q[j+40>>2]=((((((w(a,da)+w(e,ea)|0)+w(h,ca)|0)+w(i,ba)|0)+w(k,aa)|0)+w(s,$)|0)+w(l,_)|0)+w(m,Z);q[j+36>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(i,ja)|0)+w(k,ia)|0)+w(s,ha)|0)+w(l,ga)|0)+w(m,fa);q[j+32>>2]=((((((w(a,wa)+w(e,ya)|0)+w(h,va)|0)+w(i,ua)|0)+w(k,J)|0)+w(s,pa)|0)+w(l,oa)|0)+w(m,na);q[j+28>>2]=((((((w(a,Ea)+w(e,Fa)|0)+w(h,Da)|0)+w(i,Ca)|0)+w(k,Ba)|0)+w(s,Aa)|0)+w(l,qa)|0)+w(m,za);q[j+24>>2]=((((((w(a,Ma)+w(e,Na)|0)+w(h,La)|0)+w(i,Ka)|0)+w(k,Ja)|0)+w(s,Ia)|0)+w(l,Ha)|0)+w(m,Ga);q[j+20>>2]=((((((w(a,Ua)+w(e,Va)|0)+w(h,Ta)|0)+w(i,Sa)|0)+w(k,Ra)|0)+w(s,Qa)|0)+w(l,Pa)|0)+w(m,Oa);u=((((((w(a,X)+w(e,Y)|0)+w(h,W)|0)+w(i,V)|0)+w(k,U)|0)+w(s,T)|0)+w(l,S)|0)+w(m,R)|0;q[j+44>>2]=u;k=((((((w(a,ab)+w(e,bb)|0)+w(h,$a)|0)+w(i,_a)|0)+w(k,Za)|0)+w(s,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0;q[j+16>>2]=k;a=p[b+768>>1];e=p[b+256>>1];h=p[b+1280>>1];i=p[b+1792>>1];s=((w(a,A)+w(e,L)|0)+w(h,v)|0)+w(i,t)|0;q[j+12>>2]=s;l=((w(a,D)+w(e,E)|0)+w(h,N)|0)+w(i,M)|0;q[j+8>>2]=l;m=((w(a,H)+w(e,I)|0)+w(h,G)|0)+w(i,F)|0;q[j+4>>2]=m;a=((w(a,P)+w(e,Q)|0)+w(h,O)|0)+w(i,K)|0;q[j>>2]=a;e=p[b+1024>>1];h=p[b>>1];z=w(e,eb)+w(h,fb)|0;x=p[b+1536>>1];y=p[b+512>>1];B=w(x,ib)+w(y,jb)|0;C=z+B|0;ra=C+a|0;i=ra+k|0;q[j+112>>2]=i;a=C-a|0;q[j+144>>2]=a-u;C=q[j+20>>2];e=w(e,cb)+w(h,db)|0;h=w(x,gb)+w(y,hb)|0;x=e+h|0;y=x+m|0;q[j+116>>2]=C+y;m=x-m|0;x=q[j+40>>2];q[j+148>>2]=m-x;sa=q[j+24>>2];e=e-h|0;h=e+l|0;q[j+120>>2]=sa+h;e=e-l|0;l=q[j+36>>2];q[j+152>>2]=e-l;ta=q[j+28>>2];z=z-B|0;B=z+s|0;q[j+124>>2]=ta+B;s=z-s|0;z=q[j+32>>2];q[j+156>>2]=s-z;q[j+160>>2]=B-ta;q[j+128>>2]=s+z;q[j+164>>2]=h-sa;q[j+132>>2]=e+l;q[j+168>>2]=y-C;q[j+136>>2]=m+x;q[j+172>>2]=ra-k;q[j+140>>2]=a+u;e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;n=n+1|0;if((n|0)!=32){continue}break}break a}L=w(e,7);M=w(e,5);N=w(e,3);if(i>>>0<=4294967039){K=p[20451];O=p[20195];P=p[19939];Q=p[19683];R=p[20450];S=p[20194];T=p[19938];U=p[19682];V=p[20449];W=p[20193];X=p[19937];Y=p[19681];Z=p[20448];_=p[20192];$=p[19936];aa=p[19680];ba=p[20519];ca=p[20391];da=p[20263];ea=p[20135];fa=p[20007];ga=p[19879];ha=p[19751];ia=p[19623];ja=p[20518];ka=p[20390];la=p[20262];ma=p[20134];na=p[20006];oa=p[19878];pa=p[19750];J=p[19622];ua=p[20517];va=p[20389];wa=p[20261];ya=p[20133];za=p[20005];qa=p[19877];Aa=p[19749];Ba=p[19621];Ca=p[20516];Da=p[20388];Ea=p[20260];Fa=p[20132];Ga=p[20004];Ha=p[19876];Ia=p[19748];Ja=p[19620];Ka=p[20515];La=p[20387];Ma=p[20259];Na=p[20131];Oa=p[20003];Pa=p[19875];Qa=p[19747];Ra=p[19619];Sa=p[20514];Ta=p[20386];Ua=p[20258];Va=p[20130];Wa=p[20002];Xa=p[19874];Ya=p[19746];Za=p[19618];_a=p[20513];$a=p[20385];ab=p[20257];bb=p[20129];cb=p[20001];db=p[19873];eb=p[19745];fb=p[19617];gb=p[20512];hb=p[20384];ib=p[20256];jb=p[20128];z=p[2e4];x=p[19872];y=p[19744];B=p[19616];C=p[20065];ra=p[19553];sa=p[20064];ta=p[19552];mb=p[20321];xb=p[19809];yb=p[20320];ob=p[19808];l=q[j+12>>2];n=q[j+8>>2];m=q[j+4>>2];u=q[j>>2];zb=w(e,31)<<1;Ab=w(e,29)<<1;Bb=w(e,27)<<1;pb=w(e,25)<<1;qb=w(e,23)<<1;rb=w(e,21)<<1;sb=w(e,19)<<1;tb=w(e,17)<<1;ub=w(e,15)<<1;vb=w(e,13)<<1;Jb=w(e,11)<<1;Kb=w(e,9)<<1;Cb=e<<1;Lb=Cb<<1;Mb=w(e,6)<<1;Nb=w(e,10)<<1;Ob=w(e,14)<<1;Pb=w(e,18)<<1;Qb=w(e,22)<<1;Rb=w(e,26)<<1;Sb=w(e,30)<<1;Tb=e<<4;Ub=w(e,24)<<1;Vb=e<<5;Wb=e<<3;Xb=w(e,12)<<1;Yb=w(e,20)<<1;Zb=w(e,28)<<1;k=b;s=h;while(1){d:{if(!(s&1)){l=p[a+zb>>1];n=p[a+Ab>>1];m=p[a+Bb>>1];u=p[a+pb>>1];t=p[a+qb>>1];v=p[a+rb>>1];D=p[a+sb>>1];E=p[a+tb>>1];F=p[a+ub>>1];G=p[a+vb>>1];H=p[a+Jb>>1];I=p[a+Kb>>1];kb=p[(L<<1)+a>>1];wb=p[(M<<1)+a>>1];lb=p[(N<<1)+a>>1];nb=p[a+Cb>>1];i=0;while(1){e=i<<1;q[(j+48|0)+(i<<2)>>2]=((((((((((((((w(lb,p[e+39296>>1])+w(nb,p[e+39168>>1])|0)+w(wb,p[e+39424>>1])|0)+w(kb,p[e+39552>>1])|0)+w(I,p[e+39680>>1])|0)+w(H,p[e+39808>>1])|0)+w(G,p[e+39936>>1])|0)+w(F,p[e+40064>>1])|0)+w(E,p[e+40192>>1])|0)+w(D,p[e+40320>>1])|0)+w(v,p[e+40448>>1])|0)+w(t,p[e+40576>>1])|0)+w(u,p[e+40704>>1])|0)+w(m,p[e+40832>>1])|0)+w(n,p[e+40960>>1])|0)+w(l,p[e+41088>>1]);i=i+1|0;if((i|0)!=16){continue}break}e=p[a+Mb>>1];i=p[a+Lb>>1];l=p[a+Nb>>1];n=p[a+Ob>>1];m=p[a+Pb>>1];u=p[a+Qb>>1];t=p[a+Rb>>1];v=p[a+Sb>>1];q[j+32>>2]=((((((w(e,Ia)+w(i,Ja)|0)+w(l,Ha)|0)+w(n,Ga)|0)+w(m,Fa)|0)+w(u,Ea)|0)+w(t,Da)|0)+w(v,Ca);q[j+28>>2]=((((((w(e,Qa)+w(i,Ra)|0)+w(l,Pa)|0)+w(n,Oa)|0)+w(m,Na)|0)+w(u,Ma)|0)+w(t,La)|0)+w(v,Ka);D=((((((w(e,Aa)+w(i,Ba)|0)+w(l,qa)|0)+w(n,za)|0)+w(m,ya)|0)+w(u,wa)|0)+w(t,va)|0)+w(v,ua)|0;q[j+36>>2]=D;E=((((((w(e,Ya)+w(i,Za)|0)+w(l,Xa)|0)+w(n,Wa)|0)+w(m,Va)|0)+w(u,Ua)|0)+w(t,Ta)|0)+w(v,Sa)|0;q[j+24>>2]=E;F=((((((w(e,pa)+w(i,J)|0)+w(l,oa)|0)+w(n,na)|0)+w(m,ma)|0)+w(u,la)|0)+w(t,ka)|0)+w(v,ja)|0;q[j+40>>2]=F;G=((((((w(e,eb)+w(i,fb)|0)+w(l,db)|0)+w(n,cb)|0)+w(m,bb)|0)+w(u,ab)|0)+w(t,$a)|0)+w(v,_a)|0;q[j+20>>2]=G;H=((((((w(e,ha)+w(i,ia)|0)+w(l,ga)|0)+w(n,fa)|0)+w(m,ea)|0)+w(u,da)|0)+w(t,ca)|0)+w(v,ba)|0;q[j+44>>2]=H;I=((((((w(e,y)+w(i,B)|0)+w(l,x)|0)+w(n,z)|0)+w(m,jb)|0)+w(u,ib)|0)+w(t,hb)|0)+w(v,gb)|0;q[j+16>>2]=I;e=p[a+Xb>>1];l=p[a+Wb>>1];t=p[a+Yb>>1];v=p[a+Zb>>1];u=((w(e,$)+w(l,aa)|0)+w(t,_)|0)+w(v,Z)|0;n=p[a+Ub>>1];kb=p[a+Tb>>1];wb=w(n,yb)+w(kb,ob)|0;lb=p[a+Vb>>1];nb=p[a>>1];Db=w(lb,sa)+w(nb,ta)|0;m=wb+Db|0;Eb=u+m|0;i=I+Eb|0;q[j+112>>2]=i;Fb=m-u|0;q[j+144>>2]=Fb-H;m=((w(e,X)+w(l,Y)|0)+w(t,W)|0)+w(v,V)|0;lb=w(C,lb)+w(ra,nb)|0;kb=w(n,mb)+w(kb,xb)|0;n=lb+kb|0;nb=m+n|0;q[j+116>>2]=nb+G;Gb=n-m|0;q[j+148>>2]=Gb-F;n=((w(e,T)+w(l,U)|0)+w(t,S)|0)+w(v,R)|0;kb=lb-kb|0;lb=n+kb|0;q[j+120>>2]=lb+E;kb=kb-n|0;q[j+152>>2]=kb-D;Hb=q[j+28>>2];l=((w(e,P)+w(l,Q)|0)+w(t,O)|0)+w(v,K)|0;e=Db-wb|0;t=l+e|0;q[j+124>>2]=Hb+t;q[j+132>>2]=D+kb;q[j+164>>2]=lb-E;q[j+136>>2]=F+Gb;q[j+168>>2]=nb-G;q[j+140>>2]=H+Fb;q[j+172>>2]=Eb-I;q[j+160>>2]=t-Hb;e=e-l|0;t=q[j+32>>2];q[j+156>>2]=e-t;q[j+128>>2]=e+t;e=0;while(1){t=(e<<1)+k|0;i=q[(j+48|0)+(e<<2)>>2]+i|0;p[t>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;i=15-e<<2;i=q[i+(j+112|0)>>2]-q[i+(j+48|0)>>2]|0;p[t+32>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;e=e+1|0;if((e|0)==16){break d}i=q[(j+112|0)+(e<<2)>>2];continue}}p[k>>1]=0;p[k+2>>1]=0;p[k+4>>1]=0;p[k+6>>1]=0;p[k+56>>1]=0;p[k+58>>1]=0;p[k+60>>1]=0;p[k+62>>1]=0;p[k+48>>1]=0;p[k+50>>1]=0;p[k+52>>1]=0;p[k+54>>1]=0;p[k+40>>1]=0;p[k+42>>1]=0;p[k+44>>1]=0;p[k+46>>1]=0;p[k+32>>1]=0;p[k+34>>1]=0;p[k+36>>1]=0;p[k+38>>1]=0;p[k+24>>1]=0;p[k+26>>1]=0;p[k+28>>1]=0;p[k+30>>1]=0;p[k+16>>1]=0;p[k+18>>1]=0;p[k+20>>1]=0;p[k+22>>1]=0;p[k+8>>1]=0;p[k+10>>1]=0;p[k+12>>1]=0;p[k+14>>1]=0}s=s>>1;k=k- -64|0;a=a+2|0;Ib=Ib+1|0;if((A|0)!=(Ib|0)){continue}break}q[j+12>>2]=l;q[j+8>>2]=n;q[j+4>>2]=m;q[j>>2]=u;if(h>>>0>=4294967280){v=p[19623];A=p[19622];L=p[19621];M=p[19620];N=p[19619];D=p[19618];E=p[19617];F=p[19616];G=p[19663];H=p[19599];I=p[19662];K=p[19598];O=p[19661];P=p[19597];Q=p[19660];R=p[19596];S=p[19659];T=p[19595];U=p[19658];V=p[19594];W=p[19657];X=p[19593];Y=p[19656];Z=p[19592];_=p[19655];$=p[19591];aa=p[19654];ba=p[19590];ca=p[19653];da=p[19589];ea=p[19652];fa=p[19588];ga=p[19651];ha=p[19587];ia=p[19650];ja=p[19586];ka=p[19649];la=p[19585];ma=p[19648];na=p[19584];oa=p[19553];pa=p[19552];h=0;while(1){a=p[b+192>>1];e=p[b+64>>1];q[j+108>>2]=w(a,G)+w(e,H);q[j+104>>2]=w(a,I)+w(e,K);q[j+100>>2]=w(a,O)+w(e,P);q[j+96>>2]=w(a,Q)+w(e,R);q[j+92>>2]=w(a,S)+w(e,T);q[j+88>>2]=w(a,U)+w(e,V);q[j+84>>2]=w(a,W)+w(e,X);q[j+80>>2]=w(a,Y)+w(e,Z);q[j+76>>2]=w(a,_)+w(e,$);q[j+72>>2]=w(a,aa)+w(e,ba);q[j+68>>2]=w(a,ca)+w(e,da);q[j+64>>2]=w(a,ea)+w(e,fa);q[j+60>>2]=w(a,ga)+w(e,ha);q[j+56>>2]=w(a,ia)+w(e,ja);q[j+52>>2]=w(a,ka)+w(e,la);q[j+48>>2]=w(a,ma)+w(e,na);a=p[b+128>>1];q[j>>2]=0;q[j+4>>2]=0;q[j+8>>2]=0;q[j+12>>2]=0;k=w(a,N);q[j+28>>2]=k;s=w(a,M);q[j+32>>2]=s;l=w(a,D);q[j+24>>2]=l;n=w(a,L);q[j+36>>2]=n;m=w(a,E);q[j+20>>2]=m;u=w(a,A);q[j+40>>2]=u;e=w(a,F);q[j+16>>2]=e;t=w(a,v);q[j+44>>2]=t;J=p[b>>1];a=w(J,pa);q[j+144>>2]=a-t;i=a+e|0;q[j+112>>2]=i;e=w(oa,J);q[j+148>>2]=e-u;q[j+116>>2]=e+m;q[j+152>>2]=e-n;q[j+120>>2]=e+l;q[j+156>>2]=a-s;q[j+124>>2]=a+k;q[j+160>>2]=a-k;q[j+128>>2]=a+s;q[j+164>>2]=e-l;q[j+132>>2]=e+n;q[j+168>>2]=e-m;q[j+136>>2]=e+u;q[j+140>>2]=a+t;q[j+172>>2]=a-q[j+16>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;i=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[i+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+i|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=32){continue}break}break a}if(h>>>0<=4294967039){t=p[20451];v=p[20195];A=p[19939];L=p[19683];M=p[20450];N=p[20194];D=p[19938];E=p[19682];F=p[20449];G=p[20193];H=p[19937];I=p[19681];K=p[20448];O=p[20192];P=p[19936];Q=p[19680];R=p[20519];S=p[20391];T=p[20263];U=p[20135];V=p[20007];W=p[19879];X=p[19751];Y=p[19623];Z=p[20518];_=p[20390];$=p[20262];aa=p[20134];ba=p[20006];ca=p[19878];da=p[19750];ea=p[19622];fa=p[20517];ga=p[20389];ha=p[20261];ia=p[20133];ja=p[20005];ka=p[19877];la=p[19749];ma=p[19621];na=p[20516];oa=p[20388];pa=p[20260];J=p[20132];ua=p[20004];va=p[19876];wa=p[19748];ya=p[19620];za=p[20515];qa=p[20387];Aa=p[20259];Ba=p[20131];Ca=p[20003];Da=p[19875];Ea=p[19747];Fa=p[19619];Ga=p[20514];Ha=p[20386];Ia=p[20258];Ja=p[20130];Ka=p[20002];La=p[19874];Ma=p[19746];Na=p[19618];Oa=p[20513];Pa=p[20385];Qa=p[20257];Ra=p[20129];Sa=p[20001];Ta=p[19873];Ua=p[19745];Va=p[19617];Wa=p[20512];Xa=p[20384];Ya=p[20256];Za=p[20128];_a=p[2e4];$a=p[19872];ab=p[19744];bb=p[19616];cb=p[20065];db=p[19553];eb=p[20064];fb=p[19552];gb=p[20321];hb=p[19809];ib=p[20320];jb=p[19808];n=0;while(1){e=p[b+1984>>1];h=p[b+1856>>1];k=p[b+1728>>1];s=p[b+1600>>1];l=p[b+1472>>1];m=p[b+1344>>1];u=p[b+1216>>1];z=p[b+1088>>1];x=p[b+960>>1];y=p[b+832>>1];B=p[b+704>>1];C=p[b+576>>1];ra=p[b+448>>1];sa=p[b+320>>1];ta=p[b+192>>1];mb=p[b+64>>1];i=0;while(1){a=i<<1;q[(j+48|0)+(i<<2)>>2]=((((((((((((((w(ta,p[a+39296>>1])+w(mb,p[a+39168>>1])|0)+w(sa,p[a+39424>>1])|0)+w(ra,p[a+39552>>1])|0)+w(C,p[a+39680>>1])|0)+w(B,p[a+39808>>1])|0)+w(y,p[a+39936>>1])|0)+w(x,p[a+40064>>1])|0)+w(z,p[a+40192>>1])|0)+w(u,p[a+40320>>1])|0)+w(m,p[a+40448>>1])|0)+w(l,p[a+40576>>1])|0)+w(s,p[a+40704>>1])|0)+w(k,p[a+40832>>1])|0)+w(h,p[a+40960>>1])|0)+w(e,p[a+41088>>1]);i=i+1|0;if((i|0)!=16){continue}break}a=p[b+384>>1];e=p[b+128>>1];h=p[b+640>>1];i=p[b+896>>1];k=p[b+1152>>1];s=p[b+1408>>1];l=p[b+1664>>1];m=p[b+1920>>1];q[j+40>>2]=((((((w(a,da)+w(e,ea)|0)+w(h,ca)|0)+w(i,ba)|0)+w(k,aa)|0)+w(s,$)|0)+w(l,_)|0)+w(m,Z);q[j+36>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(i,ja)|0)+w(k,ia)|0)+w(s,ha)|0)+w(l,ga)|0)+w(m,fa);q[j+32>>2]=((((((w(a,wa)+w(e,ya)|0)+w(h,va)|0)+w(i,ua)|0)+w(k,J)|0)+w(s,pa)|0)+w(l,oa)|0)+w(m,na);q[j+28>>2]=((((((w(a,Ea)+w(e,Fa)|0)+w(h,Da)|0)+w(i,Ca)|0)+w(k,Ba)|0)+w(s,Aa)|0)+w(l,qa)|0)+w(m,za);q[j+24>>2]=((((((w(a,Ma)+w(e,Na)|0)+w(h,La)|0)+w(i,Ka)|0)+w(k,Ja)|0)+w(s,Ia)|0)+w(l,Ha)|0)+w(m,Ga);q[j+20>>2]=((((((w(a,Ua)+w(e,Va)|0)+w(h,Ta)|0)+w(i,Sa)|0)+w(k,Ra)|0)+w(s,Qa)|0)+w(l,Pa)|0)+w(m,Oa);u=((((((w(a,X)+w(e,Y)|0)+w(h,W)|0)+w(i,V)|0)+w(k,U)|0)+w(s,T)|0)+w(l,S)|0)+w(m,R)|0;q[j+44>>2]=u;k=((((((w(a,ab)+w(e,bb)|0)+w(h,$a)|0)+w(i,_a)|0)+w(k,Za)|0)+w(s,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0;q[j+16>>2]=k;a=p[b+768>>1];e=p[b+256>>1];h=p[b+1280>>1];i=p[b+1792>>1];s=((w(a,A)+w(e,L)|0)+w(h,v)|0)+w(i,t)|0;q[j+12>>2]=s;l=((w(a,D)+w(e,E)|0)+w(h,N)|0)+w(i,M)|0;q[j+8>>2]=l;m=((w(a,H)+w(e,I)|0)+w(h,G)|0)+w(i,F)|0;q[j+4>>2]=m;a=((w(a,P)+w(e,Q)|0)+w(h,O)|0)+w(i,K)|0;q[j>>2]=a;e=p[b+1024>>1];h=p[b>>1];z=w(e,eb)+w(h,fb)|0;x=p[b+1536>>1];y=p[b+512>>1];B=w(x,ib)+w(y,jb)|0;C=z+B|0;ra=C+a|0;i=ra+k|0;q[j+112>>2]=i;a=C-a|0;q[j+144>>2]=a-u;C=q[j+20>>2];e=w(e,cb)+w(h,db)|0;h=w(x,gb)+w(y,hb)|0;x=e+h|0;y=x+m|0;q[j+116>>2]=C+y;m=x-m|0;x=q[j+40>>2];q[j+148>>2]=m-x;sa=q[j+24>>2];e=e-h|0;h=e+l|0;q[j+120>>2]=sa+h;e=e-l|0;l=q[j+36>>2];q[j+152>>2]=e-l;ta=q[j+28>>2];z=z-B|0;B=z+s|0;q[j+124>>2]=ta+B;s=z-s|0;z=q[j+32>>2];q[j+156>>2]=s-z;q[j+160>>2]=B-ta;q[j+128>>2]=s+z;q[j+164>>2]=h-sa;q[j+132>>2]=e+l;q[j+168>>2]=y-C;q[j+136>>2]=m+x;q[j+172>>2]=ra-k;q[j+140>>2]=a+u;e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;n=n+1|0;if((n|0)!=32){continue}break}break a}L=p[19683];M=p[19682];N=p[19681];D=p[19680];E=p[19751];F=p[19623];G=p[19750];H=p[19622];I=p[19749];K=p[19621];O=p[19748];P=p[19620];Q=p[19747];R=p[19619];S=p[19746];T=p[19618];U=p[19745];V=p[19617];W=p[19744];X=p[19616];Y=p[19791];Z=p[19727];_=p[19663];$=p[19599];aa=p[19790];ba=p[19726];ca=p[19662];da=p[19598];ea=p[19789];fa=p[19725];ga=p[19661];ha=p[19597];ia=p[19788];ja=p[19724];ka=p[19660];la=p[19596];ma=p[19787];na=p[19723];oa=p[19659];pa=p[19595];J=p[19786];ua=p[19722];va=p[19658];wa=p[19594];ya=p[19785];za=p[19721];qa=p[19657];Aa=p[19593];Ba=p[19784];Ca=p[19720];Da=p[19656];Ea=p[19592];Fa=p[19783];Ga=p[19719];Ha=p[19655];Ia=p[19591];Ja=p[19782];Ka=p[19718];La=p[19654];Ma=p[19590];Na=p[19781];Oa=p[19717];Pa=p[19653];Qa=p[19589];Ra=p[19780];Sa=p[19716];Ta=p[19652];Ua=p[19588];Va=p[19779];Wa=p[19715];Xa=p[19651];Ya=p[19587];Za=p[19778];_a=p[19714];$a=p[19650];ab=p[19586];bb=p[19777];cb=p[19713];db=p[19649];eb=p[19585];fb=p[19776];gb=p[19712];hb=p[19648];ib=p[19584];jb=p[19553];z=p[19552];k=0;while(1){a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];i=p[b+448>>1];q[j+108>>2]=((w(a,_)+w(e,$)|0)+w(h,Z)|0)+w(i,Y);q[j+104>>2]=((w(a,ca)+w(e,da)|0)+w(h,ba)|0)+w(i,aa);q[j+100>>2]=((w(a,ga)+w(e,ha)|0)+w(h,fa)|0)+w(i,ea);q[j+96>>2]=((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(i,ia);q[j+92>>2]=((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(i,ma);q[j+88>>2]=((w(a,va)+w(e,wa)|0)+w(h,ua)|0)+w(i,J);q[j+84>>2]=((w(a,qa)+w(e,Aa)|0)+w(h,za)|0)+w(i,ya);q[j+80>>2]=((w(a,Da)+w(e,Ea)|0)+w(h,Ca)|0)+w(i,Ba);q[j+76>>2]=((w(a,Ha)+w(e,Ia)|0)+w(h,Ga)|0)+w(i,Fa);q[j+72>>2]=((w(a,La)+w(e,Ma)|0)+w(h,Ka)|0)+w(i,Ja);q[j+68>>2]=((w(a,Pa)+w(e,Qa)|0)+w(h,Oa)|0)+w(i,Na);q[j+64>>2]=((w(a,Ta)+w(e,Ua)|0)+w(h,Sa)|0)+w(i,Ra);q[j+60>>2]=((w(a,Xa)+w(e,Ya)|0)+w(h,Wa)|0)+w(i,Va);q[j+56>>2]=((w(a,$a)+w(e,ab)|0)+w(h,_a)|0)+w(i,Za);q[j+52>>2]=((w(a,db)+w(e,eb)|0)+w(h,cb)|0)+w(i,bb);q[j+48>>2]=((w(a,hb)+w(e,ib)|0)+w(h,gb)|0)+w(i,fb);a=p[b+384>>1];e=p[b+128>>1];h=w(a,O)+w(e,P)|0;q[j+32>>2]=h;s=w(a,Q)+w(e,R)|0;q[j+28>>2]=s;l=w(a,S)+w(e,T)|0;q[j+24>>2]=l;n=w(a,I)+w(e,K)|0;q[j+36>>2]=n;m=w(a,U)+w(e,V)|0;q[j+20>>2]=m;x=w(a,G)+w(e,H)|0;q[j+40>>2]=x;u=w(a,W)+w(e,X)|0;q[j+16>>2]=u;i=w(a,E)+w(e,F)|0;q[j+44>>2]=i;a=p[b+256>>1];t=w(a,L);q[j+12>>2]=t;v=w(a,M);q[j+8>>2]=v;A=w(a,N);q[j+4>>2]=A;e=w(a,D);q[j>>2]=e;y=p[b>>1];a=w(y,z);B=a-e|0;q[j+144>>2]=B-i;C=a+e|0;i=C+u|0;q[j+112>>2]=i;e=w(y,jb);y=e-A|0;q[j+148>>2]=y-x;A=e+A|0;q[j+116>>2]=A+m;x=e-v|0;q[j+152>>2]=x-n;e=e+v|0;q[j+120>>2]=e+l;v=a+t|0;q[j+124>>2]=v+s;a=a-t|0;q[j+156>>2]=a-h;q[j+160>>2]=v-s;q[j+128>>2]=a+h;q[j+164>>2]=e-l;q[j+132>>2]=n+x;q[j+168>>2]=A-m;q[j+136>>2]=y+q[j+40>>2];q[j+172>>2]=C-u;q[j+140>>2]=B+q[j+44>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;k=k+1|0;if((k|0)!=32){continue}break}break a}O=p[19683];P=p[19682];Q=p[19681];R=p[19680];S=p[19751];T=p[19623];U=p[19750];V=p[19622];W=p[19749];X=p[19621];Y=p[19748];Z=p[19620];_=p[19747];$=p[19619];aa=p[19746];ba=p[19618];ca=p[19745];da=p[19617];ea=p[19744];fa=p[19616];ga=p[19791];ha=p[19727];ia=p[19663];ja=p[19599];ka=p[19790];la=p[19726];ma=p[19662];na=p[19598];oa=p[19789];pa=p[19725];J=p[19661];ua=p[19597];va=p[19788];wa=p[19724];ya=p[19660];za=p[19596];qa=p[19787];Aa=p[19723];Ba=p[19659];Ca=p[19595];Da=p[19786];Ea=p[19722];Fa=p[19658];Ga=p[19594];Ha=p[19785];Ia=p[19721];Ja=p[19657];Ka=p[19593];La=p[19784];Ma=p[19720];Na=p[19656];Oa=p[19592];Pa=p[19783];Qa=p[19719];Ra=p[19655];Sa=p[19591];Ta=p[19782];Ua=p[19718];Va=p[19654];Wa=p[19590];Xa=p[19781];Ya=p[19717];Za=p[19653];_a=p[19589];$a=p[19780];ab=p[19716];bb=p[19652];cb=p[19588];db=p[19779];eb=p[19715];fb=p[19651];gb=p[19587];hb=p[19778];ib=p[19714];jb=p[19650];z=p[19586];x=p[19777];y=p[19713];B=p[19649];C=p[19585];ra=p[19776];sa=p[19712];ta=p[19648];mb=p[19584];xb=p[19553];yb=p[19552];l=q[j+12>>2];m=q[j+8>>2];u=q[j+4>>2];n=q[j>>2];ob=e<<1;zb=ob<<1;Ab=w(e,6)<<1;Bb=e<<3;k=b;s=h;while(1){e:{if(!(s&1)){e=p[(N<<1)+a>>1];i=p[a+ob>>1];l=p[(M<<1)+a>>1];n=p[(L<<1)+a>>1];q[j+108>>2]=((w(e,ia)+w(i,ja)|0)+w(l,ha)|0)+w(n,ga);q[j+104>>2]=((w(e,ma)+w(i,na)|0)+w(l,la)|0)+w(n,ka);q[j+100>>2]=((w(e,J)+w(i,ua)|0)+w(l,pa)|0)+w(n,oa);q[j+96>>2]=((w(e,ya)+w(i,za)|0)+w(l,wa)|0)+w(n,va);q[j+92>>2]=((w(e,Ba)+w(i,Ca)|0)+w(l,Aa)|0)+w(n,qa);q[j+88>>2]=((w(e,Fa)+w(i,Ga)|0)+w(l,Ea)|0)+w(n,Da);q[j+84>>2]=((w(e,Ja)+w(i,Ka)|0)+w(l,Ia)|0)+w(n,Ha);q[j+80>>2]=((w(e,Na)+w(i,Oa)|0)+w(l,Ma)|0)+w(n,La);q[j+76>>2]=((w(e,Ra)+w(i,Sa)|0)+w(l,Qa)|0)+w(n,Pa);q[j+72>>2]=((w(e,Va)+w(i,Wa)|0)+w(l,Ua)|0)+w(n,Ta);q[j+68>>2]=((w(e,Za)+w(i,_a)|0)+w(l,Ya)|0)+w(n,Xa);q[j+64>>2]=((w(e,bb)+w(i,cb)|0)+w(l,ab)|0)+w(n,$a);q[j+60>>2]=((w(e,fb)+w(i,gb)|0)+w(l,eb)|0)+w(n,db);q[j+56>>2]=((w(e,jb)+w(i,z)|0)+w(l,ib)|0)+w(n,hb);q[j+52>>2]=((w(e,B)+w(i,C)|0)+w(l,y)|0)+w(n,x);q[j+48>>2]=((w(e,ta)+w(i,mb)|0)+w(l,sa)|0)+w(n,ra);e=p[a+Ab>>1];i=p[a+zb>>1];v=w(e,Y)+w(i,Z)|0;q[j+32>>2]=v;D=w(e,_)+w(i,$)|0;q[j+28>>2]=D;E=w(e,aa)+w(i,ba)|0;q[j+24>>2]=E;F=w(e,W)+w(i,X)|0;q[j+36>>2]=F;G=w(e,ca)+w(i,da)|0;q[j+20>>2]=G;H=w(e,U)+w(i,V)|0;q[j+40>>2]=H;I=w(e,ea)+w(i,fa)|0;q[j+16>>2]=I;K=w(e,S)+w(i,T)|0;q[j+44>>2]=K;m=p[a>>1];e=w(m,yb);l=p[a+Bb>>1];n=w(l,R);pb=e-n|0;q[j+144>>2]=pb-K;qb=e+n|0;i=qb+I|0;q[j+112>>2]=i;t=w(m,xb);u=w(l,Q);rb=t-u|0;q[j+148>>2]=rb-H;sb=t+u|0;q[j+116>>2]=sb+G;m=w(l,P);tb=t-m|0;q[j+152>>2]=tb-F;t=m+t|0;q[j+120>>2]=t+E;l=w(l,O);ub=e+l|0;q[j+124>>2]=ub+D;e=e-l|0;q[j+156>>2]=e-v;q[j+160>>2]=ub-D;q[j+128>>2]=e+v;q[j+132>>2]=F+tb;q[j+164>>2]=t-E;q[j+136>>2]=H+rb;q[j+168>>2]=sb-G;q[j+140>>2]=K+pb;q[j+172>>2]=qb-I;e=0;while(1){t=(e<<1)+k|0;i=q[(j+48|0)+(e<<2)>>2]+i|0;p[t>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;i=15-e<<2;i=q[i+(j+112|0)>>2]-q[i+(j+48|0)>>2]|0;p[t+32>>1]=(i|0)>4194239?32767:(i|0)<-4194368?-32768:i- -64>>>7|0;e=e+1|0;if((e|0)==16){break e}i=q[(j+112|0)+(e<<2)>>2];continue}}p[k>>1]=0;p[k+2>>1]=0;p[k+4>>1]=0;p[k+6>>1]=0;p[k+56>>1]=0;p[k+58>>1]=0;p[k+60>>1]=0;p[k+62>>1]=0;p[k+48>>1]=0;p[k+50>>1]=0;p[k+52>>1]=0;p[k+54>>1]=0;p[k+40>>1]=0;p[k+42>>1]=0;p[k+44>>1]=0;p[k+46>>1]=0;p[k+32>>1]=0;p[k+34>>1]=0;p[k+36>>1]=0;p[k+38>>1]=0;p[k+24>>1]=0;p[k+26>>1]=0;p[k+28>>1]=0;p[k+30>>1]=0;p[k+16>>1]=0;p[k+18>>1]=0;p[k+20>>1]=0;p[k+22>>1]=0;p[k+8>>1]=0;p[k+10>>1]=0;p[k+12>>1]=0;p[k+14>>1]=0}s=s>>1;k=k- -64|0;a=a+2|0;vb=vb+1|0;if((A|0)!=(vb|0)){continue}break}q[j+12>>2]=l;q[j+8>>2]=m;q[j+4>>2]=u;q[j>>2]=n;if(h>>>0>=4294967280){v=p[19623];A=p[19622];L=p[19621];M=p[19620];N=p[19619];D=p[19618];E=p[19617];F=p[19616];G=p[19663];H=p[19599];I=p[19662];K=p[19598];O=p[19661];P=p[19597];Q=p[19660];R=p[19596];S=p[19659];T=p[19595];U=p[19658];V=p[19594];W=p[19657];X=p[19593];Y=p[19656];Z=p[19592];_=p[19655];$=p[19591];aa=p[19654];ba=p[19590];ca=p[19653];da=p[19589];ea=p[19652];fa=p[19588];ga=p[19651];ha=p[19587];ia=p[19650];ja=p[19586];ka=p[19649];la=p[19585];ma=p[19648];na=p[19584];oa=p[19553];pa=p[19552];h=0;while(1){a=p[b+192>>1];e=p[b+64>>1];q[j+108>>2]=w(a,G)+w(e,H);q[j+104>>2]=w(a,I)+w(e,K);q[j+100>>2]=w(a,O)+w(e,P);q[j+96>>2]=w(a,Q)+w(e,R);q[j+92>>2]=w(a,S)+w(e,T);q[j+88>>2]=w(a,U)+w(e,V);q[j+84>>2]=w(a,W)+w(e,X);q[j+80>>2]=w(a,Y)+w(e,Z);q[j+76>>2]=w(a,_)+w(e,$);q[j+72>>2]=w(a,aa)+w(e,ba);q[j+68>>2]=w(a,ca)+w(e,da);q[j+64>>2]=w(a,ea)+w(e,fa);q[j+60>>2]=w(a,ga)+w(e,ha);q[j+56>>2]=w(a,ia)+w(e,ja);q[j+52>>2]=w(a,ka)+w(e,la);q[j+48>>2]=w(a,ma)+w(e,na);a=p[b+128>>1];q[j>>2]=0;q[j+4>>2]=0;q[j+8>>2]=0;q[j+12>>2]=0;k=w(a,N);q[j+28>>2]=k;s=w(a,M);q[j+32>>2]=s;l=w(a,D);q[j+24>>2]=l;n=w(a,L);q[j+36>>2]=n;m=w(a,E);q[j+20>>2]=m;u=w(a,A);q[j+40>>2]=u;e=w(a,F);q[j+16>>2]=e;t=w(a,v);q[j+44>>2]=t;J=p[b>>1];a=w(J,pa);q[j+144>>2]=a-t;i=a+e|0;q[j+112>>2]=i;e=w(oa,J);q[j+148>>2]=e-u;q[j+116>>2]=e+m;q[j+152>>2]=e-n;q[j+120>>2]=e+l;q[j+156>>2]=a-s;q[j+124>>2]=a+k;q[j+160>>2]=a-k;q[j+128>>2]=a+s;q[j+164>>2]=e-l;q[j+132>>2]=e+n;q[j+168>>2]=e-m;q[j+136>>2]=e+u;q[j+140>>2]=a+t;q[j+172>>2]=a-q[j+16>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;i=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[i+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+i|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=32){continue}break}break a}if(h>>>0<=4294967039){t=p[20451];v=p[20195];A=p[19939];L=p[19683];M=p[20450];N=p[20194];D=p[19938];E=p[19682];F=p[20449];G=p[20193];H=p[19937];I=p[19681];K=p[20448];O=p[20192];P=p[19936];Q=p[19680];R=p[20519];S=p[20391];T=p[20263];U=p[20135];V=p[20007];W=p[19879];X=p[19751];Y=p[19623];Z=p[20518];_=p[20390];$=p[20262];aa=p[20134];ba=p[20006];ca=p[19878];da=p[19750];ea=p[19622];fa=p[20517];ga=p[20389];ha=p[20261];ia=p[20133];ja=p[20005];ka=p[19877];la=p[19749];ma=p[19621];na=p[20516];oa=p[20388];pa=p[20260];J=p[20132];ua=p[20004];va=p[19876];wa=p[19748];ya=p[19620];za=p[20515];qa=p[20387];Aa=p[20259];Ba=p[20131];Ca=p[20003];Da=p[19875];Ea=p[19747];Fa=p[19619];Ga=p[20514];Ha=p[20386];Ia=p[20258];Ja=p[20130];Ka=p[20002];La=p[19874];Ma=p[19746];Na=p[19618];Oa=p[20513];Pa=p[20385];Qa=p[20257];Ra=p[20129];Sa=p[20001];Ta=p[19873];Ua=p[19745];Va=p[19617];Wa=p[20512];Xa=p[20384];Ya=p[20256];Za=p[20128];_a=p[2e4];$a=p[19872];ab=p[19744];bb=p[19616];cb=p[20065];db=p[19553];eb=p[20064];fb=p[19552];gb=p[20321];hb=p[19809];ib=p[20320];jb=p[19808];n=0;while(1){e=p[b+1984>>1];h=p[b+1856>>1];k=p[b+1728>>1];s=p[b+1600>>1];l=p[b+1472>>1];m=p[b+1344>>1];u=p[b+1216>>1];z=p[b+1088>>1];x=p[b+960>>1];y=p[b+832>>1];B=p[b+704>>1];C=p[b+576>>1];ra=p[b+448>>1];sa=p[b+320>>1];ta=p[b+192>>1];mb=p[b+64>>1];i=0;while(1){a=i<<1;q[(j+48|0)+(i<<2)>>2]=((((((((((((((w(ta,p[a+39296>>1])+w(mb,p[a+39168>>1])|0)+w(sa,p[a+39424>>1])|0)+w(ra,p[a+39552>>1])|0)+w(C,p[a+39680>>1])|0)+w(B,p[a+39808>>1])|0)+w(y,p[a+39936>>1])|0)+w(x,p[a+40064>>1])|0)+w(z,p[a+40192>>1])|0)+w(u,p[a+40320>>1])|0)+w(m,p[a+40448>>1])|0)+w(l,p[a+40576>>1])|0)+w(s,p[a+40704>>1])|0)+w(k,p[a+40832>>1])|0)+w(h,p[a+40960>>1])|0)+w(e,p[a+41088>>1]);i=i+1|0;if((i|0)!=16){continue}break}a=p[b+384>>1];e=p[b+128>>1];h=p[b+640>>1];i=p[b+896>>1];k=p[b+1152>>1];s=p[b+1408>>1];l=p[b+1664>>1];m=p[b+1920>>1];q[j+40>>2]=((((((w(a,da)+w(e,ea)|0)+w(h,ca)|0)+w(i,ba)|0)+w(k,aa)|0)+w(s,$)|0)+w(l,_)|0)+w(m,Z);q[j+36>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(i,ja)|0)+w(k,ia)|0)+w(s,ha)|0)+w(l,ga)|0)+w(m,fa);q[j+32>>2]=((((((w(a,wa)+w(e,ya)|0)+w(h,va)|0)+w(i,ua)|0)+w(k,J)|0)+w(s,pa)|0)+w(l,oa)|0)+w(m,na);q[j+28>>2]=((((((w(a,Ea)+w(e,Fa)|0)+w(h,Da)|0)+w(i,Ca)|0)+w(k,Ba)|0)+w(s,Aa)|0)+w(l,qa)|0)+w(m,za);q[j+24>>2]=((((((w(a,Ma)+w(e,Na)|0)+w(h,La)|0)+w(i,Ka)|0)+w(k,Ja)|0)+w(s,Ia)|0)+w(l,Ha)|0)+w(m,Ga);q[j+20>>2]=((((((w(a,Ua)+w(e,Va)|0)+w(h,Ta)|0)+w(i,Sa)|0)+w(k,Ra)|0)+w(s,Qa)|0)+w(l,Pa)|0)+w(m,Oa);u=((((((w(a,X)+w(e,Y)|0)+w(h,W)|0)+w(i,V)|0)+w(k,U)|0)+w(s,T)|0)+w(l,S)|0)+w(m,R)|0;q[j+44>>2]=u;k=((((((w(a,ab)+w(e,bb)|0)+w(h,$a)|0)+w(i,_a)|0)+w(k,Za)|0)+w(s,Ya)|0)+w(l,Xa)|0)+w(m,Wa)|0;q[j+16>>2]=k;a=p[b+768>>1];e=p[b+256>>1];h=p[b+1280>>1];i=p[b+1792>>1];s=((w(a,A)+w(e,L)|0)+w(h,v)|0)+w(i,t)|0;q[j+12>>2]=s;l=((w(a,D)+w(e,E)|0)+w(h,N)|0)+w(i,M)|0;q[j+8>>2]=l;m=((w(a,H)+w(e,I)|0)+w(h,G)|0)+w(i,F)|0;q[j+4>>2]=m;a=((w(a,P)+w(e,Q)|0)+w(h,O)|0)+w(i,K)|0;q[j>>2]=a;e=p[b+1024>>1];h=p[b>>1];z=w(e,eb)+w(h,fb)|0;x=p[b+1536>>1];y=p[b+512>>1];B=w(x,ib)+w(y,jb)|0;C=z+B|0;ra=C+a|0;i=ra+k|0;q[j+112>>2]=i;a=C-a|0;q[j+144>>2]=a-u;C=q[j+20>>2];e=w(e,cb)+w(h,db)|0;h=w(x,gb)+w(y,hb)|0;x=e+h|0;y=x+m|0;q[j+116>>2]=C+y;m=x-m|0;x=q[j+40>>2];q[j+148>>2]=m-x;sa=q[j+24>>2];e=e-h|0;h=e+l|0;q[j+120>>2]=sa+h;e=e-l|0;l=q[j+36>>2];q[j+152>>2]=e-l;ta=q[j+28>>2];z=z-B|0;B=z+s|0;q[j+124>>2]=ta+B;s=z-s|0;z=q[j+32>>2];q[j+156>>2]=s-z;q[j+160>>2]=B-ta;q[j+128>>2]=s+z;q[j+164>>2]=h-sa;q[j+132>>2]=e+l;q[j+168>>2]=y-C;q[j+136>>2]=m+x;q[j+172>>2]=ra-k;q[j+140>>2]=a+u;e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;n=n+1|0;if((n|0)!=32){continue}break}break a}L=p[19683];M=p[19682];N=p[19681];D=p[19680];E=p[19751];F=p[19623];G=p[19750];H=p[19622];I=p[19749];K=p[19621];O=p[19748];P=p[19620];Q=p[19747];R=p[19619];S=p[19746];T=p[19618];U=p[19745];V=p[19617];W=p[19744];X=p[19616];Y=p[19791];Z=p[19727];_=p[19663];$=p[19599];aa=p[19790];ba=p[19726];ca=p[19662];da=p[19598];ea=p[19789];fa=p[19725];ga=p[19661];ha=p[19597];ia=p[19788];ja=p[19724];ka=p[19660];la=p[19596];ma=p[19787];na=p[19723];oa=p[19659];pa=p[19595];J=p[19786];ua=p[19722];va=p[19658];wa=p[19594];ya=p[19785];za=p[19721];qa=p[19657];Aa=p[19593];Ba=p[19784];Ca=p[19720];Da=p[19656];Ea=p[19592];Fa=p[19783];Ga=p[19719];Ha=p[19655];Ia=p[19591];Ja=p[19782];Ka=p[19718];La=p[19654];Ma=p[19590];Na=p[19781];Oa=p[19717];Pa=p[19653];Qa=p[19589];Ra=p[19780];Sa=p[19716];Ta=p[19652];Ua=p[19588];Va=p[19779];Wa=p[19715];Xa=p[19651];Ya=p[19587];Za=p[19778];_a=p[19714];$a=p[19650];ab=p[19586];bb=p[19777];cb=p[19713];db=p[19649];eb=p[19585];fb=p[19776];gb=p[19712];hb=p[19648];ib=p[19584];jb=p[19553];z=p[19552];k=0;while(1){a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];i=p[b+448>>1];q[j+108>>2]=((w(a,_)+w(e,$)|0)+w(h,Z)|0)+w(i,Y);q[j+104>>2]=((w(a,ca)+w(e,da)|0)+w(h,ba)|0)+w(i,aa);q[j+100>>2]=((w(a,ga)+w(e,ha)|0)+w(h,fa)|0)+w(i,ea);q[j+96>>2]=((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(i,ia);q[j+92>>2]=((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(i,ma);q[j+88>>2]=((w(a,va)+w(e,wa)|0)+w(h,ua)|0)+w(i,J);q[j+84>>2]=((w(a,qa)+w(e,Aa)|0)+w(h,za)|0)+w(i,ya);q[j+80>>2]=((w(a,Da)+w(e,Ea)|0)+w(h,Ca)|0)+w(i,Ba);q[j+76>>2]=((w(a,Ha)+w(e,Ia)|0)+w(h,Ga)|0)+w(i,Fa);q[j+72>>2]=((w(a,La)+w(e,Ma)|0)+w(h,Ka)|0)+w(i,Ja);q[j+68>>2]=((w(a,Pa)+w(e,Qa)|0)+w(h,Oa)|0)+w(i,Na);q[j+64>>2]=((w(a,Ta)+w(e,Ua)|0)+w(h,Sa)|0)+w(i,Ra);q[j+60>>2]=((w(a,Xa)+w(e,Ya)|0)+w(h,Wa)|0)+w(i,Va);q[j+56>>2]=((w(a,$a)+w(e,ab)|0)+w(h,_a)|0)+w(i,Za);q[j+52>>2]=((w(a,db)+w(e,eb)|0)+w(h,cb)|0)+w(i,bb);q[j+48>>2]=((w(a,hb)+w(e,ib)|0)+w(h,gb)|0)+w(i,fb);a=p[b+384>>1];e=p[b+128>>1];h=w(a,O)+w(e,P)|0;q[j+32>>2]=h;s=w(a,Q)+w(e,R)|0;q[j+28>>2]=s;l=w(a,S)+w(e,T)|0;q[j+24>>2]=l;n=w(a,I)+w(e,K)|0;q[j+36>>2]=n;m=w(a,U)+w(e,V)|0;q[j+20>>2]=m;x=w(a,G)+w(e,H)|0;q[j+40>>2]=x;u=w(a,W)+w(e,X)|0;q[j+16>>2]=u;i=w(a,E)+w(e,F)|0;q[j+44>>2]=i;a=p[b+256>>1];t=w(a,L);q[j+12>>2]=t;v=w(a,M);q[j+8>>2]=v;A=w(a,N);q[j+4>>2]=A;e=w(a,D);q[j>>2]=e;y=p[b>>1];a=w(y,z);B=a-e|0;q[j+144>>2]=B-i;C=a+e|0;i=C+u|0;q[j+112>>2]=i;e=w(y,jb);y=e-A|0;q[j+148>>2]=y-x;A=e+A|0;q[j+116>>2]=A+m;x=e-v|0;q[j+152>>2]=x-n;e=e+v|0;q[j+120>>2]=e+l;v=a+t|0;q[j+124>>2]=v+s;a=a-t|0;q[j+156>>2]=a-h;q[j+160>>2]=v-s;q[j+128>>2]=a+h;q[j+164>>2]=e-l;q[j+132>>2]=n+x;q[j+168>>2]=A-m;q[j+136>>2]=y+q[j+40>>2];q[j+172>>2]=C-u;q[j+140>>2]=B+q[j+44>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;k=k+1|0;if((k|0)!=32){continue}break}break a}L=p[19683];M=p[19682];N=p[19681];D=p[19680];E=p[19751];F=p[19623];G=p[19750];H=p[19622];I=p[19749];K=p[19621];O=p[19748];P=p[19620];Q=p[19747];R=p[19619];S=p[19746];T=p[19618];U=p[19745];V=p[19617];W=p[19744];X=p[19616];Y=p[19791];Z=p[19727];_=p[19663];$=p[19599];aa=p[19790];ba=p[19726];ca=p[19662];da=p[19598];ea=p[19789];fa=p[19725];ga=p[19661];ha=p[19597];ia=p[19788];ja=p[19724];ka=p[19660];la=p[19596];ma=p[19787];na=p[19723];oa=p[19659];pa=p[19595];J=p[19786];ua=p[19722];va=p[19658];wa=p[19594];ya=p[19785];za=p[19721];qa=p[19657];Aa=p[19593];Ba=p[19784];Ca=p[19720];Da=p[19656];Ea=p[19592];Fa=p[19783];Ga=p[19719];Ha=p[19655];Ia=p[19591];Ja=p[19782];Ka=p[19718];La=p[19654];Ma=p[19590];Na=p[19781];Oa=p[19717];Pa=p[19653];Qa=p[19589];Ra=p[19780];Sa=p[19716];Ta=p[19652];Ua=p[19588];Va=p[19779];Wa=p[19715];Xa=p[19651];Ya=p[19587];Za=p[19778];_a=p[19714];$a=p[19650];ab=p[19586];bb=p[19777];cb=p[19713];db=p[19649];eb=p[19585];fb=p[19776];gb=p[19712];hb=p[19648];ib=p[19584];jb=p[19553];z=p[19552];k=0;while(1){a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];i=p[b+448>>1];q[j+108>>2]=((w(a,_)+w(e,$)|0)+w(h,Z)|0)+w(i,Y);q[j+104>>2]=((w(a,ca)+w(e,da)|0)+w(h,ba)|0)+w(i,aa);q[j+100>>2]=((w(a,ga)+w(e,ha)|0)+w(h,fa)|0)+w(i,ea);q[j+96>>2]=((w(a,ka)+w(e,la)|0)+w(h,ja)|0)+w(i,ia);q[j+92>>2]=((w(a,oa)+w(e,pa)|0)+w(h,na)|0)+w(i,ma);q[j+88>>2]=((w(a,va)+w(e,wa)|0)+w(h,ua)|0)+w(i,J);q[j+84>>2]=((w(a,qa)+w(e,Aa)|0)+w(h,za)|0)+w(i,ya);q[j+80>>2]=((w(a,Da)+w(e,Ea)|0)+w(h,Ca)|0)+w(i,Ba);q[j+76>>2]=((w(a,Ha)+w(e,Ia)|0)+w(h,Ga)|0)+w(i,Fa);q[j+72>>2]=((w(a,La)+w(e,Ma)|0)+w(h,Ka)|0)+w(i,Ja);q[j+68>>2]=((w(a,Pa)+w(e,Qa)|0)+w(h,Oa)|0)+w(i,Na);q[j+64>>2]=((w(a,Ta)+w(e,Ua)|0)+w(h,Sa)|0)+w(i,Ra);q[j+60>>2]=((w(a,Xa)+w(e,Ya)|0)+w(h,Wa)|0)+w(i,Va);q[j+56>>2]=((w(a,$a)+w(e,ab)|0)+w(h,_a)|0)+w(i,Za);q[j+52>>2]=((w(a,db)+w(e,eb)|0)+w(h,cb)|0)+w(i,bb);q[j+48>>2]=((w(a,hb)+w(e,ib)|0)+w(h,gb)|0)+w(i,fb);a=p[b+384>>1];e=p[b+128>>1];h=w(a,O)+w(e,P)|0;q[j+32>>2]=h;s=w(a,Q)+w(e,R)|0;q[j+28>>2]=s;l=w(a,S)+w(e,T)|0;q[j+24>>2]=l;n=w(a,I)+w(e,K)|0;q[j+36>>2]=n;m=w(a,U)+w(e,V)|0;q[j+20>>2]=m;x=w(a,G)+w(e,H)|0;q[j+40>>2]=x;u=w(a,W)+w(e,X)|0;q[j+16>>2]=u;i=w(a,E)+w(e,F)|0;q[j+44>>2]=i;a=p[b+256>>1];t=w(a,L);q[j+12>>2]=t;v=w(a,M);q[j+8>>2]=v;A=w(a,N);q[j+4>>2]=A;e=w(a,D);q[j>>2]=e;y=p[b>>1];a=w(y,z);B=a-e|0;q[j+144>>2]=B-i;C=a+e|0;i=C+u|0;q[j+112>>2]=i;e=w(y,jb);y=e-A|0;q[j+148>>2]=y-x;A=e+A|0;q[j+116>>2]=A+m;x=e-v|0;q[j+152>>2]=x-n;e=e+v|0;q[j+120>>2]=e+l;v=a+t|0;q[j+124>>2]=v+s;a=a-t|0;q[j+156>>2]=a-h;q[j+160>>2]=v-s;q[j+128>>2]=a+h;q[j+164>>2]=e-l;q[j+132>>2]=n+x;q[j+168>>2]=A-m;q[j+136>>2]=y+q[j+40>>2];q[j+172>>2]=C-u;q[j+140>>2]=B+q[j+44>>2];e=0;while(1){a=q[(j+48|0)+(e<<2)>>2]+i|0;a=r[c+e|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+e|0]=(a|0)<255?a:255;h=e+16|0;a=15-e<<2;a=q[a+(j+112|0)>>2]-q[a+(j+48|0)>>2]|0;a=r[h+c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+h|0]=(a|0)<255?a:255;e=e+1|0;if((e|0)!=16){i=q[(j+112|0)+(e<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;k=k+1|0;if((k|0)!=32){continue}break}}xa=j+176|0}function Hi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;b=xa-96|0;xa=b;O=q[a+8>>2];ga=q[a+124>>2];o[b+45|0]=0;o[b+53|0]=0;o[b+37|0]=0;J=q[a+120>>2];K=q[a+116>>2];_=r[a+112|0];F=q[O+304>>2];X=q[a+20>>2];Q=q[a>>2];C=q[a+40>>2];z=q[a+84>>2];D=q[a+76>>2];H=q[a+80>>2];L=q[a+72>>2];c=q[a+36>>2];l=q[O+20>>2];t=q[a+28>>2];u=q[a+24>>2];R=q[a+4>>2];P=o[R+4116|0];o[b+61|0]=r[a+96|0];ha=P+ -3|0;k=p[R>>1];la=k+63>>6;ra=la<<3;j=q[a+32>>2];d=w(l,t);S=c+(d+u<>2];T=w(t,p[R+4118>>1]);M=q[a+92>>2];I=q[a+88>>2];U=q[a+108>>2];W=q[a+100>>2];N=u+((d|0)/2|0)<>1];ja=8-$|0;c=d+(ja-(t<>3;G=t?-1:0;a:{if((m|0)<=(G|0)){break a}c=((u<0)|0)+w(t<>3)+j|0;v=c&7;c=(ja-(u<>3)^-1;if((h|0)<1){while(1){wa=B&q[i+w(G,la)>>2]>>>v?1:wa;G=G+1|0;if((m|0)!=(G|0)){continue}break a}}d=((u?-8:0)+S|0)+(t?oa:0)|0;f=q[a+48>>2];y=0-h|0;Z=w(l,7);V=w(l,6);ba=w(l,5);ca=l<<2;da=w(l,3);Y=l<<1;while(1){c=h;x=B&q[i+w(G,la)>>2]>>>v;if(x){while(1){e=(Ca=hl(x),Da=31,Ea=x,Ea?Ca:Da);if(!e){j=0;k=0;ea=hl(x^-1);fa=(x|0)==-1;e=fa?248:ea<<3;e=(e|0)<(c|0)?e:c;if((e|0)>0){while(1){o[f+k|0]=r[d+k|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}while(1){o[(f+j|0)+128|0]=r[(l+j|0)+d|0];k=0;j=j+1|0;if((e|0)!=(j|0)){continue}break}j=0;while(1){o[(f+j|0)+256|0]=r[(j+Y|0)+d|0];j=j+1|0;if((e|0)!=(j|0)){continue}break}while(1){o[(f+k|0)+384|0]=r[(k+da|0)+d|0];j=0;k=k+1|0;if((e|0)!=(k|0)){continue}break}k=0;while(1){o[(f+k|0)+512|0]=r[(k+ca|0)+d|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}while(1){o[(f+j|0)+640|0]=r[(j+ba|0)+d|0];k=0;j=j+1|0;if((e|0)!=(j|0)){continue}break}j=0;while(1){o[(f+j|0)+768|0]=r[(j+V|0)+d|0];j=j+1|0;if((e|0)!=(j|0)){continue}break}while(1){o[(f+k|0)+896|0]=r[(k+Z|0)+d|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}}e=fa?31:ea}g=e<<3;j=(c|0)>(g|0)?g:c;d=j+d|0;f=f+j|0;x=x>>>e|0;c=c-g|0;if((c|0)>0){continue}break}f=f+y|0;wa=1;d=d+y|0}f=f+1024|0;d=d+ia|0;G=G+1|0;if((m|0)!=(G|0)){continue}break}k=p[R>>1];d=p[R+2>>1];j=q[a+32>>2]}G=A+E|0;T=w(T,12);v=t<<1;da=u<<1;C=C+N|0;f=q[a+24>>2];c=q[a+28>>2];x=c?-2:0;za=$+ -9|0;fa=16-$|0;d=(fa+d|0)-(c<>3;b:{if((x|0)>=(B|0)){break b}d=w(c<0?d+ -2|0:d;j=(e>>3)+j|0;d=0;y=e&7;g=(l|0)/2|0;e=(k+fa|0)-(f<>3)^-1;if((h|0)>=1){f=((f?-16:0)+C|0)+(c?oa:0)|0;e=q[a+52>>2];E=0-h|0;N=g<<3;Z=w(l,3);V=l<<1;while(1){c=h;i=A&q[j+w(x,la)>>2]>>>y;if(i){while(1){d=(Ca=hl(i),Da=31,Ea=i,Ea?Ca:Da);if(!d){k=0;d=0;qa=hl(i^-1);ba=(i|0)==-1;m=ba?248:qa<<3;m=(m|0)<(c|0)?m:c;if((m|0)>0){while(1){o[d+e|0]=r[d+f|0];d=d+1|0;if((m|0)!=(d|0)){continue}break}while(1){o[(e+k|0)+128|0]=r[(l+k|0)+f|0];d=0;k=k+1|0;if((m|0)!=(k|0)){continue}break}k=0;while(1){o[(e+k|0)+256|0]=r[(k+V|0)+f|0];k=k+1|0;if((m|0)!=(k|0)){continue}break}while(1){o[(d+e|0)+384|0]=r[(d+Z|0)+f|0];d=d+1|0;if((m|0)!=(d|0)){continue}break}}d=ba?31:qa}g=d<<3;m=(c|0)>(g|0)?g:c;f=m+f|0;e=e+m|0;i=i>>>d|0;c=c-g|0;if((c|0)>0){continue}break}f=f+E|0;qa=1;e=e+E|0}e=e+512|0;f=f+N|0;x=x+1|0;if((B|0)!=(x|0)){continue}break}f=q[a+24>>2];break b}while(1){d=A&q[j+w(x,la)>>2]>>>y?1:d;x=x+1|0;if((B|0)!=(x|0)){continue}break}qa=d}k=G+T|0;ea=a+104|0;T=R+4118|0;V=t+L|0;ba=t+H|0;N=v+D|0;Z=v+z|0;ca=$+ -8|0;da=M+da|0;sa=u+I|0;ta=v+U|0;Aa=t+W|0;pa=$+ -16|0;c:{d:{if((f|0)>=1){d=q[a+28>>2];if((d|0)<1){break d}z=C-ia|0;I=(S-ia|0)+ -8|0;E=d<>2]|0;y=(E+q[a+56>>2]|0)+ -8|0;G=f<>2]|0;A=(G+q[a+60>>2]|0)+ -8|0;c=p[T>>1];M=w(c^-1,12)+k|0;e:{f:{g:{h:{i:{j:{i=d+ -1|0;h=w(i,c);e=f+ -1|0;g=K+(h+e<<1)|0;S=s[g>>1];if(r[(F+w(S,1272)|0)+156|0]){t=q[M>>2];u=t&7;if(!u){o[y|0]=r[I+7|0];o[y+1|0]=r[(l+I|0)+7|0];o[y+2|0]=r[(I+(l<<1)|0)+7|0];o[y+3|0]=r[(I+w(l,3)|0)+7|0];o[y+4|0]=r[(I+(l<<2)|0)+7|0];o[y+5|0]=r[(I+w(l,5)|0)+7|0];o[y+6|0]=r[(I+w(l,6)|0)+7|0];c=I+w(l,7)|0;o[y+7|0]=r[c+7|0];o[V|0]=r[A+7|0];n[q[O+12184>>2]](A,c,8);break h}o[b+54|0]=t<<25>>28;o[b+55|0]=q[M>>2]<<21>>28;o[b+56|0]=q[M>>2]<<17>>28;o[b+57|0]=q[M>>2]<<13>>28;if((u|0)==1){break i}q[b+16>>2]=0;q[b+20>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+72>>2]=0;q[b+76>>2]=0;q[b+88>>2]=-1;q[b+92>>2]=-1;q[b>>2]=0;q[b+4>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b+64>>2]=16843009;q[b+68>>2]=16843009;m=r[(F+w(_,1272)|0)+72|0];if(!(r[Q+27|0]|!m)){t=0;u=0;break f}t=e;u=i;k:{if(ca){break k}t=0;u=0;if((f|0)<2){break k}u=0;if((d|0)<2){break k}t=f+ -2|0;u=d+ -2|0}if(!m){C=s[g>>1];B=w(c,u);m=s[(K+(e<<1)|0)+(B<<1)>>1];q[b+8>>2]=m;q[b+16>>2]=m;j=h+t|0;H=s[K+(j<<1)>>1];q[b>>2]=H;k=f+h|0;h=s[K+(k<<1)>>1];q[b+4>>2]=h;q[b+20>>2]=h;c=w(c,d);g=s[K+(c+e<<1)>>1];q[b+12>>2]=g;q[b+24>>2]=g;x=s[K+(c+f<<1)>>1];q[b+28>>2]=x;l:{if(ca){B=m;v=h;c=g;break l}v=b;m:{if((f|0)==1){q[b+16>>2]=-1;c=-1;break m}c=s[(K+(k<<1)|0)+ -4>>1]}q[v+24>>2]=c;n:{if((d|0)==1){v=-1;q[b+20>>2]=-1;B=-1;break n}v=s[(K+(j<<1)|0)+2>>1];q[b+20>>2]=v;B=s[(K+(f+B<<1)|0)+ -4>>1]}q[b+28>>2]=x;q[b+16>>2]=B}j=b;o:{if((G|0)==8){o[b+68|0]=0;k=0;break o}k=r[(F+w(c,1272)|0)+174|0]}o[j+70|0]=k;j=b;p:{if((E|0)==8){o[b+69|0]=0;k=0;break p}E=F+w(C,1272)|0;o[b+69|0]=r[E+174|0];k=r[E+174|0]}o[j+68|0]=k;j=F+w(C,1272)|0;o[b+66|0]=r[j+174|0];o[b+64|0]=r[j+174|0];o[b+65|0]=r[(F+w(h,1272)|0)+174|0];o[b+67|0]=r[(F+w(g,1272)|0)+174|0];o[b+71|0]=r[(F+w(x,1272)|0)+174|0];if((v|0)>(C|0)){o[b+69|0]=r[(F+w(v,1272)|0)+174|0]}q:{if((C|0)!=(H|0)){o[b+72|0]=1;break q}o[b+64|0]=1}o[((h|0)==(C|0)?b- -64|0:b+72|0)+1|0]=1;o[((m|0)==(C|0)?b- -64|0:b+72|0)+2|0]=1;o[((g|0)==(C|0)?b- -64|0:b+72|0)+3|0]=1;o[((C|0)==(B|0)?b- -64|0:b+72|0)+4|0]=1;o[((v|0)==(C|0)?b- -64|0:b+72|0)+5|0]=1;o[((c|0)==(C|0)?b- -64|0:b+72|0)+6|0]=1;o[((x|0)==(C|0)?b- -64|0:b+72|0)+7|0]=1;n[q[O+12188>>2]](b,0,32)}if(!r[Q+27|0]){break g}v=q[a+24>>2];c=r[X|0];if(r[Q+33|0]|((q[a+28>>2]!=r[X+1|0]?(v|0)!=(c|0):0)|(r[X+1|0]?0:!c))){break g}h=p[T>>1];g=w(h,i);m=s[J+(g+e<<1)>>1];B=w(h,u);c=s[(J+(e<<1)|0)+(B<<1)>>1];q[b+8>>2]=c;q[b+16>>2]=c;j=g+t|0;x=s[J+(j<<1)>>1];q[b>>2]=x;C=f+g|0;g=s[J+(C<<1)>>1];q[b+4>>2]=g;q[b+20>>2]=g;i=e;e=w(d,h);d=s[J+(i+e<<1)>>1];q[b+12>>2]=d;q[b+24>>2]=d;i=s[J+(e+f<<1)>>1];q[b+28>>2]=i;r:{if(ca){C=d;h=g;f=c;break r}h=b;s:{if((v|0)==1){q[b+16>>2]=-1;C=-1;break s}C=s[(J+(C<<1)|0)+ -4>>1]}q[h+24>>2]=C;t:{if(q[a+28>>2]==1){h=-1;q[b+20>>2]=-1;f=-1;break t}h=s[(J+(j<<1)|0)+2>>1];q[b+20>>2]=h;f=s[(J+(f+B<<1)|0)+ -4>>1]}q[b+28>>2]=i;q[b+16>>2]=f}if((m|0)!=(x|0)){o[b+64|0]=0;o[b+72|0]=r[b+72|0]|1}if((g|0)!=(m|0)){o[b+65|0]=0;o[b+73|0]=r[b+73|0]|1}if((c|0)!=(m|0)){o[b+66|0]=0;o[b+74|0]=r[b+74|0]|1}if((d|0)!=(m|0)){o[b+67|0]=0;o[b+75|0]=r[b+75|0]|1}if((f|0)!=(m|0)){o[b+68|0]=0;o[b+76|0]=r[b+76|0]|1}if((h|0)!=(m|0)){o[b+69|0]=0;o[b+77|0]=r[b+77|0]|1}if((m|0)!=(C|0)){o[b+70|0]=0;o[b+78|0]=r[b+78|0]|1}if((i|0)!=(m|0)){break j}break g}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break h}o[y|0]=r[I+7|0];o[y+1|0]=r[(l+I|0)+7|0];o[y+2|0]=r[(I+(l<<1)|0)+7|0];o[y+3|0]=r[(I+w(l,3)|0)+7|0];o[y+4|0]=r[(I+(l<<2)|0)+7|0];o[y+5|0]=r[(I+w(l,5)|0)+7|0];o[y+6|0]=r[(I+w(l,6)|0)+7|0];c=I+w(l,7)|0;o[y+7|0]=r[c+7|0];o[V|0]=r[A+7|0];n[q[O+12184>>2]](A,c,8);break h}o[b+71|0]=0;o[b+79|0]=r[b+79|0]|1;break g}n[q[O+12244>>2]](I,l,y,A,V,q[M>>2]>>>19&31,b+53|0,8,8)}t=0;u=0;break e}if(!(r[b+64|0]|!r[b+72|0])){o[b+88|0]=0}if(!(r[b+65|0]|!r[b+73|0])){o[b+89|0]=0}if(!(r[b+66|0]|!r[b+74|0])){o[b+90|0]=0}if(!(r[b+67|0]|!r[b+75|0])){o[b+91|0]=0}if(!(r[b+68|0]|!r[b+76|0])){o[b+92|0]=0}if(!(r[b+69|0]|!r[b+77|0])){o[b+93|0]=0}if(!(r[b+70|0]|!r[b+78|0])){o[b+94|0]=0}if(!(r[b+71|0]|!r[b+79|0])){o[b+95|0]=0}f=q[a+24>>2]}if(f<>1]==(f|0)){o[b+95|0]=0;o[b+93|0]=0;o[b+89|0]=0}c=q[a+28>>2];if(c<>1]=0;o[b+90|0]=0}if((c|0)==p[R+4120>>1]){p[b+94>>1]=0;o[b+91|0]=0}o[b+62|0]=r[A+8|0];o[b+61|0]=r[y+8|0];n[q[(((q[M>>2]&7)<<2)+O|0)+11880>>2]](I,l,y,A,V,b+62|0,b+61|0,b+88|0,b+53|0,8,8)}ua=ia+16|0;va=ia+8|0;H=z+ -16|0;z=D+ -16|0;U=L+ -16|0;u:{v:{w:{x:{if(r[(F+w(S,1272)|0)+157|0]){c=q[M+4>>2];d=c&7;if(!d){o[z|0]=r[H+14|0];o[z+1|0]=r[H+15|0];c=l+H|0;o[z+2|0]=r[c+14|0];o[z+3|0]=r[c+15|0];c=H+(l<<1)|0;o[z+4|0]=r[c+14|0];o[z+5|0]=r[c+15|0];c=H+w(l,3)|0;o[z+6|0]=r[c+14|0];o[z+7|0]=r[c+15|0];c=H+(l<<2)|0;o[z+8|0]=r[c+14|0];o[z+9|0]=r[c+15|0];c=H+w(l,5)|0;o[z+10|0]=r[c+14|0];o[z+11|0]=r[c+15|0];c=H+w(l,6)|0;o[z+12|0]=r[c+14|0];o[z+13|0]=r[c+15|0];c=H+w(l,7)|0;o[z+14|0]=r[c+14|0];o[z+15|0]=r[c+15|0];o[N|0]=r[U+14|0];o[N+1|0]=r[U+15|0];n[q[O+12184>>2]](U,c,16);break u}o[b+46|0]=c<<25>>28;o[b+47|0]=q[M+4>>2]<<21>>28;o[b+48|0]=q[M+4>>2]<<17>>28;o[b+49|0]=q[M+4>>2]<<13>>28;o[b+38|0]=q[M+8>>2]<<25>>28;o[b+39|0]=q[M+8>>2]<<21>>28;o[b+40|0]=q[M+8>>2]<<17>>28;o[b+41|0]=q[M+8>>2]<<13>>28;y:{if((d|0)!=1){q[b+16>>2]=0;q[b+20>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+72>>2]=0;q[b+76>>2]=0;q[b+80>>2]=-1;q[b+84>>2]=-1;q[b>>2]=0;q[b+4>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b+64>>2]=16843009;q[b+68>>2]=16843009;c=r[(F+w(_,1272)|0)+72|0];if(r[Q+27|0]|!c){break y}G=q[a+24>>2];break v}c=q[O+12248>>2];if(ga){n[c](H,l,z,U,N,q[M+8>>2]>>>19&31,q[M+4>>2]>>>19&31,b+37|0,b+45|0,16,8);break u}n[c](H,l,z,U,N,q[M+4>>2]>>>19&31,q[M+8>>2]>>>19&31,b+45|0,b+37|0,16,8);break u}W=q[a+28>>2];z:{if(!pa){G=q[a+24>>2];if((W|0)<2|(G|0)<2){break z}t=G+ -2|0;u=W+ -2|0;break z}u=W+ -1|0;G=q[a+24>>2];t=G+ -1|0}Y=W+ -1|0;k=G+ -1|0;A:{if(c){S=0;B=1;d=0;L=1;h=0;g=1;y=0;i=1;D=0;j=1;e=0;A=1;C=0;E=1;v=0;c=1;break A}d=p[T>>1];c=w(d,Y);C=s[K+(c+k<<1)>>1];g=w(d,u);m=s[(K+(k<<1)|0)+(g<<1)>>1];q[b+8>>2]=m;q[b+16>>2]=m;f=c+t|0;B=s[K+(f<<1)>>1];q[b>>2]=B;i=c+G|0;c=s[K+(i<<1)>>1];q[b+4>>2]=c;q[b+20>>2]=c;d=w(d,W);e=s[K+(d+k<<1)>>1];q[b+12>>2]=e;q[b+24>>2]=e;x=s[K+(d+G<<1)>>1];q[b+28>>2]=x;B:{if(pa){y=m;h=c;d=e;break B}h=b;C:{if((G|0)==1){q[b+16>>2]=-1;d=-1;break C}d=s[(K+(i<<1)|0)+ -4>>1]}q[h+24>>2]=d;D:{if((W|0)==1){h=-1;q[b+20>>2]=-1;y=-1;break D}h=s[(K+(f<<1)|0)+2>>1];q[b+20>>2]=h;y=s[(K+(g+G<<1)|0)+ -4>>1]}q[b+28>>2]=x;q[b+16>>2]=y}g=b;E:{if(G<>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b>>2]=0;q[b+4>>2]=0;B=B?1:i;L=L?1:f;g=ka?1:g;i=na?1:D;j=ma?1:j;A=S?1:A;S=(x|0)!=(C|0);d=(d|0)!=(C|0);h=(h|0)!=(C|0);y=(y|0)!=(C|0);D=(e|0)!=(C|0);e=(m|0)!=(C|0);C=(c|0)!=(C|0);c=Ba?1:aa}if(!r[Q+27|0]){break w}m=r[X|0];if(r[Q+33|0]|(((W|0)!=r[X+1|0]?(m|0)!=(G|0):0)|(r[X+1|0]?0:!m))){break w}m=p[T>>1];x=w(m,Y);Y=s[J+(x+k<<1)>>1];ma=w(m,u);f=s[(J+(k<<1)|0)+(ma<<1)>>1];q[b+8>>2]=f;q[b+16>>2]=f;na=t+x|0;ka=s[J+(na<<1)>>1];q[b>>2]=ka;t=x+G|0;x=s[J+(t<<1)>>1];q[b+4>>2]=x;q[b+20>>2]=x;u=w(m,W);k=s[J+(u+k<<1)>>1];q[b+12>>2]=k;q[b+24>>2]=k;aa=s[J+(u+G<<1)>>1];q[b+28>>2]=aa;H:{if(ca){t=k;u=x;m=f;break H}m=b;I:{if((G|0)==1){q[b+16>>2]=-1;t=-1;break I}t=s[(J+(t<<1)|0)+ -4>>1]}q[m+24>>2]=t;J:{if((W|0)==1){u=-1;q[b+20>>2]=-1;m=-1;break J}u=s[(J+(na<<1)|0)+2>>1];q[b+20>>2]=u;m=s[(J+(G+ma<<1)|0)+ -4>>1]}q[b+28>>2]=aa;q[b+16>>2]=m}if((Y|0)!=(ka|0)){E=0;o[b+64|0]=0;o[b+72|0]=1;v=1}if((x|0)!=(Y|0)){o[b+65|0]=0;o[b+73|0]=1;A=0;C=1}if((f|0)!=(Y|0)){j=0;o[b+66|0]=0;o[b+74|0]=1;e=1}if((k|0)!=(Y|0)){o[b+67|0]=0;D=1;o[b+75|0]=1;i=0}if((m|0)!=(Y|0)){o[b+68|0]=0;y=1;o[b+76|0]=1;g=0}if((u|0)!=(Y|0)){L=0;o[b+69|0]=0;o[b+77|0]=1;h=1}if((t|0)!=(Y|0)){B=0;o[b+70|0]=0;o[b+78|0]=1;d=1}if((Y|0)!=(aa|0)){break x}break w}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break u}o[z|0]=r[H+14|0];o[z+1|0]=r[H+15|0];c=l+H|0;o[z+2|0]=r[c+14|0];o[z+3|0]=r[c+15|0];c=H+(l<<1)|0;o[z+4|0]=r[c+14|0];o[z+5|0]=r[c+15|0];c=H+w(l,3)|0;o[z+6|0]=r[c+14|0];o[z+7|0]=r[c+15|0];c=H+(l<<2)|0;o[z+8|0]=r[c+14|0];o[z+9|0]=r[c+15|0];c=H+w(l,5)|0;o[z+10|0]=r[c+14|0];o[z+11|0]=r[c+15|0];c=H+w(l,6)|0;o[z+12|0]=r[c+14|0];o[z+13|0]=r[c+15|0];c=H+w(l,7)|0;o[z+14|0]=r[c+14|0];o[z+15|0]=r[c+15|0];o[N|0]=r[U+14|0];o[N+1|0]=r[U+15|0];n[q[O+12184>>2]](U,c,16);break u}c=0;o[b+71|0]=0;S=1;o[b+79|0]=1}if(!(!v|E&255)){o[b+80|0]=0}if(!(!C|A&255)){o[b+81|0]=0}if(!(!e|j&255)){o[b+82|0]=0}if(!(!D|i&255)){o[b+83|0]=0}if(!(!y|g&255)){o[b+84|0]=0}if(!(!h|L&255)){o[b+85|0]=0}if(!(!d|B&255)){o[b+86|0]=0}if(!S|c&255){break v}o[b+87|0]=0}if(G<>1]==(G|0)){o[b+87|0]=0;o[b+85|0]=0;o[b+81|0]=0}c=q[a+28>>2];if(c<>1]=0;o[b+82|0]=0}if((c|0)==p[R+4120>>1]){p[b+86>>1]=0;o[b+83|0]=0}o[b+62|0]=r[U+16|0];o[b+63|0]=r[U+17|0];o[a+104|0]=r[z+16|0];o[a+105|0]=r[z+17|0];if(!((c|0)==(p[R+4120>>1]+ -1|0)|(P|0)!=4)){c=H+ia|0;o[a+104|0]=r[c+ -2|0];o[a+105|0]=r[c+ -1|0]}c=q[(((q[M+4>>2]&7)<<2)+O|0)+11896>>2];if(ga){n[c](H,l,z,U,N,b+62|0,ea,b+80|0,b+37|0,b+45|0,16,8);break u}n[c](H,l,z,U,N,b+62|0,ea,b+80|0,b+45|0,b+37|0,16,8)}S=I+va|0;k=(M+w(p[T>>1],12)|0)+12|0;C=H+ua|0}c=q[a+28>>2];if((c|0)>=1){e=p[R>>1];d=q[a+24>>2];G=d<>2];U=q[a+68>>2];h=p[R+4118>>1];W=0-h|0;z=w(W,12)+k|0;M=s[K+(d+w(h,c+ -1|0)<<1)>>1];c=e+(ja-G|0)|0;A=ca+((c|0)<9?c:0)|0;K:{if(!A){break K}m=S+oa|0;f=(H+q[a+56>>2]|0)+ -8|0;x=G+q[a+60>>2]|0;L:{M:{N:{O:{P:{if(r[(F+w(M,1272)|0)+156|0]){c=q[z>>2];d=c&7;if(!d){c=A+ -1|0;o[f|0]=r[c+m|0];o[f+1|0]=r[m+(c+l|0)|0];o[f+2|0]=r[m+(c+(l<<1)|0)|0];o[f+3|0]=r[m+(c+w(l,3)|0)|0];o[f+4|0]=r[m+(c+(l<<2)|0)|0];o[f+5|0]=r[m+(c+w(l,5)|0)|0];o[f+6|0]=r[m+(c+w(l,6)|0)|0];d=w(l,7);o[f+7|0]=r[m+(d+c|0)|0];o[V|0]=r[c+x|0];n[q[O+12184>>2]](x,d+m|0,A);break K}o[b+54|0]=c<<25>>28;o[b+55|0]=q[z>>2]<<21>>28;o[b+56|0]=q[z>>2]<<17>>28;o[b+57|0]=q[z>>2]<<13>>28;if((d|0)==1){n[q[O+12244>>2]](m,l,f,x,V,q[z>>2]>>>19&31,b+53|0,A,8);break K}c=O+12188|0;n[q[c>>2]](b+88|0,255,8);n[q[c>>2]](b+72|0,0,8);n[q[c>>2]](b,0,32);q[b+64>>2]=16843009;q[b+68>>2]=16843009;if(r[(F+w(_,1272)|0)+72|0]){D=q[a+24>>2];if(!r[Q+27|0]){break L}v=D+ -1|0;y=q[a+28>>2];L=y+ -1|0;c=1;d=1;h=1;e=1;E=1;break N}h=-1;D=q[a+24>>2];v=D+ -1|0;y=q[a+28>>2];L=y+ -1|0;Q:{if(!D){q[b>>2]=-1;c=p[T>>1];e=w(c,y);d=w(c,L);c=-1;break Q}e=p[T>>1];d=w(e,L);c=s[K+(v+d<<1)>>1];q[b>>2]=c;e=w(e,y);h=s[K+(v+e<<1)>>1]}q[b+16>>2]=c;q[b+24>>2]=h;t=s[K+(d+D<<1)>>1];q[b+8>>2]=t;q[b+20>>2]=t;q[b+4>>2]=t;e=s[K+(e+D<<1)>>1];q[b+12>>2]=e;q[b+28>>2]=e;d=b;R:{if(!D){g=0;o[b+64|0]=0;o[b+68|0]=0;B=0;break R}g=r[(F+w(t,1272)|0)+174|0];o[b+68|0]=g;o[b+64|0]=g;B=r[(F+w(h,1272)|0)+174|0]}o[d+70|0]=B;d=F+w(t,1272)|0;o[b+69|0]=r[d+174|0];o[b+66|0]=r[d+174|0];o[b+65|0]=r[d+174|0];u=F+w(e,1272)|0;i=r[u+174|0];o[b+67|0]=i;E=r[u+174|0];o[b+71|0]=E;if((h|0)<(t|0)){B=r[d+174|0];o[b+70|0]=B}d=(c|0)==(t|0);if(d){break P}o[b+72|0]=1;c=g;break O}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break K}c=A+ -1|0;o[f|0]=r[c+m|0];o[f+1|0]=r[m+(c+l|0)|0];o[f+2|0]=r[m+(c+(l<<1)|0)|0];o[f+3|0]=r[m+(c+w(l,3)|0)|0];o[f+4|0]=r[m+(c+(l<<2)|0)|0];o[f+5|0]=r[m+(c+w(l,5)|0)|0];o[f+6|0]=r[m+(c+w(l,6)|0)|0];d=w(l,7);o[f+7|0]=r[m+(d+c|0)|0];o[V|0]=r[c+x|0];n[q[O+12184>>2]](x,d+m|0,A);break K}o[b+64|0]=1;c=1}o[b+65|0]=257;o[b+66|0]=1;u=(e|0)==(t|0);e=u?b- -64|0:b+72|0;o[e+3|0]=1;o[(d?b- -64|0:b+72|0)+4|0]=1;o[b+69|0]=1;h=(h|0)==(t|0);o[(h?b- -64|0:b+72|0)+6|0]=1;o[e+7|0]=1;q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b>>2]=0;q[b+4>>2]=0;E=u?1:E;e=h?1:B;h=d?1:g;d=u?1:i;if(!r[Q+27|0]){break M}}g=r[X|0];if(r[Q+33|0]|((r[X+1|0]!=(y|0)?(g|0)!=(D|0):0)|(r[X+1|0]?0:!g))){break M}u=b;S:{if(!D){q[b>>2]=-1;t=p[T>>1];g=w(t,y);i=w(t,L);L=-1;t=-1;break S}g=p[T>>1];i=w(g,L);L=s[J+(v+i<<1)>>1];q[b>>2]=L;g=w(g,y);t=s[J+(v+g<<1)>>1]}q[u+24>>2]=t;q[b+16>>2]=L;u=s[J+(i+D<<1)>>1];q[b+8>>2]=u;q[b+20>>2]=u;q[b+4>>2]=u;g=s[J+(g+D<<1)>>1];q[b+12>>2]=g;q[b+28>>2]=g;i=(u|0)==(L|0);if(!i){o[b+64|0]=0;o[b+72|0]=r[b+72|0]|1;c=0}g=(g|0)==(u|0);if(!g){o[b+67|0]=0;o[b+75|0]=r[b+75|0]|1;d=0}if(!i){o[b+68|0]=0;o[b+76|0]=r[b+76|0]|1;h=0}if((t|0)!=(u|0)){o[b+70|0]=0;o[b+78|0]=r[b+78|0]|1;e=0}if(g){break M}E=0;o[b+71|0]=0;o[b+79|0]=r[b+79|0]|1}if(!(!r[b+72|0]|c&255)){o[b+88|0]=0}if(!(!r[b+75|0]|d&255)){o[b+91|0]=0}if(!(!r[b+76|0]|h&255)){o[b+92|0]=0}if(!(!r[b+78|0]|e&255)){o[b+94|0]=0}if(!r[b+79|0]|E&255){break L}o[b+95|0]=0}if(!D){o[b+94|0]=0;o[b+92|0]=0;o[b+88|0]=0}if((p[R>>1]-(D<>2];if(c<>1]=0;o[b+90|0]=0}if((c|0)==p[R+4120>>1]){p[b+94>>1]=0;o[b+91|0]=0}o[b+62|0]=r[sa|0];o[b+61|0]=r[S+ -1|0];n[q[(((q[z>>2]&7)<<2)+O|0)+11880>>2]](m,l,f,x,V,b+62|0,b+61|0,b+88|0,b+53|0,A,8)}T:{if(!j){break T}i=C+oa|0;v=(H+I|0)+ -16|0;x=G+U|0;U:{V:{W:{X:{Y:{if(r[(F+w(M,1272)|0)+157|0]){A=w(W,12)+k|0;c=q[A+4>>2];d=c&7;if(!d){c=j+ -2|0;o[v|0]=r[c+i|0];d=j+ -1|0;o[v+1|0]=r[d+i|0];o[v+2|0]=r[i+(c+l|0)|0];o[v+3|0]=r[i+(d+l|0)|0];e=l<<1;o[v+4|0]=r[i+(e+c|0)|0];o[v+5|0]=r[i+(d+e|0)|0];e=w(l,3);o[v+6|0]=r[i+(e+c|0)|0];o[v+7|0]=r[i+(d+e|0)|0];e=l<<2;o[v+8|0]=r[i+(e+c|0)|0];o[v+9|0]=r[i+(d+e|0)|0];e=w(l,5);o[v+10|0]=r[i+(e+c|0)|0];o[v+11|0]=r[i+(d+e|0)|0];e=w(l,6);o[v+12|0]=r[i+(e+c|0)|0];o[v+13|0]=r[i+(d+e|0)|0];e=w(l,7);o[v+14|0]=r[i+(e+c|0)|0];o[v+15|0]=r[i+(d+e|0)|0];o[N|0]=r[c+x|0];o[N+1|0]=r[d+x|0];n[q[O+12184>>2]](x,e+i|0,j);break T}o[b+46|0]=c<<25>>28;o[b+47|0]=q[A+4>>2]<<21>>28;o[b+48|0]=q[A+4>>2]<<17>>28;o[b+49|0]=q[A+4>>2]<<13>>28;o[b+38|0]=q[A+8>>2]<<25>>28;o[b+39|0]=q[A+8>>2]<<21>>28;o[b+40|0]=q[A+8>>2]<<17>>28;o[b+41|0]=q[A+8>>2]<<13>>28;Z:{if((d|0)!=1){q[b+16>>2]=0;q[b+20>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+72>>2]=0;q[b+76>>2]=0;q[b+80>>2]=-1;q[b+84>>2]=-1;q[b>>2]=0;q[b+4>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b+64>>2]=16843009;q[b+68>>2]=16843009;if(!r[(F+w(_,1272)|0)+72|0]){break Z}k=q[a+24>>2];if(!r[Q+27|0]){break U}t=k+ -1|0;D=q[a+28>>2];c=D+ -1|0;e=1;M=0;f=0;u=1;G=0;d=1;m=0;h=1;H=0;y=1;break W}c=q[O+12248>>2];if(ga){n[c](i,l,v,x,N,q[A+8>>2]>>>19&31,q[A+4>>2]>>>19&31,b+37|0,b+45|0,j,8);break T}n[c](i,l,v,x,N,q[A+4>>2]>>>19&31,q[A+8>>2]>>>19&31,b+45|0,b+37|0,j,8);break T}G=-1;k=q[a+24>>2];t=k+ -1|0;D=q[a+28>>2];c=D+ -1|0;e=p[T>>1];h=w(c,e);d=b;_:{if(!k){H=w(e,D);g=-1;break _}G=s[K+(h+t<<1)>>1];H=w(e,D);g=s[K+(H+t<<1)>>1]}q[d+24>>2]=g;q[b>>2]=G;q[b+16>>2]=G;f=s[K+(h+k<<1)>>1];q[b+8>>2]=f;q[b+20>>2]=f;q[b+4>>2]=f;B=s[K+(k+H<<1)>>1];q[b+12>>2]=B;q[b+28>>2]=B;h=b;$:{if(!k){d=0;o[b+64|0]=0;o[b+68|0]=0;u=0;break $}d=r[(F+w(f,1272)|0)+174|0];o[b+68|0]=d;o[b+64|0]=d;u=r[(F+w(g,1272)|0)+174|0]}o[h+70|0]=u;e=F+w(f,1272)|0;o[b+69|0]=r[e+174|0];o[b+66|0]=r[e+174|0];o[b+65|0]=r[e+174|0];h=F+w(B,1272)|0;H=r[h+174|0];o[b+67|0]=H;h=r[h+174|0];o[b+71|0]=h;if((g|0)<(f|0)){u=r[e+174|0];o[b+70|0]=u}m=(f|0)==(G|0);if(m){break Y}M=1;o[b+72|0]=1;e=d;break X}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break T}c=j+ -2|0;o[v|0]=r[c+i|0];d=j+ -1|0;o[v+1|0]=r[d+i|0];o[v+2|0]=r[i+(c+l|0)|0];o[v+3|0]=r[i+(d+l|0)|0];e=l<<1;o[v+4|0]=r[i+(e+c|0)|0];o[v+5|0]=r[i+(d+e|0)|0];e=w(l,3);o[v+6|0]=r[i+(e+c|0)|0];o[v+7|0]=r[i+(d+e|0)|0];e=l<<2;o[v+8|0]=r[i+(e+c|0)|0];o[v+9|0]=r[i+(d+e|0)|0];e=w(l,5);o[v+10|0]=r[i+(e+c|0)|0];o[v+11|0]=r[i+(d+e|0)|0];e=w(l,6);o[v+12|0]=r[i+(e+c|0)|0];o[v+13|0]=r[i+(d+e|0)|0];e=w(l,7);o[v+14|0]=r[i+(e+c|0)|0];o[v+15|0]=r[i+(d+e|0)|0];o[N|0]=r[c+x|0];o[N+1|0]=r[d+x|0];n[q[O+12184>>2]](x,e+i|0,j);break T}o[b+64|0]=1;M=0;e=1}o[b+65|0]=257;o[b+66|0]=1;E=(f|0)==(B|0);y=E?b- -64|0:b+72|0;o[y+3|0]=1;o[(m?b- -64|0:b+72|0)+4|0]=1;o[b+69|0]=1;L=(f|0)==(g|0);o[(L?b- -64|0:b+72|0)+6|0]=1;o[y+7|0]=1;q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b>>2]=0;q[b+4>>2]=0;y=E?1:h;h=L?1:u;d=m?1:d;u=E?1:H;m=(f|0)!=(g|0);G=(f|0)!=(G|0);f=(f|0)!=(B|0);H=f;if(!r[Q+27|0]){break V}}g=r[X|0];if(r[Q+33|0]|((r[X+1|0]!=(D|0)?(g|0)!=(k|0):0)|(r[X+1|0]?0:!g))){break V}g=c;c=p[T>>1];g=w(g,c);aa:{if(!k){B=w(c,D);E=-1;c=-1;break aa}B=w(c,D);E=s[J+(B+t<<1)>>1];c=s[J+(g+t<<1)>>1]}q[b+24>>2]=E;q[b>>2]=c;q[b+16>>2]=c;g=s[J+(g+k<<1)>>1];q[b+8>>2]=g;q[b+20>>2]=g;q[b+4>>2]=g;t=s[J+(k+B<<1)>>1];q[b+12>>2]=t;q[b+28>>2]=t;c=(c|0)==(g|0);if(!c){o[b+64|0]=0;o[b+72|0]=1;M=1;e=0}t=(g|0)==(t|0);if(!t){o[b+67|0]=0;f=1;o[b+75|0]=1;u=0}if(!c){o[b+68|0]=0;G=1;o[b+76|0]=1;d=0}if((g|0)!=(E|0)){o[b+70|0]=0;m=1;o[b+78|0]=1;h=0}if(t){break V}y=0;o[b+71|0]=0;H=1;o[b+79|0]=1}if(!(!M|e&255)){o[b+80|0]=0}if(!(!f|u&255)){o[b+83|0]=0}if(!(!G|d&255)){o[b+84|0]=0}if(!(!m|h&255)){o[b+86|0]=0}if(!H|y&255){break U}o[b+87|0]=0}if(!k){o[b+86|0]=0;o[b+84|0]=0;o[b+80|0]=0}if((p[R>>1]-(k<>2];if(c<>1]=0;o[b+82|0]=0}if((c|0)==p[R+4120>>1]){p[b+86>>1]=0;o[b+83|0]=0}o[b+62|0]=r[da|0];o[b+63|0]=r[da+1|0];o[a+104|0]=r[C+ -2|0];o[a+105|0]=r[C+ -1|0];c=q[(((q[A+4>>2]&7)<<2)+O|0)+11896>>2];if(ga){n[c](i,l,v,x,N,b+62|0,ea,b+80|0,b+37|0,b+45|0,j,8);break T}n[c](i,l,v,x,N,b+62|0,ea,b+80|0,b+45|0,b+37|0,j,8)}k=z+w(p[T>>1],12)|0}f=q[a+24>>2];if((f|0)<=0){G=P+ -1|0;x=($|0)/2|0;H=8-x|0;M=x+ -8|0;break c}d=q[a+28>>2]}x=($|0)/2|0;H=8-x|0;G=P+ -1|0;e=p[R+2>>1];c=(H-(d<>16)|0;U=(c|0)<9?c:0;M=x+ -8|0;z=U+M|0;I=p[R+4118>>1];Y=w(I,d);aa=f+ -1|0;va=Y+aa|0;c=K+(va<<1)|0;ua=s[c>>1];ma=q[a+64>>2];N=f<>2];W=d<>2]|0;y=(N+q[a+60>>2]|0)+ -8|0;ca:{da:{ea:{fa:{if(r[(F+w(ua,1272)|0)+156|0]){D=k+ -12|0;h=q[D>>2];g=h&7;if(!g){if((B|0)>=1){c=(e+$|0)+ -8|0;d=0;while(1){o[d+L|0]=r[(E+w(d,l)|0)+7|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[ba|0]=r[y+7|0];n[q[O+12184>>2]](y,E+w(B+ -1|0,l)|0,8);break ba}o[b+54|0]=h<<25>>28;o[b+55|0]=q[D>>2]<<21>>28;o[b+56|0]=q[D>>2]<<17>>28;o[b+57|0]=q[D>>2]<<13>>28;if((g|0)==1){break fa}q[b+72>>2]=0;q[b+76>>2]=0;q[b+88>>2]=-1;q[b+92>>2]=-1;q[b+64>>2]=16843009;q[b+68>>2]=16843009;ga:{if(r[(F+w(_,1272)|0)+72|0]){if(!r[Q+27|0]){break ca}v=d+ -1|0;t=1;e=0;c=0;g=1;h=0;V=1;u=1;break ga}g=-1;v=d+ -1|0;m=s[K+(f+Y<<1)>>1];h=b;ha:{if(!d){e=s[c>>1];i=-1;c=0;break ha}e=w(v,I);g=s[K+(e+f<<1)>>1];i=s[K+(e+aa<<1)>>1];e=s[c>>1];c=r[(F+w(e,1272)|0)+174|0]}o[h+69|0]=c;o[b+68|0]=c;o[b+66|0]=c;h=F+w(m,1272)|0;j=r[h+174|0];o[b+65|0]=j;o[b+67|0]=r[(F+w(e,1272)|0)+174|0];u=r[h+174|0];o[b+71|0]=u;h=c;if((g|0)>(e|0)){h=r[(F+w(g,1272)|0)+174|0];o[b+69|0]=h}o[b+64|0]=1;t=(e|0)==(m|0);A=t?b- -64|0:b+72|0;o[A+1|0]=1;ka=(e|0)==(i|0);V=ka?b- -64|0:b+72|0;o[V+2|0]=1;o[b+67|0]=1;o[V+4|0]=1;V=(e|0)==(g|0);o[(V?b- -64|0:b+72|0)+5|0]=1;o[b+70|0]=1;o[A+7|0]=1;u=t?1:u;V=V?1:h;t=t?1:j;h=(e|0)!=(g|0);g=ka?1:c;A=g;c=(e|0)!=(i|0);i=c;e=(e|0)!=(m|0);j=e;if(!r[Q+27|0]){break da}}m=r[X|0];if(r[Q+33|0]|((r[X+1|0]!=(d|0)?(m|0)!=(f|0):0)|(r[X+1|0]?0:!m))){break ea}ia:{if(!d){v=-1;m=-1;break ia}m=w(v,I);v=s[J+(m+f<<1)>>1];m=s[J+(m+aa<<1)>>1]}j=e;i=s[J+(f+Y<<1)>>1];Y=s[J+(va<<1)>>1];aa=(i|0)==(Y|0);if(!aa){o[b+65|0]=0;o[b+73|0]=1;j=1;t=0}A=g;i=c;m=(m|0)==(Y|0);if(!m){A=0;o[b+66|0]=0;o[b+74|0]=1;i=1}if(!m){g=0;o[b+68|0]=0;o[b+76|0]=1;c=1}if((v|0)!=(Y|0)){V=0;o[b+69|0]=0;o[b+77|0]=1;h=1}if(aa){break da}u=0;o[b+71|0]=0;e=1;o[b+79|0]=1;break da}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break ba}if((B|0)>=1){c=(e+$|0)+ -8|0;d=0;while(1){o[d+L|0]=r[(E+w(d,l)|0)+7|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[ba|0]=r[y+7|0];n[q[O+12184>>2]](y,E+w(B+ -1|0,l)|0,8);break ba}n[q[O+12244>>2]](E,l,L,y,ba,q[D>>2]>>>19&31,b+53|0,8,B);break ba}A=g;i=c;j=e}if(!(!j|t&255)){o[b+89|0]=0}if(!(!i|A&255)){o[b+90|0]=0}if(!(!c|g&255)){o[b+92|0]=0}if(!(!h|V&255)){o[b+93|0]=0}if(!e|u&255){break ca}o[b+95|0]=0}if((N|0)==8){o[b+94|0]=0;o[b+92|0]=0;o[b+88|0]=0}if((f|0)==(I|0)){o[b+95|0]=0;o[b+93|0]=0;o[b+89|0]=0}if(!d){p[b+92>>1]=0;o[b+90|0]=0}if((p[R+2>>1]-W|0)<=(B|0)){p[b+94>>1]=0;o[b+91|0]=0}o[b+62|0]=r[y+8|0];o[b+61|0]=r[Aa|0];n[q[(((q[D>>2]&7)<<2)+O|0)+11880>>2]](E,l,L,y,ba,b+62|0,b+61|0,b+88|0,b+53|0,8,B)}ja:{if(!z){break ja}D=C+ -16|0;I=W+ma|0;A=(N+na|0)+ -16|0;ka:{la:{ma:{if(r[(F+w(ua,1272)|0)+157|0]){N=k+ -8|0;c=q[N>>2];d=c&7;if(!d){if((z|0)>=1){c=(x+U|0)+ -8|0;d=0;while(1){e=d<<1;h=D+w(d,l)|0;o[e+I|0]=r[h+14|0];o[I+(e|1)|0]=r[h+15|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[Z|0]=r[A+14|0];o[Z+1|0]=r[A+15|0];n[q[O+12184>>2]](A,D+w(z+ -1|0,l)|0,16);break ja}o[b+46|0]=c<<25>>28;o[b+47|0]=q[N>>2]<<21>>28;o[b+48|0]=q[N>>2]<<17>>28;o[b+49|0]=q[N>>2]<<13>>28;c=k+ -4|0;o[b+38|0]=q[c>>2]<<25>>28;o[b+39|0]=q[c>>2]<<21>>28;o[b+40|0]=q[c>>2]<<17>>28;o[b+41|0]=q[c>>2]<<13>>28;na:{oa:{if((d|0)!=1){q[b+72>>2]=0;q[b+76>>2]=0;q[b+80>>2]=-1;q[b+84>>2]=-1;q[b+64>>2]=16843009;q[b+68>>2]=16843009;if(!r[(F+w(_,1272)|0)+72|0]){break oa}j=q[a+24>>2];if(!r[Q+27|0]){break ka}y=j+ -1|0;i=q[a+28>>2];B=i+ -1|0;v=1;g=0;m=0;t=1;e=0;E=1;c=1;break na}d=q[O+12248>>2];if(ga){n[d](D,l,I,A,Z,q[c>>2]>>>19&31,q[N>>2]>>>19&31,b+37|0,b+45|0,16,z);break ja}n[d](D,l,I,A,Z,q[N>>2]>>>19&31,q[c>>2]>>>19&31,b+45|0,b+37|0,16,z);break ja}u=-1;i=q[a+28>>2];B=i+ -1|0;j=q[a+24>>2];y=j+ -1|0;c=p[T>>1];t=-1;if(i){d=w(c,B);t=s[K+(d+j<<1)>>1];u=s[K+(d+y<<1)>>1]}c=w(c,i);f=s[K+(c+j<<1)>>1];g=s[K+(c+y<<1)>>1];d=i?r[(F+w(g,1272)|0)+174|0]:0;o[b+69|0]=d;o[b+68|0]=d;o[b+66|0]=d;E=d;if((t|0)>(g|0)){E=r[(F+w(t,1272)|0)+174|0];o[b+69|0]=E}c=F+w(f,1272)|0;h=r[c+174|0];o[b+65|0]=h;o[b+67|0]=r[(F+w(g,1272)|0)+174|0];c=r[c+174|0];o[b+64|0]=1;o[b+71|0]=c;e=(f|0)==(g|0);m=e?b- -64|0:b+72|0;o[m+1|0]=1;L=(g|0)==(u|0);v=L?b- -64|0:b+72|0;o[v+2|0]=1;o[b+67|0]=1;o[v+4|0]=1;U=(g|0)==(t|0);o[(U?b- -64|0:b+72|0)+5|0]=1;o[b+70|0]=1;o[m+7|0]=1;v=e?1:h;c=e?1:c;E=U?1:E;e=(g|0)!=(t|0);t=L?1:d;h=t;m=(g|0)!=(u|0);u=m;g=(f|0)!=(g|0);d=g;if(!r[Q+27|0]){break la}}d=r[X|0];if(r[Q+33|0]|((r[X+1|0]!=(i|0)?(d|0)!=(j|0):0)|(r[X+1|0]?0:!d))){break ma}h=p[T>>1];pa:{if(!i){L=-1;f=-1;break pa}d=w(h,B);L=s[J+(d+j<<1)>>1];f=s[J+(d+y<<1)>>1]}d=g;h=w(i,h);i=s[J+(h+y<<1)>>1];B=(i|0)==s[J+(h+j<<1)>>1];if(!B){v=0;o[b+65|0]=0;o[b+73|0]=1;d=1}h=t;u=m;f=(f|0)==(i|0);if(!f){o[b+66|0]=0;u=1;o[b+74|0]=1;h=0}if(!f){o[b+68|0]=0;o[b+76|0]=1;m=1;t=0}if((i|0)!=(L|0)){E=0;o[b+69|0]=0;o[b+77|0]=1;e=1}if(B){break la}c=0;o[b+71|0]=0;g=1;o[b+79|0]=1;break la}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break ja}if((z|0)>=1){c=(x+U|0)+ -8|0;d=0;while(1){e=d<<1;h=D+w(d,l)|0;o[e+I|0]=r[h+14|0];o[I+(e|1)|0]=r[h+15|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[Z|0]=r[A+14|0];o[Z+1|0]=r[A+15|0];n[q[O+12184>>2]](A,D+w(z+ -1|0,l)|0,16);break ja}h=t;u=m;d=g}if(!(!d|v&255)){o[b+81|0]=0}if(!(!u|h&255)){o[b+82|0]=0}if(!(!m|t&255)){o[b+84|0]=0}if(!(!e|E&255)){o[b+85|0]=0}if(!g|c&255){break ka}o[b+87|0]=0}if(j<>1];if((c|0)==(j|0)){o[b+87|0]=0;o[b+85|0]=0;o[b+81|0]=0}d=q[a+28>>2];if(!d){p[b+84>>1]=0;o[b+82|0]=0}if(((p[R+2>>1]/2<<16>>16)-(d<>1]=0;o[b+83|0]=0}o[b+62|0]=r[A+16|0];o[b+63|0]=r[A+17|0];o[b|0]=r[ta|0];o[b+1|0]=r[ta+1|0];if(!((c+ -1|0)==(j|0)|(P|0)!=4)){c=D-l|0;o[b+62|0]=r[c+16|0];o[b+63|0]=r[c+17|0]}c=q[(((q[N>>2]&7)<<2)+O|0)+11896>>2];if(ga){n[c](D,l,I,A,Z,b+62|0,b,b+80|0,b+37|0,b+45|0,16,z);break ja}n[c](D,l,I,A,Z,b+62|0,b,b+80|0,b+45|0,b+37|0,16,z)}f=q[a+24>>2]}u=q[a+28>>2];U=u<>1];Y=(c|0)/2|0;d=p[R>>1];W=f<>2];aa=q[a+64>>2];d=d+(ja-W|0)|0;m=ca+((d|0)<9?d:0)|0;qa:{if(!m){break qa}c=(c+ja|0)-U|0;c=(c|0)<9?c:0;D=c+ca|0;if(!D){break qa}N=W+q[a+60>>2]|0;V=U+q[a+56>>2]|0;ra:{sa:{ta:{ua:{va:{wa:{if(r[q[a+16>>2]+156|0]){d=q[k>>2];e=d&7;if(!e){e=m+ -1|0;if((D|0)>=1){c=(c+$|0)+ -8|0;d=0;while(1){o[d+V|0]=r[(e+w(d,l)|0)+S|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[ba|0]=r[e+N|0];c=w(D+ -1|0,l);n[q[O+12184>>2]](N,c+S|0,m);o[sa|0]=r[(c+m|0)+S|0];break qa}o[b+54|0]=d<<25>>28;o[b+55|0]=q[k>>2]<<21>>28;o[b+56|0]=q[k>>2]<<17>>28;o[b+57|0]=q[k>>2]<<13>>28;if((e|0)==1){break ua}q[b+72>>2]=0;q[b+76>>2]=0;q[b+88>>2]=-1;q[b+92>>2]=-1;q[b+64>>2]=16843009;q[b+68>>2]=16843009;if(r[(F+w(_,1272)|0)+72|0]){if(!r[Q+27|0]){break ra}c=f+ -1|0;j=u+ -1|0;E=1;v=0;h=0;B=1;y=0;L=1;d=0;I=1;e=0;g=1;break ta}B=-1;c=f+ -1|0;h=-1;h=f?s[K+(w(u,p[T>>1])+c<<1)>>1]:h;j=u+ -1|0;d=p[T>>1];y=-1;if(u){e=w(d,j);B=s[K+(e+f<<1)>>1];y=s[K+(c+e<<1)>>1]}i=s[K+(w(d,u)+f<<1)>>1];xa:{if(!f){L=0;o[b+68|0]=0;o[b+64|0]=0;o[b+70|0]=0;E=0;break xa}L=r[(F+w(h,1272)|0)+174|0];o[b+70|0]=L;E=r[(F+w(i,1272)|0)+174|0];o[b+64|0]=E}t=u?r[(F+w(i,1272)|0)+174|0]:0;o[b+69|0]=t;o[b+68|0]=t;o[b+66|0]=t;d=F+w(i,1272)|0;o[b+65|0]=r[d+174|0];o[b+67|0]=r[d+174|0];o[b+71|0]=r[d+174|0];if((h|0)<(i|0)){L=r[d+174|0];o[b+70|0]=L}d=(i|0)==(h|0);if(d){break wa}o[b+72|0]=1;v=1;break va}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break qa}e=m+ -1|0;if((D|0)>=1){c=(c+$|0)+ -8|0;d=0;while(1){o[d+V|0]=r[(e+w(d,l)|0)+S|0];d=d+1|0;if((c|0)!=(d|0)){continue}break}}o[ba|0]=r[e+N|0];c=w(D+ -1|0,l);n[q[O+12184>>2]](N,c+S|0,m);o[sa|0]=r[(c+m|0)+S|0];break qa}E=1;o[b+64|0]=1;v=0}o[b+65|0]=1;A=(i|0)==(B|0);e=A?b- -64|0:b+72|0;o[e+2|0]=1;o[b+67|0]=1;I=(i|0)==(y|0);o[(I?b- -64|0:b+72|0)+4|0]=1;o[e+5|0]=1;o[(d?b- -64|0:b+72|0)+6|0]=1;o[b+71|0]=1;g=d?1:L;L=I?1:t;e=(i|0)!=(h|0);y=(i|0)!=(y|0);h=(i|0)!=(B|0);d=h;B=A?1:t;I=B;if(r[Q+27|0]){break ta}break sa}n[q[O+12244>>2]](S,l,V,N,ba,q[k>>2]>>>19&31,b+53|0,m,D);break qa}t=r[X|0];if(r[Q+33|0]|(((u|0)!=r[X+1|0]?(t|0)!=(f|0):0)|(r[X+1|0]?0:!t))){break sa}i=-1;A=-1;A=f?s[J+(w(u,p[T>>1])+c<<1)>>1]:A;ca=p[T>>1];t=-1;if(u){t=w(j,ca);i=s[J+(t+f<<1)>>1];t=s[J+(c+t<<1)>>1]}c=s[J+(w(u,ca)+f<<1)>>1];j=(c|0)==(A|0);if(!j){E=0;o[b+64|0]=0;o[b+72|0]=1;v=1}i=(c|0)==(i|0);if(!i){B=0;o[b+66|0]=0;o[b+74|0]=1;h=1}if((c|0)!=(t|0)){L=0;o[b+68|0]=0;o[b+76|0]=1;y=1}if(!i){I=0;o[b+69|0]=0;o[b+77|0]=1;d=1}if(j){break sa}g=0;o[b+70|0]=0;e=1;o[b+78|0]=1}if(!(!v|E&255)){o[b+88|0]=0}if(!(!h|B&255)){o[b+90|0]=0}if(!(!y|L&255)){o[b+92|0]=0}if(!(!d|I&255)){o[b+93|0]=0}if(!e|g&255){break ra}o[b+94|0]=0}if(!f){o[b+94|0]=0;o[b+92|0]=0;o[b+88|0]=0}if((p[R>>1]-W|0)<=(m|0)){o[b+95|0]=0;o[b+93|0]=0;o[b+89|0]=0}if(!u){p[b+92>>1]=0;o[b+90|0]=0}if((p[R+2>>1]-U|0)<=(D|0)){p[b+94>>1]=0;o[b+91|0]=0}o[b+62|0]=r[(m-l|0)+S|0];c=w(l,D);o[b+61|0]=r[(c+S|0)+ -1|0];n[q[(((q[k>>2]&7)<<2)+O|0)+11880>>2]](S,l,V,N,ba,b+62|0,b+61|0,b+88|0,b+53|0,m,D);o[sa|0]=r[(m+w(D+ -1|0,l)|0)+S|0];o[Aa|0]=r[((c+m|0)+S|0)+ -1|0]}ya:{if(!z){break ya}c=(H-(u<>16)|0;d=(c|0)<9?c:0;h=d+M|0;if(!h){break ya}j=W+pa|0;E=U+aa|0;za:{Aa:{Ba:{Ca:{Da:{Ea:{if(r[q[a+16>>2]+157|0]){c=q[k+4>>2];e=c&7;if(!e){c=z+ -1|0;e=z+ -2|0;if((h|0)>=1){g=(d+x|0)+ -8|0;d=0;while(1){t=d<<1;u=w(d,l);o[t+E|0]=r[(u+e|0)+C|0];o[E+(t|1)|0]=r[(c+u|0)+C|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}}o[Z|0]=r[e+j|0];o[Z+1|0]=r[c+j|0];c=w(h+ -1|0,l);n[q[O+12184>>2]](j,c+C|0,z);c=(c+z|0)+C|0;o[da|0]=r[c|0];o[da+1|0]=r[c+1|0];break za}o[b+49|0]=c<<13>>28;o[b+48|0]=c<<17>>28;o[b+47|0]=c<<21>>28;o[b+46|0]=c<<25>>28;c=q[k+8>>2];o[b+41|0]=c<<13>>28;o[b+40|0]=c<<17>>28;o[b+39|0]=c<<21>>28;o[b+38|0]=c<<25>>28;Fa:{if((e|0)!=1){q[b+72>>2]=0;q[b+76>>2]=0;q[b+80>>2]=-1;q[b+84>>2]=-1;q[b+64>>2]=16843009;q[b+68>>2]=16843009;if(!r[(F+w(_,1272)|0)+72|0]){break Fa}d=q[a+24>>2];if(!r[Q+27|0]){break Aa}M=d+ -1|0;g=q[a+28>>2];A=g+ -1|0;H=1;m=0;i=0;D=1;x=0;t=1;e=0;I=1;f=0;B=1;break Ca}d=q[O+12248>>2];if(ga){n[d](C,l,E,j,Z,c>>>19&31,q[k+4>>2]>>>19&31,b+37|0,b+45|0,z,h);break za}n[d](C,l,E,j,Z,q[k+4>>2]>>>19&31,c>>>19&31,b+45|0,b+37|0,z,h);break za}D=-1;d=q[a+24>>2];M=d+ -1|0;g=q[a+28>>2];i=-1;i=d?s[K+(w(p[T>>1],g)+M<<1)>>1]:i;A=g+ -1|0;c=p[T>>1];x=-1;if(g){e=w(c,A);x=s[K+(e+M<<1)>>1];D=s[K+(d+e<<1)>>1]}u=s[K+(w(c,g)+d<<1)>>1];Ga:{if(!d){t=0;o[b+70|0]=0;o[b+68|0]=0;o[b+64|0]=0;H=0;break Ga}t=o[(F+w(i,1272)|0)+174|0]&1;o[b+70|0]=t;H=o[(F+w(u,1272)|0)+174|0]&1;o[b+64|0]=H}c=g?o[(F+w(u,1272)|0)+174|0]&1:0;o[b+66|0]=c;o[b+69|0]=c;o[b+68|0]=c;e=F+w(u,1272)|0;o[b+65|0]=o[e+174|0]&1;o[b+67|0]=o[e+174|0]&1;o[b+71|0]=o[e+174|0]&1;if((i|0)<(u|0)){t=r[e+174|0];o[b+70|0]=t}e=(i|0)==(u|0);if(e){break Ea}o[b+72|0]=1;m=1;break Da}if(r[Q+27|0]?0:r[(F+w(_,1272)|0)+72|0]){break ya}c=z+ -1|0;e=z+ -2|0;if((h|0)>=1){g=(d+x|0)+ -8|0;d=0;while(1){t=d<<1;u=w(d,l);o[t+E|0]=r[(u+e|0)+C|0];o[E+(t|1)|0]=r[(c+u|0)+C|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}}o[Z|0]=r[e+j|0];o[Z+1|0]=r[c+j|0];c=w(h+ -1|0,l);n[q[O+12184>>2]](j,c+C|0,z);c=(c+z|0)+C|0;o[da|0]=r[c|0];o[da+1|0]=r[c+1|0];break ya}H=1;o[b+64|0]=1;m=0}o[b+65|0]=1;v=(u|0)==(D|0);f=v?b- -64|0:b+72|0;o[f+2|0]=1;o[b+67|0]=1;y=(u|0)==(x|0);o[(y?b- -64|0:b+72|0)+4|0]=1;o[f+5|0]=1;o[(e?b- -64|0:b+72|0)+6|0]=1;o[b+71|0]=1;B=e?1:t;t=y?1:c;f=(i|0)!=(u|0);x=(u|0)!=(x|0);i=(u|0)!=(D|0);e=i;D=v?1:c;I=D;if(!r[Q+27|0]){break Ba}}c=r[X|0];if(r[Q+33|0]|((r[X+1|0]!=(g|0)?(c|0)!=(d|0):0)|(r[X+1|0]?0:!c))){break Ba}y=-1;v=-1;v=d?s[J+(w(p[T>>1],g)+M<<1)>>1]:v;c=p[T>>1];u=-1;if(g){u=w(c,A);y=s[J+(u+d<<1)>>1];u=s[J+(u+M<<1)>>1]}c=s[J+(w(c,g)+d<<1)>>1];g=(c|0)==(v|0);if(!g){H=0;o[b+64|0]=0;o[b+72|0]=1;m=1}v=(c|0)==(y|0);if(!v){D=0;o[b+66|0]=0;o[b+74|0]=1;i=1}if((c|0)!=(u|0)){o[b+68|0]=0;x=1;o[b+76|0]=1;t=0}if(!v){I=0;o[b+69|0]=0;o[b+77|0]=1;e=1}if(g){break Ba}B=0;o[b+70|0]=0;f=1;o[b+78|0]=1}if(!(H|!m)){o[b+80|0]=0}if(!(D|!i)){o[b+82|0]=0}if(!(t|!x)){o[b+84|0]=0}if(!(I|!e)){o[b+85|0]=0}if(!f|B&255){break Aa}o[b+86|0]=0}if(!d){o[b+86|0]=0;o[b+84|0]=0;o[b+80|0]=0}if((p[R>>1]-(d<>2];if(!c){p[b+84>>1]=0;o[b+82|0]=0}if(((p[R+2>>1]/2<<16>>16)-(c<>1]=0;o[b+83|0]=0}c=(z-l|0)+C|0;o[b+62|0]=r[c|0];o[b+63|0]=r[c+1|0];c=w(l,h)+C|0;o[a+104|0]=r[c+ -2|0];o[a+105|0]=r[c+ -1|0];c=q[(((q[k+4>>2]&7)<<2)+O|0)+11896>>2];if(ga){n[c](C,l,E,j,Z,b+62|0,ea,b+80|0,b+37|0,b+45|0,z,h);break za}n[c](C,l,E,j,Z,b+62|0,ea,b+80|0,b+45|0,b+37|0,z,h)}c=(z+w(h+ -1|0,l)|0)+C|0;o[da|0]=r[c|0];o[da+1|0]=r[c+1|0];c=(z+w(l,h)|0)+C|0;o[ta|0]=r[c+ -2|0];o[ta+1|0]=r[c+ -1|0]}Ha:{if(!wa){break Ha}c=q[a+28>>2];d=(p[R+2>>1]+ja|0)-(c<>3;G=c?-1:0;if((u|0)<=(G|0)){break Ha}e=q[a+24>>2];d=(p[R>>1]+ja|0)-(e<0)|0;m=q[a+32>>2]+(c>>3)|0;f=q[a+48>>2];t=0-h|0;i=c&7;v=-1<<(h+7>>3)^-1;B=w(l,7);y=w(l,6);A=w(l,5);E=l<<2;F=w(l,3);K=l<<1;while(1){x=h;c=v&q[m+w(G,la)>>2]>>>i;if(c){while(1){e=(Ca=hl(c),Da=31,Ea=c,Ea?Ca:Da);if(!e){j=0;k=0;J=hl(c^-1);z=(c|0)==-1;e=z?248:J<<3;e=(e|0)<(x|0)?e:x;if((e|0)>0){while(1){o[d+k|0]=r[f+k|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}while(1){o[(l+j|0)+d|0]=r[(f+j|0)+128|0];k=0;j=j+1|0;if((e|0)!=(j|0)){continue}break}j=0;while(1){o[(j+K|0)+d|0]=r[(f+j|0)+256|0];j=j+1|0;if((e|0)!=(j|0)){continue}break}while(1){o[(k+F|0)+d|0]=r[(f+k|0)+384|0];j=0;k=k+1|0;if((e|0)!=(k|0)){continue}break}k=0;while(1){o[(k+E|0)+d|0]=r[(f+k|0)+512|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}while(1){o[(j+A|0)+d|0]=r[(f+j|0)+640|0];k=0;j=j+1|0;if((e|0)!=(j|0)){continue}break}j=0;while(1){o[(j+y|0)+d|0]=r[(f+j|0)+768|0];j=j+1|0;if((e|0)!=(j|0)){continue}break}while(1){o[(k+B|0)+d|0]=r[(f+k|0)+896|0];k=k+1|0;if((e|0)!=(k|0)){continue}break}}e=z?31:J}g=e<<3;j=(x|0)>(g|0)?g:x;f=j+f|0;d=d+j|0;c=c>>>e|0;x=x-g|0;if((x|0)>0){continue}break}f=f+t|0;d=d+t|0}f=f+1024|0;d=d+ia|0;G=G+1|0;if((u|0)!=(G|0)){continue}break}}Ia:{if(!qa){break Ia}c=q[a+28>>2];x=c?-2:0;d=(p[R+2>>1]+fa|0)-(c<>3;if((x|0)>=(u|0)){break Ia}d=q[a+24>>2];e=(p[R>>1]+fa|0)-(d<0?c+ -2|0:c;m=q[a+32>>2]+(c>>3)|0;e=q[a+52>>2];t=0-h|0;v=c&7;B=(l|0)/2<<3;j=-1<<(h+7>>3)^-1;y=w(l,3);C=l<<1;while(1){i=h;c=j&q[m+w(x,la)>>2]>>>v;if(c){while(1){d=(Ca=hl(c),Da=31,Ea=c,Ea?Ca:Da);if(!d){k=0;d=0;A=hl(c^-1);E=(c|0)==-1;g=E?248:A<<3;g=(g|0)<(i|0)?g:i;if((g|0)>0){while(1){o[d+f|0]=r[d+e|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}while(1){o[(l+k|0)+f|0]=r[(e+k|0)+128|0];d=0;k=k+1|0;if((g|0)!=(k|0)){continue}break}k=0;while(1){o[(k+C|0)+f|0]=r[(e+k|0)+256|0];k=k+1|0;if((g|0)!=(k|0)){continue}break}while(1){o[(d+y|0)+f|0]=r[(d+e|0)+384|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=E?31:A}a=d<<3;g=(i|0)>(a|0)?a:i;e=g+e|0;f=f+g|0;c=c>>>d|0;i=i-a|0;if((i|0)>0){continue}break}f=f+t|0;e=e+t|0}e=e+512|0;f=f+B|0;x=x+1|0;if((u|0)!=(x|0)){continue}break}}xa=b+96|0}function bi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=x(0),k=0,l=x(0),m=x(0),n=x(0),p=x(0),t=0,v=x(0),y=x(0),z=x(0),A=0,B=x(0),C=x(0),D=x(0),F=x(0),G=0,H=x(0),I=0,J=0,K=x(0),L=x(0),M=0,N=0,O=x(0),P=x(0),Q=x(0),R=x(0),S=x(0),T=x(0),U=0,V=0,W=x(0),X=x(0),Y=x(0),Z=x(0),_=0,$=0,aa=0,ba=x(0),ca=x(0),da=x(0),ea=x(0),fa=x(0),ga=x(0),ha=x(0),ia=0,ja=x(0),ka=x(0),la=x(0),ma=x(0),na=x(0),oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=x(0),za=x(0),Aa=x(0),Ba=x(0),Ca=x(0),Da=x(0),Ea=x(0),Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=x(0),Pa=x(0),Ra=x(0),Ta=x(0),Ua=x(0),Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;d=xa-25088|0;xa=d;Qa(d- -8192|0,0,8192);U=Qa(d,0,8192);a:{b:{if(!r[a+718|0]){o[a+9|0]=0;break b}if(!r[a+9|0]){break b}d=a+123|0;e=a+106|0;h=a+72|0;J=a+38|0;while(1){i=r[a+3|0];M=i>>>0<3?7:15;f=J;k=h;g=e;t=d;if(A){g=A+ -1|0;G=w(g,17)+a|0;t=G+565|0;g=w(g,34)+a|0;k=g+310|0;f=g+140|0;g=G+480|0}G=w(A,17)+a|0;N=w(A,34)+a|0;V=a+A|0;be(r[a|0],N+140|0,f,r[V+16|0],r[a+5|0],i?(i|0)==3?2:1:2,0-M|0,M);f=r[a+4|0];be(r[a+1|0],N+310|0,k,r[V+21|0],r[a+7|0],f?(f|0)==3?2:1:2,0,7);M=r[a+6|0];c:{d:{if(r[a+26|0]!=1){i=0;f=0;if(!M){break c}while(1){o[(i+G|0)+480|0]=0;f=f+1|0;i=f<<24>>24;if((i|0)<(M|0)){continue}break}break d}if(r[V+28|0]){i=0;f=0;if(!M){break d}while(1){k=i+G|0;o[k+480|0]=r[k+480|0]+r[g+i|0]&7;f=f+1|0;i=f<<24>>24;if((i|0)<(M|0)){continue}break}break d}o[G+480|0]=r[G+480|0]&7;if(M>>>0<2){break d}i=1;e:{g=M<<24;f:{if(g>>24<2){f=1;break f}k=M+ -2|0;if(k>>>0>255){f=1;break f}if(g+ -16777216>>24<1){f=1;break f}f=1;if(k>>>0<256){break e}}while(1){g=i+G|0;o[g+480|0]=r[g+480|0]+r[g+479|0]&7;f=f+1|0;i=f<<24>>24;if((i|0)<(M|0)){continue}break}break d}i=r[G+480|0];k=1;while(1){g=f+G|0;i=r[g+480|0]+i&7;o[g+480|0]=i;k=k+1|0;f=k<<24>>24;if((f|0)<(M|0)){continue}break}}g=r[a+6|0];if(r[a+26|0]!=1){i=0;f=0;if(!g){break c}while(1){o[(i+G|0)+565|0]=0;f=f+1|0;i=f<<24>>24;if((i|0)<(g|0)){continue}break}break c}if(r[V+33|0]){i=0;f=0;if(!g){break c}while(1){k=i+G|0;o[k+565|0]=r[k+565|0]+r[i+t|0]&7;f=f+1|0;i=f<<24>>24;if((i|0)<(g|0)){continue}break}break c}o[G+565|0]=r[G+565|0]&7;if(g>>>0<2){break c}i=1;g:{f=g<<24;h:{if(f>>24<2){f=1;break h}t=g+ -2|0;if(t>>>0>255){f=1;break h}if(f+ -16777216>>24<1){f=1;break h}f=1;if(t>>>0<256){break g}}while(1){t=i+G|0;o[t+565|0]=r[t+565|0]+r[t+564|0]&7;f=f+1|0;i=f<<24>>24;if((i|0)<(g|0)){continue}break}break c}i=r[G+565|0];k=1;while(1){f=f+G|0;i=r[f+565|0]+i&7;o[f+565|0]=i;k=k+1|0;f=k<<24>>24;if((f|0)<(g|0)){continue}break}}A=A+1|0;g=r[a+9|0];if(A>>>0>>0){continue}break}if(g){break a}}o[a+9|0]=1;i:{if(r[a|0]){o[a+140|0]=r[a+38|0];d=r[a+39|0]|r[a+40|0]<<8|(r[a+41|0]<<16|r[a+42|0]<<24);o[a+141|0]=d;o[a+142|0]=d>>>8;o[a+143|0]=d>>>16;o[a+144|0]=d>>>24;d=r[a+47|0]|r[a+48|0]<<8|(r[a+49|0]<<16|r[a+50|0]<<24);e=r[a+43|0]|r[a+44|0]<<8|(r[a+45|0]<<16|r[a+46|0]<<24);o[a+145|0]=e;o[a+146|0]=e>>>8;o[a+147|0]=e>>>16;o[a+148|0]=e>>>24;o[a+149|0]=d;o[a+150|0]=d>>>8;o[a+151|0]=d>>>16;o[a+152|0]=d>>>24;d=r[a+55|0]|r[a+56|0]<<8|(r[a+57|0]<<16|r[a+58|0]<<24);e=r[a+51|0]|r[a+52|0]<<8|(r[a+53|0]<<16|r[a+54|0]<<24);o[a+153|0]=e;o[a+154|0]=e>>>8;o[a+155|0]=e>>>16;o[a+156|0]=e>>>24;o[a+157|0]=d;o[a+158|0]=d>>>8;o[a+159|0]=d>>>16;o[a+160|0]=d>>>24;d=r[a+63|0]|r[a+64|0]<<8|(r[a+65|0]<<16|r[a+66|0]<<24);e=r[a+59|0]|r[a+60|0]<<8|(r[a+61|0]<<16|r[a+62|0]<<24);o[a+161|0]=e;o[a+162|0]=e>>>8;o[a+163|0]=e>>>16;o[a+164|0]=e>>>24;o[a+165|0]=d;o[a+166|0]=d>>>8;o[a+167|0]=d>>>16;o[a+168|0]=d>>>24;d=r[a+67|0]|r[a+68|0]<<8|(r[a+69|0]<<16|r[a+70|0]<<24);o[a+169|0]=d;o[a+170|0]=d>>>8;o[a+171|0]=d>>>16;o[a+172|0]=d>>>24;o[a+173|0]=r[a+71|0];break i}o[a+172|0]=0;o[a+173|0]=0;o[a+164|0]=0;o[a+165|0]=0;o[a+166|0]=0;o[a+167|0]=0;o[a+168|0]=0;o[a+169|0]=0;o[a+170|0]=0;o[a+171|0]=0;o[a+156|0]=0;o[a+157|0]=0;o[a+158|0]=0;o[a+159|0]=0;o[a+160|0]=0;o[a+161|0]=0;o[a+162|0]=0;o[a+163|0]=0;o[a+148|0]=0;o[a+149|0]=0;o[a+150|0]=0;o[a+151|0]=0;o[a+152|0]=0;o[a+153|0]=0;o[a+154|0]=0;o[a+155|0]=0;o[a+140|0]=0;o[a+141|0]=0;o[a+142|0]=0;o[a+143|0]=0;o[a+144|0]=0;o[a+145|0]=0;o[a+146|0]=0;o[a+147|0]=0}j:{if(r[a+1|0]){o[a+310|0]=r[a+72|0];d=r[a+73|0]|r[a+74|0]<<8|(r[a+75|0]<<16|r[a+76|0]<<24);o[a+311|0]=d;o[a+312|0]=d>>>8;o[a+313|0]=d>>>16;o[a+314|0]=d>>>24;d=r[a+81|0]|r[a+82|0]<<8|(r[a+83|0]<<16|r[a+84|0]<<24);e=r[a+77|0]|r[a+78|0]<<8|(r[a+79|0]<<16|r[a+80|0]<<24);o[a+315|0]=e;o[a+316|0]=e>>>8;o[a+317|0]=e>>>16;o[a+318|0]=e>>>24;o[a+319|0]=d;o[a+320|0]=d>>>8;o[a+321|0]=d>>>16;o[a+322|0]=d>>>24;d=r[a+89|0]|r[a+90|0]<<8|(r[a+91|0]<<16|r[a+92|0]<<24);e=r[a+85|0]|r[a+86|0]<<8|(r[a+87|0]<<16|r[a+88|0]<<24);o[a+323|0]=e;o[a+324|0]=e>>>8;o[a+325|0]=e>>>16;o[a+326|0]=e>>>24;o[a+327|0]=d;o[a+328|0]=d>>>8;o[a+329|0]=d>>>16;o[a+330|0]=d>>>24;d=r[a+97|0]|r[a+98|0]<<8|(r[a+99|0]<<16|r[a+100|0]<<24);e=r[a+93|0]|r[a+94|0]<<8|(r[a+95|0]<<16|r[a+96|0]<<24);o[a+331|0]=e;o[a+332|0]=e>>>8;o[a+333|0]=e>>>16;o[a+334|0]=e>>>24;o[a+335|0]=d;o[a+336|0]=d>>>8;o[a+337|0]=d>>>16;o[a+338|0]=d>>>24;d=r[a+101|0]|r[a+102|0]<<8|(r[a+103|0]<<16|r[a+104|0]<<24);o[a+339|0]=d;o[a+340|0]=d>>>8;o[a+341|0]=d>>>16;o[a+342|0]=d>>>24;o[a+343|0]=r[a+105|0];break j}o[a+342|0]=0;o[a+343|0]=0;o[a+334|0]=0;o[a+335|0]=0;o[a+336|0]=0;o[a+337|0]=0;o[a+338|0]=0;o[a+339|0]=0;o[a+340|0]=0;o[a+341|0]=0;o[a+326|0]=0;o[a+327|0]=0;o[a+328|0]=0;o[a+329|0]=0;o[a+330|0]=0;o[a+331|0]=0;o[a+332|0]=0;o[a+333|0]=0;o[a+318|0]=0;o[a+319|0]=0;o[a+320|0]=0;o[a+321|0]=0;o[a+322|0]=0;o[a+323|0]=0;o[a+324|0]=0;o[a+325|0]=0;o[a+310|0]=0;o[a+311|0]=0;o[a+312|0]=0;o[a+313|0]=0;o[a+314|0]=0;o[a+315|0]=0;o[a+316|0]=0;o[a+317|0]=0}if(r[a+26|0]){o[a+480|0]=r[a+106|0];o[a+565|0]=r[a+123|0];d=r[a+107|0]|r[a+108|0]<<8;o[a+481|0]=d;o[a+482|0]=d>>>8;d=r[a+128|0]|r[a+129|0]<<8|(r[a+130|0]<<16|r[a+131|0]<<24);e=r[a+124|0]|r[a+125|0]<<8|(r[a+126|0]<<16|r[a+127|0]<<24);o[a+566|0]=e;o[a+567|0]=e>>>8;o[a+568|0]=e>>>16;o[a+569|0]=e>>>24;o[a+570|0]=d;o[a+571|0]=d>>>8;o[a+572|0]=d>>>16;o[a+573|0]=d>>>24;d=r[a+113|0]|r[a+114|0]<<8|(r[a+115|0]<<16|r[a+116|0]<<24);e=r[a+109|0]|r[a+110|0]<<8|(r[a+111|0]<<16|r[a+112|0]<<24);o[a+483|0]=e;o[a+484|0]=e>>>8;o[a+485|0]=e>>>16;o[a+486|0]=e>>>24;o[a+487|0]=d;o[a+488|0]=d>>>8;o[a+489|0]=d>>>16;o[a+490|0]=d>>>24;d=r[a+117|0]|r[a+118|0]<<8;o[a+491|0]=d;o[a+492|0]=d>>>8;d=r[a+132|0]|r[a+133|0]<<8|(r[a+134|0]<<16|r[a+135|0]<<24);o[a+574|0]=d;o[a+575|0]=d>>>8;o[a+576|0]=d>>>16;o[a+577|0]=d>>>24;o[a+493|0]=r[a+119|0];o[a+578|0]=r[a+136|0];o[a+494|0]=r[a+120|0];o[a+579|0]=r[a+137|0];d=r[a+121|0]|r[a+122|0]<<8;o[a+495|0]=d;o[a+496|0]=d>>>8;d=r[a+138|0]|r[a+139|0]<<8;o[a+580|0]=d;o[a+581|0]=d>>>8;break a}o[a+496|0]=0;o[a+488|0]=0;o[a+489|0]=0;o[a+490|0]=0;o[a+491|0]=0;o[a+492|0]=0;o[a+493|0]=0;o[a+494|0]=0;o[a+495|0]=0;o[a+480|0]=0;o[a+481|0]=0;o[a+482|0]=0;o[a+483|0]=0;o[a+484|0]=0;o[a+485|0]=0;o[a+486|0]=0;o[a+487|0]=0;o[a+565|0]=0;o[a+566|0]=0;o[a+567|0]=0;o[a+568|0]=0;o[a+569|0]=0;o[a+570|0]=0;o[a+571|0]=0;o[a+572|0]=0;o[a+573|0]=0;o[a+574|0]=0;o[a+575|0]=0;o[a+576|0]=0;o[a+577|0]=0;o[a+578|0]=0;o[a+579|0]=0;o[a+580|0]=0;o[a+581|0]=0}e=a+140|0;d=(e+w(r[a+9|0],34)|0)+ -34|0;o[a+38|0]=r[d|0];o[a+39|0]=r[d+1|0];o[a+40|0]=r[d+2|0];o[a+41|0]=r[d+3|0];o[a+42|0]=r[d+4|0];o[a+43|0]=r[d+5|0];o[a+44|0]=r[d+6|0];o[a+45|0]=r[d+7|0];o[a+46|0]=r[d+8|0];o[a+47|0]=r[d+9|0];o[a+48|0]=r[d+10|0];o[a+49|0]=r[d+11|0];o[a+50|0]=r[d+12|0];o[a+51|0]=r[d+13|0];o[a+52|0]=r[d+14|0];o[a+53|0]=r[d+15|0];o[a+54|0]=r[d+16|0];o[a+55|0]=r[d+17|0];o[a+56|0]=r[d+18|0];o[a+57|0]=r[d+19|0];o[a+58|0]=r[d+20|0];o[a+59|0]=r[d+21|0];o[a+60|0]=r[d+22|0];o[a+61|0]=r[d+23|0];o[a+62|0]=r[d+24|0];d=e;e=w(r[a+9|0],34)+ -34|0;d=d+e|0;o[a+63|0]=r[d+25|0];o[a- -64|0]=r[d+26|0];o[a+65|0]=r[d+27|0];o[a+66|0]=r[d+28|0];o[a+67|0]=r[d+29|0];o[a+68|0]=r[d+30|0];o[a+69|0]=r[d+31|0];o[a+70|0]=r[d+32|0];o[a+71|0]=r[d+33|0];d=e;e=a+310|0;d=d+e|0;o[a+72|0]=r[d|0];o[a+73|0]=r[d+1|0];o[a+74|0]=r[d+2|0];o[a+75|0]=r[d+3|0];o[a+76|0]=r[d+4|0];o[a+77|0]=r[d+5|0];o[a+78|0]=r[d+6|0];o[a+79|0]=r[d+7|0];o[a+80|0]=r[d+8|0];o[a+81|0]=r[d+9|0];o[a+82|0]=r[d+10|0];o[a+83|0]=r[d+11|0];o[a+84|0]=r[d+12|0];o[a+85|0]=r[d+13|0];o[a+86|0]=r[d+14|0];o[a+87|0]=r[d+15|0];g=r[a+9|0]+ -1|0;d=e+w(g,34)|0;o[a+88|0]=r[d+16|0];o[a+89|0]=r[d+17|0];o[a+90|0]=r[d+18|0];o[a+91|0]=r[d+19|0];o[a+92|0]=r[d+20|0];o[a+93|0]=r[d+21|0];o[a+94|0]=r[d+22|0];o[a+95|0]=r[d+23|0];o[a+96|0]=r[d+24|0];o[a+97|0]=r[d+25|0];o[a+98|0]=r[d+26|0];o[a+99|0]=r[d+27|0];o[a+100|0]=r[d+28|0];o[a+101|0]=r[d+29|0];o[a+102|0]=r[d+30|0];o[a+103|0]=r[d+31|0];o[a+104|0]=r[d+32|0];o[a+105|0]=r[d+33|0];f=a+480|0;e=w(g,17);d=f+e|0;o[a+106|0]=r[d|0];g=a+565|0;e=g+e|0;o[a+123|0]=r[e|0];o[a+107|0]=r[d+1|0];o[a+124|0]=r[e+1|0];o[a+108|0]=r[d+2|0];o[a+125|0]=r[e+2|0];o[a+109|0]=r[d+3|0];o[a+126|0]=r[e+3|0];e=w(r[a+9|0],17)+ -17|0;d=e+f|0;o[a+110|0]=r[d+4|0];e=e+g|0;o[a+127|0]=r[e+4|0];o[a+111|0]=r[d+5|0];o[a+128|0]=r[e+5|0];o[a+112|0]=r[d+6|0];o[a+129|0]=r[e+6|0];o[a+113|0]=r[d+7|0];o[a+130|0]=r[e+7|0];o[a+114|0]=r[d+8|0];o[a+131|0]=r[e+8|0];o[a+115|0]=r[d+9|0];o[a+132|0]=r[e+9|0];o[a+116|0]=r[d+10|0];o[a+133|0]=r[e+10|0];o[a+117|0]=r[d+11|0];o[a+134|0]=r[e+11|0];o[a+118|0]=r[d+12|0];o[a+135|0]=r[e+12|0];o[a+119|0]=r[d+13|0];o[a+136|0]=r[e+13|0];o[a+120|0]=r[d+14|0];o[a+137|0]=r[e+14|0];o[a+121|0]=r[d+15|0];o[a+138|0]=r[e+15|0];o[a+122|0]=r[d+16|0];o[a+139|0]=r[e+16|0];o[a+718|0]=0;o[a+10|0]=0;e=r[a+9|0];k:{if(!r[a+8|0]){i=r[a+725|0];if(e>>>0>1){d=1;while(1){o[(a+d|0)+10|0]=((w(i&255,d)&65535)>>>0)/(e>>>0);i=r[a+725|0];d=d+1|0;if((e|0)!=(d|0)){continue}break}}o[(a+e|0)+10|0]=i;break k}if(r[(a+e|0)+10|0]>>0<2){break k}d=1;while(1){g=a+d|0;h=g;t=r[g+10|0];i=r[a+725|0]+(d-e|0)|0;l:{if((t|0)<=i<<24>>24){i=r[g+9|0]+1|0;if((t|0)>=i<<24>>24){break l}}o[h+10|0]=i}d=d+1|0;if((f|0)!=(d|0)){continue}break}}t=r[a+724|0];if(!(!(e&255)|!t)){t=e&255;i=r[a+27|0];k=r[a+4|0];d=0;e=r[a+3|0];m:{if((e|0)==2){k=k+ -2|0;J=k>>>0>3;i=i+ -2|0;while(1){n:{o:{if(J){break o}switch(k-1|0){case 0:case 1:break o;default:break n}}f=w(d,34)+a|0;e=(o[f+311|0]+o[f+310|0]|0)/2|0;o[f+343|0]=e;e=il(e&255,0,16843009,16843009);o[f+311|0]=e;o[f+312|0]=e>>>8;o[f+313|0]=e>>>16;o[f+314|0]=e>>>24;h=ya;o[f+315|0]=h;o[f+316|0]=h>>>8;o[f+317|0]=h>>>16;o[f+318|0]=h>>>24;o[f+319|0]=e;o[f+320|0]=e>>>8;o[f+321|0]=e>>>16;o[f+322|0]=e>>>24;o[f+323|0]=h;o[f+324|0]=h>>>8;o[f+325|0]=h>>>16;o[f+326|0]=h>>>24;o[f+327|0]=e;o[f+328|0]=e>>>8;o[f+329|0]=e>>>16;o[f+330|0]=e>>>24;o[f+331|0]=h;o[f+332|0]=h>>>8;o[f+333|0]=h>>>16;o[f+334|0]=h>>>24;o[f+335|0]=e;o[f+336|0]=e>>>8;o[f+337|0]=e>>>16;o[f+338|0]=e>>>24;o[f+339|0]=h;o[f+340|0]=h>>>8;o[f+341|0]=h>>>16;o[f+342|0]=h>>>24}p:{q:{if(i>>>0>3){break q}switch(i-1|0){case 0:case 1:break q;default:break p}}g=w(d,17)+a|0;e=il((o[g+481|0]+o[g+480|0]|0)/2&255,0,16843009,16843009);o[g+481|0]=e;o[g+482|0]=e>>>8;o[g+483|0]=e>>>16;o[g+484|0]=e>>>24;f=ya;o[g+485|0]=f;o[g+486|0]=f>>>8;o[g+487|0]=f>>>16;o[g+488|0]=f>>>24;o[g+489|0]=e;o[g+490|0]=e>>>8;o[g+491|0]=e>>>16;o[g+492|0]=e>>>24;o[g+493|0]=f;o[g+494|0]=f>>>8;o[g+495|0]=f>>>16;o[g+496|0]=f>>>24;e=il((o[g+566|0]+o[g+565|0]|0)/2&255,0,16843009,16843009);o[g+566|0]=e;o[g+567|0]=e>>>8;o[g+568|0]=e>>>16;o[g+569|0]=e>>>24;f=ya;o[g+570|0]=f;o[g+571|0]=f>>>8;o[g+572|0]=f>>>16;o[g+573|0]=f>>>24;o[g+574|0]=e;o[g+575|0]=e>>>8;o[g+576|0]=e>>>16;o[g+577|0]=e>>>24;o[g+578|0]=f;o[g+579|0]=f>>>8;o[g+580|0]=f>>>16;o[g+581|0]=f>>>24}d=d+1|0;if((t|0)!=(d|0)){continue}break}break m}J=e+ -2|0;G=J>>>0>3;while(1){r:{s:{if(G){break s}switch(J-1|0){case 0:case 1:break s;default:break r}}f=w(d,34)+a|0;e=(o[f+141|0]+o[f+140|0]|0)/2|0;o[f+173|0]=e;e=il(e&255,0,16843009,16843009);o[f+141|0]=e;o[f+142|0]=e>>>8;o[f+143|0]=e>>>16;o[f+144|0]=e>>>24;h=ya;o[f+145|0]=h;o[f+146|0]=h>>>8;o[f+147|0]=h>>>16;o[f+148|0]=h>>>24;o[f+149|0]=e;o[f+150|0]=e>>>8;o[f+151|0]=e>>>16;o[f+152|0]=e>>>24;o[f+153|0]=h;o[f+154|0]=h>>>8;o[f+155|0]=h>>>16;o[f+156|0]=h>>>24;o[f+157|0]=e;o[f+158|0]=e>>>8;o[f+159|0]=e>>>16;o[f+160|0]=e>>>24;o[f+161|0]=h;o[f+162|0]=h>>>8;o[f+163|0]=h>>>16;o[f+164|0]=h>>>24;o[f+165|0]=e;o[f+166|0]=e>>>8;o[f+167|0]=e>>>16;o[f+168|0]=e>>>24;o[f+169|0]=h;o[f+170|0]=h>>>8;o[f+171|0]=h>>>16;o[f+172|0]=h>>>24}t:{u:{e=k+ -2|0;if(e>>>0>3){break u}switch(e-1|0){case 0:case 1:break u;default:break t}}f=w(d,34)+a|0;e=(o[f+311|0]+o[f+310|0]|0)/2|0;o[f+343|0]=e;e=il(e&255,0,16843009,16843009);o[f+311|0]=e;o[f+312|0]=e>>>8;o[f+313|0]=e>>>16;o[f+314|0]=e>>>24;h=ya;o[f+315|0]=h;o[f+316|0]=h>>>8;o[f+317|0]=h>>>16;o[f+318|0]=h>>>24;o[f+319|0]=e;o[f+320|0]=e>>>8;o[f+321|0]=e>>>16;o[f+322|0]=e>>>24;o[f+323|0]=h;o[f+324|0]=h>>>8;o[f+325|0]=h>>>16;o[f+326|0]=h>>>24;o[f+327|0]=e;o[f+328|0]=e>>>8;o[f+329|0]=e>>>16;o[f+330|0]=e>>>24;o[f+331|0]=h;o[f+332|0]=h>>>8;o[f+333|0]=h>>>16;o[f+334|0]=h>>>24;o[f+335|0]=e;o[f+336|0]=e>>>8;o[f+337|0]=e>>>16;o[f+338|0]=e>>>24;o[f+339|0]=h;o[f+340|0]=h>>>8;o[f+341|0]=h>>>16;o[f+342|0]=h>>>24}v:{w:{e=i+ -2|0;if(e>>>0>3){break w}switch(e-1|0){case 0:case 1:break w;default:break v}}g=w(d,17)+a|0;e=il((o[g+481|0]+o[g+480|0]|0)/2&255,0,16843009,16843009);o[g+481|0]=e;o[g+482|0]=e>>>8;o[g+483|0]=e>>>16;o[g+484|0]=e>>>24;f=ya;o[g+485|0]=f;o[g+486|0]=f>>>8;o[g+487|0]=f>>>16;o[g+488|0]=f>>>24;o[g+489|0]=e;o[g+490|0]=e>>>8;o[g+491|0]=e>>>16;o[g+492|0]=e>>>24;o[g+493|0]=f;o[g+494|0]=f>>>8;o[g+495|0]=f>>>16;o[g+496|0]=f>>>24;e=il((o[g+566|0]+o[g+565|0]|0)/2&255,0,16843009,16843009);o[g+566|0]=e;o[g+567|0]=e>>>8;o[g+568|0]=e>>>16;o[g+569|0]=e>>>24;f=ya;o[g+570|0]=f;o[g+571|0]=f>>>8;o[g+572|0]=f>>>16;o[g+573|0]=f>>>24;o[g+574|0]=e;o[g+575|0]=e>>>8;o[g+576|0]=e>>>16;o[g+577|0]=e>>>24;o[g+578|0]=f;o[g+579|0]=f>>>8;o[g+580|0]=f>>>16;o[g+581|0]=f>>>24}d=d+1|0;if((t|0)!=(d|0)){continue}break}}t=r[a+724|0]}x:{if(t){e=50;i=86320;f=86256;k=32;g=5;d=34;break x}g=3;k=10;e=22;i=86464;f=86432;d=20}q[a+736>>2]=i;q[a+732>>2]=f;o[a+730|0]=g;o[a+728|0]=d;o[a+727|0]=k;o[a+726|0]=e;h=q[a+720>>2];A=t?h+4|0:h+1|0;fa=t?x(.054178912192583084):x(.045468658208847046);z=t?x(.08417043834924698):x(.0726611390709877);y=t?x(.037527162581682205):x(.02270421013236046);C=t?x(.10307344049215317):x(.09885108470916748);v=t?x(.01565675623714924):x(.007460829336196184);p=t?x(.12222452461719513):x(.1179371029138565);N=t?5:3;G=r[a+725|0];f=0;J=0;M=0;while(1){e=f<<2;Sa(q[h+12>>2],q[e+q[h+16>>2]>>2],96);k=q[h+12>>2];d=0;g=r[h|0];if(g){while(1){V=(d<<3)+k|0;i=((d<<9)+b|0)+(f<<3)|0;q[V+96>>2]=q[i+3072>>2];q[V+100>>2]=q[i+3076>>2];d=d+1|0;if((g|0)!=(d|0)){continue}break}d=g}Sa(q[e+q[h+16>>2]>>2],(d<<3)+k|0,96);V=f+A|0;e=r[V|0];d=kl(e+ -2|0,31);y:{z:{if(d>>>0>5){break z}A:{switch(d-1|0){default:g=r[h|0];if(!g){break y}I=q[h+20>>2];f=q[h+12>>2];e=0;while(1){d=f+(e<<3)|0;j=u[d+48>>2];l=u[d+56>>2];m=u[d+40>>2];n=u[d- -64>>2];D=u[d+32>>2];B=u[d+72>>2];O=u[d+24>>2];K=u[d+80>>2];L=u[d+16>>2];H=u[d>>2];F=u[d+96>>2];Q=u[d+88>>2];i=e+1|0;k=f+(i<<3)|0;W=u[k>>2];e=q[I+(e<<2)>>2];S=x(u[d+52>>2]*x(.5));ga=x(x(u[d+4>>2]+u[d+100>>2])*x(0));Z=x(x(u[k+4>>2]+u[d+92>>2])*x(.018994875252246857));ba=x(x(u[d+20>>2]+u[d+84>>2])*x(0));Y=x(x(u[d+28>>2]+u[d+76>>2])*x(-.07293139398097992));X=x(x(u[d+36>>2]+u[d+68>>2])*x(0));R=x(x(u[d+44>>2]+u[d+60>>2])*x(.305966317653656));u[e+12>>2]=S+x(x(x(x(x(ga-Z)+ba)-Y)+X)-R);j=x(j*x(.5));H=x(x(H+F)*x(0));F=x(x(W+Q)*x(.018994875252246857));K=x(x(L+K)*x(0));B=x(x(O+B)*x(-.07293139398097992));n=x(x(D+n)*x(0));l=x(x(m+l)*x(.305966317653656));u[e+8>>2]=j+x(x(x(x(x(H-F)+K)-B)+n)-l);u[e+4>>2]=S+x(x(x(x(x(ga+Z)+ba)+Y)+X)+R);u[e>>2]=j+x(x(x(x(x(H+F)+K)+B)+n)+l);e=i;if((g|0)!=(e|0)){continue}break}break z;case 0:g=r[h|0];if(!g){break y}f=q[h+20>>2];k=q[h+12>>2];i=0;while(1){d=(i<<3)+k|0;D=u[d+48>>2];Y=u[d+80>>2];X=u[d+16>>2];K=u[d+4>>2];L=u[d+100>>2];H=u[d+68>>2];F=u[d+36>>2];e=q[f+(i<<2)>>2];B=u[d+28>>2];O=u[d+76>>2];i=i+1|0;I=(i<<3)+k|0;Q=u[I+4>>2];W=u[d+92>>2];Z=u[d+44>>2];ba=u[d+60>>2];j=x(x(x(x(x(B+O)*x(.07778724282979965))+x(x(Q+W)*x(-.04871498420834541)))-x(x(Z+ba)*x(.23279856145381927)))*x(-.7071067690849304));S=u[I>>2];ga=u[d+88>>2];R=u[d+24>>2];P=u[d+72>>2];ca=u[d+40>>2];da=u[d+56>>2];l=x(x(x(x(x(S-ga)*x(-.04871498420834541))-x(x(R-P)*x(.07778724282979965)))-x(x(ca-da)*x(.23279856145381927)))*x(.7071067690849304));m=x(x(x(u[d>>2]-u[d+96>>2])*x(-.059082113206386566))-x(x(u[d+32>>2]-u[d- -64>>2])*x(.16486303508281708)));n=x(x(u[d+52>>2]*x(.25))-x(x(u[d+20>>2]+u[d+84>>2])*x(0)));u[e+28>>2]=j+x(x(l+m)+n);ja=x(x(D*x(.25))-x(x(X+Y)*x(0)));Y=x(x(x(x(x(R+P)*x(.07778724282979965))+x(x(S+ga)*x(-.04871498420834541)))-x(x(ca+da)*x(.23279856145381927)))*x(-.7071067690849304));X=x(ja+Y);D=x(x(x(K-L)*x(-.059082113206386566))-x(x(F-H)*x(.16486303508281708)));B=x(x(x(x(x(Q-W)*x(-.04871498420834541))-x(x(B-O)*x(.07778724282979965)))-x(x(Z-ba)*x(.23279856145381927)))*x(.7071067690849304));u[e+24>>2]=x(X-D)-B;u[e+20>>2]=x(x(l-m)+n)-j;O=x(ja-Y);u[e+16>>2]=x(O+D)-B;u[e+12>>2]=x(x(m-l)+n)-j;u[e+8>>2]=x(O-D)+B;u[e+4>>2]=j+x(x(x(-m)-l)+n);u[e>>2]=x(X+D)+B;if((g|0)!=(i|0)){continue}break}break z;case 2:I=r[h|0];if(!I){break y}_=q[h+20>>2];k=q[h+12>>2];i=0;while(1){e=q[_+(i<<2)>>2];d=(i<<3)+k|0;l=x(u[d+48>>2]*x(.125));L=x(fa*x(u[d+84>>2]-u[d+20>>2]));j=x(l-L);g=d+32|0;$=d- -64|0;H=x(x(C*x(u[g>>2]+u[$>>2]))-x(v*x(u[d>>2]+u[d+96>>2])));m=x(x(v*x(u[d+100>>2]-u[d+4>>2]))+x(C*x(u[d+68>>2]-u[d+36>>2])));F=x(x(H-m)*x(.7071067690849304));K=x(j-F);n=x(p*x(u[d+40>>2]+u[d+56>>2]));i=i+1|0;f=(i<<3)+k|0;D=x(x(y*x(u[d+92>>2]-u[f+4>>2]))+x(z*x(u[d+76>>2]-u[d+28>>2])));B=x(n-D);T=x(B*x(1.3065630197525024));O=x(x(z*x(u[d+24>>2]+u[d+72>>2]))-x(y*x(u[f>>2]+u[d+88>>2])));Q=x(p*x(u[d+60>>2]-u[d+44>>2]));W=x(O-Q);B=x(x(W+B)*x(-.9238795042037964));S=x(T+B);u[e+40>>2]=K-S;j=x(F+j);F=x(x(W*x(-.5411961078643799))-B);u[e+56>>2]=j+F;u[e+24>>2]=j-F;F=x(O+Q);n=x(n+D);j=x(x(F+n)*x(-.9238795042037964));l=x(l+L);L=x(x(H+m)*x(.7071067690849304));H=x(l-L);m=x(x(n*x(1.3065630197525024))+j);u[e+48>>2]=H+m;u[e+8>>2]=K+S;l=x(L+l);j=x(x(F*x(-.5411961078643799))-j);u[e+32>>2]=l-j;u[e+16>>2]=H-m;u[e>>2]=l+j;F=x(x(z*x(u[d+28>>2]+u[d+76>>2]))-x(y*x(u[f+4>>2]+u[d+92>>2])));j=x(p*x(u[d+56>>2]-u[d+40>>2]));l=x(F+j);K=x(p*x(u[d+44>>2]+u[d+60>>2]));L=x(x(y*x(u[d+88>>2]-u[f>>2]))+x(z*x(u[d+72>>2]-u[d+24>>2])));m=x(K+L);H=x(x(l+m)*x(-.9238795042037964));n=x(u[d+52>>2]*x(.125));D=x(fa*x(u[d+80>>2]-u[d+16>>2]));B=x(n+D);O=x(x(C*x(u[d+36>>2]+u[d+68>>2]))-x(v*x(u[d+4>>2]+u[d+100>>2])));Q=x(x(v*x(u[d+96>>2]-u[d>>2]))+x(C*x(u[$>>2]-u[d+32>>2])));W=x(x(O+Q)*x(.7071067690849304));S=x(B-W);m=x(x(m*x(1.3065630197525024))+H);u[e+44>>2]=S-m;B=x(W+B);l=x(x(l*x(-.5411961078643799))-H);u[e+60>>2]=B+l;u[e+28>>2]=B-l;l=x(F-j);B=x(K-L);j=x(x(l+B)*x(-.9238795042037964));n=x(n-D);D=x(x(O-Q)*x(.7071067690849304));O=x(n-D);B=x(x(B*x(1.3065630197525024))+j);u[e+52>>2]=O+B;u[e+12>>2]=S+m;m=x(D+n);j=x(x(l*x(-.5411961078643799))-j);u[e+36>>2]=m-j;u[e+20>>2]=O-B;u[e+4>>2]=m+j;if((i|0)!=(I|0)){continue}break}break z;case 1:case 3:break z;case 4:break A}}g=r[h|0];if(!g){break y}f=q[h+20>>2];k=q[h+12>>2];i=0;while(1){d=(i<<3)+k|0;n=u[d+48>>2];ba=u[d+4>>2];Y=u[d+100>>2];e=q[f+(i<<2)>>2];X=u[d+20>>2];R=u[d+84>>2];j=x(x(X+R)*x(.05144908279180527));P=u[d+36>>2];ca=u[d+68>>2];H=x(x(j*x(.5))+x(x(x(P+ca)*x(.07428313791751862))*x(.8660253882408142)));da=x(u[d+52>>2]*x(.0833333358168602));S=u[d+28>>2];ga=u[d+76>>2];ja=x(x(x(S+ga)*x(.06399831175804138))*x(.7071067690849304));D=x(da+ja);i=i+1|0;I=(i<<3)+k|0;ea=u[I+4>>2];ha=u[d+92>>2];ka=x(x(ea+ha)*x(.03812811151146889));la=u[d+44>>2];ma=u[d+60>>2];na=x(x(la+ma)*x(.08100347965955734));F=x(x(ka*x(.258819043636322))+x(na*x(.9659258127212524)));wa=x(H+x(D+F));m=u[d+16>>2];B=u[d+80>>2];O=u[d+32>>2];Q=u[d- -64>>2];l=x(x(O-Q)*x(.07428313791751862));K=x(x(x(x(m-B)*x(.05144908279180527))*x(.8660253882408142))+x(l*x(.5)));za=x(x(u[d>>2]-u[d+96>>2])*x(.040811799466609955));W=u[d+24>>2];Aa=u[d+72>>2];Oa=x(x(x(W-Aa)*x(.06399831175804138))*x(.7071067690849304));L=x(za+Oa);Ba=u[I>>2];Ca=u[d+88>>2];Pa=x(x(Ba-Ca)*x(.03812811151146889));Da=u[d+40>>2];Ea=u[d+56>>2];Ra=x(x(Da-Ea)*x(.08100347965955734));Z=x(x(Pa*x(.9659258127212524))+x(Ra*x(.258819043636322)));Ta=x(K+x(L+Z));u[e+92>>2]=wa-Ta;m=x(x(m+B)*x(.05144908279180527));B=x(x(m*x(.5))+x(x(x(O+Q)*x(.07428313791751862))*x(.8660253882408142)));Ua=x(n*x(.0833333358168602));Aa=x(x(x(W+Aa)*x(.06399831175804138))*x(.7071067690849304));O=x(Ua+Aa);Ba=x(x(Ba+Ca)*x(.03812811151146889));Ca=x(x(Da+Ea)*x(.08100347965955734));Q=x(x(Ba*x(.258819043636322))+x(Ca*x(.9659258127212524)));Da=x(B+x(O+Q));n=x(x(P-ca)*x(.07428313791751862));W=x(x(x(x(X-R)*x(.05144908279180527))*x(.8660253882408142))+x(n*x(.5)));Ea=x(x(ba-Y)*x(.040811799466609955));T=x(x(x(S-ga)*x(.06399831175804138))*x(.7071067690849304));S=x(Ea+T);ea=x(x(ea-ha)*x(.03812811151146889));ha=x(x(la-ma)*x(.08100347965955734));ga=x(x(ea*x(.9659258127212524))+x(ha*x(.258819043636322)));la=x(W+x(S+ga));u[e+88>>2]=Da+la;ba=x(za-Oa);Y=x(x(Pa-Ra)*x(.7071067690849304));ma=x(x(ba+Y)-l);X=x(da-ja);R=x(x(na-ka)*x(.7071067690849304));ka=x(x(X+R)-j);u[e+84>>2]=ma+ka;P=x(Ua-Aa);ca=x(x(Ca-Ba)*x(.7071067690849304));na=x(x(P+ca)-m);da=x(Ea-T);ja=x(x(ea-ha)*x(.7071067690849304));ea=x(x(da+ja)-n);u[e+80>>2]=na-ea;u[e+12>>2]=ka-ma;u[e+8>>2]=na+ea;u[e+4>>2]=Ta+wa;u[e>>2]=Da-la;ea=x(x(D-R)-j);ha=x(x(L-Y)-l);u[e+60>>2]=ea-ha;ka=x(x(O-ca)-m);la=x(x(S-ja)-n);u[e+56>>2]=ka+la;ma=x(K+x(ba-Z));na=x(H+x(X-F));u[e+52>>2]=ma+na;wa=x(B+x(P-Q));za=x(W+x(da-ga));u[e+48>>2]=wa-za;u[e+44>>2]=na-ma;u[e+40>>2]=wa+za;u[e+36>>2]=ha+ea;u[e+32>>2]=ka-la;ea=x(F-R);j=x(H-j);ha=x(x(X+ea)-j);H=x(Z-Y);l=x(K-l);K=x(x(ba+H)-l);u[e+76>>2]=ha-K;Q=x(Q-ca);m=x(B-m);F=x(x(P+Q)-m);Z=x(ga-ja);n=x(W-n);B=x(x(da+Z)-n);u[e+72>>2]=F+B;l=x(x(L-H)-l);j=x(x(D-ea)-j);u[e+68>>2]=l+j;m=x(x(O-Q)-m);n=x(x(S-Z)-n);u[e+64>>2]=m-n;u[e+28>>2]=j-l;u[e+24>>2]=m+n;u[e+20>>2]=K+ha;u[e+16>>2]=F-B;if((g|0)!=(i|0)){continue}break}}I=r[h|0];if(!I){e=r[V|0];break y}e=r[V|0];g=e>>>0>1?e:1;V=J&255;f=0;d=e;while(1){_=d&255;d=0;if(_){k=q[q[h+20>>2]+(f<<2)>>2];while(1){_=((U- -8192|0)+(f<<8)|0)+(d+V<<3)|0;i=(d<<3)+k|0;q[_>>2]=q[i>>2];q[_+4>>2]=q[i+4>>2];d=d+1|0;if((g|0)!=(d|0)){continue}break}d=e}f=f+1|0;if((I|0)!=(f|0)){continue}break}}J=e+J|0;M=M+1|0;f=M&255;if(N>>>0>f>>>0){continue}break}if(!(!G|t)){e=0;while(1){d=(U- -8192|0)+(e<<8)|0;u[d+24>>2]=u[d+32>>2]+u[d+24>>2];z=u[d+36>>2];q[d+32>>2]=0;q[d+36>>2]=0;u[d+16>>2]=u[d+40>>2]+u[d+16>>2];y=u[d+44>>2];q[d+40>>2]=0;q[d+44>>2]=0;i=d+28|0;u[i>>2]=z+u[d+28>>2];u[d+20>>2]=y+u[d+20>>2];e=e+1|0;if((G|0)!=(e|0)){continue}break}}A=0;Qa(U+16384|0,0,4352);_=r[a+724|0];Qa(U+20736|0,0,4352);ta=r[a+726|0];if(ta){J=r[a+727|0];t=q[a+732>>2];G=q[a+736>>2];M=a+10|0;while(1){i=r[G+(A<<1)|0];k=A>>>0>=J>>>0;B:{if(!k){d=r[t+A|0];f=d+1|0;break B}e=t+A|0;d=r[e|0];f=r[e+1|0]}e=d&255;g=f&255;C:{if(e>>>0>=g>>>0){break C}h=r[a+10|0];f=r[M+r[a+9|0]|0];if(h>>>0>=f>>>0){break C}if(!k){while(1){d=h;while(1){k=((U+20736|0)+w(d,136)|0)+(i<<2)|0;oa=k;y=u[k>>2];k=((U- -8192|0)+(d<<8)|0)+(e<<3)|0;z=u[k>>2];v=x(z*z);z=u[k+4>>2];u[oa>>2]=y+x(v+x(z*z));d=d+1|0;if((f|0)!=(d|0)){continue}break}e=e+1|0;if((g|0)!=(e|0)){continue}break C}}while(1){d=h;while(1){k=((U+20736|0)+w(d,136)|0)+(i<<2)|0;oa=k;y=u[k>>2];k=((d<<9)+b|0)+(e<<3)|0;z=u[k>>2];v=x(z*z);z=u[k+4>>2];u[oa>>2]=y+x(v+x(z*z));d=d+1|0;if((f|0)!=(d|0)){continue}break}e=e+1|0;if((g|0)!=(e|0)){continue}break}}A=A+1|0;if((ta|0)!=(A|0)){continue}break}}t=r[a+728|0];if(t){J=r[a+9|0]+(a+10|0)|0;k=r[J|0];e=r[a+10|0];A=0;while(1){if(e>>>0<(k&255)>>>0){h=A<<2;d=h+a|0;i=d+20220|0;f=d+20356|0;g=d+20084|0;z=u[g>>2];C=u[a+20080>>2];v=u[a+20076>>2];d=e;while(1){z=x(v*z);u[g>>2]=z;k=w(d,136);y=u[h+(k+(U+20736|0)|0)>>2];if(!!(z>2]=y;z=y}p=u[f>>2];p=x(p+x(C*x(x(z-y)-p)));u[f>>2]=p;j=u[i>>2];y=x(j+x(C*x(y-j)));u[i>>2]=y;p=x(p*x(1.5));u[h+(k+(U+16384|0)|0)>>2]=p<=y?x(1):x(y/p);d=d+1|0;k=r[J|0];if(d>>>0>>0){continue}break}}A=A+1|0;if((t|0)!=(A|0)){continue}break}}if(ta){Ma=_?86512:86768;Fa=r[a+727|0];Ga=q[a+732>>2];ua=a+16236|0;va=a+8556|0;while(1){pa=ia>>>0>=Fa>>>0;D:{if(!pa){d=r[ia+Ga|0];e=d+1|0;break D}e=ia+Ga|0;d=r[e|0];e=r[e+1|0]}$=d&255;Ja=e&255;if($>>>0>>0){Ha=r[a+9|0]+a|0;d=r[a+740|0];while(1){C=x(1);qa=ia>>>0>>0;E:{if(qa){break E}e=r[a+730|0];if($>>>0<=e>>>0){break E}e=e-$<<24>>24;C=(e|0)<-19?x(0):x(x(x(e|0)*x(.05000000074505806))+x(1))}f=r[a+743|0];k=r[a+742|0];i=r[a+741|0];e=r[a+10|0];F:{if(e>>>0>=r[Ha+10|0]){g=d;break F}z=x(C*x(.4895416498184204));y=x(C*x(.5647181272506714));C=x(C*x(.6514390707015991));g=w($,24);Na=_?g+87392|0:g+88160|0;aa=_?g+87396|0:g+88164|0;Ka=_?g+87384|0:g+88152|0;ra=_?g+87388|0:g+88156|0;Ya=_?g+87376|0:g+88144|0;Za=_?g+87380|0:g+88148|0;_a=g+88452|0;$a=g+88448|0;ab=g+88444|0;bb=g+88440|0;cb=g+88436|0;db=g+88432|0;sa=a+$|0;oa=sa;eb=q[a+736>>2]+(ia<<1)|0;N=$<<3;J=N+86868|0;G=N+86864|0;M=N+Ma|0;V=M+4|0;fb=r[a+729|0];g=d;while(1){Va=e<<8;h=N+(Va+(U- -8192|0)|0)|0;Wa=e<<9;t=N+(Wa+b|0)|0;Ia=q[(qa?h:t)>>2];La=q[(qa?h|4:t+4|0)>>2];G:{H:{I:{Xa=$>>>0<=fb>>>0;J:{if(!Xa){if(!pa){A=g&255;break J}h=N+((r[sa+811|0]<<9)+a|0)|0;p=u[h+880>>2];q[h+880>>2]=La;j=u[h+876>>2];q[h+876>>2]=Ia;break G}A=g&255;if(pa){break I}}h=N+((A<<8)+a|0)|0;A=h+8048|0;I=h+8044|0;t=V;h=M;break H}h=N+((A<<9)+a|0)|0;A=h+880|0;I=h+876|0;t=J;h=G}p=u[A>>2];j=u[I>>2];q[I>>2]=Ia;q[A>>2]=La;l=u[h>>2];m=u[t>>2];v=x(x(p*l)-x(j*m));p=x(x(j*l)+x(p*m));h=i&255;if(!qa){h=N+(va+(h<<9)|0)|0;j=u[h+4>>2];T=v;l=u[db>>2];m=u[h>>2];n=u[cb>>2];v=x(x(x(j*l)-x(m*n))-x(C*v));u[h+4>>2]=T+x(C*v);T=p;p=x(x(x(m*l)+x(j*n))-x(C*p));u[h>>2]=T+x(C*p);h=N+(va+((k&255)<<9)|0)|0;t=h+2564|0;j=u[t>>2];T=v;l=u[bb>>2];h=h+2560|0;m=u[h>>2];n=u[ab>>2];v=x(x(x(j*l)-x(m*n))-x(y*v));u[t>>2]=T+x(y*v);j=x(x(x(m*l)+x(j*n))-x(y*p));u[h>>2]=p+x(y*j);h=N+(va+((f&255)<<9)|0)|0;t=h+5124|0;l=u[t>>2];m=u[$a>>2];h=h+5120|0;n=u[h>>2];D=u[_a>>2];p=x(x(x(l*m)-x(n*D))-x(z*v));u[t>>2]=v+x(z*p);v=j;j=x(x(x(n*m)+x(l*D))-x(z*j));u[h>>2]=v+x(z*j);break G}h=N+(ua+(h<<8)|0)|0;j=u[h+4>>2];T=v;l=u[Ya>>2];m=u[h>>2];n=u[Za>>2];v=x(x(x(j*l)-x(m*n))-x(C*v));u[h+4>>2]=T+x(C*v);T=p;p=x(x(x(m*l)+x(j*n))-x(C*p));u[h>>2]=T+x(C*p);h=N+(ua+((k&255)<<8)|0)|0;t=h+1284|0;j=u[t>>2];T=v;l=u[Ka>>2];h=h+1280|0;m=u[h>>2];n=u[ra>>2];v=x(x(x(j*l)-x(m*n))-x(y*v));u[t>>2]=T+x(y*v);j=x(x(x(m*l)+x(j*n))-x(y*p));u[h>>2]=p+x(y*j);h=N+(ua+((f&255)<<8)|0)|0;t=h+2564|0;l=u[t>>2];m=u[Na>>2];h=h+2560|0;n=u[h>>2];D=u[aa>>2];p=x(x(x(l*m)-x(n*D))-x(z*v));u[t>>2]=v+x(z*p);v=j;j=x(x(x(n*m)+x(l*D))-x(z*j));u[h>>2]=v+x(z*j)}v=p;p=u[((U+16384|0)+w(e,136)|0)+(r[eb|0]<<2)>>2];v=x(v*p);p=x(j*p);K:{if(!pa){h=N+(U+Va|0)|0;u[h+4>>2]=v;u[h>>2]=p;g=g+1|0;g=(g&255)>>>0>1?0:g;break K}h=N+(c+Wa|0)|0;u[h+4>>2]=v;u[h>>2]=p;g=g+1|0;g=(g&255)>>>0>1?0:g;if(Xa){break K}h=r[sa+811|0]+1|0;o[sa+811|0]=(h&255)>>>0>>0>>0>>0>>0>>0>3){break M}t=11;switch(d-1|0){case 0:case 1:break M;default:break L}}t=r[a+6|0]}if(ta){d=M>>>0>2;V=d?15:7;I=d?89968:90096;$=r[a+9|0];ia=r[a+727|0];N=q[a+732>>2];La=q[a+736>>2];ua=a+10|0;h=0;while(1){e=s[La+(h<<1)>>1];if(h>>>0>>0){d=r[h+N|0]+1|0}else{d=r[(h+N|0)+1|0]}if($){J=d&255;Ma=h+N|0;Ja=e&4096;k=e&255;d=(h<<3)+a|0;va=d+21696|0;pa=d+21296|0;qa=d+20896|0;sa=d+20496|0;Fa=d+21692|0;Ga=d+21292|0;Ha=d+20892|0;Ia=d+20492|0;G=r[a+26|0];Na=r[a+4|0];e=0;while(1){g=k+(w(e,34)+a|0)|0;d=o[g+140|0];N:{if(Na>>>0<=2){p=u[I+(V-d<<2)>>2];g=o[g+310|0]<<2;C=u[g+90192>>2];v=u[I+(d+V<<2)>>2];T=v;j=u[g+90160>>2];z=j;O:{if(M>>>0>=3){if((d|0)<=-1){g=g-(d<<5)|0;d=g+90224|0;y=x(-u[g+90736>>2]);break O}g=g+(d<<5)|0;d=g+90224|0;y=u[g+90736>>2];break O}if((d|0)<=-1){g=g-(d<<5)|0;d=g+91248|0;y=x(-u[g+91504>>2]);break O}g=g+(d<<5)|0;d=g+91248|0;y=u[g+91504>>2]}l=x(z*y);m=u[d>>2];n=x(C*m);z=x(T*x(l-n));T=v;y=x(C*y);v=x(j*m);C=x(T*x(y+v));v=x(p*x(v-y));y=x(p*x(l+n));break N}f=d>>31;f=f+d^f;d=d+V|0;g=o[g+310|0];P:{if(M>>>0>=3){g=g<<2;i=(g+(d<<5)|0)+91760|0;A=g+((f&255)<<5)|0;f=A+93264|0;A=A+92752|0;d=(g+(0-d<<5)|0)+92720|0;break P}g=g<<2;i=(g+(d<<5)|0)+93776|0;A=g+((f&255)<<5)|0;f=A+94512|0;A=A+94256|0;d=(g+(0-d<<5)|0)+94224|0}y=u[f>>2];C=u[d>>2];z=x(x(y*C)*x(1.4142135381698608));v=u[A>>2];C=x(x(v*C)*x(1.4142135381698608));p=u[i>>2];v=x(x(v*p)*x(1.4142135381698608));y=x(x(y*x(-p))*x(1.4142135381698608))}Q:{if(!(!G|t>>>0<=k>>>0)){g=(k<<4)+a|0;aa=g+22096|0;i=r[a+22092|0];f=i<<24>>24<<3;d=aa+f|0;p=u[d>>2];Ka=g+22416|0;g=Ka+f|0;j=u[g>>2];l=u[g+4>>2];f=k+(w(e,17)+a|0)|0;ra=o[f+480|0];A=ra>>31;A=((A^A+ra)<<2)+94768|0;m=u[A>>2];q[d>>2]=q[A>>2];D=u[d+4>>2];ra=o[f+480|0];A=ra>>31;oa=d;d=((A^A+ra)<<2)+94816|0;R=u[d>>2];q[oa+4>>2]=q[d>>2];A=o[f+565|0];d=A>>31;d=((d^d+A)<<2)+94768|0;P=u[d>>2];q[g>>2]=q[d>>2];f=o[f+565|0];d=f>>31;d=((d^d+f)<<2)+94816|0;ca=u[d>>2];q[g+4>>2]=q[d>>2];n=x(0);d=(i?i+ -1|0:1)<<24>>24<<3;g=d+aa|0;m=x(x(x(p*x(.25))+m)+x(u[g>>2]*x(.5)));R=x(x(x(D*x(.25))+R)+x(u[g+4>>2]*x(.5)));da=x(E(x(x(m*m)+x(R*R))));D=x(0);B=x(0);d=d+Ka|0;p=x(x(x(j*x(.25))+P)+x(u[d>>2]*x(.5)));j=x(x(x(l*x(.25))+ca)+x(u[d+4>>2]*x(.5)));P=x(E(x(x(p*p)+x(j*j))));if(P!=x(0)){B=x(p/P);D=x(j/P)}l=x(0);P=x(da*P);if(P!=x(0)){n=x(x(x(m*j)-x(R*p))/P);l=x(x(x(m*p)+x(R*j))/P)}j=x(z*l);p=x(y*B);l=x(C*l);da=x(z*n);ca=x(y*D);P=x(C*n);R=x(v*D);v=x(v*B);break Q}j=z;p=y;l=C}y=v;g=e+1|0;A=g+ua|0;d=r[A|0];e=e+ua|0;f=r[e|0];z=u[Ia>>2];m=u[Ha>>2];C=u[Ga>>2];v=u[Fa>>2];u[Ia>>2]=y;u[Ha>>2]=l;u[Ga>>2]=p;u[Fa>>2]=j;n=x(d-f|0);if(!(!G|t>>>0<=k>>>0)){F=u[va>>2];Z=x(x(da-F)/n);H=u[pa>>2];ba=x(x(ca-H)/n);L=u[qa>>2];Y=x(x(P-L)/n);K=u[sa>>2];X=x(x(R-K)/n);u[sa>>2]=R;u[qa>>2]=P;u[pa>>2]=ca;u[va>>2]=da;if(Ja){F=x(-F);H=x(-H);K=x(-K);Z=x(-Z);ba=x(-ba);Y=x(-Y);X=x(-X);L=x(-L)}}f=r[e|0];if(f>>>0>>0<=k>>>0)){F=x(Z+F);H=x(ba+H);K=x(X+K);L=x(Y+L)}v=x(O+v);C=x(Q+C);m=x(W+m);z=x(S+z);d=r[Ma|0];R:{if(d>>>0>=J>>>0){break R}S:{if(h>>>0>=ia>>>0){if(G){break S}while(1){aa=d<<3;i=f<<9;e=aa+(i+c|0)|0;y=u[e>>2];i=aa+(b+i|0)|0;p=u[i+4>>2];j=u[e+4>>2];u[i+4>>2]=x(C*j)+x(z*p);l=u[i>>2];u[i>>2]=x(C*y)+x(z*l);u[e+4>>2]=x(v*j)+x(m*p);u[e>>2]=x(v*y)+x(m*l);d=d+1|0;if((J|0)!=(d|0)){continue}break}break R}if(!G){while(1){aa=d<<3;i=f<<8;e=aa+(i+U|0)|0;y=u[e>>2];i=aa+(i+(U- -8192|0)|0)|0;p=u[i+4>>2];j=u[e+4>>2];u[i+4>>2]=x(C*j)+x(z*p);l=u[i>>2];u[i>>2]=x(C*y)+x(z*l);u[e+4>>2]=x(v*j)+x(m*p);u[e>>2]=x(v*y)+x(m*l);d=d+1|0;if((J|0)!=(d|0)){continue}break R}}while(1){aa=d<<3;i=f<<8;e=aa+(i+U|0)|0;y=u[e+4>>2];i=aa+(i+(U- -8192|0)|0)|0;l=u[i+4>>2];p=x(x(v*y)+x(m*l));B=u[e>>2];fa=u[i>>2];n=x(x(v*B)+x(m*fa));D=x(x(C*y)+x(z*l));j=x(x(C*B)+x(z*fa));if(t>>>0>k>>>0){n=x(n-x(x(F*y)+x(L*l)));D=x(x(x(H*B)+x(K*fa))+D);j=x(j-x(x(H*y)+x(K*l)));p=x(x(x(F*B)+x(L*fa))+p)}u[i>>2]=j;u[(i|4)>>2]=D;u[e>>2]=n;u[(e|4)>>2]=p;d=d+1|0;if((J|0)!=(d|0)){continue}break}break R}while(1){aa=d<<3;i=f<<9;e=aa+(i+c|0)|0;y=u[e+4>>2];i=aa+(b+i|0)|0;l=u[i+4>>2];p=x(x(v*y)+x(m*l));B=u[e>>2];fa=u[i>>2];n=x(x(v*B)+x(m*fa));D=x(x(C*y)+x(z*l));j=x(x(C*B)+x(z*fa));if(t>>>0>k>>>0){n=x(n-x(x(F*y)+x(L*l)));D=x(x(x(H*B)+x(K*fa))+D);j=x(j-x(x(H*y)+x(K*l)));p=x(x(x(F*B)+x(L*fa))+p)}u[i>>2]=j;u[i+4>>2]=D;u[e>>2]=n;u[e+4>>2]=p;d=d+1|0;if((J|0)!=(d|0)){continue}break}}f=f+1|0;if(f>>>0>2];t=_?a+4|0:a+1|0;h=r[a|0];T:{if(!h){d=0;while(1){d=d+1|0;if(g>>>0>(d&255)>>>0){continue}break}break T}I=0;a=0;f=0;while(1){G=a&255;k=t+I|0;i=0;while(1){J=((i<<9)+b|0)+(I<<3)|0;d=J;q[d>>2]=0;q[d+4>>2]=0;d=0;U:{if(r[k|0]){z=x(0);m=x(0);while(1){e=((U- -8192|0)+(i<<8)|0)+(d+G<<3)|0;m=x(m+u[e>>2]);u[J>>2]=m;z=x(z+u[e+4>>2]);u[J+4>>2]=z;d=d+1|0;e=r[k|0];if(d>>>0>>0){continue}break}break U}e=0}i=i+1|0;if((h|0)!=(i|0)){continue}break}a=a+e|0;f=f+1|0;I=f&255;if(g>>>0>I>>>0){continue}break}}V:{if(!h){d=0;while(1){d=d+1|0;if(g>>>0>(d&255)>>>0){continue}break}break V}I=0;b=0;a=0;while(1){J=b&255;f=t+I|0;i=0;while(1){k=((i<<9)+c|0)+(I<<3)|0;d=k;q[d>>2]=0;q[d+4>>2]=0;d=0;W:{if(r[f|0]){z=x(0);m=x(0);while(1){e=((i<<8)+U|0)+(d+J<<3)|0;m=x(m+u[e>>2]);u[k>>2]=m;z=x(z+u[e+4>>2]);u[k+4>>2]=z;d=d+1|0;e=r[f|0];if(d>>>0>>0){continue}break}break W}e=0}i=i+1|0;if((h|0)!=(i|0)){continue}break}b=b+e|0;a=a+1|0;I=a&255;if(g>>>0>I>>>0){continue}break}}xa=U+25088|0}function mk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;j=xa-80|0;M=h&65280;N=h&65520;R=(N|0)==65520?4:(M|0)==65280?8:16;a:{b:{if((i&65520)==65520){u=p[19331];O=p[19330];P=p[19329];Q=p[19328];z=p[19351];A=p[19319];B=p[19350];C=p[19318];D=p[19349];E=p[19317];F=p[19348];G=p[19316];H=p[19347];I=p[19315];J=p[19346];K=p[19314];L=p[19345];da=p[19313];ea=p[19344];fa=p[19312];ga=p[19297];ha=p[19296];s=q[j+12>>2];i=q[j+8>>2];n=q[j+4>>2];l=q[j>>2];ia=w(e,3)<<1;W=e<<1;ja=W<<1;e=b;while(1){c:{if(!(h&1)){i=p[a+ia>>1];l=p[a+W>>1];q[j+40>>2]=w(i,B)+w(l,C);q[j+36>>2]=w(i,D)+w(l,E);q[j+32>>2]=w(i,F)+w(l,G);q[j+28>>2]=w(i,H)+w(l,I);q[j+24>>2]=w(i,J)+w(l,K);q[j+20>>2]=w(i,L)+w(l,da);S=w(i,ea)+w(l,fa)|0;q[j+16>>2]=S;T=w(i,z)+w(l,A)|0;q[j+44>>2]=T;i=p[a>>1];k=w(i,ha);n=p[a+ja>>1];l=w(n,Q);U=k-l|0;q[j+76>>2]=U;s=w(n,u);X=k-s|0;q[j+64>>2]=X;Y=k+s|0;q[j+60>>2]=Y;t=w(i,ga);i=w(n,O);Z=t-i|0;q[j+68>>2]=Z;_=i+t|0;q[j+56>>2]=_;n=w(n,P);$=t-n|0;q[j+72>>2]=$;t=n+t|0;q[j+52>>2]=t;aa=k+l|0;q[j+48>>2]=aa;k=U-T|0;p[e+16>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=S+aa|0;p[e>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=t+q[j+20>>2]|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=$-q[j+40>>2]|0;p[e+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;t=q[j+24>>2];k=t+_|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;S=q[j+36>>2];k=Z-S|0;p[e+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;T=q[j+28>>2];k=T+Y|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;U=q[j+32>>2];k=X-U|0;p[e+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=U+q[j+64>>2]|0;p[e+8>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+60>>2]-T|0;p[e+24>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=S+q[j+68>>2]|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+56>>2]-t|0;p[e+26>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break c}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;m=m+1|0;if((R|0)!=(m|0)){continue}break}q[j+12>>2]=s;q[j+8>>2]=i;q[j+4>>2]=n;q[j>>2]=l;if((N|0)==65520){k=p[19331];t=p[19330];u=p[19329];M=p[19328];N=p[19351];R=p[19319];O=p[19350];P=p[19318];Q=p[19349];z=p[19317];A=p[19348];B=p[19316];C=p[19347];D=p[19315];E=p[19346];F=p[19314];G=p[19345];H=p[19313];I=p[19344];J=p[19312];K=p[19297];L=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,N)+w(e,R);q[j+40>>2]=w(a,O)+w(e,P);q[j+36>>2]=w(a,Q)+w(e,z);q[j+32>>2]=w(a,A)+w(e,B);q[j+28>>2]=w(a,C)+w(e,D);q[j+24>>2]=w(a,E)+w(e,F);q[j+20>>2]=w(a,G)+w(e,H);q[j+16>>2]=w(a,I)+w(e,J);a=p[b+64>>1];i=w(a,u);q[j+4>>2]=i;n=w(a,t);q[j+8>>2]=n;s=w(a,M);q[j>>2]=s;m=w(a,k);q[j+12>>2]=m;h=p[b>>1];a=w(h,L);q[j+64>>2]=a-m;e=a+s|0;q[j+48>>2]=e;h=w(h,K);q[j+68>>2]=h-n;q[j+52>>2]=h+i;q[j+72>>2]=h-i;q[j+56>>2]=h+n;q[j+76>>2]=a-s;q[j+60>>2]=a+m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((M|0)==65280){break b}u=p[19523];M=p[19459];N=p[19395];R=p[19331];O=p[19522];P=p[19458];Q=p[19394];z=p[19330];A=p[19521];B=p[19457];C=p[19393];D=p[19329];E=p[19520];F=p[19456];G=p[19392];H=p[19328];I=p[19543];J=p[19511];K=p[19479];L=p[19447];da=p[19415];ea=p[19383];fa=p[19351];ga=p[19319];ha=p[19542];ia=p[19510];W=p[19478];ja=p[19446];S=p[19414];T=p[19382];U=p[19350];X=p[19318];Y=p[19541];Z=p[19509];_=p[19477];$=p[19445];aa=p[19413];oa=p[19381];pa=p[19349];qa=p[19317];v=p[19540];x=p[19508];y=p[19476];ba=p[19444];ca=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ua=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ka=p[19379];la=p[19347];ma=p[19315];sa=p[19538];na=p[19506];ta=p[19474];va=p[19442];wa=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];n=p[b+288>>1];s=p[b+352>>1];m=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,fa)+w(e,ga)|0)+w(h,ea)|0)+w(l,da)|0)+w(n,L)|0)+w(s,K)|0)+w(m,J)|0)+w(k,I);q[j+40>>2]=((((((w(a,U)+w(e,X)|0)+w(h,T)|0)+w(l,S)|0)+w(n,ja)|0)+w(s,W)|0)+w(m,ia)|0)+w(k,ha);q[j+36>>2]=((((((w(a,pa)+w(e,qa)|0)+w(h,oa)|0)+w(l,aa)|0)+w(n,$)|0)+w(s,_)|0)+w(m,Z)|0)+w(k,Y);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,ca)|0)+w(n,ba)|0)+w(s,y)|0)+w(m,x)|0)+w(k,v);q[j+28>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(l,Ga)|0)+w(n,Fa)|0)+w(s,Ea)|0)+w(m,ua)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,wa)|0)+w(n,va)|0)+w(s,ta)|0)+w(m,na)|0)+w(k,sa);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(n,Oa)|0)+w(s,Na)|0)+w(m,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(n,Wa)|0)+w(s,Va)|0)+w(m,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];n=((w(a,C)+w(e,D)|0)+w(h,B)|0)+w(l,A)|0;q[j+4>>2]=n;s=((w(a,Q)+w(e,z)|0)+w(h,P)|0)+w(l,O)|0;q[j+8>>2]=s;m=((w(a,G)+w(e,H)|0)+w(h,F)|0)+w(l,E)|0;q[j>>2]=m;a=((w(a,N)+w(e,R)|0)+w(h,M)|0)+w(l,u)|0;q[j+12>>2]=a;h=p[b+256>>1];l=p[b>>1];e=w(h,db)+w(l,eb)|0;k=p[b+384>>1];ya=p[b+128>>1];V=w(k,fb)+w(ya,t)|0;za=e-V|0;q[j+64>>2]=za-a;V=e+V|0;e=V+m|0;q[j+48>>2]=e;h=w(h,$a)+w(l,ab)|0;l=w(k,bb)+w(cb,ya)|0;k=h-l|0;q[j+68>>2]=k-s;h=h+l|0;q[j+52>>2]=h+n;q[j+72>>2]=h-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;q[j+76>>2]=V-m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}O=w(e,7);P=w(e,5);Q=w(e,3);if((i&65280)!=65280){z=p[19523];A=p[19459];B=p[19395];C=p[19331];D=p[19522];E=p[19458];F=p[19394];G=p[19330];H=p[19521];I=p[19457];J=p[19393];K=p[19329];L=p[19520];da=p[19456];ea=p[19392];fa=p[19328];ga=p[19543];ha=p[19511];ia=p[19479];W=p[19447];ja=p[19415];S=p[19383];T=p[19351];U=p[19319];X=p[19542];Y=p[19510];Z=p[19478];_=p[19446];$=p[19414];aa=p[19382];oa=p[19350];pa=p[19318];qa=p[19541];v=p[19509];x=p[19477];y=p[19445];ba=p[19413];ca=p[19381];Aa=p[19349];Ba=p[19317];Ca=p[19540];Da=p[19508];ua=p[19476];Ea=p[19444];Fa=p[19412];Ga=p[19380];ka=p[19348];la=p[19316];ma=p[19539];sa=p[19507];na=p[19475];ta=p[19443];va=p[19411];wa=p[19379];Ia=p[19347];Ja=p[19315];Ka=p[19538];La=p[19506];Ma=p[19474];Na=p[19442];Oa=p[19410];Pa=p[19378];Qa=p[19346];Ra=p[19314];Sa=p[19537];Ta=p[19505];Ua=p[19473];Va=p[19441];Wa=p[19409];Xa=p[19377];Ya=p[19345];Za=p[19313];_a=p[19536];$a=p[19504];ab=p[19472];bb=p[19440];cb=p[19408];db=p[19376];eb=p[19344];fb=p[19312];ya=p[19425];V=p[19297];za=p[19489];nb=p[19361];ob=p[19424];pb=p[19296];qb=p[19488];rb=p[19360];s=q[j+12>>2];i=q[j+8>>2];l=q[j+4>>2];n=q[j>>2];sb=w(e,9)<<1;tb=w(e,11)<<1;ub=w(e,13)<<1;vb=w(e,15)<<1;wb=e<<3;xb=w(e,12)<<1;yb=e<<4;hb=e<<1;zb=hb<<1;Ab=w(e,6)<<1;Bb=w(e,10)<<1;Cb=w(e,14)<<1;e=b;while(1){d:{if(!(h&1)){i=p[(Q<<1)+a>>1];l=p[a+hb>>1];n=p[(P<<1)+a>>1];s=p[(O<<1)+a>>1];m=p[a+sb>>1];k=p[a+tb>>1];t=p[a+ub>>1];u=p[a+vb>>1];q[j+44>>2]=((((((w(i,T)+w(l,U)|0)+w(n,S)|0)+w(s,ja)|0)+w(m,W)|0)+w(k,ia)|0)+w(t,ha)|0)+w(u,ga);q[j+40>>2]=((((((w(i,oa)+w(l,pa)|0)+w(n,aa)|0)+w(s,$)|0)+w(m,_)|0)+w(k,Z)|0)+w(t,Y)|0)+w(u,X);q[j+36>>2]=((((((w(i,Aa)+w(l,Ba)|0)+w(n,ca)|0)+w(s,ba)|0)+w(m,y)|0)+w(k,x)|0)+w(t,v)|0)+w(u,qa);q[j+32>>2]=((((((w(i,ka)+w(l,la)|0)+w(n,Ga)|0)+w(s,Fa)|0)+w(m,Ea)|0)+w(k,ua)|0)+w(t,Da)|0)+w(u,Ca);q[j+28>>2]=((((((w(i,Ia)+w(l,Ja)|0)+w(n,wa)|0)+w(s,va)|0)+w(m,ta)|0)+w(k,na)|0)+w(t,sa)|0)+w(u,ma);q[j+24>>2]=((((((w(i,Qa)+w(l,Ra)|0)+w(n,Pa)|0)+w(s,Oa)|0)+w(m,Na)|0)+w(k,Ma)|0)+w(t,La)|0)+w(u,Ka);q[j+20>>2]=((((((w(i,Ya)+w(l,Za)|0)+w(n,Xa)|0)+w(s,Wa)|0)+w(m,Va)|0)+w(k,Ua)|0)+w(t,Ta)|0)+w(u,Sa);q[j+16>>2]=((((((w(i,eb)+w(l,fb)|0)+w(n,db)|0)+w(s,cb)|0)+w(m,bb)|0)+w(k,ab)|0)+w(t,$a)|0)+w(u,_a);i=p[a+yb>>1];l=p[a>>1];u=w(i,ob)+w(l,pb)|0;ra=p[a+xb>>1];Ha=p[a+wb>>1];ib=w(ra,qb)+w(Ha,rb)|0;gb=u-ib|0;n=p[a+Ab>>1];m=p[a+zb>>1];k=p[a+Bb>>1];t=p[a+Cb>>1];s=((w(n,B)+w(m,C)|0)+w(k,A)|0)+w(t,z)|0;jb=gb-s|0;q[j+64>>2]=jb;gb=s+gb|0;q[j+60>>2]=gb;l=w(i,ya)+w(l,V)|0;ra=w(ra,za)+w(Ha,nb)|0;Ha=l-ra|0;i=((w(n,F)+w(m,G)|0)+w(k,E)|0)+w(t,D)|0;kb=Ha-i|0;q[j+68>>2]=kb;Ha=i+Ha|0;q[j+56>>2]=Ha;ra=l+ra|0;l=((w(n,J)+w(m,K)|0)+w(k,I)|0)+w(t,H)|0;lb=ra-l|0;q[j+72>>2]=lb;ra=l+ra|0;q[j+52>>2]=ra;u=u+ib|0;n=((w(n,ea)+w(m,fa)|0)+w(k,da)|0)+w(t,L)|0;k=u-n|0;q[j+76>>2]=k;m=n+u|0;q[j+48>>2]=m;m=m+q[j+16>>2]|0;p[e>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=k-q[j+44>>2]|0;p[e+16>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=ra+q[j+20>>2]|0;p[e+2>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=lb-q[j+40>>2]|0;p[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;k=q[j+24>>2];m=k+Ha|0;p[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;t=q[j+36>>2];m=kb-t|0;p[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;u=q[j+28>>2];m=u+gb|0;p[e+6>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;ra=q[j+32>>2];m=jb-ra|0;p[e+22>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=ra+q[j+64>>2]|0;p[e+8>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+60>>2]-u|0;p[e+24>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=t+q[j+68>>2]|0;p[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+56>>2]-k|0;p[e+26>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;m=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;break d}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;mb=mb+1|0;if((R|0)!=(mb|0)){continue}break}q[j+12>>2]=s;q[j+8>>2]=i;q[j+4>>2]=l;q[j>>2]=n;if((N|0)==65520){k=p[19331];t=p[19330];u=p[19329];M=p[19328];N=p[19351];R=p[19319];O=p[19350];P=p[19318];Q=p[19349];z=p[19317];A=p[19348];B=p[19316];C=p[19347];D=p[19315];E=p[19346];F=p[19314];G=p[19345];H=p[19313];I=p[19344];J=p[19312];K=p[19297];L=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,N)+w(e,R);q[j+40>>2]=w(a,O)+w(e,P);q[j+36>>2]=w(a,Q)+w(e,z);q[j+32>>2]=w(a,A)+w(e,B);q[j+28>>2]=w(a,C)+w(e,D);q[j+24>>2]=w(a,E)+w(e,F);q[j+20>>2]=w(a,G)+w(e,H);q[j+16>>2]=w(a,I)+w(e,J);a=p[b+64>>1];i=w(a,u);q[j+4>>2]=i;n=w(a,t);q[j+8>>2]=n;s=w(a,M);q[j>>2]=s;m=w(a,k);q[j+12>>2]=m;h=p[b>>1];a=w(h,L);q[j+64>>2]=a-m;e=a+s|0;q[j+48>>2]=e;h=w(h,K);q[j+68>>2]=h-n;q[j+52>>2]=h+i;q[j+72>>2]=h-i;q[j+56>>2]=h+n;q[j+76>>2]=a-s;q[j+60>>2]=a+m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((M|0)!=65280){u=p[19523];M=p[19459];N=p[19395];R=p[19331];O=p[19522];P=p[19458];Q=p[19394];z=p[19330];A=p[19521];B=p[19457];C=p[19393];D=p[19329];E=p[19520];F=p[19456];G=p[19392];H=p[19328];I=p[19543];J=p[19511];K=p[19479];L=p[19447];da=p[19415];ea=p[19383];fa=p[19351];ga=p[19319];ha=p[19542];ia=p[19510];W=p[19478];ja=p[19446];S=p[19414];T=p[19382];U=p[19350];X=p[19318];Y=p[19541];Z=p[19509];_=p[19477];$=p[19445];aa=p[19413];oa=p[19381];pa=p[19349];qa=p[19317];v=p[19540];x=p[19508];y=p[19476];ba=p[19444];ca=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ua=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ka=p[19379];la=p[19347];ma=p[19315];sa=p[19538];na=p[19506];ta=p[19474];va=p[19442];wa=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];n=p[b+288>>1];s=p[b+352>>1];m=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,fa)+w(e,ga)|0)+w(h,ea)|0)+w(l,da)|0)+w(n,L)|0)+w(s,K)|0)+w(m,J)|0)+w(k,I);q[j+40>>2]=((((((w(a,U)+w(e,X)|0)+w(h,T)|0)+w(l,S)|0)+w(n,ja)|0)+w(s,W)|0)+w(m,ia)|0)+w(k,ha);q[j+36>>2]=((((((w(a,pa)+w(e,qa)|0)+w(h,oa)|0)+w(l,aa)|0)+w(n,$)|0)+w(s,_)|0)+w(m,Z)|0)+w(k,Y);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,ca)|0)+w(n,ba)|0)+w(s,y)|0)+w(m,x)|0)+w(k,v);q[j+28>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(l,Ga)|0)+w(n,Fa)|0)+w(s,Ea)|0)+w(m,ua)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,wa)|0)+w(n,va)|0)+w(s,ta)|0)+w(m,na)|0)+w(k,sa);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(n,Oa)|0)+w(s,Na)|0)+w(m,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(n,Wa)|0)+w(s,Va)|0)+w(m,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];n=((w(a,C)+w(e,D)|0)+w(h,B)|0)+w(l,A)|0;q[j+4>>2]=n;s=((w(a,Q)+w(e,z)|0)+w(h,P)|0)+w(l,O)|0;q[j+8>>2]=s;m=((w(a,G)+w(e,H)|0)+w(h,F)|0)+w(l,E)|0;q[j>>2]=m;a=((w(a,N)+w(e,R)|0)+w(h,M)|0)+w(l,u)|0;q[j+12>>2]=a;h=p[b+256>>1];l=p[b>>1];e=w(h,db)+w(l,eb)|0;k=p[b+384>>1];ya=p[b+128>>1];V=w(k,fb)+w(ya,t)|0;za=e-V|0;q[j+64>>2]=za-a;V=e+V|0;e=V+m|0;q[j+48>>2]=e;h=w(h,$a)+w(l,ab)|0;l=w(k,bb)+w(cb,ya)|0;k=h-l|0;q[j+68>>2]=k-s;h=h+l|0;q[j+52>>2]=h+n;q[j+72>>2]=h-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;q[j+76>>2]=V-m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}s=p[19395];m=p[19331];k=p[19394];u=p[19330];M=p[19393];N=p[19329];R=p[19392];O=p[19328];P=p[19415];Q=p[19383];z=p[19351];A=p[19319];B=p[19414];C=p[19382];D=p[19350];E=p[19318];F=p[19413];G=p[19381];H=p[19349];I=p[19317];J=p[19412];K=p[19380];L=p[19348];da=p[19316];ea=p[19411];fa=p[19379];ga=p[19347];ha=p[19315];ia=p[19410];W=p[19378];ja=p[19346];S=p[19314];T=p[19409];U=p[19377];X=p[19345];Y=p[19313];Z=p[19408];_=p[19376];$=p[19344];aa=p[19312];oa=p[19297];pa=p[19361];qa=p[19296];h=0;while(1){a=p[b+96>>1];e=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(a,z)+w(e,A)|0)+w(i,Q)|0)+w(l,P);q[j+40>>2]=((w(a,D)+w(e,E)|0)+w(i,C)|0)+w(l,B);q[j+36>>2]=((w(a,H)+w(e,I)|0)+w(i,G)|0)+w(l,F);q[j+32>>2]=((w(a,L)+w(e,da)|0)+w(i,K)|0)+w(l,J);q[j+28>>2]=((w(a,ga)+w(e,ha)|0)+w(i,fa)|0)+w(l,ea);q[j+24>>2]=((w(a,ja)+w(e,S)|0)+w(i,W)|0)+w(l,ia);q[j+20>>2]=((w(a,X)+w(e,Y)|0)+w(i,U)|0)+w(l,T);q[j+16>>2]=((w(a,$)+w(e,aa)|0)+w(i,_)|0)+w(l,Z);a=p[b+192>>1];e=p[b+64>>1];i=w(a,M)+w(e,N)|0;q[j+4>>2]=i;l=w(a,k)+w(e,u)|0;q[j+8>>2]=l;n=w(a,R)+w(e,O)|0;q[j>>2]=n;a=w(a,s)+w(e,m)|0;q[j+12>>2]=a;v=p[b>>1];e=w(v,qa);x=p[b+128>>1];y=w(x,t);ba=e-y|0;q[j+64>>2]=ba-a;y=e+y|0;e=y+n|0;q[j+48>>2]=e;v=w(v,oa);x=w(x,pa);ca=v-x|0;q[j+68>>2]=ca-l;v=v+x|0;q[j+52>>2]=v+i;q[j+72>>2]=v-i;q[j+56>>2]=l+ca;q[j+76>>2]=y-n;q[j+60>>2]=a+ba;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;i=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[i+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+i|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=16){continue}break}break a}t=p[19395];u=p[19331];z=p[19394];A=p[19330];B=p[19393];C=p[19329];D=p[19392];E=p[19328];F=p[19415];G=p[19383];H=p[19351];I=p[19319];J=p[19414];K=p[19382];L=p[19350];da=p[19318];ea=p[19413];fa=p[19381];ga=p[19349];ha=p[19317];ia=p[19412];W=p[19380];ja=p[19348];S=p[19316];T=p[19411];U=p[19379];X=p[19347];Y=p[19315];Z=p[19410];_=p[19378];$=p[19346];aa=p[19314];oa=p[19409];pa=p[19377];qa=p[19345];v=p[19313];x=p[19408];y=p[19376];ba=p[19344];ca=p[19312];Aa=p[19297];Ba=p[19361];Ca=p[19296];Da=p[19360];m=q[j+12>>2];l=q[j+8>>2];i=q[j+4>>2];n=q[j>>2];ua=e<<1;Ea=ua<<1;Fa=w(e,6)<<1;Ga=e<<3;e=b;while(1){e:{if(!(h&1)){i=p[(Q<<1)+a>>1];l=p[a+ua>>1];n=p[(P<<1)+a>>1];m=p[(O<<1)+a>>1];q[j+44>>2]=((w(i,H)+w(l,I)|0)+w(n,G)|0)+w(m,F);q[j+40>>2]=((w(i,L)+w(l,da)|0)+w(n,K)|0)+w(m,J);q[j+36>>2]=((w(i,ga)+w(l,ha)|0)+w(n,fa)|0)+w(m,ea);q[j+32>>2]=((w(i,ja)+w(l,S)|0)+w(n,W)|0)+w(m,ia);q[j+28>>2]=((w(i,X)+w(l,Y)|0)+w(n,U)|0)+w(m,T);q[j+24>>2]=((w(i,$)+w(l,aa)|0)+w(n,_)|0)+w(m,Z);q[j+20>>2]=((w(i,qa)+w(l,v)|0)+w(n,pa)|0)+w(m,oa);q[j+16>>2]=((w(i,ba)+w(l,ca)|0)+w(n,y)|0)+w(m,x);i=p[a>>1];ka=w(i,Ca);l=p[a+Ga>>1];la=w(l,Da);ma=ka-la|0;n=p[a+Fa>>1];k=p[a+Ea>>1];m=w(n,t)+w(k,u)|0;sa=ma-m|0;q[j+64>>2]=sa;ma=m+ma|0;q[j+60>>2]=ma;i=w(i,Aa);na=w(l,Ba);ta=i-na|0;l=w(n,z)+w(k,A)|0;va=ta-l|0;q[j+68>>2]=va;ta=l+ta|0;q[j+56>>2]=ta;na=i+na|0;i=w(n,B)+w(k,C)|0;wa=na-i|0;q[j+72>>2]=wa;na=i+na|0;q[j+52>>2]=na;ka=ka+la|0;n=w(n,D)+w(k,E)|0;la=ka-n|0;q[j+76>>2]=la;k=n+ka|0;q[j+48>>2]=k;k=k+q[j+16>>2]|0;p[e>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=la-q[j+44>>2]|0;p[e+16>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=na+q[j+20>>2]|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=wa-q[j+40>>2]|0;p[e+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;ka=q[j+24>>2];k=ka+ta|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;la=q[j+36>>2];k=va-la|0;p[e+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=ma;ma=q[j+28>>2];k=k+ma|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=sa;sa=q[j+32>>2];k=k-sa|0;p[e+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=sa+q[j+64>>2]|0;p[e+8>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+60>>2]-ma|0;p[e+24>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=la+q[j+68>>2]|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+56>>2]-ka|0;p[e+26>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+40>>2]+q[j+72>>2]|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+52>>2]-q[j+20>>2]|0;p[e+28>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+44>>2]+q[j+76>>2]|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=q[j+48>>2]-q[j+16>>2]|0;p[e+30>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break e}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+24>>1]=0;p[e+26>>1]=0;p[e+28>>1]=0;p[e+30>>1]=0;p[e+16>>1]=0;p[e+18>>1]=0;p[e+20>>1]=0;p[e+22>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+32|0;a=a+2|0;s=s+1|0;if((R|0)!=(s|0)){continue}break}q[j+12>>2]=m;q[j+8>>2]=l;q[j+4>>2]=i;q[j>>2]=n;if((N|0)==65520){k=p[19331];t=p[19330];u=p[19329];M=p[19328];N=p[19351];R=p[19319];O=p[19350];P=p[19318];Q=p[19349];z=p[19317];A=p[19348];B=p[19316];C=p[19347];D=p[19315];E=p[19346];F=p[19314];G=p[19345];H=p[19313];I=p[19344];J=p[19312];K=p[19297];L=p[19296];l=0;while(1){a=p[b+96>>1];e=p[b+32>>1];q[j+44>>2]=w(a,N)+w(e,R);q[j+40>>2]=w(a,O)+w(e,P);q[j+36>>2]=w(a,Q)+w(e,z);q[j+32>>2]=w(a,A)+w(e,B);q[j+28>>2]=w(a,C)+w(e,D);q[j+24>>2]=w(a,E)+w(e,F);q[j+20>>2]=w(a,G)+w(e,H);q[j+16>>2]=w(a,I)+w(e,J);a=p[b+64>>1];i=w(a,u);q[j+4>>2]=i;n=w(a,t);q[j+8>>2]=n;s=w(a,M);q[j>>2]=s;m=w(a,k);q[j+12>>2]=m;h=p[b>>1];a=w(h,L);q[j+64>>2]=a-m;e=a+s|0;q[j+48>>2]=e;h=w(h,K);q[j+68>>2]=h-n;q[j+52>>2]=h+i;q[j+72>>2]=h-i;q[j+56>>2]=h+n;q[j+76>>2]=a-s;q[j+60>>2]=a+m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;l=l+1|0;if((l|0)!=16){continue}break}break a}t=p[19360];if((M|0)!=65280){u=p[19523];M=p[19459];N=p[19395];R=p[19331];O=p[19522];P=p[19458];Q=p[19394];z=p[19330];A=p[19521];B=p[19457];C=p[19393];D=p[19329];E=p[19520];F=p[19456];G=p[19392];H=p[19328];I=p[19543];J=p[19511];K=p[19479];L=p[19447];da=p[19415];ea=p[19383];fa=p[19351];ga=p[19319];ha=p[19542];ia=p[19510];W=p[19478];ja=p[19446];S=p[19414];T=p[19382];U=p[19350];X=p[19318];Y=p[19541];Z=p[19509];_=p[19477];$=p[19445];aa=p[19413];oa=p[19381];pa=p[19349];qa=p[19317];v=p[19540];x=p[19508];y=p[19476];ba=p[19444];ca=p[19412];Aa=p[19380];Ba=p[19348];Ca=p[19316];Da=p[19539];ua=p[19507];Ea=p[19475];Fa=p[19443];Ga=p[19411];ka=p[19379];la=p[19347];ma=p[19315];sa=p[19538];na=p[19506];ta=p[19474];va=p[19442];wa=p[19410];Ia=p[19378];Ja=p[19346];Ka=p[19314];La=p[19537];Ma=p[19505];Na=p[19473];Oa=p[19441];Pa=p[19409];Qa=p[19377];Ra=p[19345];Sa=p[19313];Ta=p[19536];Ua=p[19504];Va=p[19472];Wa=p[19440];Xa=p[19408];Ya=p[19376];Za=p[19344];_a=p[19312];$a=p[19425];ab=p[19297];bb=p[19489];cb=p[19361];db=p[19424];eb=p[19296];fb=p[19488];i=0;while(1){a=p[b+96>>1];e=p[b+32>>1];h=p[b+160>>1];l=p[b+224>>1];n=p[b+288>>1];s=p[b+352>>1];m=p[b+416>>1];k=p[b+480>>1];q[j+44>>2]=((((((w(a,fa)+w(e,ga)|0)+w(h,ea)|0)+w(l,da)|0)+w(n,L)|0)+w(s,K)|0)+w(m,J)|0)+w(k,I);q[j+40>>2]=((((((w(a,U)+w(e,X)|0)+w(h,T)|0)+w(l,S)|0)+w(n,ja)|0)+w(s,W)|0)+w(m,ia)|0)+w(k,ha);q[j+36>>2]=((((((w(a,pa)+w(e,qa)|0)+w(h,oa)|0)+w(l,aa)|0)+w(n,$)|0)+w(s,_)|0)+w(m,Z)|0)+w(k,Y);q[j+32>>2]=((((((w(a,Ba)+w(e,Ca)|0)+w(h,Aa)|0)+w(l,ca)|0)+w(n,ba)|0)+w(s,y)|0)+w(m,x)|0)+w(k,v);q[j+28>>2]=((((((w(a,la)+w(e,ma)|0)+w(h,ka)|0)+w(l,Ga)|0)+w(n,Fa)|0)+w(s,Ea)|0)+w(m,ua)|0)+w(k,Da);q[j+24>>2]=((((((w(a,Ja)+w(e,Ka)|0)+w(h,Ia)|0)+w(l,wa)|0)+w(n,va)|0)+w(s,ta)|0)+w(m,na)|0)+w(k,sa);q[j+20>>2]=((((((w(a,Ra)+w(e,Sa)|0)+w(h,Qa)|0)+w(l,Pa)|0)+w(n,Oa)|0)+w(s,Na)|0)+w(m,Ma)|0)+w(k,La);q[j+16>>2]=((((((w(a,Za)+w(e,_a)|0)+w(h,Ya)|0)+w(l,Xa)|0)+w(n,Wa)|0)+w(s,Va)|0)+w(m,Ua)|0)+w(k,Ta);a=p[b+192>>1];e=p[b+64>>1];h=p[b+320>>1];l=p[b+448>>1];n=((w(a,C)+w(e,D)|0)+w(h,B)|0)+w(l,A)|0;q[j+4>>2]=n;s=((w(a,Q)+w(e,z)|0)+w(h,P)|0)+w(l,O)|0;q[j+8>>2]=s;m=((w(a,G)+w(e,H)|0)+w(h,F)|0)+w(l,E)|0;q[j>>2]=m;a=((w(a,N)+w(e,R)|0)+w(h,M)|0)+w(l,u)|0;q[j+12>>2]=a;h=p[b+256>>1];l=p[b>>1];e=w(h,db)+w(l,eb)|0;k=p[b+384>>1];ya=p[b+128>>1];V=w(k,fb)+w(ya,t)|0;za=e-V|0;q[j+64>>2]=za-a;V=e+V|0;e=V+m|0;q[j+48>>2]=e;h=w(h,$a)+w(l,ab)|0;l=w(k,bb)+w(cb,ya)|0;k=h-l|0;q[j+68>>2]=k-s;h=h+l|0;q[j+52>>2]=h+n;q[j+72>>2]=h-n;q[j+56>>2]=k+s;q[j+60>>2]=a+za;q[j+76>>2]=V-m;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;h=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[h+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+h|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;i=i+1|0;if((i|0)!=16){continue}break}break a}s=p[19395];m=p[19331];k=p[19394];u=p[19330];M=p[19393];N=p[19329];R=p[19392];O=p[19328];P=p[19415];Q=p[19383];z=p[19351];A=p[19319];B=p[19414];C=p[19382];D=p[19350];E=p[19318];F=p[19413];G=p[19381];H=p[19349];I=p[19317];J=p[19412];K=p[19380];L=p[19348];da=p[19316];ea=p[19411];fa=p[19379];ga=p[19347];ha=p[19315];ia=p[19410];W=p[19378];ja=p[19346];S=p[19314];T=p[19409];U=p[19377];X=p[19345];Y=p[19313];Z=p[19408];_=p[19376];$=p[19344];aa=p[19312];oa=p[19297];pa=p[19361];qa=p[19296];h=0;while(1){a=p[b+96>>1];e=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(a,z)+w(e,A)|0)+w(i,Q)|0)+w(l,P);q[j+40>>2]=((w(a,D)+w(e,E)|0)+w(i,C)|0)+w(l,B);q[j+36>>2]=((w(a,H)+w(e,I)|0)+w(i,G)|0)+w(l,F);q[j+32>>2]=((w(a,L)+w(e,da)|0)+w(i,K)|0)+w(l,J);q[j+28>>2]=((w(a,ga)+w(e,ha)|0)+w(i,fa)|0)+w(l,ea);q[j+24>>2]=((w(a,ja)+w(e,S)|0)+w(i,W)|0)+w(l,ia);q[j+20>>2]=((w(a,X)+w(e,Y)|0)+w(i,U)|0)+w(l,T);q[j+16>>2]=((w(a,$)+w(e,aa)|0)+w(i,_)|0)+w(l,Z);a=p[b+192>>1];e=p[b+64>>1];i=w(a,M)+w(e,N)|0;q[j+4>>2]=i;l=w(a,k)+w(e,u)|0;q[j+8>>2]=l;n=w(a,R)+w(e,O)|0;q[j>>2]=n;a=w(a,s)+w(e,m)|0;q[j+12>>2]=a;v=p[b>>1];e=w(v,qa);x=p[b+128>>1];y=w(x,t);ba=e-y|0;q[j+64>>2]=ba-a;y=e+y|0;e=y+n|0;q[j+48>>2]=e;v=w(v,oa);x=w(x,pa);ca=v-x|0;q[j+68>>2]=ca-l;v=v+x|0;q[j+52>>2]=v+i;q[j+72>>2]=v-i;q[j+56>>2]=l+ca;q[j+76>>2]=y-n;q[j+60>>2]=a+ba;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;i=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[i+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+i|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=16){continue}break}break a}s=p[19395];m=p[19331];k=p[19394];u=p[19330];M=p[19393];N=p[19329];R=p[19392];O=p[19328];P=p[19415];Q=p[19383];z=p[19351];A=p[19319];B=p[19414];C=p[19382];D=p[19350];E=p[19318];F=p[19413];G=p[19381];H=p[19349];I=p[19317];J=p[19412];K=p[19380];L=p[19348];da=p[19316];ea=p[19411];fa=p[19379];ga=p[19347];ha=p[19315];ia=p[19410];W=p[19378];ja=p[19346];S=p[19314];T=p[19409];U=p[19377];X=p[19345];Y=p[19313];Z=p[19408];_=p[19376];$=p[19344];aa=p[19312];oa=p[19297];pa=p[19361];qa=p[19296];h=0;while(1){a=p[b+96>>1];e=p[b+32>>1];i=p[b+160>>1];l=p[b+224>>1];q[j+44>>2]=((w(a,z)+w(e,A)|0)+w(i,Q)|0)+w(l,P);q[j+40>>2]=((w(a,D)+w(e,E)|0)+w(i,C)|0)+w(l,B);q[j+36>>2]=((w(a,H)+w(e,I)|0)+w(i,G)|0)+w(l,F);q[j+32>>2]=((w(a,L)+w(e,da)|0)+w(i,K)|0)+w(l,J);q[j+28>>2]=((w(a,ga)+w(e,ha)|0)+w(i,fa)|0)+w(l,ea);q[j+24>>2]=((w(a,ja)+w(e,S)|0)+w(i,W)|0)+w(l,ia);q[j+20>>2]=((w(a,X)+w(e,Y)|0)+w(i,U)|0)+w(l,T);q[j+16>>2]=((w(a,$)+w(e,aa)|0)+w(i,_)|0)+w(l,Z);a=p[b+192>>1];e=p[b+64>>1];i=w(a,M)+w(e,N)|0;q[j+4>>2]=i;l=w(a,k)+w(e,u)|0;q[j+8>>2]=l;n=w(a,R)+w(e,O)|0;q[j>>2]=n;a=w(a,s)+w(e,m)|0;q[j+12>>2]=a;v=p[b>>1];e=w(v,qa);x=p[b+128>>1];y=w(x,t);ba=e-y|0;q[j+64>>2]=ba-a;y=e+y|0;e=y+n|0;q[j+48>>2]=e;v=w(v,oa);x=w(x,pa);ca=v-x|0;q[j+68>>2]=ca-l;v=v+x|0;q[j+52>>2]=v+i;q[j+72>>2]=v-i;q[j+56>>2]=l+ca;q[j+76>>2]=y-n;q[j+60>>2]=a+ba;a=0;while(1){e=q[(j+16|0)+(a<<2)>>2]+e|0;e=r[a+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[a+d|0]=(e|0)<255?e:255;i=a+8|0;e=7-a<<2;e=q[e+(j+48|0)>>2]-q[e+(j+16|0)>>2]|0;e=r[i+c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+i|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=8){e=q[(j+48|0)+(a<<2)>>2];continue}break}d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=16){continue}break}}}function Dk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=6;b=kl(e+ -4|0,30);if(b>>>0<=3){h=q[(b<<2)+30916>>2]}i=e<<1;if((i|0)>(e|0)){b=e;while(1){g=r[a+b|0]+g|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}f=i|1;j=w(e,3);if((f|0)<=(j|0)){b=f;while(1){g=r[a+b|0]+g|0;k=(b|0)!=(j|0);b=b+1|0;if(k){continue}break}}h=e+g>>h;if((e|0)==32){a=il(h&255,0,16843009,16843009);b=a;o[c+24|0]=b;o[c+25|0]=b>>>8;o[c+26|0]=b>>>16;o[c+27|0]=b>>>24;e=ya;o[c+28|0]=e;o[c+29|0]=e>>>8;o[c+30|0]=e>>>16;o[c+31|0]=e>>>24;o[c+16|0]=b;o[c+17|0]=b>>>8;o[c+18|0]=b>>>16;o[c+19|0]=b>>>24;o[c+20|0]=e;o[c+21|0]=e>>>8;o[c+22|0]=e>>>16;o[c+23|0]=e>>>24;o[c+8|0]=b;o[c+9|0]=b>>>8;o[c+10|0]=b>>>16;o[c+11|0]=b>>>24;o[c+12|0]=e;o[c+13|0]=e>>>8;o[c+14|0]=e>>>16;o[c+15|0]=e>>>24;o[c|0]=b;o[c+1|0]=b>>>8;o[c+2|0]=b>>>16;o[c+3|0]=b>>>24;o[c+4|0]=e;o[c+5|0]=e>>>8;o[c+6|0]=e>>>16;o[c+7|0]=e>>>24;f=c+d|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=(d<<1)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,3)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=(d<<2)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,5)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,6)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,7)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=(d<<3)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,9)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,10)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,11)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,12)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,13)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,14)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,15)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=(d<<4)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,17)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,18)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,19)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,20)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,21)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,22)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,23)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,24)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,25)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,26)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,27)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,28)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,29)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;f=w(d,30)+c|0;o[f+24|0]=b;o[f+25|0]=b>>>8;o[f+26|0]=b>>>16;o[f+27|0]=b>>>24;o[f+28|0]=e;o[f+29|0]=e>>>8;o[f+30|0]=e>>>16;o[f+31|0]=e>>>24;o[f+16|0]=b;o[f+17|0]=b>>>8;o[f+18|0]=b>>>16;o[f+19|0]=b>>>24;o[f+20|0]=e;o[f+21|0]=e>>>8;o[f+22|0]=e>>>16;o[f+23|0]=e>>>24;o[f+8|0]=b;o[f+9|0]=b>>>8;o[f+10|0]=b>>>16;o[f+11|0]=b>>>24;o[f+12|0]=e;o[f+13|0]=e>>>8;o[f+14|0]=e>>>16;o[f+15|0]=e>>>24;o[f|0]=b;o[f+1|0]=b>>>8;o[f+2|0]=b>>>16;o[f+3|0]=b>>>24;o[f+4|0]=e;o[f+5|0]=e>>>8;o[f+6|0]=e>>>16;o[f+7|0]=e>>>24;c=w(d,31)+c|0;o[c+24|0]=b;o[c+25|0]=b>>>8;o[c+26|0]=b>>>16;o[c+27|0]=b>>>24;o[c+28|0]=e;o[c+29|0]=e>>>8;o[c+30|0]=e>>>16;o[c+31|0]=e>>>24;o[c+16|0]=b;o[c+17|0]=b>>>8;o[c+18|0]=b>>>16;o[c+19|0]=b>>>24;o[c+20|0]=e;o[c+21|0]=e>>>8;o[c+22|0]=e>>>16;o[c+23|0]=e>>>24;o[c+8|0]=b;o[c+9|0]=b>>>8;o[c+10|0]=b>>>16;o[c+11|0]=b>>>24;o[c+12|0]=e;o[c+13|0]=e>>>8;o[c+14|0]=e>>>16;o[c+15|0]=e>>>24;o[c|0]=b;o[c+1|0]=b>>>8;o[c+2|0]=b>>>16;o[c+3|0]=b>>>24;o[c+4|0]=e;o[c+5|0]=e>>>8;o[c+6|0]=e>>>16;o[c+7|0]=e>>>24;return}b=1;j=i+ -1|0;o[c|0]=(r[a+f|0]+(r[j+a|0]+(h<<1)|0)|0)+2>>>2;if((e|0)>=2){i=w(h,3)+2|0;while(1){o[b+c|0]=i+r[(b+f|0)+a|0]>>>2;g=1;b=b+1|0;if((e|0)!=(b|0)){continue}break}while(1){o[w(d,g)+c|0]=i+r[(j-g|0)+a|0]>>>2;g=g+1|0;if((g|0)!=(e|0)){continue}break}a=e+ -1|0;b=d+1|0;g=0;while(1){Qa((b+w(d,g)|0)+c|0,h,a);g=g+1|0;if((a|0)!=(g|0)){continue}break}}}function Eh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,w=0;h=xa-16|0;xa=h;l=((q[a+24>>2]-q[a+28>>2]<<3)-q[a+8>>2]|0)+ -32|0;if(d){o[b+53425|0]=d}e=q[a+8>>2];a:{if(e>>>0>=4){d=q[a>>2]<<32-e>>>28|0;break a}d=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}b:{if(r[a+20|0]){break b}if(e>>>0>=5){q[a+8>>2]=e+ -4;break b}Oa(a,4)}if((d&255)==14){e=q[a+8>>2];c:{if(e>>>0>=10){d=q[a>>2]<<32-e>>>22|0;break c}d=q[a>>2]<<10-e&1023|q[a+4>>2]>>>e+22}d:{if(r[a+20|0]){break d}if(e>>>0>=11){q[a+8>>2]=e+ -10;break d}Oa(a,10)}p[b+53428>>1]=d}m=r[b+53434|0];n=r[b+53436|0];t=r[b+53435|0];u=r[b+53433|0];v=r[b+53442|0];w=r[b+53432|0];d=q[a+8>>2];e:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break e}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break e}Oa(a,1)}o[b+53426|0]=e;if(e){q[b+12432>>2]=q[b+12432>>2]+1;f:{g:{d=q[a+8>>2];h:{i:{if(d){e=d+ -1|0;q[a+8>>2]=e;d=q[a>>2]>>>e&1;break i}f=q[a+4>>2];d=f>>>31|0;if(r[a+20|0]){o[b+53431|0]=d;e=0;break h}Oa(a,1);e=q[a+8>>2]}o[b+53431|0]=d;if(e>>>0>3){break g}f=q[a+4>>2]}d=q[a>>2]<<4-e&15|f>>>e+28;break f}d=q[a>>2]<<32-e>>>28|0}j:{if(r[a+20|0]){break j}if(e>>>0>=5){e=e+ -4|0;q[a+8>>2]=e;break j}Oa(a,4);e=q[a+8>>2]}o[b+53432|0]=d;if(e>>>0>=4){d=q[a>>2]<<32-e>>>28|0}else{d=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}k:{if(r[a+20|0]){break k}if(e>>>0>=5){e=e+ -4|0;q[a+8>>2]=e;break k}Oa(a,4);e=q[a+8>>2]}o[b+53433|0]=d;if(e>>>0>=3){d=q[a>>2]<<32-e>>>29|0}else{d=q[a>>2]<<3-e&7|q[a+4>>2]>>>e+29}l:{m:{n:{o:{p:{if(r[a+20|0]){o[b+53434|0]=d;break p}q:{if(e>>>0>=4){e=e+ -3|0;q[a+8>>2]=e;o[b+53434|0]=d;break q}Oa(a,3);f=r[a+20|0];e=q[a+8>>2];o[b+53434|0]=d;if(f){break p}}if(e>>>0>=3){e=e+ -2|0;q[a+8>>2]=e;break o}Oa(a,2);e=q[a+8>>2]}if(!e){break n}}e=e+ -1|0;q[a+8>>2]=e;d=q[a>>2]>>>e&1;break m}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){f=d;break l}Oa(a,1);e=q[a+8>>2]}if(e){e=e+ -1|0;q[a+8>>2]=e;f=q[a>>2]>>>e&1;break l}f=q[a+4>>2]>>>31|0;if(r[a+20|0]){break l}Oa(a,1)}r:{s:{t:{if(d){e=q[a+8>>2];u:{if(e>>>0>=2){d=q[a>>2];g=d<<32-e>>>30|0;break u}d=q[a>>2];g=d<<2-e&3|q[a+4>>2]>>>e+30}v:{w:{x:{y:{if(!r[a+20|0]){if(e>>>0>=3){e=e+ -2|0;q[a+8>>2]=e;o[b+53435|0]=g;break y}Oa(a,2);e=q[a+8>>2]}o[b+53435|0]=g;if(!e){break x}d=q[a>>2]}e=e+ -1|0;q[a+8>>2]=e;d=d>>>e&1;break w}g=q[a+4>>2];d=g>>>31|0;if(r[a+20|0]){o[b+53436|0]=d;e=0;break v}Oa(a,1);e=q[a+8>>2]}o[b+53436|0]=d;if(e>>>0>1){break t}g=q[a+4>>2]}d=q[a>>2]<<2-e&3|g>>>e+30;break s}o[b+53435|0]=258;o[b+53436|0]=1;d=2;break r}d=q[a>>2]<<32-e>>>30|0}if(r[a+20|0]){break r}if(e>>>0>=3){q[a+8>>2]=e+ -2;break r}Oa(a,2)}o[b+53437|0]=d;z:{if(f){e=q[a+8>>2];A:{if(e>>>0>=2){d=q[a>>2]<<32-e>>>30|0;break A}d=q[a>>2]<<2-e&3|q[a+4>>2]>>>e+30}B:{if(r[a+20|0]){break B}if(e>>>0>=3){e=e+ -2|0;q[a+8>>2]=e;break B}Oa(a,2);e=q[a+8>>2]}o[b+53438|0]=d;C:{if(e>>>0>=2){f=q[a>>2];d=f<<32-e>>>30|0;break C}f=q[a>>2];d=f<<2-e&3|q[a+4>>2]>>>e+30}D:{E:{F:{if(!r[a+20|0]){if(e>>>0>=3){e=e+ -2|0;q[a+8>>2]=e;o[b+53439|0]=d;break F}Oa(a,2);e=q[a+8>>2]}o[b+53439|0]=d;if(!e){break E}f=q[a>>2]}d=e+ -1|0;q[a+8>>2]=d;e=f>>>d&1;break D}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){o[b+53440|0]=e;break z}Oa(a,1);d=q[a+8>>2]}o[b+53440|0]=e;if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break z}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break z}Oa(a,1);break z}e=1;o[b+53440|0]=1;p[b+53438>>1]=514}o[b+53441|0]=e}G:{H:{j=r[b+53432|0];i=r[b+53433|0];I:{if((j|0)!=r[b+12412|0]|(i|0)!=r[b+12413|0]){break I}d=r[b+53435|0];if((d|0)!=r[b+12415|0]){break I}f=r[b+53436|0];if((f|0)!=r[b+12416|0]){break I}g=r[b+53434|0];if((g|0)!=r[b+12414|0]){break I}k=r[b+53437|0];if((k|0)==r[b+12417|0]){break H}}o[b+12426|0]=1;k=r[b+53437|0];g=r[b+53434|0];f=r[b+53436|0];d=r[b+53435|0];e=1;break G}o[b+12426|0]=0;e=0}o[b+12416|0]=f;o[b+12415|0]=d;o[b+12413|0]=i;o[b+12412|0]=j;o[b+12417|0]=k;o[b+12414|0]=g;J:{if(!q[b+12432>>2]){d=1;break J}K:{if(!r[b+53426|0]|!r[b+9|0]?!e:0){break K}if(!Fc(b,j,i,r[b+53442|0],d&255,f&255,g&255)){break K}Fc(b,w,u,v,t,n,m)}o[b+8|0]=r[b+53442|0]?2:1;d=r[b+12436|0];if(d>>>0>1){d=0;break J}L:{M:{if(d-1){d=q[a+8>>2];N:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break N}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break N}Oa(a,1)}O:{if(r[a+20|0]|!e){break O}d=q[a+8>>2];if(d>>>0>=5){q[a+8>>2]=d+ -4;break O}Oa(a,4)}d=Yb(a,b,0);if(d){break L}Gb(a,b,0);g=r[b+19|0];if(g){d=0;while(1){f=q[a+8>>2];P:{if(f>>>0>=2){e=q[a>>2]<<32-f>>>30|0;break P}e=q[a>>2]<<2-f&3|q[a+4>>2]>>>f+30}Q:{if(r[a+20|0]){break Q}if(f>>>0>=3){q[a+8>>2]=f+ -2;break Q}Oa(a,2);g=r[b+19|0]}o[(b+d|0)+10976|0]=e;d=d+1|0;if(d>>>0<(g&255)>>>0){continue}break}}Kb(a,b,0);Jb(a,b,0);Hc(b,0);d=b+12205|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12197|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12189|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12181|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12173|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12165|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;d=b+12157|0;o[d|0]=0;o[d+1|0]=0;o[d+2|0]=0;o[d+3|0]=0;o[d+4|0]=0;o[d+5|0]=0;o[d+6|0]=0;o[d+7|0]=0;o[b+12149|0]=0;o[b+12150|0]=0;o[b+12151|0]=0;o[b+12152|0]=0;o[b+12153|0]=0;o[b+12154|0]=0;o[b+12155|0]=0;o[b+12156|0]=0;d=q[a+8>>2];R:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break R}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break R}Oa(a,1)}o[b+53443|0]=e;S:{if(!e){break S}f=r[b+17|0];if(!f){break S}e=0;while(1){d=q[a+8>>2];T:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break T}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break T}Oa(a,1);f=r[b+17|0]}o[(b+e|0)+12149|0]=d;e=e+1|0;if(e>>>0<(f&255)>>>0){continue}break}}d=q[a+8>>2];U:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break U}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break U}Oa(a,1)}o[b+53447|0]=e;if(!e){d=0;break J}e=q[a+8>>2];V:{if(e>>>0>=4){d=q[a>>2]<<32-e>>>28|0;break V}d=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}W:{if(r[a+20|0]){break W}if(e>>>0>=5){q[a+8>>2]=e+ -4;break W}Oa(a,4)}if((d&65535)==15){e=q[a+8>>2];X:{if(e>>>0>=8){d=q[a>>2]<<32-e>>>24|0;break X}d=q[a>>2]<<8-e&255|q[a+4>>2]>>>e+24}Y:{if(r[a+20|0]){break Y}if(e>>>0>=9){q[a+8>>2]=e+ -8;break Y}Oa(a,8)}d=(d&65535)+15|0}f=d<<3;g=0;while(1){i=f&65535;if(i>>>0>=8){d=q[a+8>>2];Z:{if(d>>>0>=2){e=q[a>>2]<<32-d>>>30|0;break Z}e=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}_:{if(r[a+20|0]){break _}if(d>>>0>=3){q[a+8>>2]=d+ -2;break _}Oa(a,2)}o[b+53448|0]=e;$:{if((e&255)!=2){break $}if(!g){g=1;break $}e=3;o[b+53448|0]=3}e=Xd(a,b,e&255)+2|0;d=i>>>0<(e&65535)>>>0;f=f-(d?0:e)|0;if(!d){continue}break M}break}d=0;e=f&65535;if(r[a+20|0]|!e){break J}f=q[a+8>>2];if(f>>>0>e>>>0){q[a+8>>2]=f-e;break J}Oa(a,e);break J}d=q[a+8>>2];aa:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break aa}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break aa}Oa(a,1)}ba:{ca:{da:{ea:{if(e){e=q[a+8>>2];d=e;if(r[a+20|0]){break ea}fa:{if(e>>>0>=5){e=e+ -4|0;q[a+8>>2]=e;break fa}Oa(a,4);e=q[a+8>>2];d=e;if(r[a+20|0]){break ea}}if(e>>>0>=5){e=e+ -4|0;q[a+8>>2]=e;break da}Oa(a,4)}d=q[a+8>>2]}e=d;if(!e){break ca}}d=e+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break ba}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break ba}Oa(a,1)}o[b+53450|0]=e;ga:{if(e){e=0;d=Yb(a,b,0);if(d){break L}o[b+53452|0]=r[b+53451|0];f=r[b+610|0];o[b+611|0]=f;g=r[b+614|0];o[b+615|0]=g;o[b+53508|0]=r[b+53507|0];d=0;while(1){e=b+e|0;o[e+622|0]=r[e+616|0];o[e+640|0]=r[e+634|0];d=d+1|0;e=d&255;if(e>>>0<=f>>>0){continue}break}e=0;d=0;while(1){e=b+e|0;o[e+631|0]=r[e+628|0];d=d+1|0;e=d&255;if(e>>>0<=g>>>0){continue}break}d=0;Gb(a,b,0);Gb(a,b,1);g=r[b+19|0];ha:{if(!g){break ha}while(1){f=q[a+8>>2];ia:{if(f>>>0>=2){e=q[a>>2]<<32-f>>>30|0;break ia}e=q[a>>2]<<2-f&3|q[a+4>>2]>>>f+30}ja:{if(r[a+20|0]){break ja}if(f>>>0>=3){q[a+8>>2]=f+ -2;break ja}Oa(a,2);g=r[b+19|0]}o[(b+d|0)+10976|0]=e;d=d+1|0;f=g&255;if(d>>>0>>0){continue}break}if(!(g&255)){break ha}e=0;while(1){d=b+e|0;o[d+10981|0]=r[d+10976|0];e=e+1|0;if((f|0)!=(e|0)){continue}break}}Kb(a,b,0);Jb(a,b,0);Kb(a,b,1);Jb(a,b,1);Qa(b+12149|0,0,128);d=q[a+8>>2];ka:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break ka}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break ka}Oa(a,1)}o[b+53443|0]=e;la:{if(!e){break la}f=r[b+17|0];if(!f){break la}e=0;while(1){d=q[a+8>>2];ma:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break ma}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break ma}Oa(a,1);f=r[b+17|0]}o[(b+e|0)+12149|0]=d;e=e+1|0;if(e>>>0<(f&255)>>>0){continue}break}}d=q[a+8>>2];na:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break na}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break na}Oa(a,1)}o[b+53444|0]=e;if(!e){break ga}f=r[b+17|0];if(!f){break ga}e=0;while(1){d=q[a+8>>2];oa:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break oa}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break oa}Oa(a,1);f=r[b+17|0]}o[(b+e|0)+12213|0]=d;e=e+1|0;if(e>>>0<(f&255)>>>0){continue}break}break ga}p[h+12>>1]=0;q[h+8>>2]=0;o[h+6|0]=0;p[h+4>>1]=0;g=r[b+53451|0];e=r[b+614|0];f=r[b+610|0];if(f){Sa(h+8|0,b+616|0,f)}if(e){Sa(h+4|0,b+628|0,e)}d=Yb(a,b,0);if(d){break L}d=Yb(a,b,1);if(d){o[b+614|0]=e;o[b+610|0]=f;o[b+53451|0]=g;e=q[h+8>>2];o[b+616|0]=e;o[b+617|0]=e>>>8;o[b+618|0]=e>>>16;o[b+619|0]=e>>>24;e=s[h+12>>1];o[b+620|0]=e;o[b+621|0]=e>>>8;e=s[h+4>>1];o[b+628|0]=e;o[b+629|0]=e>>>8;o[b+630|0]=r[h+6|0];break L}d=0;Gb(a,b,0);Gb(a,b,1);f=r[b+19|0];pa:{if(!f){break pa}while(1){g=q[a+8>>2];qa:{if(g>>>0>=2){e=q[a>>2]<<32-g>>>30|0;break qa}e=q[a>>2]<<2-g&3|q[a+4>>2]>>>g+30}ra:{if(r[a+20|0]){break ra}if(g>>>0>=3){q[a+8>>2]=g+ -2;break ra}Oa(a,2);f=r[b+19|0]}o[(b+d|0)+10976|0]=e;d=d+1|0;if(d>>>0<(f&255)>>>0){continue}break}if(!(f&255)){break pa}d=0;while(1){g=q[a+8>>2];sa:{if(g>>>0>=2){e=q[a>>2]<<32-g>>>30|0;break sa}e=q[a>>2]<<2-g&3|q[a+4>>2]>>>g+30}ta:{if(r[a+20|0]){break ta}if(g>>>0>=3){q[a+8>>2]=g+ -2;break ta}Oa(a,2);f=r[b+19|0]}o[(b+d|0)+10981|0]=e;d=d+1|0;if(d>>>0<(f&255)>>>0){continue}break}}Kb(a,b,0);Kb(a,b,1);Jb(a,b,0);Jb(a,b,1);Qa(b+12149|0,0,128);d=q[a+8>>2];ua:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break ua}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break ua}Oa(a,1)}o[b+53443|0]=e;va:{if(!e){break va}f=r[b+17|0];if(!f){break va}e=0;while(1){d=q[a+8>>2];wa:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break wa}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break wa}Oa(a,1);f=r[b+17|0]}o[(b+e|0)+12149|0]=d;e=e+1|0;if(e>>>0<(f&255)>>>0){continue}break}}d=q[a+8>>2];xa:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break xa}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break xa}Oa(a,1)}o[b+53444|0]=e;if(!e){break ga}f=r[b+17|0];if(!f){break ga}e=0;while(1){d=q[a+8>>2];ya:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break ya}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break ya}Oa(a,1);f=r[b+17|0]}o[(b+e|0)+12213|0]=d;e=e+1|0;if(e>>>0<(f&255)>>>0){continue}break}}Hc(b,0);Hc(b,1);if(r[b+53450|0]){Ph(b)}d=q[a+8>>2];za:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break za}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break za}Oa(a,1)}o[b+53447|0]=e;if(!e){d=0;break J}e=q[a+8>>2];Aa:{if(e>>>0>=4){d=q[a>>2]<<32-e>>>28|0;break Aa}d=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}Ba:{if(r[a+20|0]){break Ba}if(e>>>0>=5){q[a+8>>2]=e+ -4;break Ba}Oa(a,4)}if((d&65535)==15){e=q[a+8>>2];Ca:{if(e>>>0>=8){d=q[a>>2]<<32-e>>>24|0;break Ca}d=q[a>>2]<<8-e&255|q[a+4>>2]>>>e+24}Da:{if(r[a+20|0]){break Da}if(e>>>0>=9){q[a+8>>2]=e+ -8;break Da}Oa(a,8)}d=(d&65535)+15|0}e=d<<3;while(1){g=e&65535;if(g>>>0>=8){f=q[a+8>>2];Ea:{if(f>>>0>=2){d=q[a>>2]<<32-f>>>30|0;break Ea}d=q[a>>2]<<2-f&3|q[a+4>>2]>>>f+30}Fa:{if(r[a+20|0]){break Fa}if(f>>>0>=3){q[a+8>>2]=f+ -2;break Fa}Oa(a,2)}o[b+53448|0]=d;f=Xd(a,b,d&255)+2|0;d=g>>>0<(f&65535)>>>0;e=e-(d?0:f)|0;if(!d){continue}break M}break}d=0;e=e&65535;if(r[a+20|0]|!e){break J}f=q[a+8>>2];if(f>>>0>e>>>0){q[a+8>>2]=f-e;break J}Oa(a,e);break J}d=1}if(!r[b+53426|0]|!r[b+9|0]?!r[b+12426|0]:0){break J}Fc(b,w,u,v,t,n,m)}c=c<<3;e=(((q[a+24>>2]-q[a+28>>2]<<3)-q[a+8>>2]|0)+ -32|0)-l|0;Ga:{if(c>>>0<(e&65535)>>>0){zi(a,c+(l&65535)|0);o[b+53424|0]=0;d=1;break Ga}b=c-e&65535;if(b>>>0>=8){while(1){Ha:{if(r[a+20|0]){break Ha}c=q[a+8>>2];if(c>>>0>=9){q[a+8>>2]=c+ -8;break Ha}Oa(a,8)}b=b+65528&65535;if(b>>>0>7){continue}break}}if(r[a+20|0]|!b){break Ga}c=q[a+8>>2];if(c>>>0>b>>>0){q[a+8>>2]=c-b;break Ga}Oa(a,b)}xa=h+16|0;return d}function ei(a,b,c,d,e,f){var g=x(0),h=0,i=0,j=x(0),k=0,l=0,m=0,n=0;f=f+ -1|0;a:{if(f>>>0>4){break a}b:{c:{d:{switch(f-1|0){default:l=r[a+20|0];f=(l&1|d<<1)+ -2|0;if(f>>>0<=2){if(f-2){break b}break c}if(!d){break a}while(1){e:{if(!e){break e}if(!l){h=(a+i|0)+2192|0;f=0;while(1){g=u[q[(r[h|0]<<2)+b>>2]+(f<<2)>>2];f:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break f}g=x(32767);break f}g=x(g+x(-.5));if(!(g<=x(-32768))){break f}g=x(-32768)}k=(w(d,f)+i<<1)+c|0;if(x(y(g))>1]=m;f=f+1|0;if((f|0)!=(e|0)){continue}break}break e}f=0;if(!i){while(1){h=f<<2;g=x(x(x(u[h+q[(r[a+2193|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2195|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261));g:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break g}g=x(32767);break g}g=x(g+x(-.5));if(!(g<=x(-32768))){break g}g=x(-32768)}h=(w(d,f)<<1)+c|0;if(x(y(g))>1]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break e}}while(1){h=f<<2;g=x(x(x(u[h+q[(r[a+2194|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2196|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261));h:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break h}g=x(32767);break h}g=x(g+x(-.5));if(!(g<=x(-32768))){break h}g=x(-32768)}h=(w(d,f)+i<<1)+c|0;if(x(y(g))>1]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=i+1|0;if((i|0)!=(d|0)){continue}break}break a;case 3:i:{j:{l=r[a+20|0];f=(l&1|d<<1)+ -2|0;if(f>>>0<=2){if(f-2){break i}break j}if(!d){break a}while(1){k:{if(!e){break k}if(!l){h=(a+i|0)+2192|0;f=0;while(1){v[(w(d,f)+i<<3)+c>>3]=+u[q[(r[h|0]<<2)+b>>2]+(f<<2)>>2]*30517578125e-15;f=f+1|0;if((f|0)!=(e|0)){continue}break}break k}f=0;if(!i){while(1){h=f<<2;v[(w(d,f)<<3)+c>>3]=+x(x(x(u[h+q[(r[a+2193|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2195|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*30517578125e-15;f=f+1|0;if((f|0)!=(e|0)){continue}break k}}while(1){h=f<<2;v[(w(d,f)+i<<3)+c>>3]=+x(x(x(u[h+q[(r[a+2194|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2196|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*30517578125e-15;f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=i+1|0;if((i|0)!=(d|0)){continue}break}break a}d=r[a+2192|0];if(r[a+21|0]){if(!e){break a}a=q[(d<<2)+b>>2];b=0;while(1){d=b<<4;n=+u[a+(b<<2)>>2]*30517578125e-15;v[d+c>>3]=n;v[(d|8)+c>>3]=n;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=q[(d<<2)+b>>2];a=q[(r[a+2193|0]<<2)+b>>2];b=0;while(1){f=b<<2;g=u[f+a>>2];i=b<<4;v[i+c>>3]=+u[d+f>>2]*30517578125e-15;v[(i|8)+c>>3]=+g*30517578125e-15;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=0;while(1){v[(d<<3)+c>>3]=+u[q[(r[a+2192|0]<<2)+b>>2]+(d<<2)>>2]*30517578125e-15;d=d+1|0;if((e|0)!=(d|0)){continue}break}break a;case 2:l:{m:{l=r[a+20|0];f=(l&1|d<<1)+ -2|0;if(f>>>0<=2){if(f-2){break l}break m}if(!d){break a}while(1){n:{if(!e){break n}if(!l){h=(a+i|0)+2192|0;f=0;while(1){u[(w(d,f)+i<<2)+c>>2]=u[q[(r[h|0]<<2)+b>>2]+(f<<2)>>2]*x(30517578125e-15);f=f+1|0;if((f|0)!=(e|0)){continue}break}break n}f=0;if(!i){while(1){h=f<<2;u[(w(d,f)<<2)+c>>2]=x(x(x(u[h+q[(r[a+2193|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2195|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(30517578125e-15);f=f+1|0;if((f|0)!=(e|0)){continue}break n}}while(1){h=f<<2;u[(w(d,f)+i<<2)+c>>2]=x(x(x(u[h+q[(r[a+2194|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2196|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(30517578125e-15);f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=i+1|0;if((i|0)!=(d|0)){continue}break}break a}d=r[a+2192|0];if(r[a+21|0]){if(!e){break a}a=q[(d<<2)+b>>2];b=0;while(1){d=b<<3;g=x(u[a+(b<<2)>>2]*x(30517578125e-15));u[d+c>>2]=g;u[(d|4)+c>>2]=g;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=q[(d<<2)+b>>2];a=q[(r[a+2193|0]<<2)+b>>2];b=0;while(1){f=b<<2;g=u[f+a>>2];i=b<<3;u[i+c>>2]=u[d+f>>2]*x(30517578125e-15);u[(i|4)+c>>2]=g*x(30517578125e-15);b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=0;while(1){f=d<<2;u[f+c>>2]=u[f+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(30517578125e-15);d=d+1|0;if((e|0)!=(d|0)){continue}break}break a;case 1:o:{p:{l=r[a+20|0];f=(l&1|d<<1)+ -2|0;if(f>>>0<=2){if(f-2){break o}break p}if(!d){break a}while(1){q:{if(!e){break q}if(!l){h=(a+i|0)+2192|0;f=0;while(1){g=x(u[q[(r[h|0]<<2)+b>>2]+(f<<2)>>2]*x(65536));r:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break r}g=x(2147483648);break r}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break r}g=x(-2147483648)}k=(w(d,f)+i<<2)+c|0;if(x(y(g))>2]=m;f=f+1|0;if((f|0)!=(e|0)){continue}break}break q}f=0;if(!i){while(1){h=f<<2;g=x(x(x(x(u[h+q[(r[a+2193|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2195|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(65536));s:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break s}g=x(2147483648);break s}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break s}g=x(-2147483648)}h=(w(d,f)<<2)+c|0;if(x(y(g))>2]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break q}}while(1){h=f<<2;g=x(x(x(x(u[h+q[(r[a+2194|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2196|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(65536));t:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break t}g=x(2147483648);break t}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break t}g=x(-2147483648)}h=(w(d,f)+i<<2)+c|0;if(x(y(g))>2]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=i+1|0;if((i|0)!=(d|0)){continue}break}break a}d=r[a+2192|0];if(r[a+21|0]){if(!e){break a}d=q[(d<<2)+b>>2];b=0;while(1){g=x(u[d+(b<<2)>>2]*x(65536));u:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break u}g=x(2147483648);break u}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break u}g=x(-2147483648)}f=b<<3;i=f+c|0;if(x(y(g))>2]=a;q[(f|4)+c>>2]=a;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=q[(d<<2)+b>>2];f=q[(r[a+2193|0]<<2)+b>>2];b=0;while(1){a=b<<2;g=x(u[a+f>>2]*x(65536));j=x(u[a+d>>2]*x(65536));v:{if(!!(j>=x(0))){j=x(j+x(.5));if(!(j>=x(2147483648))){break v}j=x(2147483648);break v}j=x(j+x(-.5));if(!(j<=x(-2147483648))){break v}j=x(-2147483648)}w:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break w}g=x(2147483648);break w}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break w}g=x(-2147483648)}i=b<<3;a=i+c|0;if(x(y(j))>2]=h;a=(i|4)+c|0;if(x(y(g))>2]=i;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=0;while(1){f=d<<2;g=x(u[f+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(65536));x:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(2147483648))){break x}g=x(2147483648);break x}g=x(g+x(-.5));if(!(g<=x(-2147483648))){break x}g=x(-2147483648)}f=c+f|0;if(x(y(g))>2]=i;d=d+1|0;if((e|0)!=(d|0)){continue}break}break a;case 0:break d}}y:{z:{l=r[a+20|0];f=(l&1|d<<1)+ -2|0;if(f>>>0<=2){if(f-2){break y}break z}if(!d){break a}while(1){A:{if(!e){break A}if(!l){h=(a+i|0)+2192|0;f=0;while(1){g=x(u[q[(r[h|0]<<2)+b>>2]+(f<<2)>>2]*x(256));B:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break B}g=x(8388607);break B}g=x(g+x(-.5));if(!(g<=x(-8388608))){break B}g=x(-8388608)}k=(w(d,f)+i<<2)+c|0;if(x(y(g))>2]=m;f=f+1|0;if((f|0)!=(e|0)){continue}break}break A}f=0;if(!i){while(1){h=f<<2;g=x(x(x(x(u[h+q[(r[a+2193|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2195|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(256));C:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break C}g=x(8388607);break C}g=x(g+x(-.5));if(!(g<=x(-8388608))){break C}g=x(-8388608)}h=(w(d,f)<<2)+c|0;if(x(y(g))>2]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break A}}while(1){h=f<<2;g=x(x(x(x(u[h+q[(r[a+2194|0]<<2)+b>>2]>>2]+x(u[h+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(.7071067690849304)))+x(u[h+q[(r[a+2196|0]<<2)+b>>2]>>2]*x(.7071067690849304)))*x(.3203772306442261))*x(256));D:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break D}g=x(8388607);break D}g=x(g+x(-.5));if(!(g<=x(-8388608))){break D}g=x(-8388608)}h=(w(d,f)+i<<2)+c|0;if(x(y(g))>2]=k;f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=i+1|0;if((i|0)!=(d|0)){continue}break}break a}d=r[a+2192|0];if(r[a+21|0]){if(!e){break a}d=q[(d<<2)+b>>2];b=0;while(1){g=x(u[d+(b<<2)>>2]*x(256));E:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break E}g=x(8388607);break E}g=x(g+x(-.5));if(!(g<=x(-8388608))){break E}g=x(-8388608)}f=b<<3;i=f+c|0;if(x(y(g))>2]=a;q[(f|4)+c>>2]=a;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=q[(d<<2)+b>>2];f=q[(r[a+2193|0]<<2)+b>>2];b=0;while(1){a=b<<2;g=x(u[a+f>>2]*x(256));j=x(u[a+d>>2]*x(256));F:{if(!!(j>=x(0))){j=x(j+x(.5));if(!(j>=x(8388607))){break F}j=x(8388607);break F}j=x(j+x(-.5));if(!(j<=x(-8388608))){break F}j=x(-8388608)}G:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break G}g=x(8388607);break G}g=x(g+x(-.5));if(!(g<=x(-8388608))){break G}g=x(-8388608)}i=b<<3;a=i+c|0;if(x(y(j))>2]=h;a=(i|4)+c|0;if(x(y(g))>2]=i;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}d=0;while(1){f=d<<2;g=x(u[f+q[(r[a+2192|0]<<2)+b>>2]>>2]*x(256));H:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(8388607))){break H}g=x(8388607);break H}g=x(g+x(-.5));if(!(g<=x(-8388608))){break H}g=x(-8388608)}f=c+f|0;if(x(y(g))>2]=i;d=d+1|0;if((e|0)!=(d|0)){continue}break}break a}d=r[a+2192|0];if(r[a+21|0]){if(!e){break a}f=q[(d<<2)+b>>2];b=0;while(1){d=b<<2;g=u[d+f>>2];I:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break I}g=x(32767);break I}g=x(g+x(-.5));if(!(g<=x(-32768))){break I}g=x(-32768)}i=c+d|0;if(x(y(g))>1]=a;p[(d|2)+c>>1]=a;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}if(!e){break a}f=q[(d<<2)+b>>2];i=q[(r[a+2193|0]<<2)+b>>2];a=0;while(1){b=a<<2;g=u[b+i>>2];j=u[b+f>>2];J:{if(!!(j>=x(0))){j=x(j+x(.5));if(!(j>=x(32767))){break J}j=x(32767);break J}j=x(j+x(-.5));if(!(j<=x(-32768))){break J}j=x(-32768)}K:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break K}g=x(32767);break K}g=x(g+x(-.5));if(!(g<=x(-32768))){break K}g=x(-32768)}d=b+c|0;if(x(y(j))>1]=h;b=(b|2)+c|0;if(x(y(g))>1]=d;a=a+1|0;if((e|0)!=(a|0)){continue}break}break a}if(!e){break a}d=0;while(1){g=u[q[(r[a+2192|0]<<2)+b>>2]+(d<<2)>>2];L:{if(!!(g>=x(0))){g=x(g+x(.5));if(!(g>=x(32767))){break L}g=x(32767);break L}g=x(g+x(-.5));if(!(g<=x(-32768))){break L}g=x(-32768)}f=(d<<1)+c|0;if(x(y(g))>1]=i;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return c}function se(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;j=xa+ -64|0;xa=j;R=q[a+636>>2];e=q[a+640>>2];l=q[a+644>>2];b=q[a+344>>2];k=b&255;F=l+w(k,1272)|0;h=o[F+73|0];K=e+w(h,68)|0;S=o[K+9|0];D=R+w(S,8976)|0;if(!(r[F+75|0]|!b)){q[a+348>>2]=k}da=p[D+4118>>1];L=r[D+4116|0];G=1<>2]){c=q[a+320>>2];g=q[a+316>>2];break a}b=l+w(k,1272)|0;g=p[b+872>>1];q[a+316>>2]=g;c=p[b+874>>1];q[a+320>>2]=c}q[a+648>>2]=F;q[a+360>>2]=D;q[a+356>>2]=K;y=a+324|0;v=a+328|0;_c(K,D,g,c,y,v,j+60|0);W=e+w(h,68)|0;c=q[W+4>>2];b=q[j+60>>2];q[a+352>>2]=b;i=c+w(b,6)|0;q[a+340>>2]=i;b:{if(q[a+128>>2]){break b}b=r[(l+w(k,1272)|0)+75|0];if(b>>>0>1){break b}if(!(b-1)){if(q[y>>2]|q[v>>2]){break b}q[a+332>>2]=0;q[a+336>>2]=0;break b}q[a+332>>2]=0;q[a+336>>2]=0}c:{if(!(q[a+320>>2]|q[a+316>>2])){b=Ci(a);if(b){break c}q[q[a+592>>2]>>2]=0;q[q[a+596>>2]>>2]=0;q[a+324>>2]=0;q[a+328>>2]=0;q[a+348>>2]=0}n=l+w(k,1272)|0;f=n;m=q[a+1452>>2];if(o[f+161|0]>=1){c=0;while(1){b=q[(n+w(c,12)|0)+1068>>2];q[((m+(r[a+344|0]<<6)|0)+(c<<2)|0)+20500>>2]=q[b+8>>2];o[((m+(r[a+344|0]<<4)|0)+c|0)+36884|0]=r[b+20|0];c=c+1|0;if((c|0)>2];q[((m+(r[a+344|0]<<6)|0)+(c<<2)|0)+20>>2]=q[b+8>>2];o[((m+(r[a+344|0]<<4)|0)+c|0)+16404|0]=r[b+20|0];c=c+1|0;b=o[n+160|0];if((c|0)<(b|0)){continue}break}}if(!(q[a+336>>2]?q[a+332>>2]:0)){g=1;d=l+w(k,1272)|0;m=q[d+84>>2];e:{f:{if((b|0)<1){break f}c=0;while(1){if(q[q[(d+w(c,12)|0)+880>>2]+16>>2]<=(m|0)){c=c+1|0;if((c|0)<(b|0)){continue}break f}break}g=0;break e}if(r[d+76|0]){break e}d=o[f+161|0];if((d|0)<1){break e}g=0;b=l+w(k,1272)|0;c=0;while(1){if(q[q[(b+w(c,12)|0)+1072>>2]+16>>2]>(m|0)){break e}c=c+1|0;if((c|0)<(d|0)){continue}break}g=1}o[(l+w(k,1272)|0)+1261|0]=g}E=l+w(k,1272)|0;d=r[E+76|0];n=0;g:{if((d|0)==2){break g}c=r[E+163|0];n=c?2:1;if((d|0)==1){break g}n=c?1:2}X=e+w(h,68)|0;b=o[X+14|0]+o[E+167|0]|0;b=(b|0)>0?b:0;z=(b|0)<51?b:51;b=r[E+75|0];if(!(b>>>0>1|(q[y>>2]|q[v>>2]?!(b-1):0))){q[a+436>>2]=z}c=0;h:{if(q[a+128>>2]){break h}if(!((b|0)!=1|(q[v>>2]?0:!q[y>>2]))){if(r[(e+w(h,68)|0)+28|0]){c=0;if(!q[a+316>>2]){break h}}Ee(a+660|0,a+376|0);c=0;break h}if(r[(e+w(h,68)|0)+28|0]){c=0;if(!q[a+316>>2]){break h}}c=0;if(!lc(a+660|0,a+376|0,z,n,(w(n,8008)+w(z,154)|0)+5024|0)){break h}q[a+128>>2]=1;c=1}m=c;u=D+4118|0;T=D+4116|0;U=w(A,A);ea=A+ -1|0;fa=a+668|0;Y=a+988|0;Z=a+822|0;_=a+5956|0;H=a+376|0;M=a+660|0;$=(G<>2];if(!((q[a+316>>2]+w(q[a+320>>2],p[u>>1])|0)%142560|(b|0)!=1)){q[a+428>>2]=0;q[a+408>>2]=q[a+588>>2]}q[a+444>>2]=0;i:{if(q[a+324>>2]){break i}if(!q[v>>2]){j:{if((r[i+1|0]?0:!r[i|0])|(q[a+336>>2]?0:!q[a+332>>2])){break j}b=o[X+14|0]+o[E+167|0]|0;b=(b|0)>0?b:0;z=(b|0)<51?b:51;q[a+436>>2]=z;_c(K,D,q[a+316>>2],q[a+320>>2],y,v,j+60|0);c=q[W+4>>2];b=q[j+60>>2];q[a+352>>2]=b;q[a+340>>2]=c+w(b,6);f=p[B+872>>1];h=p[B+874>>1];e=p[u>>1];c=r[i|0];d=r[i+1|0];k:{if((f+w(h,e)|0)>=(c+w(d,e)|0)){break k}b=d-h|0;q[a+336>>2]=b;if((c|0)==((f+s[i+ -4>>1]|0)%(e|0)|0)|(f|0)<=(c|0)|(d|0)<(h|0)){break k}q[a+336>>2]=b+ -1}if(q[a+128>>2]){break j}if(!lc(M,H,z,n,(w(z,154)+ca|0)+5024|0)){break j}m=1;q[a+128>>2]=1}if(q[y>>2]){break i}b=q[a+24>>2]}if((b|0)>=2){q[j>>2]=0;p[j+8>>1]=s[i+2>>1];p[j+4>>1]=q[a+316>>2];p[j+6>>1]=q[a+320>>2];p[j+10>>1]=q[a+344>>2];q[j+12>>2]=q[a+404>>2]-q[a+400>>2];b=bd(q[a+656>>2],j);if(!b){break i}break c}q[a+6096>>2]=s[i+2>>1];b=q[a+320>>2];q[a+5960>>2]=q[a+316>>2];q[a+5964>>2]=b;q[a+5988>>2]=q[a+344>>2];tb(_,q[a+404>>2]-q[a+400>>2]|0)}l:{m:{n:{o:{if(q[a+316>>2]|!r[P+28|0]){break o}if(q[a+128>>2]){break m}c=0;c=q[a+336>>2]?c:!r[E+75|0];b=s[u>>1];q[a+436>>2]=z;if(!((b|0)!=1?!c:0)){if(!lc(M,H,z,n,(w(z,154)+ca|0)+5024|0)){break o}break n}if(lc(M,H,z,n,Z)){break n}}if(q[a+128>>2]){break m}if(r[B+157|0]?0:!r[B+156|0]){break l}Oi(a);break l}m=1;q[a+128>>2]=1}b=(q[a+1444>>2]+w(q[a+316>>2],12)|0)+w(w(q[a+320>>2],p[u>>1]),12)|0;q[b>>2]=q[b>>2]&-8;q[b+4>>2]=q[b+4>>2]&-8;q[b+8>>2]=q[b+8>>2]&-8}c=q[a+316>>2]+w(q[a+320>>2],p[u>>1])|0;b=q[a+1044>>2]+(c>>3)|0;o[b|0]=r[b|0]|1<<(c&7);p[q[a+420>>2]+(c<<1)>>1]=q[a+348>>2];p:{q:{if(!q[a+128>>2]){l=q[a+404>>2];e=q[a+424>>2];f=q[a+416>>2];d=q[a+428>>2];c=q[a+568>>2];b=q[a+408>>2];h=o[T|0];if(!Mb(a,q[a+316>>2]<>2]<>2]=c;q[a+408>>2]=b;q[a+428>>2]=d;q[a+424>>2]=e;q[a+416>>2]=f;ha=a,ia=Qa(l,0,q[a+404>>2]-l|0),q[ha+404>>2]=ia;te(a);m=1;q[a+128>>2]=1;break p}te(a)}if(q[a+128>>2]){break p}m=gd(M,H)}r:{if(r[P+28|0]?0:!r[V+27|0]){break r}if(q[a+316>>2]==1){Sa(Z,fa,154)}g=0;c=0;if(s[i+2>>1]==(q[y>>2]+1|0)){g=1;c=s[i+4>>1]==(q[v>>2]+1|0)}if(q[a+128>>2]|m|(!g|!r[P+28|0]?!(r[V+27|0]?c:0):0)){break r}gd(M,H);if(!(r[a+380|0]&7)){break r}hd(H)}h=q[a+596>>2];b=(q[a+316>>2]+w(q[a+320>>2],da)|0)+1|0;c=b;k=s[i+2>>1];s:{if((k|0)!=(q[a+324>>2]+1|0)){break s}c=b;l=p[u>>1];if((l|0)==(k|0)){break s}d=r[i|0];e=q[v>>2]+1|0;f=e+r[i+1|0]|0;c=d+w(f,l)|0;if((e|0)!=s[i+4>>1]){break s}if((l|0)==(d+k|0)){c=b;if((f|0)==p[O>>1]){break s}}c=q[a+340>>2];c=w(l,r[c+7|0])+r[c+6|0]|0}q[(c<<2)+h>>2]=q[a+424>>2];q[a+1456>>2]=c;q[a+432>>2]=q[a+432>>2]+U;t:{if(q[a+24>>2]==1){b=(b|0)%142560|0;c=b?b:142560;u:{if((k|0)!=(q[y>>2]+1|0)){break u}e=p[u>>1];if((e|0)==(k|0)){break u}b=q[v>>2]+1|0;f=b+r[i+1|0]|0;d=r[i|0];if((b|0)!=s[i+4>>1]){c=d+w(f,e)|0;break u}if((f|0)==p[O>>1]?(e|0)==(d+k|0):0){break u}b=q[a+340>>2];c=w(e,r[b+7|0])+r[b+6|0]|0}q[a+1460>>2]=c;g=q[a+592>>2];b=g+(c<<2)|0;break t}v:{if((k|0)!=(q[y>>2]+1|0)){break v}e=p[u>>1];if((e|0)==(k|0)){break v}c=q[v>>2]+1|0;f=c+r[i+1|0]|0;d=r[i|0];if((c|0)!=s[i+4>>1]){b=d+w(f,e)|0;break v}if((f|0)==p[O>>1]?(e|0)==(d+k|0):0){break v}b=q[a+340>>2];b=w(r[b+7|0],e)+r[b+6|0]|0}q[a+1460>>2]=b;g=q[a+592>>2];b=g+(b<<2)|0}q[b>>2]=q[a+428>>2];q[a+412>>2]=q[a+412>>2]+U;w:{if(!q[a+88>>2]|r[aa+171|0]!=1){break w}c=q[a+316>>2];e=q[a+320>>2];f=p[u>>1];h=c+w(e,f)|0;d=q[((q[a+24>>2]==1?(h|0)%142560|0:h)<<2)+g>>2];b=q[a+588>>2]+(d<<2)|0;C=c;c=o[T|0]+ -3|0;k=f<>2]+(C+w(k,e)<>2]+(h>>3)|0]>>>(h&7)&1)){t=0;l=q[(q[a+1460>>2]<<2)+g>>2]-d|0;if((l|0)<=0){break w}while(1){f=q[b>>2];if(!(f&17)){c=4<<(f>>>8&7)>>>2|0;d=f&15;h=c+d|0;g=f>>>4&15;e=c+g|0;while(1){f=w(k,g>>>1|0);c=d;while(1){o[x+(f+(c>>>1|0)|0)|0]=q[b>>2]<<9>>25;c=c+2|0;if(c>>>0>>0){continue}break}g=g+2|0;if(g>>>0>>0){continue}break}}b=b+4|0;t=t+1|0;if((l|0)!=(t|0)){continue}break}break w}o[x|0]=q[b>>2]<<9>>25}h=q[a+24>>2];x:{if((h|0)>2){break x}e=p[u>>1];d=e;if((p[B+872>>1]+w(d,p[B+874>>1])|0)>=(r[i|0]+w(r[i+1|0],d)|0)){d=s[i+2>>1]}g=q[a+320>>2];y:{if(g){b=1;if(q[v>>2]){break y}}b=0}c=q[a+316>>2];z:{A:{if(!(q[y>>2]?c:0)){B:{if(!q[a+336>>2]){break B}f=0;if(!q[v>>2]){break B}t=0;break A}f=0;b=q[a+332>>2]==((d<<16>>16)+ -1|0)?b:0;t=0;d=0;break z}t=1;C:{if((c|0)<1){break C}f=q[a+336>>2];if(!(q[v>>2]?f:0)){f=0;C=(d<<16>>16)+ -1|0;d=q[a+332>>2];b=(C|0)==(d|0)?b:0;t=(d|0)!=0;d=0;break z}if((f|0)!=1){break C}f=q[a+332>>2]?b:0;break A}f=b}d=b}b=(q[y>>2]!=(s[i+2>>1]+ -1|0)?(e+ -1|0)!=(c|0):0)?b:0;D:{if(r[E+76|0]<=1){I=w((h|0)==1?1:h+ -1|0,692)+a|0;k=q[I+6064>>2];l=q[I+6060>>2];x=q[a+596>>2];h=q[x+(q[a+1456>>2]<<2)>>2];J=q[x+(w(e,g)+c<<2)>>2];q[j+16>>2]=g;q[j+12>>2]=c;q[j+8>>2]=F;q[j+4>>2]=D;q[j>>2]=K;e=q[a+580>>2];q[j+28>>2]=i;q[j+24>>2]=e;q[j+20>>2]=e+(J<<4);e=q[I+6056>>2];q[j+32>>2]=x;q[j+36>>2]=e;e=q[a+576>>2];o[j+55|0]=t;o[j+54|0]=f;o[j+53|0]=b;o[j+52|0]=d;q[j+48>>2]=J;q[j+44>>2]=h-J;q[j+40>>2]=e;Ce(j,l+((c<>2];I=q[a+576>>2];b=q[a+596>>2];J=w(e,g)+c|0;C=q[b+(J<<2)>>2];x=q[b+(q[a+1456>>2]<<2)>>2]-C|0;if((x|0)>=1){g=q[a+580>>2]+(C<<4)|0;t=0;while(1){k=t+C|0;b=q[g+12>>2];l=b>>>12&15;h=b>>>8&15;d=0;while(1){f=d+1|0;c=0;while(1){b=c+1|0;e=q[g+12>>2];q[N+((b+(e&15)|0)+w(f+(e>>>4&15)|0,18)<<2)>>2]=k;e=(c|0)!=(h|0);c=b;if(e){continue}break}b=(d|0)!=(l|0);d=f;if(b){continue}break}g=g+16|0;t=t+1|0;if((x|0)!=(t|0)){continue}break}g=q[a+320>>2];c=q[a+316>>2]}d=p[ga+2>>1];b=r[T|0];h=q[Q+6060>>2];q[Q+6068>>2]=q[h+(((c<>2];if((G|0)<4){break D}e=I+w(J,U)|0;b=d-(g<>2];c=0;while(1){b=c+1|0;q[d+(c<<2)>>2]=q[N+(w(b,18)+A<<2)>>2];q[h+(((q[a+316>>2]<>2]=q[N+(b+f<<2)>>2];c=b;if((A|0)!=(b|0)){continue}break}d=q[N+76>>2];g=0;b=19;t=0;while(1){c=0;while(1){o[e+(c+g|0)|0]=q[N+(b+c<<2)>>2]-d;c=c+1|0;if((A|0)!=(c|0)){continue}break}b=b+18|0;g=g+A|0;t=t+1|0;if((A|0)!=(t|0)){continue}break}}if(q[a+88>>2]){break x}E:{if(q[a+128>>2]){break E}b=q[a+592>>2];l=q[a+316>>2];k=q[a+320>>2];c=l+w(k,p[u>>1])|0;h=q[a+24>>2];e=(h|0)==1;x=q[b+((e?(c|0)%142560|0:c)<<2)>>2];f=q[q[a+596>>2]+(c<<2)>>2];d=q[a+1460>>2];c=q[b+(d<<2)>>2];q[a+1016>>2]=k;q[a+1012>>2]=l;b=q[a+360>>2];q[a+988>>2]=q[a+356>>2];q[a+992>>2]=b;q[a+1020>>2]=q[a+324>>2];q[a+1008>>2]=c-x;q[a+996>>2]=a;q[a+1024>>2]=q[a+328>>2];q[a+1028>>2]=q[a+332>>2];q[a+1032>>2]=q[a+336>>2];q[a+1052>>2]=q[a+588>>2]+(x<<2);q[a+1064>>2]=q[a+580>>2]+(f<<4);q[a+1072>>2]=q[(w(e?1:h+ -1|0,692)+a|0)+6056>>2];q[a+1080>>2]=d;q[a+1076>>2]=q[a+1456>>2];q[a+1084>>2]=q[a+420>>2];q[a+1004>>2]=q[a+648>>2];q[a+1e3>>2]=q[a+340>>2];if(r[E+76|0]==2){Ge(Y);break E}Fe(Y)}if(!r[aa+171|0]){break x}d=q[a+1040>>2];b=w(q[a+320>>2],w(p[u>>1]+1|0,$));c=w(q[a+316>>2],$);Qa(b+(c+q[a+1036>>2]|0)|0,0,ba);Qa(b+(c+d|0)|0,0,ba)}o[q[a+204>>2]+(q[a+316>>2]+w(q[a+320>>2],p[q[a+360>>2]+4118>>1])|0)|0]=1;f=q[a+324>>2]+1|0;q[a+324>>2]=f;c=q[a+316>>2]+1|0;q[a+316>>2]=c;d=q[a+332>>2]+1|0;q[a+332>>2]=d;F:{if(r[V+27|0]){g=s[i+2>>1];b=p[u>>1];e=p[B+872>>1]+w(b,p[B+874>>1])|0;C=w(b,r[i+1|0]);b=r[i|0];if((e|0)<(C+b|0)){if((d|0)!=(b+g|0)){break F}q[a+332>>2]=b;q[a+336>>2]=q[a+336>>2]+1;break F}if((d|0)!=(g|0)){break F}q[a+332>>2]=0;q[a+336>>2]=q[a+336>>2]+1;break F}g=s[i+2>>1];if((d|0)!=(g|0)){break F}q[a+332>>2]=0;q[a+336>>2]=q[a+336>>2]+1}G:{if((f|0)!=(g|0)){g=q[a+320>>2];d=f;f=0;break G}d=0;q[a+324>>2]=0;c=r[i|0];q[a+316>>2]=c;h=q[a+328>>2]+1|0;q[a+328>>2]=h;g=q[a+320>>2]+1|0;q[a+320>>2]=g;if((h|0)==s[i+4>>1]){q[a+324>>2]=0;q[a+328>>2]=0;e=q[a+340>>2];b=e+6|0;q[a+340>>2]=b;g=h+r[i+1|0]|0;if(!((g|0)!=p[O>>1]|p[u>>1]!=(c+f|0))){q[a+320>>2]=g;q[a+316>>2]=0;c=0;f=1;break G}c=r[e+6|0];q[a+316>>2]=c;g=r[e+7|0];q[a+320>>2]=g;q[a+336>>2]=g;q[a+332>>2]=c;q[a+324>>2]=0;q[a+328>>2]=0;i=b}f=0}b=c;c=p[u>>1];b=b+w(c,g)|0;q[a+984>>2]=b;m=q[a+128>>2]?(b|0)==(p[F+2144>>1]+w(c,p[F+2146>>1])|0)?1:m:m;if(!(d|q[a+24>>2]!=1)){q[a+6096>>2]=s[q[a+5984>>2]+2>>1];$c(_)}b=q[a+396>>2]+8>>>0>2]+(q[a+380>>2]>>>3|0)>>>0?q[a+128>>2]?m:1:m;m=0;if(!(b|f)){continue}break}b=0;q[a+128>>2]=0;if(!f){i=q[a+344>>2]+1|0;H:{if(i&255|q[a+24>>2]==1){break H}c=w(S,8976)+R|0;if(!q[c+4128>>2]){break H}n=c+4128|0;f=q[a+208>>2];m=q[a+204>>2];c=0;while(1){d=r[c+m|0];q[j>>2]=o[c+f|0]&1;c=((d|0)==q[j>>2])+c|0;if((c|0)!=q[n>>2]){continue}break}}q[a+344>>2]=i;break c}q[a+980>>2]=1}xa=j- -64|0;return b}function Ta(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=xa-16|0;xa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=q[41530];g=a>>>0<11?16:a+11&-8;a=g>>>3|0;b=f>>>a|0;if(b&3){c=a+((b^-1)&1)|0;e=c<<3;b=q[e+166168>>2];a=b+8|0;d=q[b+8>>2];e=e+166160|0;l:{if((d|0)==(e|0)){m=166120,n=kl(-2,c)&f,q[m>>2]=n;break l}q[d+12>>2]=e;q[e+8>>2]=d}c=c<<3;q[b+4>>2]=c|3;b=b+c|0;q[b+4>>2]=q[b+4>>2]|1;break a}i=q[41532];if(g>>>0<=i>>>0){break k}if(b){c=2<>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;c=(c|b)+(a>>>b|0)|0;d=c<<3;b=q[d+166168>>2];a=q[b+8>>2];d=d+166160|0;m:{if((a|0)==(d|0)){f=kl(-2,c)&f;q[41530]=f;break m}q[a+12>>2]=d;q[d+8>>2]=a}a=b+8|0;q[b+4>>2]=g|3;h=b+g|0;c=c<<3;e=c-g|0;q[h+4>>2]=e|1;q[b+c>>2]=e;if(i){c=i>>>3|0;b=(c<<3)+166160|0;d=q[41535];c=1<>2]}q[b+8>>2]=d;q[c+12>>2]=d;q[d+12>>2]=b;q[d+8>>2]=c}q[41535]=h;q[41532]=e;break a}k=q[41531];if(!k){break k}a=(k&0-k)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;b=q[((c|b)+(a>>>b|0)<<2)+166424>>2];d=(q[b+4>>2]&-8)-g|0;c=b;while(1){o:{a=q[c+16>>2];if(!a){a=q[c+20>>2];if(!a){break o}}e=(q[a+4>>2]&-8)-g|0;c=e>>>0>>0;d=c?e:d;b=c?a:b;c=a;continue}break}j=q[b+24>>2];e=q[b+12>>2];if((e|0)!=(b|0)){a=q[b+8>>2];q[a+12>>2]=e;q[e+8>>2]=a;break b}c=b+20|0;a=q[c>>2];if(!a){a=q[b+16>>2];if(!a){break j}c=b+16|0}while(1){h=c;e=a;c=a+20|0;a=q[c>>2];if(a){continue}c=e+16|0;a=q[e+16>>2];if(a){continue}break}q[h>>2]=0;break b}g=-1;if(a>>>0>4294967231){break k}b=a+11|0;g=b&-8;i=q[41531];if(!i){break k}c=0-g|0;b=b>>>8|0;f=0;p:{if(!b){break p}f=31;if(g>>>0>16777215){break p}d=b+1048320>>>16&8;b=b<>>16&4;f=b<>>16&2;a=(f<>>15|0)-(b|(a|d))|0;f=(a<<1|g>>>a+21&1)+28|0}d=q[(f<<2)+166424>>2];q:{r:{s:{if(!d){a=0;break s}b=g<<((f|0)==31?0:25-(f>>>1|0)|0);a=0;while(1){t:{h=(q[d+4>>2]&-8)-g|0;if(h>>>0>=c>>>0){break t}e=d;c=h;if(c){break t}c=0;a=d;break r}h=q[d+20>>2];d=q[((b>>>29&4)+d|0)+16>>2];a=h?(h|0)==(d|0)?a:h:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<>>12&16;d=b;a=a>>>b|0;b=a>>>5&8;d=d|b;a=a>>>b|0;b=a>>>2&4;d=d|b;a=a>>>b|0;b=a>>>1&2;d=d|b;a=a>>>b|0;b=a>>>1&1;a=q[((d|b)+(a>>>b|0)<<2)+166424>>2]}if(!a){break q}}while(1){d=(q[a+4>>2]&-8)-g|0;b=d>>>0>>0;c=b?d:c;e=b?a:e;b=q[a+16>>2];if(b){a=b}else{a=q[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=q[41532]-g>>>0){break k}h=q[e+24>>2];b=q[e+12>>2];if((e|0)!=(b|0)){a=q[e+8>>2];q[a+12>>2]=b;q[b+8>>2]=a;break c}d=e+20|0;a=q[d>>2];if(!a){a=q[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=q[d>>2];if(a){continue}d=b+16|0;a=q[b+16>>2];if(a){continue}break}q[f>>2]=0;break c}b=q[41532];if(b>>>0>=g>>>0){a=q[41535];c=b-g|0;u:{if(c>>>0>=16){q[41532]=c;d=a+g|0;q[41535]=d;q[d+4>>2]=c|1;q[a+b>>2]=c;q[a+4>>2]=g|3;break u}q[41535]=0;q[41532]=0;q[a+4>>2]=b|3;b=a+b|0;q[b+4>>2]=q[b+4>>2]|1}a=a+8|0;break a}d=q[41533];if(d>>>0>g>>>0){b=d-g|0;q[41533]=b;a=q[41536];c=a+g|0;q[41536]=c;q[c+4>>2]=b|1;q[a+4>>2]=g|3;a=a+8|0;break a}a=0;e=g+47|0;c=e;if(q[41648]){b=q[41650]}else{q[41651]=-1;q[41652]=-1;q[41649]=4096;q[41650]=4096;q[41648]=l+12&-16^1431655768;q[41653]=0;q[41641]=0;b=4096}f=c+b|0;h=0-b|0;c=f&h;if(c>>>0<=g>>>0){break a}b=q[41640];if(b){i=q[41638];j=i+c|0;if(j>>>0<=i>>>0|j>>>0>b>>>0){break a}}if(r[166564]&4){break f}v:{w:{b=q[41536];if(b){a=166568;while(1){i=q[a>>2];if(i+q[a+4>>2]>>>0>b>>>0?i>>>0<=b>>>0:0){break w}a=q[a+8>>2];if(a){continue}break}}b=rb(0);if((b|0)==-1){break g}f=c;a=q[41649];d=a+ -1|0;if(d&b){f=(c-b|0)+(b+d&0-a)|0}if(f>>>0<=g>>>0|f>>>0>2147483646){break g}a=q[41640];if(a){d=q[41638];h=d+f|0;if(h>>>0<=d>>>0|h>>>0>a>>>0){break g}}a=rb(f);if((b|0)!=(a|0)){break v}break e}f=h&f-d;if(f>>>0>2147483646){break g}b=rb(f);if((b|0)==(q[a>>2]+q[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|g+48>>>0<=f>>>0)){b=q[41650];b=b+(e-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((rb(b)|0)!=-1){f=b+f|0;b=a;break e}rb(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}q[41641]=q[41641]|4}if(c>>>0>2147483646){break d}b=rb(c);a=rb(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=g+40>>>0){break d}}a=q[41638]+f|0;q[41638]=a;if(a>>>0>t[41639]){q[41639]=a}x:{y:{z:{c=q[41536];if(c){a=166568;while(1){d=q[a>>2];e=q[a+4>>2];if((d+e|0)==(b|0)){break z}a=q[a+8>>2];if(a){continue}break}break y}a=q[41534];if(!(b>>>0>=a>>>0?a:0)){q[41534]=b}a=0;q[41643]=f;q[41642]=b;q[41538]=-1;q[41539]=q[41648];q[41645]=0;while(1){c=a<<3;d=c+166160|0;q[c+166168>>2]=d;q[c+166172>>2]=d;a=a+1|0;if((a|0)!=32){continue}break}a=f+ -40|0;c=b+8&7?-8-b&7:0;d=a-c|0;q[41533]=d;c=b+c|0;q[41536]=c;q[c+4>>2]=d|1;q[(a+b|0)+4>>2]=40;q[41537]=q[41652];break x}if(r[a+12|0]&8|b>>>0<=c>>>0|d>>>0>c>>>0){break y}q[a+4>>2]=e+f;a=c+8&7?-8-c&7:0;b=a+c|0;q[41536]=b;d=q[41533]+f|0;a=d-a|0;q[41533]=a;q[b+4>>2]=a|1;q[(c+d|0)+4>>2]=40;q[41537]=q[41652];break x}e=q[41534];if(b>>>0>>0){q[41534]=b;e=0}d=b+f|0;a=166568;A:{B:{C:{D:{E:{F:{while(1){if((d|0)!=q[a>>2]){a=q[a+8>>2];if(a){continue}break F}break}if(!(r[a+12|0]&8)){break E}}a=166568;while(1){d=q[a>>2];if(d>>>0<=c>>>0){e=d+q[a+4>>2]|0;if(e>>>0>c>>>0){break D}}a=q[a+8>>2];continue}}q[a>>2]=b;q[a+4>>2]=q[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;q[j+4>>2]=g|3;b=d+(d+8&7?-8-d&7:0)|0;a=(b-j|0)-g|0;h=g+j|0;if((b|0)==(c|0)){q[41536]=h;a=q[41533]+a|0;q[41533]=a;q[h+4>>2]=a|1;break B}if(q[41535]==(b|0)){q[41535]=h;a=q[41532]+a|0;q[41532]=a;q[h+4>>2]=a|1;q[a+h>>2]=a;break B}c=q[b+4>>2];if((c&3)==1){k=c&-8;G:{if(c>>>0<=255){e=c>>>3|0;c=q[b+8>>2];d=q[b+12>>2];if((d|0)==(c|0)){m=166120,n=q[41530]&kl(-2,e),q[m>>2]=n;break G}q[c+12>>2]=d;q[d+8>>2]=c;break G}i=q[b+24>>2];f=q[b+12>>2];H:{if((f|0)!=(b|0)){c=q[b+8>>2];q[c+12>>2]=f;q[f+8>>2]=c;break H}I:{d=b+20|0;g=q[d>>2];if(g){break I}d=b+16|0;g=q[d>>2];if(g){break I}f=0;break H}while(1){c=d;f=g;d=g+20|0;g=q[d>>2];if(g){continue}d=f+16|0;g=q[f+16>>2];if(g){continue}break}q[c>>2]=0}if(!i){break G}c=q[b+28>>2];d=(c<<2)+166424|0;J:{if(q[d>>2]==(b|0)){q[d>>2]=f;if(f){break J}m=166124,n=q[41531]&kl(-2,c),q[m>>2]=n;break G}q[i+(q[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}q[f+24>>2]=i;c=q[b+16>>2];if(c){q[f+16>>2]=c;q[c+24>>2]=f}c=q[b+20>>2];if(!c){break G}q[f+20>>2]=c;q[c+24>>2]=f}b=b+k|0;a=a+k|0}q[b+4>>2]=q[b+4>>2]&-2;q[h+4>>2]=a|1;q[a+h>>2]=a;if(a>>>0<=255){b=a>>>3|0;a=(b<<3)+166160|0;c=q[41530];b=1<>2]}q[a+8>>2]=h;q[b+12>>2]=h;q[h+12>>2]=a;q[h+8>>2]=b;break B}c=h;d=a>>>8|0;b=0;L:{if(!d){break L}b=31;if(a>>>0>16777215){break L}e=d+1048320>>>16&8;d=d<>>16&4;g=d<>>16&2;b=(g<>>15|0)-(d|(b|e))|0;b=(b<<1|a>>>b+21&1)+28|0}q[c+28>>2]=b;q[h+16>>2]=0;q[h+20>>2]=0;c=(b<<2)+166424|0;d=q[41531];e=1<>2]=h;break M}d=a<<((b|0)==31?0:25-(b>>>1|0)|0);b=q[c>>2];while(1){c=b;if((q[b+4>>2]&-8)==(a|0)){break C}b=d>>>29|0;d=d<<1;e=(b&4)+c|0;b=q[e+16>>2];if(b){continue}break}q[e+16>>2]=h}q[h+24>>2]=c;q[h+12>>2]=h;q[h+8>>2]=h;break B}a=f+ -40|0;d=b+8&7?-8-b&7:0;h=a-d|0;q[41533]=h;d=b+d|0;q[41536]=d;q[d+4>>2]=h|1;q[(a+b|0)+4>>2]=40;q[41537]=q[41652];a=(e+(e+ -39&7?39-e&7:0)|0)+ -47|0;d=a>>>0>>0?c:a;q[d+4>>2]=27;a=q[41645];q[d+16>>2]=q[41644];q[d+20>>2]=a;a=q[41643];q[d+8>>2]=q[41642];q[d+12>>2]=a;q[41644]=d+8;q[41643]=f;q[41642]=b;q[41645]=0;a=d+24|0;while(1){q[a+4>>2]=7;b=a+8|0;a=a+4|0;if(e>>>0>b>>>0){continue}break}if((c|0)==(d|0)){break x}q[d+4>>2]=q[d+4>>2]&-2;e=d-c|0;q[c+4>>2]=e|1;q[d>>2]=e;if(e>>>0<=255){b=e>>>3|0;a=(b<<3)+166160|0;d=q[41530];b=1<>2]}q[a+8>>2]=c;q[b+12>>2]=c;q[c+12>>2]=a;q[c+8>>2]=b;break x}q[c+16>>2]=0;q[c+20>>2]=0;b=c;d=e>>>8|0;a=0;O:{if(!d){break O}a=31;if(e>>>0>16777215){break O}f=d+1048320>>>16&8;d=d<>>16&4;h=d<>>16&2;a=(h<>>15|0)-(d|(a|f))|0;a=(a<<1|e>>>a+21&1)+28|0}q[b+28>>2]=a;b=(a<<2)+166424|0;d=q[41531];f=1<>2]=c;q[c+24>>2]=b;break P}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=q[b>>2];while(1){d=b;if((e|0)==(q[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=q[f+16>>2];if(b){continue}break}q[f+16>>2]=c;q[c+24>>2]=d}q[c+12>>2]=c;q[c+8>>2]=c;break x}a=q[c+8>>2];q[a+12>>2]=h;q[c+8>>2]=h;q[h+24>>2]=0;q[h+12>>2]=c;q[h+8>>2]=a}a=j+8|0;break a}a=q[d+8>>2];q[a+12>>2]=c;q[d+8>>2]=c;q[c+24>>2]=0;q[c+12>>2]=d;q[c+8>>2]=a}a=q[41533];if(a>>>0<=g>>>0){break d}b=a-g|0;q[41533]=b;a=q[41536];c=a+g|0;q[41536]=c;q[c+4>>2]=b|1;q[a+4>>2]=g|3;a=a+8|0;break a}q[41511]=48;a=0;break a}Q:{if(!h){break Q}a=q[e+28>>2];d=(a<<2)+166424|0;R:{if(q[d>>2]==(e|0)){q[d>>2]=b;if(b){break R}i=kl(-2,a)&i;q[41531]=i;break Q}q[h+(q[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}q[b+24>>2]=h;a=q[e+16>>2];if(a){q[b+16>>2]=a;q[a+24>>2]=b}a=q[e+20>>2];if(!a){break Q}q[b+20>>2]=a;q[a+24>>2]=b}S:{if(c>>>0<=15){a=c+g|0;q[e+4>>2]=a|3;a=a+e|0;q[a+4>>2]=q[a+4>>2]|1;break S}q[e+4>>2]=g|3;d=e+g|0;q[d+4>>2]=c|1;q[c+d>>2]=c;if(c>>>0<=255){b=c>>>3|0;a=(b<<3)+166160|0;c=q[41530];b=1<>2]}q[a+8>>2]=d;q[b+12>>2]=d;q[d+12>>2]=a;q[d+8>>2]=b;break S}b=d;g=c>>>8|0;a=0;U:{if(!g){break U}a=31;if(c>>>0>16777215){break U}f=g+1048320>>>16&8;g=g<>>16&4;h=g<>>16&2;a=(h<>>15|0)-(g|(a|f))|0;a=(a<<1|c>>>a+21&1)+28|0}q[b+28>>2]=a;q[d+16>>2]=0;q[d+20>>2]=0;b=(a<<2)+166424|0;V:{g=1<>2]=d;break W}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);g=q[b>>2];while(1){b=g;if((q[b+4>>2]&-8)==(c|0)){break V}g=a>>>29|0;a=a<<1;f=(g&4)+b|0;g=q[f+16>>2];if(g){continue}break}q[f+16>>2]=d}q[d+24>>2]=b;q[d+12>>2]=d;q[d+8>>2]=d;break S}a=q[b+8>>2];q[a+12>>2]=d;q[b+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=b;q[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}a=q[b+28>>2];c=(a<<2)+166424|0;Y:{if(q[c>>2]==(b|0)){q[c>>2]=e;if(e){break Y}m=166124,n=kl(-2,a)&k,q[m>>2]=n;break X}q[j+(q[j+16>>2]==(b|0)?16:20)>>2]=e;if(!e){break X}}q[e+24>>2]=j;a=q[b+16>>2];if(a){q[e+16>>2]=a;q[a+24>>2]=e}a=q[b+20>>2];if(!a){break X}q[e+20>>2]=a;q[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+g|0;q[b+4>>2]=a|3;a=a+b|0;q[a+4>>2]=q[a+4>>2]|1;break Z}q[b+4>>2]=g|3;g=b+g|0;q[g+4>>2]=d|1;q[d+g>>2]=d;if(i){c=i>>>3|0;a=(c<<3)+166160|0;e=q[41535];c=1<>2]}q[a+8>>2]=e;q[c+12>>2]=e;q[e+12>>2]=a;q[e+8>>2]=c}q[41535]=g;q[41532]=d}a=b+8|0}xa=l+16|0;return a|0}function kk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;j=xa-32|0;C=h&240;B=(C|0)==240?4:8;x=w(e,3);a:{if((i&240)!=240){i=0;H=p[19291];I=p[19275];J=p[19259];K=p[19243];L=p[19290];M=p[19274];N=p[19258];O=p[19242];P=p[19289];Q=p[19273];G=p[19257];F=p[19241];D=p[19288];E=p[19272];V=p[19256];W=p[19240];X=p[19265];Y=p[19233];Z=p[19264];_=p[19232];$=p[19281];aa=p[19249];ba=p[19280];ca=p[19248];l=q[j+12>>2];m=q[j+8>>2];n=q[j+4>>2];v=q[j>>2];t=q[j+24>>2];s=q[j+20>>2];z=q[j+28>>2];u=q[j+16>>2];S=e<<1;da=S<<1;ea=w(e,6)<<1;fa=e<<3;ga=w(e,5)<<1;ha=w(e,7)<<1;e=b;while(1){b:{if(!(h&1)){t=p[a+fa>>1];y=p[a>>1];v=w(t,Z)+w(y,_)|0;R=p[a+ea>>1];T=p[a+da>>1];u=w(R,ba)+w(T,ca)|0;z=v-u|0;n=p[(x<<1)+a>>1];s=p[a+S>>1];k=p[a+ga>>1];A=p[a+ha>>1];l=((w(n,J)+w(s,K)|0)+w(k,I)|0)+w(A,H)|0;m=z-l|0;p[e+8>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;u=u+v|0;v=((w(n,V)+w(s,W)|0)+w(k,E)|0)+w(A,D)|0;m=u+v|0;p[e>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;U=w(t,X)+w(y,Y)|0;R=w(R,$)+w(aa,T)|0;t=U-R|0;m=((w(n,N)+w(s,O)|0)+w(k,M)|0)+w(A,L)|0;y=t-m|0;p[e+10>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:y- -64>>>7|0;n=((w(n,G)+w(s,F)|0)+w(k,Q)|0)+w(A,P)|0;s=R+U|0;k=n+s|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=s-n|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=m+t|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=u-v|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=l+z|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break b}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+16|0;a=a+2|0;i=i+1|0;if((B|0)!=(i|0)){continue}break}q[j+12>>2]=l;q[j+8>>2]=m;q[j+4>>2]=n;q[j>>2]=v;q[j+28>>2]=z;q[j+16>>2]=u;q[j+24>>2]=t;q[j+20>>2]=s;m=p[19248];if((C|0)!=240){n=p[19291];v=p[19275];t=p[19259];s=p[19243];z=p[19290];u=p[19274];k=p[19258];A=p[19242];C=p[19289];B=p[19273];x=p[19257];y=p[19241];H=p[19288];I=p[19272];J=p[19256];K=p[19240];L=p[19265];M=p[19233];N=p[19264];O=p[19232];P=p[19281];Q=p[19249];G=p[19280];a=0;while(1){e=p[b+48>>1];h=p[b+16>>1];i=p[b+80>>1];l=p[b+112>>1];q[j+12>>2]=((w(e,t)+w(h,s)|0)+w(i,v)|0)+w(l,n);q[j+8>>2]=((w(e,k)+w(h,A)|0)+w(i,u)|0)+w(l,z);q[j+4>>2]=((w(e,x)+w(h,y)|0)+w(i,B)|0)+w(l,C);e=((w(e,J)+w(h,K)|0)+w(i,I)|0)+w(l,H)|0;q[j>>2]=e;h=p[b+64>>1];i=p[b>>1];l=w(h,N)+w(i,O)|0;F=p[b+96>>1];D=p[b+32>>1];E=w(F,G)+w(D,m)|0;q[j+28>>2]=l-E;h=w(h,L)+w(i,M)|0;i=w(P,F)+w(Q,D)|0;q[j+24>>2]=h-i;q[j+20>>2]=h+i;h=l+E|0;q[j+16>>2]=h;e=e+h|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=q[j+28>>2]-q[j+12>>2]|0;e=r[c+4|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+4|0]=(e|0)<255?e:255;e=q[j+4>>2]+q[j+20>>2]|0;e=r[c+1|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+1|0]=(e|0)<255?e:255;e=q[j+24>>2]-q[j+8>>2]|0;e=r[c+5|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+5|0]=(e|0)<255?e:255;e=q[j+8>>2]+q[j+24>>2]|0;e=r[c+2|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+2|0]=(e|0)<255?e:255;e=q[j+20>>2]-q[j+4>>2]|0;e=r[c+6|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+6|0]=(e|0)<255?e:255;e=q[j+12>>2]+q[j+28>>2]|0;e=r[c+3|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+3|0]=(e|0)<255?e:255;e=q[j+16>>2]-q[j>>2]|0;e=r[c+7|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+7|0]=(e|0)<255?e:255;d=d+g|0;c=c+f|0;b=b+2|0;a=a+1|0;if((a|0)!=8){continue}break}break a}i=p[19259];l=p[19243];n=p[19258];v=p[19242];t=p[19257];s=p[19241];z=p[19256];u=p[19240];k=p[19233];A=p[19232];C=p[19249];h=0;while(1){a=p[b+48>>1];e=p[b+16>>1];q[j+12>>2]=w(a,i)+w(e,l);q[j+8>>2]=w(a,n)+w(e,v);q[j+4>>2]=w(a,t)+w(e,s);a=w(a,z)+w(e,u)|0;q[j>>2]=a;e=p[b>>1];B=w(e,A);x=p[b+32>>1];y=w(x,m);q[j+28>>2]=B-y;e=w(e,k);x=w(x,C);q[j+24>>2]=e-x;q[j+20>>2]=e+x;e=y+B|0;q[j+16>>2]=e;a=a+e|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+28>>2]-q[j+12>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+4>>2]+q[j+20>>2]|0;a=r[c+1|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+1|0]=(a|0)<255?a:255;a=q[j+24>>2]-q[j+8>>2]|0;a=r[c+5|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+5|0]=(a|0)<255?a:255;a=q[j+8>>2]+q[j+24>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+20>>2]-q[j+4>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;a=q[j+12>>2]+q[j+28>>2]|0;a=r[c+3|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+3|0]=(a|0)<255?a:255;a=q[j+16>>2]-q[j>>2]|0;a=r[c+7|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+7|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=8){continue}break}break a}i=0;A=p[19259];y=p[19243];H=p[19258];I=p[19242];J=p[19257];K=p[19241];L=p[19256];M=p[19240];N=p[19233];O=p[19232];P=p[19249];Q=p[19248];z=q[j+12>>2];u=q[j+8>>2];n=q[j+4>>2];l=q[j>>2];m=q[j+24>>2];s=q[j+20>>2];v=q[j+28>>2];t=q[j+16>>2];G=e<<1;F=G<<1;e=b;while(1){c:{if(!(h&1)){u=p[a>>1];m=w(u,O);k=p[a+F>>1];t=w(k,Q);v=m-t|0;n=p[(x<<1)+a>>1];s=p[a+G>>1];z=w(n,A)+w(s,y)|0;l=v-z|0;p[e+8>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=w(n,L)+w(s,M)|0;t=m+t|0;m=l+t|0;p[e>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:m- -64>>>7|0;D=w(u,N);E=w(k,P);m=D-E|0;u=w(n,H)+w(s,I)|0;k=m-u|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;n=w(n,J)+w(s,K)|0;s=D+E|0;k=n+s|0;p[e+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=s-n|0;p[e+12>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=m+u|0;p[e+4>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=t-l|0;p[e+14>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=v+z|0;p[e+6>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;break c}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+16|0;a=a+2|0;i=i+1|0;if((B|0)!=(i|0)){continue}break}q[j+12>>2]=z;q[j+8>>2]=u;q[j+4>>2]=n;q[j>>2]=l;q[j+28>>2]=v;q[j+16>>2]=t;q[j+24>>2]=m;q[j+20>>2]=s;m=p[19248];if((C|0)!=240){n=p[19291];v=p[19275];t=p[19259];s=p[19243];z=p[19290];u=p[19274];k=p[19258];A=p[19242];C=p[19289];B=p[19273];x=p[19257];y=p[19241];H=p[19288];I=p[19272];J=p[19256];K=p[19240];L=p[19265];M=p[19233];N=p[19264];O=p[19232];P=p[19281];Q=p[19249];G=p[19280];a=0;while(1){e=p[b+48>>1];h=p[b+16>>1];i=p[b+80>>1];l=p[b+112>>1];q[j+12>>2]=((w(e,t)+w(h,s)|0)+w(i,v)|0)+w(l,n);q[j+8>>2]=((w(e,k)+w(h,A)|0)+w(i,u)|0)+w(l,z);q[j+4>>2]=((w(e,x)+w(h,y)|0)+w(i,B)|0)+w(l,C);e=((w(e,J)+w(h,K)|0)+w(i,I)|0)+w(l,H)|0;q[j>>2]=e;h=p[b+64>>1];i=p[b>>1];l=w(h,N)+w(i,O)|0;F=p[b+96>>1];D=p[b+32>>1];E=w(F,G)+w(D,m)|0;q[j+28>>2]=l-E;h=w(h,L)+w(i,M)|0;i=w(P,F)+w(Q,D)|0;q[j+24>>2]=h-i;q[j+20>>2]=h+i;h=l+E|0;q[j+16>>2]=h;e=e+h|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=q[j+28>>2]-q[j+12>>2]|0;e=r[c+4|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+4|0]=(e|0)<255?e:255;e=q[j+4>>2]+q[j+20>>2]|0;e=r[c+1|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+1|0]=(e|0)<255?e:255;e=q[j+24>>2]-q[j+8>>2]|0;e=r[c+5|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+5|0]=(e|0)<255?e:255;e=q[j+8>>2]+q[j+24>>2]|0;e=r[c+2|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+2|0]=(e|0)<255?e:255;e=q[j+20>>2]-q[j+4>>2]|0;e=r[c+6|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+6|0]=(e|0)<255?e:255;e=q[j+12>>2]+q[j+28>>2]|0;e=r[c+3|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+3|0]=(e|0)<255?e:255;e=q[j+16>>2]-q[j>>2]|0;e=r[c+7|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+7|0]=(e|0)<255?e:255;d=d+g|0;c=c+f|0;b=b+2|0;a=a+1|0;if((a|0)!=8){continue}break}break a}i=p[19259];l=p[19243];n=p[19258];v=p[19242];t=p[19257];s=p[19241];z=p[19256];u=p[19240];k=p[19233];A=p[19232];C=p[19249];h=0;while(1){a=p[b+48>>1];e=p[b+16>>1];q[j+12>>2]=w(a,i)+w(e,l);q[j+8>>2]=w(a,n)+w(e,v);q[j+4>>2]=w(a,t)+w(e,s);a=w(a,z)+w(e,u)|0;q[j>>2]=a;e=p[b>>1];B=w(e,A);x=p[b+32>>1];y=w(x,m);q[j+28>>2]=B-y;e=w(e,k);x=w(x,C);q[j+24>>2]=e-x;q[j+20>>2]=e+x;e=y+B|0;q[j+16>>2]=e;a=a+e|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[j+28>>2]-q[j+12>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[j+4>>2]+q[j+20>>2]|0;a=r[c+1|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+1|0]=(a|0)<255?a:255;a=q[j+24>>2]-q[j+8>>2]|0;a=r[c+5|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+5|0]=(a|0)<255?a:255;a=q[j+8>>2]+q[j+24>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[j+20>>2]-q[j+4>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;a=q[j+12>>2]+q[j+28>>2]|0;a=r[c+3|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+3|0]=(a|0)<255?a:255;a=q[j+16>>2]-q[j>>2]|0;a=r[c+7|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+7|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=8){continue}break}}} + + + +function Jj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;b=q[a>>2]+63|0;j=b&-64;r=(j|0)/16|0;c=q[a+4>>2]+63|0;m=c&-64;k=(m|0)/16|0;f=(j|0)/4|0;d=(m|0)/8|0;i=(j|0)/8|0;u=1;h=q[a+11624>>2];l=(b|63)/64|0;c=w(l,(c|63)/64|0);e=w(c,390);g=n[q[a+11616>>2]](h,128,e)|0;a:{if(!g){break a}x=a,y=Qa(g,0,e),q[x+284>>2]=y;e=c+k<<2;g=n[q[a+11616>>2]](h,128,e)|0;if(!g){break a}x=a,y=Qa(g,0,e),q[x+308>>2]=y;e=((j|0)/64|0)+3&-4;g=n[q[a+11616>>2]](h,128,e)|0;if(!g){break a}x=a,y=Qa(g,0,e),q[x+608>>2]=y;e=((j|0)/32|0)+3&-4;g=n[q[a+11616>>2]](h,128,e)|0;if(!g){break a}x=a,y=Qa(g,0,e),q[x+616>>2]=y;e=((w(d,i)|0)/8|0)+3&-4;g=n[q[a+11616>>2]](h,128,e)|0;if(!g){break a}e=Qa(g,0,e);q[a+600>>2]=e;q[a+212>>2]=e;e=d+8|0;d=((w(e,i+8|0)|0)/8|0)+3&-4;g=n[q[a+11616>>2]](h,128,d)|0;if(!g){break a}d=Qa(g,1,d);q[a+216>>2]=d;b=(d+(b>>6)|0)+1|0;q[a+1284>>2]=b;q[a+1212>>2]=b;q[a+604>>2]=b;q[a+220>>2]=b;g=q[a+284>>2];d=w(c,6);c=g+d|0;b=q[a+300>>2];p=d+c|0;q[b+140>>2]=p;q[b+72>>2]=c;q[b+4>>2]=g;c=d+p|0;q[b+208>>2]=c;c=d+c|0;q[b+276>>2]=c;c=d+c|0;q[b+344>>2]=c;c=d+c|0;q[b+412>>2]=c;c=d+c|0;q[b+480>>2]=c;c=d+c|0;q[b+548>>2]=c;c=d+c|0;q[b+616>>2]=c;c=d+c|0;q[b+684>>2]=c;c=d+c|0;q[b+752>>2]=c;c=d+c|0;q[b+820>>2]=c;c=d+c|0;q[b+888>>2]=c;c=d+c|0;q[b+956>>2]=c;c=d+c|0;q[b+1024>>2]=c;c=d+c|0;q[b+1092>>2]=c;c=d+c|0;q[b+1160>>2]=c;c=d+c|0;q[b+1228>>2]=c;c=d+c|0;q[b+1296>>2]=c;c=d+c|0;q[b+1364>>2]=c;c=d+c|0;q[b+1432>>2]=c;c=d+c|0;q[b+1500>>2]=c;c=d+c|0;q[b+1568>>2]=c;c=d+c|0;q[b+1636>>2]=c;c=d+c|0;q[b+1704>>2]=c;c=d+c|0;q[b+1772>>2]=c;c=d+c|0;q[b+1840>>2]=c;c=d+c|0;q[b+1908>>2]=c;c=d+c|0;q[b+1976>>2]=c;c=d+c|0;q[b+2044>>2]=c;c=d+c|0;q[b+2112>>2]=c;c=d+c|0;q[b+2180>>2]=c;c=d+c|0;q[b+2248>>2]=c;c=d+c|0;q[b+2316>>2]=c;c=d+c|0;q[b+2384>>2]=c;c=d+c|0;q[b+2452>>2]=c;c=d+c|0;q[b+2520>>2]=c;c=d+c|0;q[b+2588>>2]=c;c=d+c|0;q[b+2656>>2]=c;c=d+c|0;q[b+2724>>2]=c;c=d+c|0;q[b+2792>>2]=c;c=d+c|0;q[b+2860>>2]=c;c=d+c|0;q[b+2928>>2]=c;c=d+c|0;q[b+2996>>2]=c;c=d+c|0;q[b+3064>>2]=c;c=d+c|0;q[b+3132>>2]=c;c=d+c|0;q[b+3200>>2]=c;c=d+c|0;q[b+3268>>2]=c;c=d+c|0;q[b+3336>>2]=c;c=d+c|0;q[b+3404>>2]=c;c=d+c|0;q[b+3472>>2]=c;c=d+c|0;q[b+3540>>2]=c;c=d+c|0;q[b+3608>>2]=c;c=d+c|0;q[b+3676>>2]=c;c=d+c|0;q[b+3744>>2]=c;c=d+c|0;q[b+3812>>2]=c;c=d+c|0;q[b+3880>>2]=c;c=d+c|0;q[b+3948>>2]=c;c=d+c|0;q[b+4016>>2]=c;c=d+c|0;q[b+4084>>2]=c;c=d+c|0;q[b+4152>>2]=c;c=d+c|0;q[b+4220>>2]=c;c=d+c|0;q[b+4288>>2]=c;q[b+4356>>2]=d+c;b=(w(k,l)+k<<4|3)+52&-4;d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}q[a+200>>2]=b;q[a+196>>2]=d;v=w(k,r);b=v+3&-4;d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}x=a,y=Qa(d,0,b),q[x+204>>2]=y;d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}x=a,y=Qa(d,0,b),q[x+208>>2]=y;c=f<<2;b=c+519&-4;d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}b=Qa(d,0,b);q[a+6064>>2]=b;q[b+56>>2]=0;q[b+60>>2]=0;q[b+48>>2]=0;q[b+52>>2]=0;q[b+40>>2]=0;q[b+44>>2]=0;q[b+32>>2]=0;q[b+36>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;q[b>>2]=0;q[b+4>>2]=0;q[a+6756>>2]=b- -64;f=a+6060|0;d=b+512|0;q[f>>2]=d;q[b+120>>2]=0;q[b+124>>2]=0;q[b+112>>2]=0;q[b+116>>2]=0;q[b+104>>2]=0;q[b+108>>2]=0;q[b+96>>2]=0;q[b+100>>2]=0;q[b+88>>2]=0;q[b+92>>2]=0;q[b+80>>2]=0;q[b+84>>2]=0;q[b+72>>2]=0;q[b+76>>2]=0;q[b+64>>2]=0;q[b+68>>2]=0;q[a+7448>>2]=b+128;q[a+6752>>2]=d;q[b+184>>2]=0;q[b+188>>2]=0;q[b+176>>2]=0;q[b+180>>2]=0;q[b+168>>2]=0;q[b+172>>2]=0;q[b+160>>2]=0;q[b+164>>2]=0;q[b+152>>2]=0;q[b+156>>2]=0;q[b+144>>2]=0;q[b+148>>2]=0;q[b+136>>2]=0;q[b+140>>2]=0;q[b+128>>2]=0;q[b+132>>2]=0;q[a+8140>>2]=b+192;q[a+7444>>2]=d;q[b+248>>2]=0;q[b+252>>2]=0;q[b+240>>2]=0;q[b+244>>2]=0;q[b+232>>2]=0;q[b+236>>2]=0;q[b+224>>2]=0;q[b+228>>2]=0;q[b+216>>2]=0;q[b+220>>2]=0;q[b+208>>2]=0;q[b+212>>2]=0;q[b+200>>2]=0;q[b+204>>2]=0;q[b+192>>2]=0;q[b+196>>2]=0;q[a+8832>>2]=b+256;q[a+8136>>2]=d;q[b+312>>2]=0;q[b+316>>2]=0;q[b+304>>2]=0;q[b+308>>2]=0;q[b+296>>2]=0;q[b+300>>2]=0;q[b+288>>2]=0;q[b+292>>2]=0;q[b+280>>2]=0;q[b+284>>2]=0;q[b+272>>2]=0;q[b+276>>2]=0;q[b+264>>2]=0;q[b+268>>2]=0;q[b+256>>2]=0;q[b+260>>2]=0;q[a+9524>>2]=b+320;q[a+8828>>2]=d;q[b+376>>2]=0;q[b+380>>2]=0;q[b+368>>2]=0;q[b+372>>2]=0;q[b+360>>2]=0;q[b+364>>2]=0;q[b+352>>2]=0;q[b+356>>2]=0;q[b+344>>2]=0;q[b+348>>2]=0;q[b+336>>2]=0;q[b+340>>2]=0;q[b+328>>2]=0;q[b+332>>2]=0;q[b+320>>2]=0;q[b+324>>2]=0;q[a+10216>>2]=b+384;q[a+9520>>2]=d;q[b+440>>2]=0;q[b+444>>2]=0;q[b+432>>2]=0;q[b+436>>2]=0;q[b+424>>2]=0;q[b+428>>2]=0;q[b+416>>2]=0;q[b+420>>2]=0;q[b+408>>2]=0;q[b+412>>2]=0;q[b+400>>2]=0;q[b+404>>2]=0;q[b+392>>2]=0;q[b+396>>2]=0;q[b+384>>2]=0;q[b+388>>2]=0;q[a+10908>>2]=b+448;q[a+10212>>2]=d;q[b+504>>2]=0;q[b+508>>2]=0;q[b+496>>2]=0;q[b+500>>2]=0;q[b+488>>2]=0;q[b+492>>2]=0;q[b+480>>2]=0;q[b+484>>2]=0;q[b+472>>2]=0;q[b+476>>2]=0;q[b+464>>2]=0;q[b+468>>2]=0;q[b+456>>2]=0;q[b+460>>2]=0;q[b+448>>2]=0;q[b+452>>2]=0;q[a+10904>>2]=d;Qa(q[f>>2],0,c+4|0);t=r<<1;c=(m|0)>(j|0)?m:j;f=(((t+r|0)+w(k,9)|0)+(c+j<<1)|0)+63&-64;b=n[q[a+11616>>2]](h,128,f)|0;if(!b){break a}b=Qa(b,0,f);q[a+11400>>2]=b;q[a+10708>>2]=b;q[a+10016>>2]=b;q[a+9324>>2]=b;q[a+8632>>2]=b;q[a+7940>>2]=b;q[a+7248>>2]=b;q[a+6556>>2]=b;d=b+c|0;q[a+11408>>2]=d;q[a+10716>>2]=d;q[a+10024>>2]=d;q[a+9332>>2]=d;q[a+8640>>2]=d;q[a+7948>>2]=d;q[a+7256>>2]=d;q[a+6564>>2]=d;q[a+1308>>2]=b;q[a+1316>>2]=d;b=d+c|0;q[a+11404>>2]=b;q[a+10712>>2]=b;q[a+10020>>2]=b;q[a+9328>>2]=b;q[a+8636>>2]=b;q[a+7944>>2]=b;q[a+7252>>2]=b;q[a+6560>>2]=b;d=b+j|0;q[a+11412>>2]=d;q[a+10720>>2]=d;q[a+10028>>2]=d;q[a+9336>>2]=d;q[a+8644>>2]=d;q[a+7952>>2]=d;q[a+7260>>2]=d;q[a+6568>>2]=d;q[a+1312>>2]=b;q[a+1320>>2]=d;b=d+j|0;q[a+6572>>2]=b;q[a+7264>>2]=b;q[a+7956>>2]=b;q[a+8648>>2]=b;q[a+9340>>2]=b;q[a+10032>>2]=b;q[a+10724>>2]=b;q[a+11416>>2]=b;d=b+k|0;q[a+11420>>2]=d;q[a+10728>>2]=d;q[a+10036>>2]=d;q[a+9344>>2]=d;q[a+8652>>2]=d;q[a+7960>>2]=d;q[a+7268>>2]=d;q[a+6576>>2]=d;q[a+1324>>2]=b;q[a+1328>>2]=d;c=k<<1;b=c+d|0;q[a+6580>>2]=b;q[a+7272>>2]=b;q[a+7964>>2]=b;q[a+8656>>2]=b;q[a+9348>>2]=b;q[a+10040>>2]=b;q[a+10732>>2]=b;q[a+11424>>2]=b;d=b+k|0;q[a+11428>>2]=d;q[a+10736>>2]=d;q[a+10044>>2]=d;q[a+9352>>2]=d;q[a+8660>>2]=d;q[a+7968>>2]=d;q[a+7276>>2]=d;q[a+6584>>2]=d;q[a+1332>>2]=b;b=d+c|0;q[a+11432>>2]=b;q[a+10740>>2]=b;q[a+10048>>2]=b;q[a+9356>>2]=b;q[a+8664>>2]=b;q[a+7972>>2]=b;q[a+7280>>2]=b;q[a+6588>>2]=b;q[a+1336>>2]=d;d=b+r|0;q[a+11436>>2]=d;q[a+10744>>2]=d;q[a+10052>>2]=d;q[a+9360>>2]=d;q[a+8668>>2]=d;q[a+7976>>2]=d;q[a+7284>>2]=d;q[a+6592>>2]=d;q[a+1340>>2]=b;b=d+t|0;q[a+11444>>2]=b;q[a+10752>>2]=b;q[a+10060>>2]=b;q[a+9368>>2]=b;q[a+8676>>2]=b;q[a+7984>>2]=b;q[a+7292>>2]=b;q[a+6600>>2]=b;q[a+1344>>2]=d;d=b+k|0;q[a+11452>>2]=d;q[a+10760>>2]=d;q[a+10068>>2]=d;q[a+9376>>2]=d;q[a+8684>>2]=d;q[a+7992>>2]=d;q[a+7300>>2]=d;q[a+6608>>2]=d;q[a+1352>>2]=b;q[a+1360>>2]=d;d=(w(i+16|0,(m- -64|0)/4|0)|0)/8<<1;c=(w(r+1|0,k)|0)/8|0;l=w(j,m);b=(l|0)/64|0;i=(w(e,(j- -64|0)/4|0)|0)/8<<1;f=f+((d+(c+b|0)|0)+i|0)|0;e=n[q[a+11616>>2]](h,128,f)|0;if(!e){break a}f=Qa(e,0,f);q[a+6400>>2]=f;q[a+6284>>2]=f;f=d+f|0;q[a+6404>>2]=f;q[a+6288>>2]=f;f=f+i|0;q[a+6412>>2]=f;q[a+6296>>2]=f;f=b+f|0;q[a+6408>>2]=f;q[a+6292>>2]=f;e=c+f|0;f=c+(b+(d+i|0)|0)|0;e=e-f|0;q[a+7092>>2]=e;q[a+6976>>2]=e;e=d+e|0;q[a+7096>>2]=e;q[a+6980>>2]=e;e=e+i|0;q[a+7104>>2]=e;q[a+6988>>2]=e;e=b+e|0;q[a+7100>>2]=e;q[a+6984>>2]=e;e=(c+e|0)-f|0;q[a+7784>>2]=e;q[a+7668>>2]=e;e=d+e|0;q[a+7788>>2]=e;q[a+7672>>2]=e;e=e+i|0;q[a+7796>>2]=e;q[a+7680>>2]=e;e=b+e|0;q[a+7676>>2]=e;q[a+7792>>2]=e;e=(c+e|0)-f|0;q[a+8360>>2]=e;q[a+8476>>2]=e;e=d+e|0;q[a+8364>>2]=e;q[a+8480>>2]=e;e=e+i|0;q[a+8372>>2]=e;q[a+8488>>2]=e;e=b+e|0;q[a+8368>>2]=e;q[a+8484>>2]=e;e=(c+e|0)-f|0;q[a+9052>>2]=e;q[a+9168>>2]=e;e=d+e|0;q[a+9056>>2]=e;q[a+9172>>2]=e;e=e+i|0;q[a+9064>>2]=e;q[a+9180>>2]=e;e=b+e|0;q[a+9176>>2]=e;q[a+9060>>2]=e;e=(c+e|0)-f|0;q[a+9860>>2]=e;q[a+9744>>2]=e;e=d+e|0;q[a+9748>>2]=e;q[a+9864>>2]=e;e=e+i|0;q[a+9756>>2]=e;q[a+9872>>2]=e;e=b+e|0;q[a+9752>>2]=e;q[a+9868>>2]=e;e=(c+e|0)-f|0;q[a+10436>>2]=e;q[a+10552>>2]=e;e=d+e|0;q[a+10440>>2]=e;q[a+10556>>2]=e;e=e+i|0;q[a+10448>>2]=e;q[a+10564>>2]=e;e=b+e|0;q[a+10444>>2]=e;q[a+10560>>2]=e;e=(c+e|0)-f|0;q[a+11128>>2]=e;q[a+11244>>2]=e;g=d+e|0;q[a+11248>>2]=g;q[a+11132>>2]=g;p=g+i|0;q[a+11256>>2]=p;q[a+11140>>2]=p;s=b+p|0;q[a+11252>>2]=s;q[a+11136>>2]=s;q[a+1164>>2]=p;q[a+1156>>2]=g;q[a+1152>>2]=e;q[a+1160>>2]=s;e=d;d=(c+s|0)-f|0;c=e+d|0;q[a+1040>>2]=c;q[a+1036>>2]=d;d=c+i|0;q[a+1048>>2]=d;q[a+1044>>2]=b+d;b=w(k+2|0,t);d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}b=Qa(d,0,b);q[a+11612>>2]=b;b=b+(r<<1)|0;q[a+11476>>2]=b;q[a+10784>>2]=b;q[a+10092>>2]=b;q[a+9400>>2]=b;q[a+8708>>2]=b;q[a+8016>>2]=b;q[a+7324>>2]=b;q[a+6632>>2]=b;b=w(v,12);d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}b=Qa(d,0,b);q[a+11388>>2]=b;q[a+10696>>2]=b;q[a+10004>>2]=b;q[a+9312>>2]=b;q[a+8620>>2]=b;q[a+7928>>2]=b;q[a+7236>>2]=b;q[a+6544>>2]=b;q[a+1296>>2]=b;q[a+1444>>2]=b;q[a+176>>2]=0;if((l|0)>=1048577){b=n[q[a+11616>>2]](h,128,l|16)|0;if(!b){break a}q[a+188>>2]=l;q[a+176>>2]=b}b=(l|0)/16|0;b=((b+((l|0)/256<<2)|0)+w(b+(b>>1)|0,42)|0)+4|0;d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}x=a,y=Qa(d,0,b),q[x+192>>2]=y;b=q[a+636>>2]+w(q[a+11596>>2],8976)|0;b=w(o[(o[b+14|0]+b|0)+24|0]+1|0,Fi(l)+40980|0);d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}q[a+240>>2]=b;q[a+236>>2]=d;if(!q[a+56>>2]){b=Gi(a,j,m);d=n[q[a+11616>>2]](h,128,b)|0;if(!d){break a}q[a+11628>>2]=d;q[a+256>>2]=b}b=kj(q[a+196>>2],q[a+200>>2]);q[a+11556>>2]=b;if(!b){break a}u=0;q[a+6100>>2]=0;q[a+6092>>2]=b;q[a+656>>2]=b;q[a+6792>>2]=1;q[a+6784>>2]=b;d=a+6104|0;q[d>>2]=0;q[d+4>>2]=0;q[a+7484>>2]=2;q[a+7476>>2]=b;d=a+6796|0;q[d>>2]=0;q[d+4>>2]=0;q[a+6648>>2]=a;q[a+8176>>2]=3;q[a+8168>>2]=b;d=a+7488|0;q[d>>2]=0;q[d+4>>2]=0;q[a+7340>>2]=a;q[a+8868>>2]=4;q[a+8860>>2]=b;d=a+8180|0;q[d>>2]=0;q[d+4>>2]=0;q[a+8032>>2]=a;q[a+5956>>2]=a;q[a+9560>>2]=5;q[a+9552>>2]=b;d=a+8872|0;q[d>>2]=0;q[d+4>>2]=0;q[a+8724>>2]=a;d=a+9564|0;q[d>>2]=0;q[d+4>>2]=0;q[a+10252>>2]=6;q[a+10244>>2]=b;q[a+9416>>2]=a;d=a+10256|0;q[d>>2]=0;q[d+4>>2]=0;q[a+10944>>2]=7;q[a+10936>>2]=b;q[a+10108>>2]=a;b=a+10948|0;q[b>>2]=0;q[b+4>>2]=0;q[a+11632>>2]=1;q[a+10800>>2]=a}return u}function $c(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;j=xa+ -64|0;xa=j;b=q[a+140>>2];g=q[a>>2];d=q[g+11560>>2];c=q[a+12>>2];h=s[q[a+28>>2]+2>>1];t=1;f=q[a+44>>2];y=r[f+4116|0];z=1<>2]<=(256-(p[f+4118>>1]<<1)|0)?q[a+688>>2]:t;if(b){l=z>>3;Q=(l|0)>0?l:0;R=z+8|0;S=a+544|0;H=a+380|0;d=(d|0)<(b|0)?d:b;c=h-c|0;i=(d|0)<(c|0)?d:c;J=w(B,B);K=w(i,J);L=a+280|0;T=a+112|0;U=i+ -1|0;I=(z|0)/2|0;V=I+16|0;M=(z<>2];h=q[a+24>>2];l=q[a+20>>2];C=q[a+120>>2];D=q[a+68>>2];W=(y|0)==31;while(1){q[a+120>>2]=C;q[a+20>>2]=l;q[a+24>>2]=h;q[a+68>>2]=D;x=q[a+32>>2];F=q[a+16>>2];t=(b|0)<(t|0)?b:t;A=t;a:{if(t){while(1){d=q[a+28>>2];b:{b=q[a+148>>2];if(q[a+152>>2]?0:!b){break b}while(1){e=1024;while(1){q[j+8>>2]=1;if(b){q[j+8>>2]=r[q[g+204>>2]+((q[a+4>>2]+U|0)+w(q[a+8>>2],p[f+4118>>1])|0)|0]}if(q[j+8>>2]){break b}b=128;if((e|0)>=1){while(1){cb(3708,0);b=b+ -1|0;if(b){continue}break}e=e+ -128|0;b=q[a+148>>2];continue}break}b=q[a+148>>2];continue}}fc(a,1,i);c=q[a+4>>2];c:{if(q[a+8>>2]?0:!c){break c}k=q[a+32>>2]+1|0;b=q[q[a>>2]+304>>2]+w(k&255,1272)|0;if((c|0)!=p[b+872>>1]|q[a+8>>2]!=p[b+874>>1]){break c}if(!r[b+75|0]){q[a+20>>2]=0;q[a+24>>2]=0}q[a+48>>2]=b;q[a+32>>2]=k}b=q[a+48>>2];re(a);d:{if(r[b+76|0]<=1){if(q[g+24>>2]>=3){c=q[a+108>>2];k=q[a+104>>2];b=q[a+4>>2];q[j+8>>2]=q[a+40>>2];q[j+12>>2]=q[a+44>>2];u=q[a+48>>2];q[j+20>>2]=b;q[j+16>>2]=u;q[j+24>>2]=q[a+8>>2];q[j+28>>2]=q[a+76>>2];u=q[a+96>>2];q[j+36>>2]=d;q[j+32>>2]=u;q[j+44>>2]=q[a+100>>2];q[j+40>>2]=q[a+84>>2];q[j+48>>2]=q[a+92>>2];q[j+52>>2]=q[a+264>>2];q[j+56>>2]=q[a+268>>2];o[j+60|0]=r[a+248|0];o[j+61|0]=r[a+249|0];o[j+62|0]=r[a+250|0];o[j+63|0]=r[a+251|0];Ce(j+8|0,k+((b<>2]<3){break d}X=q[a+92>>2];E=q[a+100>>2];d=q[a+84>>2];b=q[a+4>>2];e=q[a+8>>2];O=b+w(e,p[f+4118>>1])|0;m=q[d+(O<<2)>>2];P=q[d+(q[a+680>>2]<<2)>>2]-m|0;if((P|0)>=1){u=q[a+96>>2]+(m<<4)|0;e=0;while(1){Y=e+m|0;b=q[u+12>>2];Z=b>>>12&15;_=b>>>8&15;d=0;while(1){c=d+1|0;b=0;while(1){k=b+1|0;G=q[u+12>>2];q[E+((k+(G&15)|0)+w(c+(G>>>4&15)|0,18)<<2)>>2]=Y;G=(b|0)!=(_|0);b=k;if(G){continue}break}b=(d|0)!=(Z|0);d=c;if(b){continue}break}u=u+16|0;e=e+1|0;if((P|0)!=(e|0)){continue}break}e=q[a+8>>2];b=q[a+4>>2]}d=p[f+2>>1];c=r[f+4116|0];k=q[a+104>>2];q[a+112>>2]=q[(k+((b+1<>2];if((z|0)<4){break d}u=w(J,O)+X|0;b=d-(e<>2];b=0;while(1){d=b+1|0;q[e+(b<<2)>>2]=q[E+(w(d,18)+B<<2)>>2];q[k+(((q[a+4>>2]<>2]=q[E+(c+d<<2)>>2];b=d;if((B|0)!=(b|0)){continue}break}d=q[E+76>>2];e=19;c=0;m=0;while(1){b=0;while(1){o[u+(b+m|0)|0]=q[E+(b+e<<2)>>2]-d;b=b+1|0;if((B|0)!=(b|0)){continue}break}e=e+18|0;m=m+B|0;c=c+1|0;if((B|0)!=(c|0)){continue}break}}if(r[q[a+40>>2]+27|0]){p[q[a+676>>2]+(q[a+4>>2]+w(q[a+8>>2],p[f+4118>>1])<<1)>>1]=q[a+36>>2]}e:{if(q[g+88>>2]|q[g+24>>2]<3){break e}b=q[a+48>>2];f:{if(q[g+128>>2]){break f}qe(a);d=q[a+44>>2];q[a+280>>2]=q[a+40>>2];q[a+284>>2]=d;q[a+288>>2]=q[a>>2];q[a+300>>2]=q[a+252>>2];q[a+304>>2]=q[a+4>>2];d=q[a+12>>2];q[a+308>>2]=q[a+8>>2];q[a+312>>2]=d;d=q[a+20>>2];q[a+316>>2]=q[a+16>>2];q[a+320>>2]=d;q[a+324>>2]=q[a+24>>2];q[a+344>>2]=q[a+68>>2];q[a+356>>2]=q[a+76>>2];q[a+364>>2]=q[a+100>>2];d=q[a+684>>2];q[a+368>>2]=q[a+680>>2];q[a+372>>2]=d;q[a+376>>2]=q[a+672>>2];q[a+296>>2]=q[a+48>>2];q[a+292>>2]=q[a+28>>2];if(r[b+76|0]==2){Ge(L);break f}Fe(L)}if(!r[b+171|0]){break e}b=q[a+332>>2];c=w(q[a+8>>2],w(p[f+4118>>1]+1|0,M));d=w(q[a+4>>2],M);Qa(c+(d+q[a+328>>2]|0)|0,0,N);Qa(c+(b+d|0)|0,0,N)}b=p[f+4118>>1];q[a+120>>2]=q[a+120>>2]+K;q[a+68>>2]=q[a+68>>2]+(q[a+252>>2]<<2);if(!(((q[a+4>>2]+w(b,q[a+8>>2])|0)+1|0)%142560|q[g+24>>2]!=1)){q[a+68>>2]=q[a+116>>2]}q[a+76>>2]=q[a+76>>2]+(q[a+264>>2]<<4);if(!(!q[a+152>>2]|(i|0)<1)){d=q[a>>2];b=0;while(1){c=q[d+208>>2]+((q[a+4>>2]+b|0)+w(q[a+8>>2],p[q[a+44>>2]+4118>>1])|0)|0;o[c|0]=r[c|0]|2;b=b+1|0;if((i|0)!=(b|0)){continue}break}}ad(a,i);A=A-i|0;if(A){continue}break}if((x|0)!=q[a+32>>2]){b=q[g+304>>2];q[a+32>>2]=x;q[a+48>>2]=b+w(x&255,1272)}q[a+20>>2]=l;q[a+12>>2]=v;q[a+120>>2]=C;q[a+24>>2]=h;q[a+16>>2]=F;q[a+68>>2]=D;q[a+4>>2]=q[a+4>>2]-t;d=t;while(1){fc(a,2,i);c=q[a+4>>2];g:{if(q[a+8>>2]?0:!c){break g}k=q[a+32>>2]+1|0;b=q[q[a>>2]+304>>2]+w(k&255,1272)|0;if((c|0)!=p[b+872>>1]|q[a+8>>2]!=p[b+874>>1]){break g}if(!r[b+75|0]){q[a+20>>2]=0;q[a+24>>2]=0}q[a+48>>2]=b;q[a+32>>2]=k}re(a);qe(a);h:{i:{if(!r[f+54|0]){e=30944;m=30944;u=30944;c=30944;k=30944;b=30944;break i}if(r[f+55|0]){break h}c=36320;u=33760;m=34272;e=33248;k=32992;b=33120}q[a+184>>2]=c;q[a+180>>2]=u;q[a+176>>2]=b;q[a+172>>2]=30944;q[a+168>>2]=m;q[a+164>>2]=e;q[a+160>>2]=k;q[a+156>>2]=30944}b=w(q[g+20>>2],q[a+8>>2]<>2]<>2]=q[a+232>>2]+(b+c|0);q[a+260>>2]=(c+q[a+236>>2]|0)+((b|0)/2|0);nj(a);b=p[f+4118>>1];q[a+120>>2]=q[a+120>>2]+K;q[a+68>>2]=q[a+68>>2]+(q[a+252>>2]<<2);if(!(((q[a+4>>2]+w(b,q[a+8>>2])|0)+1|0)%142560|q[g+24>>2]!=1)){q[a+68>>2]=q[a+116>>2]}q[a+76>>2]=q[a+76>>2]+(q[a+264>>2]<<4);if(!(!q[a+152>>2]|(i|0)<1)){c=q[a>>2];b=0;while(1){k=q[c+208>>2]+((q[a+4>>2]+b|0)+w(q[a+8>>2],p[q[a+44>>2]+4118>>1])|0)|0;o[k|0]=r[k|0]|4;b=b+1|0;if((i|0)!=(b|0)){continue}break}}ad(a,i);d=d-i|0;if(d){continue}break}if((x|0)==q[a+32>>2]){break a}b=q[g+304>>2];q[a+32>>2]=x;q[a+48>>2]=b+w(x&255,1272);break a}q[a+20>>2]=l;q[a+12>>2]=v;q[a+120>>2]=C;q[a+24>>2]=h;q[a+16>>2]=F;q[a+68>>2]=D;q[a+4>>2]=q[a+4>>2]-t}q[a+20>>2]=l;q[a+12>>2]=v;q[a+24>>2]=h;q[a+16>>2]=F;k=q[a+120>>2];q[a+120>>2]=C;u=q[a+68>>2];q[a+68>>2]=D;q[a+4>>2]=q[a+4>>2]-t;c=t;j:{if(!c){break j}while(1){fc(a,3,i);b=q[a+4>>2];k:{if(q[a+8>>2]?0:!b){break k}e=q[a+32>>2]+1|0;d=q[q[a>>2]+304>>2]+w(e&255,1272)|0;if((b|0)!=p[d+872>>1]|q[a+8>>2]!=p[d+874>>1]){break k}if(!r[d+75|0]){q[a+20>>2]=0;q[a+24>>2]=0}q[a+48>>2]=d;q[a+32>>2]=e}l:{if(q[g+88>>2]){break l}q[a+496>>2]=b;d=q[a+44>>2];q[a+380>>2]=q[a+40>>2];q[a+384>>2]=d;q[a+388>>2]=q[a>>2];q[a+392>>2]=q[a+48>>2];d=q[a+8>>2];q[a+500>>2]=d;q[a+536>>2]=q[a+672>>2];q[a+540>>2]=q[g+64>>2]==12;if(!W){e=o[f+4116|0]+ -3|0;b=(b<>1]+63>>6<<3;e=b+w(A,d)|0;m=b&7;E=q[a+132>>2];b=0;while(1){p[((b<<1)+a|0)+508>>1]=q[E+(e>>3)>>2]>>>m;e=d+e|0;A=(b|0)!=(Q|0);b=b+1|0;if(A){continue}break}}dd(H,0,0);b=p[f+4118>>1];if(!(q[a+4>>2]!=(b+ -1|0)|p[f>>1]!=b<>1];if(q[a+8>>2]!=(b+ -1|0)|p[f+2>>1]!=b<>2]|(i|0)<1)){d=q[a>>2];b=0;while(1){e=q[d+208>>2]+((q[a+4>>2]+b|0)+w(q[a+8>>2],p[q[a+44>>2]+4118>>1])|0)|0;o[e|0]=r[e|0]|8;b=b+1|0;if((i|0)!=(b|0)){continue}break}}ad(a,i);c=c-i|0;if(c){continue}break}if((x|0)==q[a+32>>2]){break j}b=q[g+304>>2];q[a+32>>2]=x;q[a+48>>2]=b+w(x&255,1272)}q[a+120>>2]=C;q[a+16>>2]=F;q[a+12>>2]=v;q[a+68>>2]=D;C=q[a+24>>2];q[a+24>>2]=h;D=q[a+20>>2];q[a+20>>2]=l;q[a+4>>2]=q[a+4>>2]-t;d=t;if(d){while(1){fc(a,4,i);b=q[a+4>>2];m:{if(q[a+8>>2]?0:!b){break m}h=q[a+32>>2]+1|0;c=q[q[a>>2]+304>>2]+w(h&255,1272)|0;if(p[c+872>>1]!=(b|0)|q[a+8>>2]!=p[c+874>>1]){break m}if(!r[c+75|0]){q[a+20>>2]=0;q[a+24>>2]=0}q[a+48>>2]=c;q[a+32>>2]=h}if(!q[g+92>>2]){q[a+568>>2]=b;b=q[a+44>>2];q[a+544>>2]=q[a+40>>2];q[a+548>>2]=b;q[a+564>>2]=q[a+28>>2];q[a+552>>2]=q[a>>2];q[a+560>>2]=q[a+48>>2];q[a+656>>2]=q[a+32>>2];q[a+572>>2]=q[a+8>>2];q[a+668>>2]=q[g+64>>2]==12;Hi(S);b=q[a+4>>2]}if(!b){b=q[g+20>>2];c=q[a+8>>2];h=w(b,c<>2]|0;q[a+256>>2]=l;q[a+260>>2]=q[a+236>>2]+((h|0)/2|0);n[q[g+12204>>2]](l-(b<<3)|0,b,(((c|0)==(p[f+4120>>1]+ -1|0))<<3)+z|0,80);b=q[g+20>>2];n[q[g+12208>>2]](q[a+260>>2]-(b<<4)|0,b,I,80);b=q[a+4>>2]}n:{if((p[f+4118>>1]+ -1|0)!=(b|0)){break n}c=p[f>>1];h=r[f+4116|0];e=q[g+20>>2];l=q[a+8>>2];x=w(e,l<>2]+(x+v|0)|0;q[a+256>>2]=m;A=v;v=q[a+236>>2];q[a+260>>2]=(A+v|0)+((x|0)/2|0);h=c-(b<>1]+ -1|0)){c=I;b=z;break o}n[q[g+12208>>2]](v+w((p[f+2>>1]/2<<16)+ -1048576>>16,e)|0,e,16,80);e=q[g+20>>2];m=q[a+256>>2];c=V;b=R}n[q[g+12212>>2]]((h+m|0)-(e<<3)|0,e,b,80);b=q[g+20>>2];n[q[g+12216>>2]]((h+q[a+260>>2]|0)-(b<<4)|0,b,c,80);if(q[a+8>>2]!=(p[f+4120>>1]+ -1|0)){break n}Me(q[a+232>>2]+ -80|0,q[g+20>>2],p[f>>1]+160|0,80);Me(q[a+236>>2]+ -80|0,q[g+20>>2],p[f>>1]+160|0,40);b=q[g+20>>2];Le((q[a+232>>2]+w(b,p[f+2>>1])|0)+ -80|0,b,p[f>>1]+160|0,80);b=q[g+20>>2];Le((q[a+236>>2]+w(b,p[f+2>>1]/2<<16>>16)|0)+ -80|0,b,p[f>>1]+160|0,40)}p:{if(!q[a+152>>2]|(i|0)<1){break p}c=q[a>>2];b=0;while(1){h=q[c+208>>2]+((q[a+4>>2]+b|0)+w(q[a+8>>2],p[q[a+44>>2]+4118>>1])|0)|0;o[h|0]=r[h|0]|16;b=b+1|0;if((i|0)!=(b|0)){continue}break}if(!q[a+152>>2]){break p}c=q[a>>2];b=0;while(1){h=q[c+208>>2]+((q[a+4>>2]+b|0)+w(q[a+8>>2],p[q[a+44>>2]+4118>>1])|0)|0;o[h|0]=r[h|0]|1;b=b+1|0;if((i|0)!=(b|0)){continue}break}}v=q[a+12>>2]+i|0;q[a+12>>2]=v;q[a+4>>2]=q[a+4>>2]+i;q[a+20>>2]=q[a+20>>2]+i;d=d-i|0;b=q[a+28>>2];h=s[b+2>>1];q:{if((v|0)<(h|0)){break q}v=0;q[a+12>>2]=0;l=r[b|0];q[a+4>>2]=l;c=q[a+16>>2]+1|0;q[a+16>>2]=c;q[a+8>>2]=q[a+8>>2]+1;if((c|0)!=s[b+4>>1]){break q}q[a+12>>2]=0;q[a+16>>2]=0;q[a+28>>2]=b+6;if(p[f+4118>>1]==(h+l|0)?p[f+4120>>1]==(c+r[b+1|0]|0):0){break q}q[a+4>>2]=r[b+6|0];q[a+8>>2]=r[b+7|0]}if(d){continue}break}}b=q[a+140>>2]-t|0;q[a+140>>2]=b;h=C;l=D;D=u;C=k;if(b){continue}break}}xa=j- -64|0}function Nb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;B=xa-32|0;xa=B;e=a+660|0;f=a+376|0;g=q[a+356>>2];y=r[g+10|0];if(!(q[a+464>>2]|(!r[g+16|0]|(b|0)!=2))){t=Wa(e,f,c?41:40)}g=e;m=f;h=(b<<1)+ -1|0;u=h;a:{if(!c){k=w(b,3)+(b+ -1>>2)|0;n=k+54|0;j=b+1>>2;k=k+36|0;break a}j=b+ -2|0;n=75;k=57}g=fd(g,m,u,k,j,h);l=fd(e,f,h,n,j,h);if((g|0)>=4){g=ub(e,f,g+ -2>>1)+((g&1|2)<<(g>>>1|0)+ -1)|0}if((l|0)>=4){l=ub(e,f,l+ -2>>1)+((l&1|2)<<(l>>>1|0)+ -1)|0}H=q[a+404>>2];f=H;x=0;b:{if(q[a+468>>2]!=1){break b}if((b|0)!=2){x=0;if((b|0)!=3){break b}x=0;if(c){break b}}x=2;if(d+ -6>>>0<9){break b}x=d+ -22>>>0<9}o[f+1|0]=x<<1|t;o[H|0]=0;q[a+404>>2]=H+2;e=(x|0)==2;d=e?l:g;e=e?g:l;f=(b|0)<3;if(!f){J=q[(w(x,3)+b<<2)+157924>>2];L=r[J+((e>>2<>2)|0)|0]}J=f?J:q[(w(x,3)+b<<2)+157972>>2];d=r[(e<<2&12|d&3|x<<4)+29728|0];p[B+16>>1]=0;q[B+8>>2]=0;q[B+12>>2]=0;q[B>>2]=0;q[B+4>>2]=0;c:{if(!c){if((b|0)==3){M=124;D=x?97:91;break c}M=124;D=(b|0)>3?103:82;break c}M=140;D=118;if((b|0)==3){break c}D=(b|0)>3?121:109}V=c?109:82;W=1<>>Q|0;h=(A<<1)+B|0;k=f&Z;m=s[h>>1];t=s[h+2>>1]>>>k<<1&2|m>>>k+1&1;l=0;x:{y:{z:{A:{B:{if(!((y|0)<1|(y|0)>=(L|0))){d=q[a+660>>2];if(d>>>0<=255){break B}f=((t?79:78)+Y|0)+a|0;e=r[f+668|0];if(e<<24>>24<=-1){break A}u=f;f=q[a+664>>2];l=d;g=e<<1;d=z(d);i=r[(g&508|l<>>28&3)+4512|0]<<23-d;d=l-i|0;e=e&1^f>>>0>=d>>>0;o[u+668|0]=r[(e|g)+4768|0];g=f;f=f>>>0>>0;j=g-(f?0:d)|0;l=f?d:i;if(l>>>0<=255){d=q[a+380>>2];g=z(l);i=g+ -1|0;f=d+i|0;q[a+380>>2]=f;d=q[a+388>>2]<>>33-g|0;C:{D:{if(f>>>0>=33){g=64-f|0;if(g>>>0<=31){g=q[a+392>>2]>>>g|0}else{g=0}d=g|d;break D}if((f|0)!=32){break C}}q[a+388>>2]=q[a+392>>2];g=q[a+384>>2];q[a+384>>2]=g+4;g=q[g>>2];q[a+380>>2]=f+ -32;q[a+392>>2]=g<<8&16711680|g<<24|(g>>>8&65280|g>>>24)}j=j<>2]=j;q[a+660>>2]=l;l=1}ba=h,ca=(da=m|1<>1]=ca;if(!e){break x}e=(y|0)==(L|0);f=e?W:0;g=e?X:15;if((g|0)<0){break y}if((b|0)==2){break z}E=y?R?3:0:0;while(1){if(l?!g:0){break y}E:{if(!(g|y)){D=V;h=0;break E}h=E+r[((t<<4|$)+g|0)+42752|0]|0}d=q[a+660>>2];if(d>>>0<=255){break v}h=h+D|0;if(h>>>0>=154){break u}m=a+h|0;h=r[m+668|0];if(h<<24>>24<=-1){break t}u=h<<1;i=z(d);i=r[(u&508|d<>>28&3)+4512|0]<<23-i;j=m;v=u;u=h&1;h=q[a+664>>2];m=d-i|0;u=u^h>>>0>=m>>>0;o[j+668|0]=r[(v|u)+4768|0];j=h>>>0>>0;d=h-(j?0:m)|0;h=a;j=j?m:i;if(j>>>0<=255){i=q[a+380>>2];v=z(j);n=v+ -1|0;m=i+n|0;q[a+380>>2]=m;v=q[a+388>>2]<>>33-v|0;F:{G:{if(m>>>0>=33){i=64-m|0;if(i>>>0<=31){i=q[a+392>>2]>>>i|0}else{i=0}v=i|v;break G}if((m|0)!=32){break F}}q[a+388>>2]=q[a+392>>2];i=q[a+384>>2];q[a+384>>2]=i+4;i=q[i>>2];q[a+380>>2]=m+ -32;q[a+392>>2]=i<<8&16711680|i<<24|(i>>>8&65280|i>>>24)}j=j<>2]=d;q[a+660>>2]=j;l=u?0:l;e=e+u|0;f=u<0;g=g+ -1|0;if(d){continue}break}break y}I(3632,4034,520,42992);F()}I(30111,4034,520,42992);F()}while(1){if(l?!g:0){break y}d=q[a+660>>2];if(d>>>0<256){break v}h=r[((x<<4)+g|0)+42944|0]+D|0;if(h>>>0>153){break u}m=a+h|0;h=r[m+668|0];if(h<<24>>24<0){break t}u=h<<1;i=z(d);i=r[(u&508|d<>>28&3)+4512|0]<<23-i;j=m;v=u;u=h&1;h=q[a+664>>2];m=d-i|0;u=u^h>>>0>=m>>>0;o[j+668|0]=r[(v|u)+4768|0];j=h>>>0>>0;d=h-(j?0:m)|0;h=a;j=j?m:i;if(j>>>0<=255){i=q[a+380>>2];n=z(j);t=n+ -1|0;m=i+t|0;q[a+380>>2]=m;v=q[a+388>>2]<>>33-n|0;H:{I:{if(m>>>0<=32){if((m|0)==32){break I}break H}i=64-m|0;if(i>>>0<=31){i=q[a+392>>2]>>>i|0}else{i=0}v=i|v}q[a+388>>2]=q[a+392>>2];i=q[a+384>>2];q[a+384>>2]=i+4;i=q[i>>2];q[a+380>>2]=m+ -32;q[a+392>>2]=i<<8&16711680|i<<24|(i>>>8&65280|i>>>24)}j=j<>2]=d;q[a+660>>2]=j;l=u?0:l;e=e+u|0;f=u<0;g=g+ -1|0;if(d){continue}break}}d=(l|0)!=0;m=d+e|0;if(!m){break x}N=q[a+404>>2];d=d|f;p[N+2>>1]=d;p[N>>1]=k|A<<8;f=0;u=!C|(y?R?2:0:0);A=(u<<2)+M|0;C=1;S=S+1|0;e=z(d);G=d<-1){break K}if((f|0)>7){break J}e=q[a+660>>2];if(e>>>0<=255){break s}h=A+C|0;if(h>>>0>=154){break r}i=a+h|0;h=r[i+668|0];if(h<<24>>24<=-1){break q}j=h<<1;k=z(e);k=r[(j&508|e<>>28&3)+4512|0]<<23-k;t=j;j=h&1;h=q[a+664>>2];e=e-k|0;j=j^h>>>0>=e>>>0;o[i+668|0]=r[(t|j)+4768|0];i=h;h=h>>>0>>0;t=i-(h?0:e)|0;e=h?e:k;if(e>>>0<=255){h=q[a+380>>2];i=z(e);n=i+ -1|0;k=h+n|0;q[a+380>>2]=k;h=q[a+388>>2]<>>33-i|0;L:{M:{if(k>>>0>=33){i=64-k|0;if(i>>>0<=31){i=q[a+392>>2]>>>i|0}else{i=0}h=i|h;break M}if((k|0)!=32){break L}}q[a+388>>2]=q[a+392>>2];i=q[a+384>>2];q[a+384>>2]=i+4;i=q[i>>2];q[a+380>>2]=k+ -32;q[a+392>>2]=i<<8&16711680|i<<24|(i>>>8&65280|i>>>24)}t=t<>2]=t;q[a+660>>2]=e;f=f+1|0;E=j<=4){e=!q[a+464>>2]}N:{if(!E){l=q[a+664>>2];g=q[a+660>>2];O=-1;u=0;break N}d=q[a+660>>2];if(d>>>0<=255){break p}f=c?u|4:u;if(f>>>0>=6){break o}h=a+f|0;f=r[h+816|0];if(f<<24>>24<=-1){break n}O=z(E)^31;k=f<<1;g=z(d);g=r[(k&508|d<>>28&3)+4512|0]<<23-g;u=k;k=f&1;f=q[a+664>>2];d=d-g|0;k=k^f>>>0>=d>>>0;o[h+816|0]=r[(u|k)+4768|0];h=f;f=f>>>0>>0;l=h-(f?0:d)|0;g=f?d:g;if(g>>>0<=255){f=q[a+380>>2];i=z(g);h=i+ -1|0;d=f+h|0;q[a+380>>2]=d;n=q[a+388>>2]<>>33-i|0;O:{P:{if(d>>>0>=33){f=64-d|0;if(f>>>0<=31){f=q[a+392>>2]>>>f|0}else{f=0}n=f|n;break P}if((d|0)!=32){break O}}q[a+388>>2]=q[a+392>>2];f=q[a+384>>2];q[a+384>>2]=f+4;f=q[f>>2];q[a+380>>2]=d+ -32;q[a+392>>2]=f<<8&16711680|f<<24|(f>>>8&65280|f>>>24)}l=l<>2]=l;q[a+660>>2]=g;u=k<>>0<=255){break m}if((m|0)<=0){break l}if((m|0)>=17){break k}d=q[a+380>>2];f=d+m|0;q[a+380>>2]=f;n=q[a+388>>2];h=32-m|0;k=n<>>h|0;R:{S:{if(f>>>0>=33){d=64-f|0;if(d>>>0<=31){d=q[a+392>>2]>>>d|0}else{d=0}k=d|k;break S}if((f|0)!=32){break R}}n=q[a+392>>2];q[a+388>>2]=n;d=q[a+384>>2];q[a+384>>2]=d+4;d=q[d>>2];f=f+ -32|0;q[a+380>>2]=f;q[a+392>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}t=0;e=m;while(1){e=e+ -1|0;d=k>>>e&1|l<<1;l=d-(d>>>0>>0?0:g)|0;t=t<<1|d>>>0>=g>>>0;if(e){continue}break}q[a+664>>2]=l;i=t<>>0<=255){break j}if((m|0)<=1){break i}if((m|0)>=18){break h}e=m+ -1|0;d=q[a+380>>2];f=e+d|0;q[a+380>>2]=f;n=q[a+388>>2];h=33-m|0;k=n<>>h|0;T:{U:{if(f>>>0>=33){d=64-f|0;if(d>>>0<=31){d=q[a+392>>2]>>>d|0}else{d=0}k=d|k;break U}if((f|0)!=32){break T}}n=q[a+392>>2];q[a+388>>2]=n;d=q[a+384>>2];q[a+384>>2]=d+4;d=q[d>>2];f=f+ -32|0;q[a+380>>2]=f;q[a+392>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}t=0;while(1){e=e+ -1|0;d=k>>>e&1|l<<1;l=d-(d>>>0>>0?0:g)|0;t=t<<1|d>>>0>=g>>>0;if(e){continue}break}q[a+664>>2]=l;i=t<>>0<256){break g}t=19-h|0;k=0;while(1){d=k;e=f+1|0;q[a+380>>2]=e;f=n<>>31|0;if((e|0)==32){n=q[a+392>>2];q[a+388>>2]=n;e=q[a+384>>2];q[a+384>>2]=e+4;e=q[e>>2];q[a+380>>2]=0;q[a+392>>2]=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24);e=0}j=f|l<<1;l=j-(j>>>0>>0?0:g)|0;q[a+664>>2]=l;k=d+1|0;if((t|0)!=(k|0)){f=e;if(j>>>0>=g>>>0){continue}}break}V:{if(d>>>0<=2){d=d<=17){break e}f=e+h|0;q[a+380>>2]=f;k=n<>>32-h|0;W:{X:{if(f>>>0>=33){e=64-f|0;if(e>>>0<=31){e=q[a+392>>2]>>>e|0}else{e=0}k=e|k;break X}if((f|0)!=32){break W}}n=q[a+392>>2];q[a+388>>2]=n;e=q[a+384>>2];q[a+384>>2]=e+4;e=q[e>>2];f=f+ -32|0;q[a+380>>2]=f;q[a+392>>2]=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24)}t=0;e=h;while(1){e=e+ -1|0;j=k>>>e&1|l<<1;l=j-(j>>>0>>0?0:g)|0;t=t<<1|j>>>0>=g>>>0;if(e){continue}break}q[a+664>>2]=l;d=d|t;break V}f=d+ -3|0;d=(1<>>0>=17){break d}f=e+j|0;q[a+380>>2]=f;k=n<>>32-j|0;Y:{Z:{if(f>>>0>=33){e=64-f|0;if(e>>>0<=31){e=q[a+392>>2]>>>e|0}else{e=0}k=e|k;break Z}if((f|0)!=32){break Y}}n=q[a+392>>2];q[a+388>>2]=n;e=q[a+384>>2];q[a+384>>2]=e+4;e=q[e>>2];f=f+ -32|0;q[a+380>>2]=f;q[a+392>>2]=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24)}t=0;while(1){j=j+ -1|0;e=k>>>j&1|l<<1;l=e-(e>>>0>>0?0:g)|0;t=t<<1|e>>>0>=g>>>0;if(j){continue}break}q[a+664>>2]=l;d=d+t|0}A=d+A|0}d=(i|0)<0?0-A|0:A;i=i<<1;e=(K<<1)+N|0;if(U){P=A+P|0;d=(v|0)==(T|0)?((P|0)%2|0)==1?0-d|0:d:d}p[e+4>>1]=d;K=K+1|0;h=((h|0)<4&(A|0)>3<>2]=(q[a+404>>2]+(m<<1)|0)+4}g=y+ -1|0;if((y|0)>0){continue}break}o[H|0]=S;xa=B+32|0;return}I(3632,4034,601,42992);F()}I(4382,4034,601,42992);F()}I(30111,4034,601,42992);F()}I(3632,4034,689,42992);F()}I(4382,4034,689,42992);F()}I(30111,4034,689,42992);F()}I(3632,4034,745,42992);F()}I(4382,4034,745,42992);F()}I(30111,4034,745,42992);F()}I(3632,4034,756,42992);F()}I(41287,4034,756,42992);F()}I(41357,4034,756,42992);F()}I(3632,4034,762,42992);F()}I(41467,4034,762,42992);F()}I(41516,4034,762,42992);F()}I(3632,4034,808,42992);F()}I(41646,4034,827,42992);F()}I(41678,4034,827,42992);F()}I(41800,4034,843,42992);F()}function Li(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,u=0,v=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;a:{b:{c:{d:{if(q[a+128>>2]==1){break d}y=o[b|0];f=a+376|0;e=Pa(f,1);if((y&-8)==16){d=Pa(f,1)}c=Ua(f);c=(c|0)>0?c:0;k=(c|0)<63?c:63;l=q[a+640>>2];j=w(k,68)+l|0;if(!r[j+67|0]){i=q[a+300>>2];c=i;e:{while(1){if(r[c+67|0]){break e}c=c+68|0;if((c-i|0)<=4284){continue}break}return 980}we(a,k,o[c+8|0])}u=o[j+9|0];v=q[a+636>>2];f:{g:{h:{if(!q[a+136>>2]){c=q[a+84>>2];if(c?e:0){break a}if(e){break h}break g}c=q[a+84>>2];if(!e){break g}if(c){break a}q[a+128>>2]=0}q[a+344>>2]=0;E=1;c=0;break f}if(c){c=r[a+344|0]}else{q[a+344>>2]=1;c=1}}h=y&248;i=q[a+644>>2];j=c;x=i+w(c,1272)|0;c=0;i:{if(!r[(l+w(k,68)|0)+26|0]|E){break i}c=Pa(f,1);if(!c){break i}g=q[a+344>>2];if((g|0)<1){break i}ve(a,g&255,g+ -1&255)}o[x+1260|0]=y;o[x+75|0]=c;o[x+74|0]=(h|0)==16?d:1;o[x+72|0]=e;o[x+73|0]=k;if(!(e&255)){c=987;d=w(u,8976)+v|0;A=Pa(f,32-z(q[d+4128>>2]+ -1|0)|0);if((A|0)<1|(A|0)>=q[d+4128>>2]){break d}c=r[(w(j,1272)+i|0)+75|0]}L=w(u,8976)+v|0;M=x+1260|0;n=w(j,1272)+i|0;j:{if(c&255){break j}c=0;p[n+90>>1]=0;q[n+80>>2]=0;o[n+77|0]=1;d=l+w(k,68)|0;if(o[d+42|0]>=1){while(1){Pa(f,1);c=c+1|0;if((c|0)>>0>2){break d}if(r[(l+w(k,68)|0)+24|0]){P=n,Q=Pa(f,1),o[P+77|0]=Q}g=0;C=w(j,1272)+i|0;o[C+78|0]=0;if(r[(w(u,8976)+v|0)+18|0]==1){P=C,Q=Pa(f,2),o[P+78|0]=Q}o[C+158|0]=0;k:{if((y+ -19&255)>>>0<2){break k}D=w(u,8976)+v|0;P=n,Q=Pa(f,o[D+23|0]),q[P+80>>2]=Q;d=w(j,1272)+i|0;e=Pa(f,1);o[d+88|0]=e;l:{if((e&255)==1){e=0;o[d+89|0]=0;g=o[D+60|0];if((g|0)>=2){e=Pa(f,32-z((g&255)+ -1|0)|0);o[d+89|0]=e}d=(w(u,8976)+v|0)+w(e<<24>>24,70)|0;N=d+4523|0;g=d+4521|0;d=d+4522|0;break l}e=o[D+60|0];Ae(f,D+4488|0,e,e,d+188|0);N=d+223|0;g=d+221|0;d=d+222|0}G=o[g|0];H=o[d|0];J=w(u,8976)+v|0;m:{if(!r[J+61|0]){break m}if(o[J+62|0]>=1){d=16-(G+H|0)|0;e=Ua(f)<<24;g=e>>24;o[n+90|0]=(g|0)>(d|0)?d:(e|0)<0?0:g}d=Ua(f);g=0;e=o[n+90|0];h=16-(e+(G+H|0)|0)|0;d=d<<24;B=d>>24;d=(B|0)>(h|0)?h:(d|0)<0?0:B;o[n+91|0]=d;if(((d<<24>>24)+e|0)<1){break m}B=w(j,1272)+i|0;O=w(u,8976)+v|0;while(1){h=g+B|0;K=h;n:{if((g|0)<(e|0)){e=0;d=o[J+62|0];if((d|0)>=2){e=Pa(f,32-z((d&255)+ -1|0)|0)}q[(B+(g<<2)|0)+4>>2]=s[((e<<1)+O|0)- -64>>1];e=r[(e+O|0)+128|0];break n}P=B+(g<<2)|0,Q=Pa(f,o[D+23|0]),q[P+4>>2]=Q;e=Pa(f,1)}o[K+108|0]=e;d=0;e=Pa(f,1);o[h+140|0]=0;o[h+124|0]=e;if(e&255){d=Ua(f);o[h+140|0]=d}e=o[n+90|0];if(!(!g|(g|0)==(e|0))){o[h+140|0]=r[h+139|0]+d}g=g+1|0;if((g|0)<(o[n+91|0]+e|0)){continue}break}}e=0;g=0;h=G+H|0;if((h|0)>0){d=0;while(1){g=(r[d+N|0]!=0)+g|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}d=o[n+91|0]+o[n+90|0]|0;if((d|0)>0){h=w(j,1272)+i|0;while(1){g=(r[(e+h|0)+108|0]!=0)+g|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!r[(w(u,8976)+v|0)+160|0]){break k}P=C,Q=Pa(f,1),o[P+158|0]=Q}h=w(j,1272)+i|0;p[h+156>>1]=0;if(r[(w(u,8976)+v|0)+57|0]){P=h,Q=Pa(f,1),o[P+156|0]=Q;P=h,Q=Pa(f,1),o[P+157|0]=Q}o[h+163|0]=0;d=1;o[h+166|0]=1;p[h+168>>1]=0;p[h+160>>1]=0;o:{p:{if(r[m+76|0]>1){break p}d=Pa(f,1);o[(w(j,1272)+i|0)+159|0]=d;q:{if(d&255){d=Ua(f)+1|0;o[h+160|0]=d;if(r[m+76|0]){break q}P=h,Q=Ua(f)+1|0,o[P+161|0]=Q;d=r[h+160|0];break q}e=l+w(k,68)|0;d=r[e+12|0];o[h+160|0]=d;if(r[m+76|0]){break q}o[h+161|0]=r[e+13|0]}d=d<<24>>24>0?d:0;o[h+160|0]=d<<24>>24<15?d:15;d=o[h+161|0];d=(d|0)>0?d:0;o[h+161|0]=(d|0)<15?d:15;if(!g){break d}r:{if(!(!r[(l+w(k,68)|0)+41|0]|(g|0)<2)){Ni(f,x,g);break r}c=w(j,1272)+i|0;o[c+708|0]=0;o[c+725|0]=0}if(!r[m+76|0]){P=w(j,1272)+i|0,Q=Pa(f,1),o[P+162|0]=Q}o[h+163|0]=0;if(r[(l+w(k,68)|0)+11|0]){P=h,Q=Pa(f,1),o[P+163|0]=Q}c=w(j,1272)+i|0;p[c+164>>1]=1;s:{if(!r[C+158|0]){break s}t:{u:{if(!r[m+76|0]){d=Pa(f,1);o[c+164|0]=d;if(!(d&255)){break u}}if(o[h+160|0]>1){break t}break s}if(o[h+161|0]<2){break s}}P=c,Q=Ua(f),o[P+165|0]=Q}e=c;c=o[c+165|0];c=(c|0)>0?c:0;o[e+165|0]=(c|0)<15?c:15;c=l+w(k,68)|0;if(!(r[m+76|0]|!r[c+23|0]?!(r[m+76|0]==1?r[c+22|0]:0):0)){cj(f,L,x)}c=5;e=5-Ua(f)|0;o[h+166|0]=e;d=1;e=e<<24>>24;if((e|0)<2){break p}d=e;if((d|0)>4){break o}}c=d}o[h+166|0]=c;c=w(j,1272)+i|0;P=c,Q=Xa(f),o[P+167|0]=Q;d=l+w(k,68)|0;if(r[d+21|0]){P=h,Q=Xa(f),o[P+168|0]=Q;P=h,Q=Xa(f),o[P+169|0]=Q}o[c+170|0]=0;e=o[d+37|0];o[c+171|0]=e;o[c+172|0]=r[d+38|0];o[c+173|0]=r[d+39|0];v:{if(!r[d+35|0]|!r[(l+w(k,68)|0)+36|0]){break v}d=Pa(f,1);o[c+170|0]=d;if(!(d&255)){break v}d=Pa(f,1);o[c+171|0]=d;e=d<<24>>24;if(d&255){break v}P=c,Q=Xa(f),o[P+172|0]=Q;P=c,Q=Xa(f),o[P+173|0]=Q}c=w(j,1272)+i|0;d=r[(l+w(k,68)|0)+34|0];o[c+174|0]=d;if(!d|(r[h+157|0]?0:!(r[h+156|0]|!e))){break j}P=c,Q=Pa(f,1),o[P+174|0]=Q}c=q[a+84>>2];w:{x:{y:{if(!E){if(!c){break y}c=987;b=q[a+304>>2];if(r[b+73|0]!=r[x+73|0]|q[b+80>>2]!=q[(w(j,1272)+i|0)+80>>2]){break d}break x}if(c){break x}}b=Si(a,b,o[(w(u,8976)+v|0)+23|0],q[(w(j,1272)+i|0)+80>>2]);break w}b=q[a+1448>>2]}m=w(j,1272)+i|0;q[m+84>>2]=b;d=q[a+1448>>2];z:{A:{if(!E){if((b|0)==(d|0)){b=q[a+984>>2];if((A|0)>(b|0)){d=1;if(q[a+84>>2]){break z}return 987}c=987;if((A|0)<(b|0)){break d}q[a+128>>2]=0;d=0;break z}if(q[a+84>>2]){break a}c=987;if(!r[n+75|0]){break A}break d}c=987;if((b|0)==(d|0)){break d}}q[a+1448>>2]=b;d=0}b=w(j,1272)+i|0;q[b+176>>2]=0;e=l+w(k,68)|0;B:{if(r[e+28|0]?0:!r[e+27|0]){break B}g=Ua(f);q[b+176>>2]=g;K=b;C:{if(r[e+27|0]){e=l+w(k,68)|0;h=o[e+30|0];c=w(h,p[(w(u,8976)+v|0)+4120>>1]+ -1|0);if(r[e+28|0]){break C}c=w(h,o[e+31|0]);break C}c=p[(w(u,8976)+v|0)+4120>>1]+ -1|0}e=c;c=(g|0)>(e|0)?e:(g|0)>0?g:0;q[K+176>>2]=c;if((c|0)<1){break B}e=w(j,1272)+i|0;c=Ua(f)+1|0;o[e+180|0]=c;if(q[b+176>>2]<1){break B}Pa(f,c<<24>>24);if(q[b+176>>2]<2){break B}c=1;while(1){Pa(f,o[e+180|0]);c=c+1|0;if((c|0)>2]){continue}break}}D:{if(!r[(l+w(k,68)|0)+44|0]){break D}b=w(j,1272)+i|0;c=Ua(f);p[b+68>>1]=c;if(c<<16<1){break D}c=0;while(1){Pa(f,8);c=c+1|0;if((c|0)>1]){continue}break}}hd(f);c=979;if(t[a+384>>2]>t[a+396>>2]){break d}g=q[a+276>>2];E:{if(!(q[a+136>>2]?(r[M|0]+ -16&255)>>>0>=5:0)){e=0;while(1){b=q[(g+(e<<3)|0)+4>>2];F:{if(!b){break F}Oe(q[a+276>>2],q[a+244>>2],q[b+8>>2]);h=q[a+232>>2];if((h|0)<1){break F}c=q[a+228>>2];f=0;while(1){if(!(!c|q[c+16>>2]!=q[b+8>>2])){vb(q[a+224>>2],f,2);break F}c=c+40980|0;f=f+1|0;if((f|0)<(h|0)){continue}break}}e=e+1|0;if((e|0)!=64){continue}break}b=w(j,1272)+i|0;q[b+1068>>2]=0;q[b+1072>>2]=0;q[b+876>>2]=0;q[b+880>>2]=0;c=b+1080|0;q[c>>2]=0;q[c+4>>2]=0;q[b+888>>2]=0;q[b+892>>2]=0;c=b+1092|0;q[c>>2]=0;q[c+4>>2]=0;q[b+900>>2]=0;q[b+904>>2]=0;c=b+1104|0;q[c>>2]=0;q[c+4>>2]=0;q[b+912>>2]=0;q[b+916>>2]=0;c=b+1116|0;q[c>>2]=0;q[c+4>>2]=0;q[b+924>>2]=0;q[b+928>>2]=0;q[b+936>>2]=0;q[b+940>>2]=0;c=b+1128|0;q[c>>2]=0;q[c+4>>2]=0;q[b+948>>2]=0;q[b+952>>2]=0;c=b+1140|0;q[c>>2]=0;q[c+4>>2]=0;q[b+960>>2]=0;q[b+964>>2]=0;c=b+1152|0;q[c>>2]=0;q[c+4>>2]=0;q[b+972>>2]=0;q[b+976>>2]=0;c=b+1164|0;q[c>>2]=0;q[c+4>>2]=0;c=b+1176|0;q[c>>2]=0;q[c+4>>2]=0;q[b+984>>2]=0;q[b+988>>2]=0;c=b+1188|0;q[c>>2]=0;q[c+4>>2]=0;q[b+996>>2]=0;q[b+1e3>>2]=0;c=b+1200|0;q[c>>2]=0;q[c+4>>2]=0;q[b+1008>>2]=0;q[b+1012>>2]=0;c=b+1212|0;q[c>>2]=0;q[c+4>>2]=0;q[b+1020>>2]=0;q[b+1024>>2]=0;c=b+1224|0;q[c>>2]=0;q[c+4>>2]=0;c=b+1032|0;q[c>>2]=0;q[c+4>>2]=0;c=b+1236|0;q[c>>2]=0;q[c+4>>2]=0;c=b+1044|0;q[c>>2]=0;q[c+4>>2]=0;c=b+1248|0;q[c>>2]=0;q[c+4>>2]=0;b=b+1056|0;q[b>>2]=0;q[b+4>>2]=0;break E}c=Ji(a,L,x);if(c){break d}}G:{if(!q[a+84>>2]){break G}b=q[a+224>>2];f=qb(q[a+276>>2],q[m+84>>2]);H:{if(!f){f=q[a+6180>>2];b=q[a+1452>>2];break H}b=pe(b,q[f+8>>2])}g=0;h=w(j,1272)+i|0;c=r[h+160|0];e=c<<24>>24;I:{J:{if((e|0)<=0){c=e;break J}l=c>>>0>1?c:1;while(1){k=h+w(g,12)|0;m=k;if(!q[k+876>>2]){q[m+876>>2]=f;q[k+880>>2]=b}g=g+1|0;if((l|0)!=(g|0)){continue}break}if((e|0)>15){break I}}e=(c|0)>15?c:15;while(1){g=h+w(c,12)|0;q[g+880>>2]=b;q[g+876>>2]=f;g=(c|0)==(e|0);c=c+1|0;if(!g){continue}break}}g=0;h=w(j,1272)+i|0;c=r[h+161|0];e=c<<24>>24;K:{if((e|0)<=0){c=e;break K}k=c>>>0>1?c:1;while(1){l=h+w(g,12)|0;m=l+1068|0;if(!q[m>>2]){q[m>>2]=f;q[l+1072>>2]=b}g=g+1|0;if((k|0)!=(g|0)){continue}break}if((e|0)>15){break G}}e=(c|0)>15?c:15;while(1){g=h+w(c,12)|0;q[g+1072>>2]=b;q[g+1068>>2]=f;g=(c|0)!=(e|0);c=c+1|0;if(g){continue}break}}L:{M:{if(!r[x+72|0]){b=w(j,1272)+i|0;e=p[(w(u,8976)+v|0)+4118>>1];c=(A|0)/(e|0)|0;p[b+874>>1]=c;f=A-w(c,e)|0;p[b+872>>1]=f;if(!r[n+75|0]){break M}break L}f=0;q[(w(j,1272)+i|0)+872>>2]=0;c=0}b=w(j,1272)+i|0;p[b+1264>>1]=c;p[b+1262>>1]=f}N:{if(q[a+84>>2]|E){break N}b=q[a+644>>2];ve(a,0,r[a+344|0]);d=1;if(q[a+344>>2]!=1){break c}q[b+872>>2]=0;q[a+316>>2]=0;q[a+320>>2]=0;q[a+344>>2]=0;b=w(j,1272)+i|0;if(s[b+872>>1]|s[b+874>>1]){break N}p[b+872>>1]=1}b=q[a+68>>2];c=987;if(((b|0)==2?!(y&1|(y|0)>15):0)|(r[(w(j,1272)+i|0)+76|0]!=2?(b|0)==6:0)){break d}if(d){break b}c=0}return c}I(3666,4095,1012,43081);F()}q[a+128>>2]=1;b=a;a=q[a+344>>2];q[b+344>>2]=(a|0)>0?a+ -1|0:0;return 0}q[a+128>>2]=1;b=q[a+344>>2];b=(b|0)>0?b+ -1|0:0;q[a+344>>2]=b;b=q[a+644>>2]+w(b+1&255,1272)|0;p[b+872>>1]=0;p[b+874>>1]=s[q[a+360>>2]+4120>>1];return 0}function aj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0;j=xa-368|0;xa=j;d=a+376|0;e=Pa(d,4);c=Pa(d,3);f=Pa(d,1);h=(c|0)<7?(c|0)<0?1:c+1|0:7;bj(d,j+8|0,h+ -1|0);k=Ua(d);a:{if(k>>>0>=17){b=977;k=0;if(q[a+112>>2]){break a}}c=q[a+636>>2];b=c+152584|0;i=q[b>>2];g=Qa(c+143616|0,0,8976);o[c+143675|0]=f;o[c+143630|0]=h;e=(e|0)>0?e:0;o[c+143629|0]=(e|0)<15?e:15;o[c+143628|0]=k;q[b>>2]=i;Sa(c+147748|0,j+8|0,355);b=Ua(d);o[c+143631|0]=b;if((b&255)!=1){b=218;q[a+652>>2]=218;break a}o[c+143634|0]=0;n=c,s=Ua(d),p[n+143616>>1]=s;b=Ua(d);p[c+143618>>1]=b;if(b<<16<65536){b=979;break a}if(p[c+143616>>1]<1){b=979;break a}b=Pa(d,1);o[c+143635|0]=b;b:{if(b&255){b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>=p[g>>1]){b=979;break a}p[c+143620>>1]=b;b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>=p[g>>1]){b=979;break a}p[c+143622>>1]=b;b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>=p[c+143618>>1]){b=979;break a}p[c+143624>>1]=b;b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>=p[c+143618>>1]){b=979;break a}p[c+143626>>1]=b;break b}b=c+143620|0;q[b>>2]=0;q[b+4>>2]=0}b=989;if(Ua(d)){break a}if(Ua(d)){break a}b=Ua(d);if(b>>>0>12){b=979;break a}o[c+143639|0]=b+4;e=Pa(d,1);o[c+143640|0]=e;b=o[c+143630|0];c:{d:{if(!(e&255)){e=b+ -1|0;break d}e=0;if((b|0)<1){break c}}while(1){f=Ua(d);if(f>>>0>15){b=979;break a}b=c+e|0;h=b+143641|0;o[h|0]=f+1;f=Ua(d);if((f|0)<0){b=979;break a}if((f|0)>o[h|0]){b=979;break a}o[b+143648|0]=f;n=b+143655|0,s=Ua(d),o[n|0]=s;e=e+1|0;b=o[c+143630|0];if((e|0)<(b|0)){continue}break}}e:{if(!q[a+11632>>2]){break e}e=q[a+360>>2];e=(o[e+14|0]+ -1|0)+e|0;b=c+(b+ -1|0)|0;if(r[e+25|0]!=r[b+143641|0]){b=979;if(!q[a+124>>2]){break a}q[a+132>>2]=1;b=42;break a}if(r[e+32|0]==r[b+143648|0]){break e}b=979;if(!q[a+124>>2]){break a}q[a+132>>2]=1;b=42;break a}b=c+143662|0;n=b,s=Ua(d)+3|0,o[n|0]=s;f=Ua(d);o[c+143663|0]=f;h=o[b|0];e=c+143664|0;n=e,s=Ua(d)+2|0,o[n|0]=s;b=Ua(d);o[c+143665|0]=b;i=o[e|0];e=i+b|0;o[c+147733|0]=e;e=e<<24>>24;if((e|0)<0){b=979;break a}f=h+(f<<24>>24)|0;if((((f|0)<5?f:5)|0)<(e&255)){b=979;break a}f=o[c+143662|0];h=f+r[c+143663|0]|0;o[c+147732|0]=h;if(b<<24>>24<0){b=979;break a}if((i|0)<2){b=979;break a}if((f|0)<3){b=979;break a}b=h<<24>>24;if((e|0)>(b|0)){b=979;break a}if((b+ -4&255)>>>0>2){b=979;break a}b=-1<<(f&255)^-1;if(b&p[g>>1]){b=979;break a}if(b&p[c+143618>>1]){b=979;break a}p[c+143666>>1]=0;b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>(o[c+147732|0]-o[c+143664|0]|0)){b=979;break a}o[c+143668|0]=b;b=Ua(d);if((b|0)<0){b=979;break a}if((b|0)>(o[c+147732|0]-o[c+143664|0]|0)){b=979;break a}o[c+143669|0]=b;e=Pa(d,1);o[c+143670|0]=e;Sa(q[c+152584>>2],30944,192);b=q[c+152584>>2]+192|0;f:{if(e&255){Sa(b,32992,128);Sa(q[c+152584>>2]+320|0,32992,128);Sa(q[c+152584>>2]+448|0,32992,128);Sa(q[c+152584>>2]+576|0,33120,128);Sa(q[c+152584>>2]+704|0,33120,128);Sa(q[c+152584>>2]+832|0,33120,128);Sa(q[c+152584>>2]+960|0,33248,512);Sa(q[c+152584>>2]+1472|0,33248,512);Sa(q[c+152584>>2]+1984|0,33248,512);Sa(q[c+152584>>2]+2496|0,33760,512);Sa(q[c+152584>>2]+3008|0,33760,512);Sa(q[c+152584>>2]+3520|0,33760,512);Sa(q[c+152584>>2]+4032|0,34272,2048);Sa(q[c+152584>>2]+6080|0,36320,2048);b=Pa(d,1);o[c+143671|0]=b;if(!(b&255)){break f}ze(a,q[c+152584>>2]);break f}Sa(b,30944,768);Sa(q[c+152584>>2]+960|0,30944,1536);Sa(q[c+152584>>2]+2496|0,30944,1536);Sa(q[c+152584>>2]+4032|0,30944,2048);Sa(q[c+152584>>2]+6080|0,30944,2048)}n=c+143672|0,s=Pa(d,1),o[n|0]=s;n=c+143673|0,s=Pa(d,1),o[n|0]=s;b=Pa(d,1);o[c+143636|0]=b;if(b&255){n=c+143637|0,s=Pa(d,4)+1|0,o[n|0]=s;n=c+143638|0,s=Pa(d,4)+1|0,o[n|0]=s;n=c,s=Ua(d)+3|0,o[n+143666|0]=s;n=c,s=Ua(d),o[n+143667|0]=s;n=c+143674|0,s=Pa(d,1),o[n|0]=s}b=Ua(d);if(b>>>0>64){b=979;break a}o[c+143676|0]=b;if(b){g=c+148104|0;e=0;while(1){Ae(d,g,b,e,(c+w(e,70)|0)+148104|0);e=e+1|0;b=o[c+143676|0];if((e|0)<(b|0)){continue}break}}b=Pa(d,1);o[c+143677|0]=b;g:{if(!(b&255)){break g}b=Ua(d);if(b>>>0>32){b=979;break a}o[c+143678|0]=b;if(!b){break g}e=0;b=c+143616|0;while(1){n=(b+(e<<1)|0)- -64|0,s=Pa(d,o[c+143639|0]),p[n>>1]=s;n=b+e|0,s=Pa(d,1),o[n+128|0]=s;e=e+1|0;if((e|0)>>0>15){if((b|0)!=255){break j}e=Pa(d,16);b=Pa(d,16);break i}e=1;b=1;k:{switch(f-1|0){case 0:b=11;e=12;break i;case 1:b=11;e=10;break i;case 2:b=11;e=16;break i;case 3:b=33;e=40;break i;case 4:b=11;e=24;break i;case 5:b=11;e=20;break i;case 6:b=11;e=32;break i;case 7:b=33;e=80;break i;case 8:b=11;e=18;break i;case 9:b=11;e=15;break i;case 10:b=33;e=64;break i;case 11:b=99;e=160;break i;case 12:b=3;e=4;break i;case 13:b=2;e=3;break i;case 14:break k;default:break i}}e=2;break i}b=0}p[c+143784>>1]=b;p[c+143782>>1]=e;b=Pa(d,1);o[c+143787|0]=0;o[c+143786|0]=b;if(b&255){n=c,s=Pa(d,1),o[n+143787|0]=s}e=Pa(d,1);b=c+143793|0;o[b|0]=514;o[b+1|0]=2;b=c+143789|0;o[b|0]=33554437;o[b+1|0]=131072;o[b+2|0]=512;o[b+3|0]=2;o[c+143788|0]=e;l:{if(!(e&255)){break l}n=c,s=Pa(d,3),o[n+143789|0]=s;n=c,s=Pa(d,1),o[n+143790|0]=s;b=Pa(d,1);o[c+143791|0]=b;if(!(b&255)){break l}n=c,s=Pa(d,8),o[n+143792|0]=s;n=c,s=Pa(d,8),o[n+143793|0]=s;n=c,s=Pa(d,8),o[n+143794|0]=s}b=Pa(d,1);p[c+143796>>1]=0;o[c+143795|0]=b;if(b&255){n=c,s=Ua(d),o[n+143796|0]=s;n=c,s=Ua(d),o[n+143797|0]=s}n=c+143798|0,s=Pa(d,1),o[n|0]=s;n=c+143799|0,s=Pa(d,1),o[n|0]=s;n=c+143800|0,s=Pa(d,1),o[n|0]=s;b=Pa(d,1);e=c+143804|0;q[e>>2]=0;q[e+4>>2]=0;o[c+143801|0]=b;e=c+143812|0;q[e>>2]=0;q[e+4>>2]=0;if(b&255){n=c,s=Ua(d),q[n+143804>>2]=s;n=c+143808|0,s=Ua(d),q[n>>2]=s;n=e,s=Ua(d),q[n>>2]=s;n=c+143816|0,s=Ua(d),q[n>>2]=s}b=Pa(d,1);o[c+147704|0]=b;m:{if(!(b&255)){break m}n=c+147708|0,s=Pa(d,32),q[n>>2]=s;n=c+147712|0,s=Pa(d,32),q[n>>2]=s;b=Pa(d,1);o[c+147716|0]=b;if(b&255){n=c+147717|0,s=Ua(d),o[n|0]=s}b=Pa(d,1);o[c+143820|0]=b;if(!(b&255)){break m}b=c+143839|0;o[b|0]=0;o[b+1|0]=0;o[b+2|0]=0;o[b+3|0]=0;o[b+4|0]=0;o[b+5|0]=0;o[b+6|0]=0;o[b+7|0]=0;f=c+143836|0;p[f>>1]=0;e=c+143847|0;o[e|0]=0;o[e+1|0]=0;o[e+2|0]=0;o[e+3|0]=0;o[e+4|0]=0;o[e+5|0]=0;o[e+6|0]=0;o[e+7|0]=0;o[c+143855|0]=0;o[c+143858|0]=23;p[c+143856>>1]=5911;n=f,s=Pa(d,1),o[n|0]=s;e=Pa(d,1);o[c+143837|0]=e;if(!(r[f|0]?0:!(e&255))){f=b;b=Pa(d,1);o[f|0]=b;if(b&255){n=c,s=Pa(d,8),o[n+143840|0]=s;n=c,s=Pa(d,5),o[n+143841|0]=s;n=c,s=Pa(d,1),o[n+143842|0]=s;n=c,s=Pa(d,5),o[n+143843|0]=s}n=c,s=Pa(d,4),q[n+143844>>2]=s;n=c,s=Pa(d,4),q[n+143848>>2]=s;if(r[c+143839|0]){n=c,s=Pa(d,4),q[n+143852>>2]=s}n=c,s=Pa(d,5),o[n+143856|0]=s;n=c,s=Pa(d,5),o[n+143857|0]=s;n=c,s=Pa(d,5),o[n+143858|0]=s}if((g|0)<1){break m}i=g+ -1|0;e=0;while(1){f=Pa(d,1);b=c+e|0;l=b+143866|0;o[l|0]=1;o[b+143859|0]=f;m=b+143873|0;o[m|0]=0;h=b+143880|0;o[h|0]=0;g=b+143887|0;o[g|0]=0;n:{o:{if(!(f&255)){b=Pa(d,1);o[l|0]=b;if(!(b&255)){break o}}n=m,s=Ua(d),o[n|0]=s;b=r[h|0];break n}b=Pa(d,1);o[h|0]=b}p:{if(!(b&255)){b=Ua(d);o[g|0]=b;break p}b=r[g|0]}b=b&255;if(b>>>0>30){b=979;break a}if(r[c+143836|0]){xe(d,(c+w(e,544)|0)+143896|0,b,r[c+143839|0])}if(r[c+143837|0]){xe(d,(c+w(e,544)|0)+143896|0,r[g|0],r[c+143839|0])}b=(e|0)!=(i|0);e=e+1|0;if(b){continue}break}}b=Pa(d,1);e=c+147724|0;q[e>>2]=0;q[e+4>>2]=252641538;o[c+147721|0]=0;e=c+147719|0;o[e|0]=256;o[e+1|0]=1;o[c+147718|0]=b;if(!(b&255)){break h}n=c,s=Pa(d,1),o[n+147719|0]=s;n=c,s=Pa(d,1),o[n+147720|0]=s;n=c,s=Pa(d,1),o[n+147721|0]=s;n=c,s=Ua(d),q[n+147724>>2]=s;n=c,s=Ua(d),o[n+147728|0]=s;n=c,s=Ua(d),o[n+147729|0]=s;n=c,s=Ua(d),o[n+147730|0]=s;n=c,s=Ua(d),o[n+147731|0]=s}Pa(d,1);if(t[a+384>>2]>t[a+396>>2]){b=979;break a}b=1<>1];g=(d+e|0)/(b|0)|0;p[c+147736>>1]=g;f=d;d=p[c+143616>>1];b=(f+d|0)/(b|0)|0;p[c+147734>>1]=b;b=w(g<<16>>16,b<<16>>16);q[c+147744>>2]=b;if(!q[a+112>>2]){q[a+984>>2]=b}b=1<>1]=(e|0)/(b|0);p[c+147738>>1]=(d|0)/(b|0);f=q[a+11632>>2];if(!(!f|((e|0)==q[a+4>>2]?(d|0)==q[a>>2]:0))){b=979;if(!q[a+124>>2]){break a}q[a+132>>2]=1;b=42;break a}b=17;if((d|0)>8448|(w(d,e)|0)>36495360){break a}g=r[c+143631|0]==1?2:1;b=(d-w(g,p[c+143620>>1])|0)-w(g,p[c+143622>>1])|0;if((b|0)<1){b=979;break a}c=(e-w(g,p[c+143624>>1])|0)-w(g,p[c+143626>>1])|0;if((c|0)<1){b=979;break a}if(!(!f|((c|0)==q[a+12>>2]?(b|0)==q[a+8>>2]:0))){b=979;if(!q[a+124>>2]){break a}q[a+132>>2]=1;b=42;break a}q[a+12>>2]=c;q[a+8>>2]=b;q[a+4>>2]=e;q[a>>2]=d;c=q[a+20>>2];d=d+191&-32;if((c|0)<(d|0)){q[a+20>>2]=d;c=d}d=q[a+16>>2];q:{if(!q[a+56>>2]){if((d|0)>=(b|0)){break q}q[a+16>>2]=b;break q}if((d|0)>=(c|0)){break q}q[a+16>>2]=c}q[a+112>>2]=1;q[a+11596>>2]=k;b=0}xa=j+368|0;return b}function ai(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=((q[b+24>>2]-q[b+28>>2]<<3)-q[b+8>>2]|0)+ -32|0;o[c|0]=0;e=q[b+8>>2];a:{if(e){e=e+ -1|0;q[b+8>>2]=e;d=q[b>>2]>>>e&1;break a}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break a}Oa(b,1)}if(d){o[c|0]=1;o[a+724|0]=0;o[a+719|0]=1;c=q[b+8>>2];b:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break b}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break b}Oa(b,1)}o[a|0]=c;if(c){e=q[b+8>>2];c:{if(e>>>0>=3){c=q[b>>2]<<32-e>>>29|0;break c}c=q[b>>2]<<3-e&7|q[b+4>>2]>>>e+29}d:{if(r[b+20|0]){break d}if(e>>>0>=4){q[b+8>>2]=e+ -3;break d}Oa(b,3)}o[a+3|0]=c;e=c&255;o[a+6|0]=r[e+94852|0];o[a+5|0]=r[e+94860|0];e=e+ -2|0;e:{if(e>>>0>3){break e}f:{switch(e-1|0){case 0:case 1:break e;default:break f}}o[a+724|0]=1}o[a+27|0]=c}c=q[b+8>>2];g:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break g}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break g}Oa(b,1)}o[a+1|0]=c;h:{if(!c){break h}e=q[b+8>>2];i:{if(e>>>0>=3){c=q[b>>2]<<32-e>>>29|0;break i}c=q[b>>2]<<3-e&7|q[b+4>>2]>>>e+29}j:{if(r[b+20|0]){break j}if(e>>>0>=4){q[b+8>>2]=e+ -3;break j}Oa(b,3)}o[a+4|0]=c;c=c&255;o[a+7|0]=r[c+94860|0];c=c+ -2|0;if(c>>>0>3){break h}k:{switch(c-1|0){case 0:case 1:break h;default:break k}}o[a+724|0]=1}c=q[b+8>>2];l:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break l}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break l}Oa(b,1)}o[a+2|0]=c}m:{if(!r[a+719|0]){c=0;b=1;break m}n:{o:{c=q[b+8>>2];p:{if(c){c=c+ -1|0;q[b+8>>2]=c;d=q[b>>2]>>>c&1;break p}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){o[a+8|0]=d;f=a+8|0;c=0;break o}Oa(b,1);c=q[b+8>>2]}o[a+8|0]=d;f=a+8|0;if(c>>>0<2){break o}e=q[b>>2]<<32-c>>>30|0;break n}e=q[b>>2]<<2-c&3|q[b+4>>2]>>>c+30}q:{if(r[b+20|0]){break q}if(c>>>0>=3){q[b+8>>2]=c+ -2;break q}Oa(b,2);d=r[f|0]}c=d&255;f=r[((e&255)+(c<<2)|0)+94868|0];o[a+9|0]=f;r:{if(c){if(!(f&255)){f=0;break r}d=1;while(1){e=q[b+8>>2];s:{if(e>>>0>=5){c=q[b>>2]<<32-e>>>27|0;break s}c=q[b>>2]<<5-e&31|q[b+4>>2]>>>e+27}g=d&255;t:{if(r[b+20|0]){break t}if(e>>>0>=6){q[b+8>>2]=e+ -5;break t}Oa(b,5);f=r[a+9|0]}o[(a+g|0)+10|0]=c+1;d=d+1|0;if((f&255)>>>0>=(d&255)>>>0){continue}break}}if(!r[a|0]){break r}if(!(f&255)){f=0;break r}e=0;while(1){c=q[b+8>>2];u:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break u}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break u}Oa(b,1)}o[(a+e|0)+16|0]=c;h=w(e,34)+a|0;f=h;g=r[a+5|0];v:{w:{if(r[a+3|0]<=2){if(c){break w}c=0;while(1){d=q[b+8>>2];x:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break x}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break x}Oa(b,1)}c=o[(c<<1|d)+94944|0];if((c|0)>-1){continue}break}o[f+140|0]=c+31;if(g>>>0<2){break v}f=1;while(1){c=0;while(1){d=q[b+8>>2];y:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break y}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break y}Oa(b,1)}c=o[(c<<1|d)+94944|0];if((c|0)>-1){continue}break}o[(f+h|0)+140|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}break v}if(!c){c=0;while(1){d=q[b+8>>2];z:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break z}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break z}Oa(b,1)}c=o[(c<<1|d)+95136|0];if((c|0)>-1){continue}break}o[f+140|0]=c+31;if(g>>>0<2){break v}f=1;while(1){c=0;while(1){d=q[b+8>>2];A:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break A}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break A}Oa(b,1)}c=o[(c<<1|d)+95136|0];if((c|0)>-1){continue}break}o[(f+h|0)+140|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}break v}if(!g){break v}f=0;while(1){c=0;while(1){d=q[b+8>>2];B:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break B}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break B}Oa(b,1)}c=o[(c<<1|d)+95008|0];if((c|0)>-1){continue}break}o[(f+h|0)+140|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}break v}if(!g){break v}f=0;while(1){c=0;while(1){d=q[b+8>>2];C:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break C}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break C}Oa(b,1)}c=o[(c<<1|d)+94880|0];if((c|0)>-1){continue}break}o[(f+h|0)+140|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+1|0;f=r[a+9|0];if(e>>>0>>0){continue}break}}if(!(!r[a+1|0]|!(f&255))){e=0;while(1){c=q[b+8>>2];D:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break D}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break D}Oa(b,1)}o[(a+e|0)+21|0]=c;h=w(e,34)+a|0;g=r[a+7|0];E:{if(!c){c=0;while(1){d=q[b+8>>2];F:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break F}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break F}Oa(b,1)}c=o[(c<<1|d)+95296|0];if((c|0)>-1){continue}break}o[h+310|0]=c+31;if(g>>>0<2){break E}f=1;while(1){c=0;while(1){d=q[b+8>>2];G:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break G}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break G}Oa(b,1)}c=o[(c<<1|d)+95296|0];if((c|0)>-1){continue}break}o[(f+h|0)+310|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}break E}if(!g){break E}f=0;while(1){c=0;while(1){d=q[b+8>>2];H:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break H}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break H}Oa(b,1)}c=o[(c<<1|d)+95264|0];if((c|0)>-1){continue}break}o[(f+h|0)+310|0]=c+31;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+1|0;if(e>>>0>2];J:{if(e>>>0>=4){c=q[b>>2]<<32-e>>>28|0;break J}c=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}K:{if(r[b+20|0]){break K}if(e>>>0>=5){q[b+8>>2]=e+ -4;break K}Oa(b,4)}if((c&65535)==15){e=q[b+8>>2];L:{if(e>>>0>=8){c=q[b>>2]<<32-e>>>24|0;break L}c=q[b>>2]<<8-e&255|q[b+4>>2]>>>e+24}M:{if(r[b+20|0]){break M}if(e>>>0>=9){q[b+8>>2]=e+ -8;break M}Oa(b,8)}c=(c&65535)+15|0}if(!(c&8191)){break I}d=c<<3;while(1){e=q[b+8>>2];N:{if(e>>>0>=2){c=q[b>>2]<<32-e>>>30|0;break N}c=q[b>>2]<<2-e&3|q[b+4>>2]>>>e+30}O:{if(r[b+20|0]){break O}if(e>>>0>=3){q[b+8>>2]=e+ -2;break O}Oa(b,2)}k=d+65534|0;l=((q[b+24>>2]-q[b+28>>2]<<3)-q[b+8>>2]|0)+ -32|0;P:{if(c&255){break P}c=q[b+8>>2];Q:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break Q}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break Q}Oa(b,1)}o[a+26|0]=c;R:{if(!c){break R}e=0;if(!r[a+9|0]){break R}while(1){c=q[b+8>>2];S:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break S}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break S}Oa(b,1)}i=a+e|0;o[i+28|0]=c;g=w(e,17)+a|0;h=r[a+6|0];T:{if(!c){c=0;while(1){d=q[b+8>>2];U:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break U}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break U}Oa(b,1)}c=o[(c<<1|d)+95338|0];if((c|0)>-1){continue}break}o[g+480|0]=c+31;if(h>>>0<2){break T}f=1;while(1){c=0;while(1){d=q[b+8>>2];V:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break V}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break V}Oa(b,1)}c=o[(c<<1|d)+95338|0];if((c|0)>-1){continue}break}o[(f+g|0)+480|0]=c+31;f=f+1|0;if((h|0)!=(f|0)){continue}break}break T}if(!h){break T}f=0;while(1){c=0;while(1){d=q[b+8>>2];W:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break W}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break W}Oa(b,1)}c=o[(c<<1|d)+95324|0];if((c|0)>-1){continue}break}o[(f+g|0)+480|0]=c+31;f=f+1|0;if((h|0)!=(f|0)){continue}break}}c=q[b+8>>2];X:{if(c){c=c+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break X}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break X}Oa(b,1)}o[i+33|0]=c;h=r[a+6|0];Y:{if(!c){c=0;while(1){d=q[b+8>>2];Z:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break Z}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break Z}Oa(b,1)}c=o[(c<<1|d)+95366|0];if((c|0)>-1){continue}break}o[g+565|0]=c+31;if(h>>>0<2){break Y}f=1;while(1){c=0;while(1){d=q[b+8>>2];_:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break _}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break _}Oa(b,1)}c=o[(c<<1|d)+95366|0];if((c|0)>-1){continue}break}o[(f+g|0)+565|0]=c+31;f=f+1|0;if((h|0)!=(f|0)){continue}break}break Y}if(!h){break Y}f=0;while(1){c=0;while(1){d=q[b+8>>2];$:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break $}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break $}Oa(b,1)}c=o[(c<<1|d)+95352|0];if((c|0)>-1){continue}break}o[(f+g|0)+565|0]=c+31;f=f+1|0;if((h|0)!=(f|0)){continue}break}}e=e+1|0;if(e>>>0>2];if(c){q[b+8>>2]=c+ -1;break P}if(r[b+20|0]){break P}Oa(b,1)}d=(k&65535)-((((q[b+24>>2]-q[b+28>>2]<<3)-q[b+8>>2]|0)+ -32|0)-l&65535)|0;c=d&65535;if(c>>>0>7){continue}break}if(r[b+20|0]|!c){break I}e=q[b+8>>2];if(e>>>0>c>>>0){q[b+8>>2]=e-c;break I}Oa(b,c)}c=1;b=(((q[b+24>>2]-q[b+28>>2]<<3)-q[b+8>>2]|0)+ -32|0)-j|0}o[a+718|0]=c;return b&65535}function Gk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0;l=xa-32|0;xa=l;a:{if(!f){a=e<<2|1;if((a|0)<1){break a}Qa(g,128,a);break a}k=e<<1;b:{if((e|0)>8){break b}h=0;m=f>>>8|0;s=g+k|0;i=s;n=f>>>16&1;if(n){j=r[a|0]}else{j=0}o[i|0]=j;t=f>>>7&1;c:{if(t){if((e|0)<1){break c}while(1){o[((h^-1)+k|0)+g|0]=r[w(d,h)+c|0];h=h+1|0;if((h|0)!=(e|0)){continue}break}break c}Ya(e+g|0,0,e)}p=f>>>12|0;i=m&1;j=f&8;d:{if(j){if((k|0)<=(e|0)){break d}h=e;while(1){o[((h^-1)+k|0)+g|0]=r[w(d,h)+c|0];h=h+1|0;if((k|0)!=(h|0)){continue}break}break d}Ya(g,0,e)}m=p&1;h=k|1;p=h+g|0;e:{if(i){bb(p,b,e);break e}Ya(p,0,e)}h=(e+h|0)+g|0;f:{if(m){bb(h,b+e|0,e);break f}Ya(h,0,e)}g:{if(j){break g}q[l+16>>2]=m;q[l+12>>2]=i;q[l+8>>2]=n;q[l+4>>2]=t;q[l>>2]=0;h=1;if(!t){j=2;while(1){h=j;j=h+1|0;if(!q[(h<<2)+l>>2]){continue}break}}if(h>>>0<=2){h=w(e,h);if((h|0)<1){break g}Qa(g,r[g+h|0],h);break g}h=w(h+ -1|0,e);if((h|0)<0){break g}h=h+1|0;Qa(g,r[h+g|0],h)}if(!t){h=e+g|0;Ya(h,r[h+ -1|0],e)}if(!n){o[s|0]=r[s+ -1|0]}if(!i){Ya(p,r[s|0],e)}if(m){break b}h=w(e,3)+g|0;Ya(h+1|0,r[h|0],e)}e=e+ -16|0;if(e>>>0>16){break a}h:{i:{switch(e-1|0){default:h=0;i=g+k|0;e=i;n=f&65536;if(n){h=r[a|0]}o[e|0]=h;e=f&192;j:{if(e){o[i+ -1|0]=r[c|0];o[i+ -2|0]=r[c+d|0];o[i+ -3|0]=r[(d<<1)+c|0];o[i+ -4|0]=r[w(d,3)+c|0];o[i+ -5|0]=r[(d<<2)+c|0];o[i+ -6|0]=r[w(d,5)+c|0];o[i+ -7|0]=r[w(d,6)+c|0];o[i+ -8|0]=r[w(d,7)+c|0];o[i+ -9|0]=r[(d<<3)+c|0];o[i+ -10|0]=r[w(d,9)+c|0];o[i+ -11|0]=r[w(d,10)+c|0];o[i+ -12|0]=r[w(d,11)+c|0];o[i+ -13|0]=r[w(d,12)+c|0];o[i+ -14|0]=r[w(d,13)+c|0];o[i+ -15|0]=r[w(d,14)+c|0];o[i+ -16|0]=r[w(d,15)+c|0];break j}Ya(i+ -16|0,0,16)}a=f>>>2|0;m=f&768;p=f&12288;k:{if(f&8){o[i+ -17|0]=r[(d<<4)+c|0];o[i+ -18|0]=r[w(d,17)+c|0];o[i+ -19|0]=r[w(d,18)+c|0];o[i+ -20|0]=r[w(d,19)+c|0];o[i+ -21|0]=r[w(d,20)+c|0];o[i+ -22|0]=r[w(d,21)+c|0];o[i+ -23|0]=r[w(d,22)+c|0];o[i+ -24|0]=r[w(d,23)+c|0];break k}Ya(g+8|0,0,8)}j=e>>>4|0;h=a&3;e=m>>>4|0;a=p>>>6|0;l:{if(f&4){o[i+ -25|0]=r[w(d,24)+c|0];o[i+ -26|0]=r[w(d,25)+c|0];o[i+ -27|0]=r[w(d,26)+c|0];o[i+ -28|0]=r[w(d,27)+c|0];o[i+ -29|0]=r[w(d,28)+c|0];o[i+ -30|0]=r[w(d,29)+c|0];o[i+ -31|0]=r[w(d,30)+c|0];o[i+ -32|0]=r[w(d,31)+c|0];break l}Ya(g,0,8)}f=h|j;e=a|e;d=(k|1)+g|0;m:{if(m){bb(d,b,16);break m}Ya(d,0,16)}c=e|f;a=n>>>8|0;d=d+16|0;n:{if(p){bb(d,b+16|0,16);break n}Ya(d,0,16)}d=a|c;o:{p:{q:{if(f){a=hl(f);c=(a|0)==8?32:a<<3;a=c&248;if(!a){c=0;break o}if((a|0)!=32){break q}}if(n){a=il(r[g+32|0],0,16843009,16843009);o[g|0]=a;o[g+1|0]=a>>>8;o[g+2|0]=a>>>16;o[g+3|0]=a>>>24;c=ya;o[g+4|0]=c;o[g+5|0]=c>>>8;o[g+6|0]=c>>>16;o[g+7|0]=c>>>24;o[g+8|0]=a;o[g+9|0]=a>>>8;o[g+10|0]=a>>>16;o[g+11|0]=a>>>24;o[g+12|0]=c;o[g+13|0]=c>>>8;o[g+14|0]=c>>>16;o[g+15|0]=c>>>24;o[g+16|0]=a;o[g+17|0]=a>>>8;o[g+18|0]=a>>>16;o[g+19|0]=a>>>24;o[g+20|0]=c;o[g+21|0]=c>>>8;o[g+22|0]=c>>>16;o[g+23|0]=c>>>24;o[g+24|0]=a;o[g+25|0]=a>>>8;o[g+26|0]=a>>>16;o[g+27|0]=a>>>24;o[g+28|0]=c;o[g+29|0]=c>>>8;o[g+30|0]=c>>>16;o[g+31|0]=c>>>24;c=32;break h}if(e){c=(hl(e>>>4|0)<<3)+33|0;break p}Qa(g,r[g+97|0],97);break a}if(!c){break o}}Qa(g,r[c+g|0],c);if((c|0)>64){break a}}if(n){break h}while(1){b=(c|0)==32;r:{if(!b){if(d>>>(c>>3)&1){break r}a=c+g|0;Ya(a,r[a+ -1|0],8);break r}o[g+32|0]=r[g+31|0]}c=(b?1:8)+c|0;if((c|0)<65){continue}break}break a;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break a;case 15:break i}}e=0;j=f&65536;if(j){e=r[a|0]}a=g+k|0;o[a|0]=e;s:{if(f&240){o[a+ -1|0]=r[c|0];o[a+ -2|0]=r[c+d|0];o[a+ -3|0]=r[(d<<1)+c|0];o[a+ -4|0]=r[w(d,3)+c|0];o[a+ -5|0]=r[(d<<2)+c|0];o[a+ -6|0]=r[w(d,5)+c|0];o[a+ -7|0]=r[w(d,6)+c|0];o[a+ -8|0]=r[w(d,7)+c|0];o[a+ -9|0]=r[(d<<3)+c|0];o[a+ -10|0]=r[w(d,9)+c|0];o[a+ -11|0]=r[w(d,10)+c|0];o[a+ -12|0]=r[w(d,11)+c|0];o[a+ -13|0]=r[w(d,12)+c|0];o[a+ -14|0]=r[w(d,13)+c|0];o[a+ -15|0]=r[w(d,14)+c|0];o[a+ -16|0]=r[w(d,15)+c|0];o[a+ -17|0]=r[(d<<4)+c|0];o[a+ -18|0]=r[w(d,17)+c|0];o[a+ -19|0]=r[w(d,18)+c|0];o[a+ -20|0]=r[w(d,19)+c|0];o[a+ -21|0]=r[w(d,20)+c|0];o[a+ -22|0]=r[w(d,21)+c|0];o[a+ -23|0]=r[w(d,22)+c|0];o[a+ -24|0]=r[w(d,23)+c|0];o[a+ -25|0]=r[w(d,24)+c|0];o[a+ -26|0]=r[w(d,25)+c|0];o[a+ -27|0]=r[w(d,26)+c|0];o[a+ -28|0]=r[w(d,27)+c|0];o[a+ -29|0]=r[w(d,28)+c|0];o[a+ -30|0]=r[w(d,29)+c|0];o[a+ -31|0]=r[w(d,30)+c|0];o[a+ -32|0]=r[w(d,31)+c|0];break s}Ya(a+ -32|0,0,32)}t:{if(f&8){o[a+ -33|0]=r[(d<<5)+c|0];o[a+ -34|0]=r[w(d,33)+c|0];o[a+ -35|0]=r[w(d,34)+c|0];o[a+ -36|0]=r[w(d,35)+c|0];o[a+ -37|0]=r[w(d,36)+c|0];o[a+ -38|0]=r[w(d,37)+c|0];o[a+ -39|0]=r[w(d,38)+c|0];o[a+ -40|0]=r[w(d,39)+c|0];break t}Ya(g+24|0,0,8)}u:{if(f&4){o[a+ -41|0]=r[w(d,40)+c|0];o[a+ -42|0]=r[w(d,41)+c|0];o[a+ -43|0]=r[w(d,42)+c|0];o[a+ -44|0]=r[w(d,43)+c|0];o[a+ -45|0]=r[w(d,44)+c|0];o[a+ -46|0]=r[w(d,45)+c|0];o[a+ -47|0]=r[w(d,46)+c|0];o[a+ -48|0]=r[w(d,47)+c|0];break u}Ya(g+16|0,0,8)}v:{if(f&2){o[a+ -49|0]=r[w(d,48)+c|0];o[a+ -50|0]=r[w(d,49)+c|0];o[a+ -51|0]=r[w(d,50)+c|0];o[a+ -52|0]=r[w(d,51)+c|0];o[a+ -53|0]=r[w(d,52)+c|0];o[a+ -54|0]=r[w(d,53)+c|0];o[a+ -55|0]=r[w(d,54)+c|0];o[a+ -56|0]=r[w(d,55)+c|0];break v}Ya(g+8|0,0,8)}w:{if(f&1){h=56;while(1){o[((h^-1)+k|0)+g|0]=r[w(d,h)+c|0];h=h+1|0;if((k|0)!=(h|0)){continue}break}break w}Ya(g,0,8)}a=(k|1)+g|0;x:{if(f&3840){bb(a,b,32);break x}Ya(a,0,32)}a=a+32|0;y:{if(f&61440){bb(a,b+32|0,32);break y}Ya(a,0,32)}z:{A:{B:{a=f&255;if(a){b=hl(a);c=b<<3;a=c&248;if(!a){c=0;break z}if((a|0)!=64){break B}}if(j){a=il(r[g+64|0],0,16843009,16843009);o[g|0]=a;o[g+1|0]=a>>>8;o[g+2|0]=a>>>16;o[g+3|0]=a>>>24;c=ya;o[g+4|0]=c;o[g+5|0]=c>>>8;o[g+6|0]=c>>>16;o[g+7|0]=c>>>24;o[g+8|0]=a;o[g+9|0]=a>>>8;o[g+10|0]=a>>>16;o[g+11|0]=a>>>24;o[g+12|0]=c;o[g+13|0]=c>>>8;o[g+14|0]=c>>>16;o[g+15|0]=c>>>24;o[g+16|0]=a;o[g+17|0]=a>>>8;o[g+18|0]=a>>>16;o[g+19|0]=a>>>24;o[g+20|0]=c;o[g+21|0]=c>>>8;o[g+22|0]=c>>>16;o[g+23|0]=c>>>24;o[g+24|0]=a;o[g+25|0]=a>>>8;o[g+26|0]=a>>>16;o[g+27|0]=a>>>24;o[g+28|0]=c;o[g+29|0]=c>>>8;o[g+30|0]=c>>>16;o[g+31|0]=c>>>24;o[g+32|0]=a;o[g+33|0]=a>>>8;o[g+34|0]=a>>>16;o[g+35|0]=a>>>24;o[g+36|0]=c;o[g+37|0]=c>>>8;o[g+38|0]=c>>>16;o[g+39|0]=c>>>24;o[g+40|0]=a;o[g+41|0]=a>>>8;o[g+42|0]=a>>>16;o[g+43|0]=a>>>24;o[g+44|0]=c;o[g+45|0]=c>>>8;o[g+46|0]=c>>>16;o[g+47|0]=c>>>24;o[g+48|0]=a;o[g+49|0]=a>>>8;o[g+50|0]=a>>>16;o[g+51|0]=a>>>24;o[g+52|0]=c;o[g+53|0]=c>>>8;o[g+54|0]=c>>>16;o[g+55|0]=c>>>24;o[g+56|0]=a;o[g+57|0]=a>>>8;o[g+58|0]=a>>>16;o[g+59|0]=a>>>24;o[g+60|0]=c;o[g+61|0]=c>>>8;o[g+62|0]=c>>>16;o[g+63|0]=c>>>24;c=64;break z}a=f>>>8&255;if(!a){Qa(g,r[g+129|0],129);break a}c=(hl(a)<<3)+65|0;break A}if(!b){break z}}Qa(g,r[c+g|0],c);if((c|0)>128){break a}}if(j){while(1){b=(c|0)==64;if(!(b|f>>>(c>>3)&1)){a=c+g|0;Ya(a,r[a+ -1|0],8)}c=(b?1:8)+c|0;if((c|0)<129){continue}break a}}while(1){C:{if((c|0)==64){o[g+64|0]=r[g+63|0];break C}if(f>>>(c>>3)&1){break C}a=c+g|0;Ya(a,r[a+ -1|0],8)}c=((c|0)==64?1:8)+c|0;if((c|0)<129){continue}break}break a}while(1){b=(c|0)==32;if(!(b|d>>>(c>>3)&1)){a=c+g|0;Ya(a,r[a+ -1|0],8)}c=(b?1:8)+c|0;if((c|0)<65){continue}break}}xa=l+32|0}function Yh(a,b){var c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0),t=x(0),v=x(0),w=x(0),y=x(0),z=x(0),A=x(0),B=x(0),C=x(0),D=x(0),E=x(0),F=x(0),G=x(0),H=x(0),I=x(0),J=x(0),K=x(0),L=x(0),M=x(0),N=x(0),O=x(0),P=x(0),Q=x(0),R=x(0),S=x(0),T=x(0),U=x(0),V=x(0),W=x(0),X=x(0),Y=x(0),Z=x(0),_=x(0),$=x(0),aa=x(0),ba=x(0),ca=x(0),da=x(0),ea=x(0),fa=x(0),ga=x(0),ha=x(0),ia=x(0),ja=x(0),ka=x(0),la=x(0),ma=x(0),na=x(0);d=u[b+60>>2];c=u[b+64>>2];w=x(x(d+c)*x(.7071067690849304));y=u[b>>2];J=x(w+y);f=u[b+32>>2];e=u[b+92>>2];m=x(x(f+e)*x(.7071067690849304));z=u[b+28>>2];A=x(m+z);f=x(x(f-e)*x(.7071067690849304));e=u[b+96>>2];B=x(f+e);C=x(x(A+B)*x(.9238795042037964));B=x(C-x(B*x(.5411961078643799)));U=x(J+B);g=u[b+48>>2];h=u[b+76>>2];D=x(x(g-h)*x(.7071067690849304));n=u[b+112>>2];K=x(D+n);o=u[b+44>>2];p=u[b+80>>2];E=x(x(o+p)*x(.7071067690849304));j=u[b+16>>2];k=x(E+j);l=x(k*x(1.3065630197525024));t=k;o=x(x(o-p)*x(.7071067690849304));p=u[b+108>>2];k=x(o+p);F=x(x(t+k)*x(.9238795042037964));L=x(l-F);M=x(K+L);g=x(x(g+h)*x(.7071067690849304));h=u[b+12>>2];N=x(g+h);k=x(F-x(k*x(.5411961078643799)));F=x(N+k);V=x(x(M+F)*x(.9807852506637573));M=x(V-x(M*x(.78569495677948)));ea=x(U+M);q=u[b+56>>2];G=u[b+68>>2];H=x(x(q-G)*x(.7071067690849304));W=u[b+120>>2];X=x(H+W);r=u[b+36>>2];i=u[b+88>>2];Y=x(x(r+i)*x(.7071067690849304));s=u[b+24>>2];t=x(Y+s);v=x(t*x(1.3065630197525024));l=t;r=x(x(r-i)*x(.7071067690849304));i=u[b+100>>2];t=x(r+i);Z=x(x(l+t)*x(.9238795042037964));O=x(v-Z);fa=x(X+O);P=u[b+52>>2];l=u[b+72>>2];_=x(x(P+l)*x(.7071067690849304));Q=u[b+8>>2];$=x(_+Q);v=u[b+40>>2];R=u[b+84>>2];aa=x(x(v+R)*x(.7071067690849304));ba=u[b+20>>2];ca=x(aa+ba);v=x(x(v-R)*x(.7071067690849304));R=u[b+104>>2];da=x(v+R);S=x(x(ca+da)*x(.9238795042037964));da=x(S-x(da*x(.5411961078643799)));I=x($+da);T=x(I*x(1.1758755445480347));P=x(x(P-l)*x(.7071067690849304));l=u[b+116>>2];ga=x(P+l);ca=x(x(ca*x(1.3065630197525024))-S);S=x(ga+ca);I=x(x(S+I)*x(.9807852506637573));ha=x(T-I);T=x(fa+ha);q=x(x(q+G)*x(.7071067690849304));G=u[b+4>>2];ia=x(q+G);t=x(Z-x(t*x(.5411961078643799)));Z=x(ia+t);S=x(I-x(S*x(.78569495677948)));I=x(Z+S);ja=x(x(T+I)*x(.9951847195625305));T=x(ja-x(T*x(.8971675634384155)));ka=x(ea+T);la=x(x(d-c)*x(.7071067690849304));ma=u[b+124>>2];na=x(la+ma);A=x(x(A*x(1.3065630197525024))-C);C=x(na+A);F=x(x(F*x(1.1758755445480347))-V);V=x(C+F);I=x(x(I*x(1.0932018756866455))-ja);d=x(V+I);c=x(x(d+ka)*x(.99969881772995));u[a+124>>2]=x(ka*x(1.0242400169372559))-c;u[a>>2]=c+x(d*x(-.975157618522644));m=x(z-m);z=x(e-f);d=x(x(m+z)*x(-.3826834261417389));f=x(j-E);e=x(p-o);c=x(x(f+e)*x(-.3826834261417389));D=x(n-D);n=x(x(f*x(.5411961078643799))-c);o=x(D+n);g=x(h-g);h=x(x(e*x(1.3065630197525024))+c);p=x(g+h);c=x(x(o+p)*x(.5555702447891235));E=x(s-Y);j=x(i-r);f=x(x(E+j)*x(-.3826834261417389));r=x(ba-aa);i=x(R-v);e=x(x(r+i)*x(-.3826834261417389));Y=x(l-P);r=x(x(r*x(.5411961078643799))-e);s=x(Y+r);P=x(Q-_);i=x(x(i*x(1.3065630197525024))+e);l=x(P+i);e=x(x(s+l)*x(.5555702447891235));w=x(y-w);y=x(x(z*x(1.3065630197525024))+d);z=x(w+y);o=x(x(o*x(.27589938044548035))+c);_=x(z+o);H=x(W-H);E=x(x(E*x(.5411961078643799))-f);W=x(H+E);l=x(x(l*x(1.3870398998260498))-e);Q=x(W+l);q=x(G-q);f=x(x(j*x(1.3065630197525024))+f);j=x(q+f);e=x(x(s*x(.27589938044548035))+e);G=x(j+e);s=x(x(Q+G)*x(.8819212913513184));Q=x(s-x(Q*x(.41052451729774475)));v=x(_+Q);R=x(ma-la);m=x(x(m*x(.5411961078643799))-d);aa=x(R+m);p=x(x(p*x(1.3870398998260498))-c);ba=x(aa+p);G=x(x(G*x(1.3533179759979248))-s);d=x(ba+G);c=x(x(d+v)*x(.9924795627593994));u[a+116>>2]=x(v*x(1.114890217781067))-c;u[a+8>>2]=c+x(d*x(-.8700688481330872));K=x(K-L);k=x(N-k);d=x(x(K+k)*x(-.19509032368659973));L=x(ga-ca);N=x($-da);c=x(x(L+N)*x(-.19509032368659973));X=x(X-O);N=x(x(N*x(.78569495677948))-c);s=x(X+N);t=x(ia-t);L=x(x(L*x(1.1758755445480347))+c);O=x(t+L);c=x(x(s+O)*x(.6343932747840881));A=x(na-A);k=x(x(k*x(.78569495677948))-d);$=x(A+k);O=x(x(O*x(1.4074037075042725))-c);v=x($+O);J=x(J-B);B=x(x(K*x(1.1758755445480347))+d);K=x(J+B);s=x(x(s*x(.13861717283725739))+c);c=x(K+s);d=x(x(v+c)*x(.9757021069526672));u[a+108>>2]=x(c*x(1.1948033571243286))-d;u[a+16>>2]=d+x(v*x(-.7566009163856506));D=x(D-n);g=x(g-h);d=x(x(D+g)*x(-.8314695954322815));h=x(Y-r);n=x(P-i);c=x(x(h+n)*x(-.8314695954322815));E=x(H-E);n=x(x(n*x(-.27589938044548035))-c);H=x(E+n);f=x(q-f);h=x(x(h*x(1.3870398998260498))+c);q=x(f+h);c=x(x(H+q)*x(.290284663438797));m=x(R-m);g=x(x(g*x(-.27589938044548035))-d);r=x(m+g);q=x(x(q*x(1.247225046157837))-c);i=x(r+q);w=x(w-y);y=x(x(D*x(1.3870398998260498))+d);D=x(w+y);H=x(x(H*x(.6666556596755981))+c);c=x(D+H);d=x(x(i+c)*x(.949528157711029));u[a+100>>2]=x(c*x(1.2632099390029907))-d;u[a+24>>2]=d+x(i*x(-.6358464360237122));c=x(fa-ha);i=x(Z-S);d=x(x(c+i)*x(-.0980171412229538));C=x(C-F);F=x(x(i*x(.8971675634384155))-d);i=x(C+F);U=x(U-M);M=x(x(c*x(1.0932018756866455))+d);c=x(U+M);d=x(x(i+c)*x(.91420978307724));u[a+92>>2]=x(c*x(1.319451093673706))-d;u[a+32>>2]=d+x(i*x(-.5089684128761292));c=x(W-l);e=x(j-e);d=x(x(c+e)*x(-.4713967442512512));p=x(aa-p);e=x(x(e*x(.41052451729774475))-d);j=x(p+e);z=x(z-o);o=x(x(c*x(1.3533179759979248))+d);c=x(z+o);d=x(x(j+c)*x(.8700869679450989));u[a+84>>2]=x(c*x(1.3629851341247559))-d;u[a+40>>2]=d+x(j*x(-.3771888017654419));c=x(X-N);j=x(t-L);d=x(x(c+j)*x(-.7730104327201843));A=x(A-k);j=x(x(j*x(-.13861717283725739))-d);k=x(A+j);J=x(J-B);B=x(x(c*x(1.4074037075042725))+d);c=x(J+B);d=x(x(k+c)*x(.8175848126411438));u[a+76>>2]=x(c*x(1.3933930397033691))-d;u[a+48>>2]=d+x(k*x(-.24177661538124084));c=x(E-n);f=x(f-h);d=x(x(c+f)*x(-.9569403529167175));m=x(m-g);f=x(x(f*x(-.6666556596755981))-d);g=x(m+f);w=x(w-y);y=x(x(c*x(1.247225046157837))+d);c=x(w+y);d=x(x(g+c)*x(.7572088241577148));u[a+68>>2]=x(c*x(1.4103816747665405))-d;u[a+56>>2]=d+x(g*x(-.10403600335121155));c=x(V-I);g=x(ea-T);d=x(x(c+g)*x(.6895405650138855));u[a+64>>2]=x(c*x(.034706536680459976))+d;h=x(ba-G);n=x(_-Q);c=x(x(h+n)*x(.6152315735816956));u[a+72>>2]=x(h*x(.1731148362159729))+c;u[a+60>>2]=x(g*x(1.413787603378296))-d;g=x($-O);h=x(K-s);d=x(x(g+h)*x(.5349976420402527));u[a+80>>2]=x(g*x(.30985593795776367))+d;u[a+52>>2]=x(n*x(1.4035780429840088))-c;u[a+44>>2]=x(h*x(1.379851222038269))-d;c=x(r-q);g=x(D-H);d=x(x(c+g)*x(.4496113359928131));u[a+88>>2]=x(c*x(.4436129629611969))+d;u[a+36>>2]=x(g*x(1.3428356647491455))-d;c=x(C-F);C=x(U-M);d=x(x(c+C)*x(.3598950505256653));u[a+96>>2]=x(c*x(.5730977654457092))+d;u[a+28>>2]=x(C*x(1.292887806892395))-d;c=x(p-e);e=x(z-o);d=x(x(c+e)*x(.2667127549648285));u[a+104>>2]=x(c*x(.6970633268356323))+d;u[a+20>>2]=x(e*x(1.2304887771606445))-d;c=x(A-j);e=x(J-B);d=x(x(c+e)*x(.1709618866443634));u[a+112>>2]=x(c*x(.8143157362937927))+d;u[a+12>>2]=x(e*x(1.1562395095825195))-d;c=x(m-f);f=x(w-y);d=x(x(c+f)*x(.0735645666718483));u[a+120>>2]=x(c*x(.9237259030342102))+d;u[a+4>>2]=x(f*x(1.0708550214767456))-d}function dd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;da=xa-32|0;xa=da;d=q[a+116>>2];G=q[a+4>>2];v=o[G+4116|0];U=(v<<1)+ -7|0;i=d<>2]|0;f=q[a+120>>2];h=p[G+4118>>1];V=h+1<>2]|0)|0;k=v+ -3|0;y=h<>2]+(d+w(f,y)<>2];H=q[a+8>>2];W=q[a>>2];ja=q[a+160>>2];if(c){M=M+V|0;Qa(M,0,1<>1]+d|0;S=((u>>3<<1)+a|0)+128|0}else{S=a+128|0}X=j+t|0;if(b){f=1<>3;if((v|0)!=31){h=(f|0)>0?f:0;while(1){k=g<<1;p[k+da>>1]=s[(a+k|0)+128>>1]>>>f;k=(g|0)!=(h|0);g=g+1|0;if(k){continue}break}}d=d+1|0;S=da;i=f+i|0}f=q[a+72>>2];h=r[f+(d>>3)|0];j=1<<(d&7);t=q[a+116>>2];a:{b:{if(t|b){k=d+ -1|0;T=1<<(k&7)&r[f+(k>>3)|0];e=q[a+120>>2];J=0;if(!(e|c)){break a}k=(p[G+4118>>1]^-1)+d|0;$=1<<(k&7)&r[f+(k>>3)|0];k=T;break b}k=0;e=q[a+120>>2];J=0;if(!(e|c)){break a}}T=k;d=d-p[G+4118>>1]|0;J=1<<(d&7)&r[f+(d>>3)|0]}O=v&255;Y=h&j;C=q[H+20>>2];c:{if((u|0)<8|b){break c}D=(u|0)/-8|0;E=w(D,y);Z=(u|0)/8|0;_=y^-1;P=$?E-Z|0:_;d=q[q[a+8>>2]+20>>2];j=C<<2;h=((q[a+148>>2]+(t+w(d,e)<>>2|0;aa=0-V|0;ba=0-(C<>1];K=q[H+304>>2]+w(s[q[a+156>>2]+(((t-d|0)+w(d,e)|0)+(c?d:0)<<1)>>1],1272)|0;Q=K;ea=v+ -1|0;ha=(1<>2]>>>d<<2;g=c|e?q[t+aa>>2]>>>d+ha&3|g:g;d=x-y|0;d:{if(x){ia=x+ -1|0;B=(J?E:d)+i|0;z=(J?E:x+_|0)+i|0;e=0;while(1){f=(ma=hl(g),na=31,oa=g,oa?ma:na);d=f>>>1|0;e:{if(d){k=f&30;f=A-e|0;e=d+e|0;d=w(j,(e|0)<(A|0)?d:f);break e}f:{if(!e){l=r[Q+173|0];m=r[K+172|0];f=B;d=z;break f}l=r[N+173|0];m=r[N+172|0];if(Y){f=i;d=i;break f}d=w(e+ -1>>1,y);f=(d+x|0)+i|0;d=(d+ia|0)+i|0}k=2;e=e+1|0;L=s[(e&-2)+S>>1]>>>x|0;if((L&3)!=3){n[q[H+11928>>2]](h,C,g&3,r[d|0],r[f|0],m<<24>>24,l<<24>>24,(L^-1)&1,(L>>>1^-1)&1)}d=j}g=g>>>k|0;h=d+h|0;if((A|0)>(e|0)){continue}break}break d}B=(J?E:d)+i|0;e=0;while(1){f=(ma=hl(g),na=31,oa=g,oa?ma:na);d=f>>>1|0;g:{if(d){k=f&30;f=A-e|0;e=d+e|0;d=w(j,(e|0)<(A|0)?d:f);break g}h:{if(e){l=r[N+173|0];m=r[N+172|0];d=w(e+ -1>>1,y);f=Y?i:d+i|0;d=T?D:d+ -1|0;break h}l=r[Q+173|0];m=r[K+172|0];f=B;d=P}k=2;e=e+1|0;z=s[(e&-2)+S>>1];if((z&3)!=3){n[q[H+11928>>2]](h,C,g&3,r[d+i|0],r[f|0],m<<24>>24,l<<24>>24,(z^-1)&1,(z>>>1^-1)&1)}d=j}g=g>>>k|0;h=d+h|0;if((A|0)>(e|0)){continue}break}}t=R>>>0>1|(ga?0:R-1|0)?t:t+4|0;x=x+1|0;if((Z|0)==(x|0)){break c}h=(h+ba|0)+8|0;e=q[a+120>>2];continue}}i:{if((u|0)<8|c){break i}A=(u|0)/-8|0;Z=w(A,y);_=(u|0)/8|0;aa=($?Z-_|0:y^-1)+i|0;d=q[a+116>>2];f=q[a+120>>2];h=((q[a+148>>2]+(d+w(f,q[q[a+8>>2]+20>>2])<>>2|0;ha=-1<>2]+w(s[q[a+156>>2]+((d-!b|0)+w(f,p[G+4118>>1])<<1)>>1],1272)|0;K=E;fa=v+ -1|0;ga=(1<>2]>>>f<<2;g=b|d?q[t+ha>>2]>>>f+ga&3|g:g;Q=(e<<1)+S|0;R=w(e,y);d=R+ -1|0;P=e+1|0;L=(P<<1)+S|0;j:{if(e){B=(T?A:d)+i|0;la=w(e+ -1|0,y);z=(T?A:la+ -1|0)+i|0;e=0;while(1){f=(ma=hl(g),na=31,oa=g,oa?ma:na);d=f>>>1|0;k:{if(d){l=m-e|0;e=d+e|0;d=((e|0)<(m|0)?d:l)<<2;k=f&30;break k}l:{if(!e){f=r[K+173|0];x=r[E+172|0];j=B;l=z;break l}f=r[N+173|0];x=r[N+172|0];if(Y){j=i;l=i;break l}d=e+ -1>>1;j=(d+R|0)+i|0;l=(d+la|0)+i|0}e=e+1|0;ca=1<<(e>>1);D=ca&s[L>>1];k=2;d=4;ca=ca&s[Q>>1];if(D?ca:0){break k}n[q[H+11932>>2]](h,C,g&3,r[l|0],r[j|0],x<<24>>24,f<<24>>24,!ca,!D)}g=g>>>k|0;h=d+h|0;if((m|0)>(e|0)){continue}break}break j}B=(T?A:d)+i|0;e=0;while(1){f=(ma=hl(g),na=31,oa=g,oa?ma:na);d=f>>>1|0;m:{if(d){l=m-e|0;e=d+e|0;d=((e|0)<(m|0)?d:l)<<2;k=f&30;break m}n:{if(e){f=r[N+173|0];x=r[N+172|0];d=e+ -1>>1;j=r[(J?Z:d-y|0)+i|0];l=i;if(Y){break n}l=(d+R|0)+i|0;break n}j=r[aa|0];f=r[K+173|0];x=r[E+172|0];l=B}e=e+1|0;D=1<<(e>>1);z=D&s[L>>1];k=2;d=4;D=D&s[Q>>1];if(z?D:0){break m}n[q[H+11932>>2]](h,C,g&3,j&255,r[l|0],x<<24>>24,f<<24>>24,!D,!z)}g=g>>>k|0;h=d+h|0;if((m|0)>(e|0)){continue}break}}t=O>>>0>1|(ka?0:O-1|0)?t:t+4|0;if((P|0)==(_|0)){break i}h=ba+(h+ea|0)|0;d=q[a+116>>2];e=P;continue}}o:{p:{q:{if(b){break q}h=0;e=q[a+120>>2];d=q[q[a+8>>2]+20>>2];h=c?(d|0)/2<>>3|0;K=y^-1;Q=($?t-z|0:K)+i|0;m=0;V=0-V|0;R=(C|0)/-2<>2];l=C<<2;h=((q[a+152>>2]+(f+((w(d,e)|0)/2|0)<>1];D=q[H+304>>2]+w(s[q[a+156>>2]+(((f-d|0)+w(d,e)|0)+(c?d:0)<<1)>>1],1272)|0;Z=(1<>2]<<2;if(c|e){d=d|q[M+V>>2]>>>Z&3}e=d&572662306;B=m<<1;P=B-y|0;aa=B+ -1|0;ba=(B+K|0)+i|0;g=0;while(1){d=(ma=hl(e),na=31,oa=e,oa?ma:na);f=d>>>2|0;r:{if(f){d=d&28;j=z-g<<2;g=f+g|0;f=w((g|0)<(z|0)?d:j,C);break r}s:{if(!g){k=r[D+173|0];t:{u:{if(!m){d=t;f=r[Q|0];j=f;if(!J){break u}break t}if(J){f=r[L|0];d=i+t|0;break s}j=r[ba|0]}f=j;d=P}d=d+i|0;break s}k=r[N+173|0];v:{if(!m){d=w(g+ -1|0,y);f=r[(T?O:d+ -1|0)+i|0];j=f;if(!Y){break v}d=i;break s}if(Y){f=r[i|0];d=i;break s}d=w(g+ -1|0,y);j=r[(aa+d|0)+i|0]}f=j;d=(d+B|0)+i|0}j=s[(g<<1)+S>>1]>>>B|0;w:{if((j&3)==3){break w}if(!(e&2)){break p}x=(j^-1)&1;j=(j>>>1^-1)&1;d=r[d|0];A=q[H+11924>>2];if(ja){n[A](h,C,d,f,o[W+20|0],o[W+19|0],k<<24>>24,j,x);break w}n[A](h,C,f,d,o[W+19|0],o[W+20|0],k<<24>>24,x,j)}g=g+1|0;d=4;f=l}e=e>>>d|0;h=f+h|0;if((z|0)>(g|0)){continue}break}m=m+1|0;if((E|0)==(m|0)){break q}M=M+_|0;h=(h+R|0)+16|0;e=q[a+120>>2];continue}}x:{if((u|0)<16|c){break x}M=(u|0)/16|0;f=(u|0)/-8|0;B=w(f,y);t=u>>>3|0;z=y^-1;A=($?B-t|0:z)+i|0;e=q[a+116>>2];c=q[a+120>>2];G=q[H+304>>2]+w(s[q[a+156>>2]+((e-!b|0)+w(c,p[G+4118>>1])<<1)>>1],1272)|0;m=0;d=((q[a+152>>2]+(((w(c,q[q[a+8>>2]+20>>2])|0)/2|0)+e<>2]<<2;if(b|e){c=c|q[U+X>>2]>>>O&3}e=c&572662306;c=m<<2;K=c+S|0;Q=w(m,V);k=Q+ -1|0;R=(c|2)+S|0;L=w((m<<1)+ -1|0,y);D=(L+i|0)+ -1|0;g=0;while(1){h=(ma=hl(e),na=31,oa=e,oa?ma:na);c=h>>>2|0;y:{if(c){h=h&28;l=t-g|0;g=c+g|0;d=(((g|0)<(t|0)?c:l)<<3)+d|0;break y}z:{if(!g){x=r[G+173|0];A:{B:{if(!m){h=f;l=r[A|0];c=l;if(!T){break B}break A}if(T){l=r[E|0];c=f+i|0;break z}c=r[D|0]}l=c;h=k}c=h+i|0;break z}x=r[N+173|0];C:{if(!m){l=r[(J?B:g+z|0)+i|0];c=i;if(Y){break z}h=g+ -1|0;break C}if(Y){l=r[i|0];c=i;break z}h=g+ -1|0;l=r[(L+h|0)+i|0]}c=(h+Q|0)+i|0}j=1<>1];c=r[c|0];j=j&s[K>>1];D:{if(h?j:0){break D}if(!(e&2)){break o}h=!h;j=!j;P=q[H+11920>>2];if(ja){n[P](d,C,c,l,o[W+20|0],o[W+19|0],x<<24>>24,h,j);break D}n[P](d,C,l,c,o[W+19|0],o[W+20|0],x<<24>>24,j,h)}g=g+1|0;h=4;d=d+8|0}e=e>>>h|0;if((t|0)>(g|0)){continue}break}m=m+1|0;if((M|0)==(m|0)){break x}X=v+X|0;d=$+(d+u|0)|0;e=q[a+116>>2];continue}}xa=da+32|0;return}I(3453,3902,600,42120);F()}I(3453,3902,749,42120);F()}function Hh(a,b,c){var d=0,e=0,f=x(0),g=0,h=0,i=0,j=0,k=x(0),l=0,m=0,n=0,t=x(0),v=0,y=0,z=0,A=0,B=0,C=x(0),D=0,F=0,G=0,H=0,I=x(0),J=0,K=x(0),L=0,M=0,N=0,O=0,P=x(0),Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;d=xa-3568|0;xa=d;L=Qa(d,0,2940);l=a+c|0;i=r[l+53451|0];d=255;a:{if(!i){break a}e=r[l+53507|0];d=e>>>0>1?e+ -1|0:-1;if((i|0)==2){break a}d=255;if(!e){break a}d=(r[l+610|0]-e|0)+1|0}o[l+10972|0]=d;m=r[l+610|0];b:{c:{if(r[a+53440|0]!=1){if(m){break c}m=0;break b}if(!m){m=0;break b}z=r[a+15|0];if(!z){break b}D=w(c,6)+a|0;d=r[D+616|0];A=r[a+53419|0];B=w(c,1280)+a|0;while(1){j=g+1|0;i=r[(j+D|0)+616|0];e=i-(d&255)|0;f=e?x(e|0):x(1);H=i+A|0;v=d+A|0;F=v&255;d:{if(H>>>0<=F>>>0){f=x(x(0)/f);d=0;while(1){u[((B+w(d,20)|0)+(g<<2)|0)+4828>>2]=f;d=d+1|0;if((z|0)!=(d|0)){continue}break}break d}y=r[a+14|0];h=0;while(1){n=h+y|0;t=x(0);d=F;e=v;while(1){d=((d<<9)+b|0)+(n<<3)|0;k=u[d>>2];I=x(k*k);k=u[d+4>>2];t=x(t+x(I+x(k*k)));e=e+1|0;d=e&255;if(H>>>0>d>>>0){continue}break}u[((B+w(h,20)|0)+(g<<2)|0)+4828>>2]=t/f;h=h+1|0;if((z|0)!=(h|0)){continue}break}}d=i;g=j;if((m|0)!=(g|0)){continue}break}break b}z=w(c,6)+a|0;B=w(c,1280)+a|0;while(1){D=g+z|0;i=r[D+634|0];v=g+1|0;e:{if(!r[(i+a|0)+24|0]){break e}d=z+616|0;v=g+1|0;H=d+v|0;y=d+g|0;d=0;e=i;while(1){j=((e<<6)+a|0)+90|0;e=r[j+d|0];F=d+1|0;m=r[F+j|0];if(e>>>0>>0){n=m-e|0;G=r[a+14|0];A=r[a+53419|0];j=e;while(1){d=r[H|0];i=r[y|0];h=w(n,d-i|0);f=h?x(h|0):x(1);t=x(0);N=d+A|0;h=i+A|0;i=h&255;if(N>>>0>i>>>0){while(1){d=e;while(1){O=((i<<9)+b|0)+(d<<3)|0;k=u[O>>2];I=x(k*k);k=u[O+4>>2];t=x(t+x(I+x(k*k)));d=d+1|0;if((m|0)!=(d|0)){continue}break}h=h+1|0;i=h&255;if(N>>>0>i>>>0){continue}break}}u[((B+w(j-G|0,20)|0)+(g<<2)|0)+4828>>2]=t/f;j=j+1|0;if((m|0)!=(j|0)){continue}break}i=r[D+634|0]}d=F;e=i&255;if(d>>>0>>0>>0){continue}break}}if(m){S=l+53445|0;_=l+12418|0;d=r[a+53438|0];T=(d<<6)+a|0;M=T;G=o[l+10972|0];N=r[(a+d|0)+20|0];e=0;U=w(c,3)+a|0;h=w(c,1280)+a|0;V=(c<<9)+a|0;z=0;while(1){d=1;Q=(e|0)==(G|0);if(!Q){d=o[_|0]==(e|0)}g=w(c,6)+a|0;F=e+1|0;z=(r[(g+F|0)+616|0]>r[(U+(z&255)|0)+629|0])+z|0;if(N){W=d^1;X=z&255;O=e+g|0;A=0;$=e&255;Y=_d(a,c,$,0);ba=+u[(r[a+53439|0]<<2)+104400>>2];g=r[M+282|0];i=0;j=0;B=0;D=0;while(1){t=x(0);H=g&255;A=A+1|0;v=r[(T+A|0)+282|0];R=H>>>0>=v>>>0;f:{if(R){f=x(0);k=x(0);break f}d=g&255;y=r[O+634|0];n=r[a+14|0];k=x(0);f=x(0);while(1){Z=e<<2;k=x(k+u[(Z+(h+w(d,20)|0)|0)+4828>>2]);D=(r[(((y<<6)+a|0)+(D&255)|0)+91|0]==(d+n|0))+D|0;f=x(f+u[(Z+(h+w(D&255,20)|0)|0)+2268>>2]);d=d+1|0;if((v|0)!=(d|0)){continue}break}}aa=+f+1e-12;if(!R){f=x(aa/(+k+1e-12)*ba);k=f>>1|0)){break g}J=r[(n+((c<<6)+a|0)|0)+12149|0]}g=J;n=(V+((i&255)<<3)|0)+(X<<2)|0;f=u[n+9436>>2];y=d<<2;K=u[n+8412>>2];n=e<<2;C=u[(n+(h+w(B&255,20)|0)|0)+2268>>2];P=x(K*C);g=g&255;u[y+(L+2944|0)>>2]=g?P:x(0);P=g?x(t+P):t;t=x(f*C);I=f;da=+C;C=u[(n+(h+w(d,20)|0)|0)+4828>>2];f=x(da/(+C+1));n=Y&255;I=(n|0)==1?x(I*f):f;f=n?I:W?x(K*f):I;if(!(k>f)){t=x(x(k*t)/f);f=k}u[y+(L+3152|0)>>2]=f;u[y+(L+3360|0)>>2]=t;f=x(P+x(C*f));t=Q?f:g?f:x(t+f);d=d+1|0;if((v|0)!=(d|0)){continue}break}}if(!R){f=x(aa/(+t+1e-12));f=+f<2.51188643?f:x(2.5118863582611084);while(1){d=H<<2;g=d+(w(e,196)+L|0)|0;u[g>>2]=E(x(f*u[d+(L+3152|0)>>2]));u[g+980>>2]=E(x(f*u[d+(L+3360|0)>>2]));k=u[d+(L+2944|0)>>2];u[g+1960>>2]=k!=x(0)?x(E(x(f*k))):x(0);H=H+1|0;if((v|0)!=(H|0)){continue}break}}g=v;if((A|0)!=(N|0)){continue}break}}e=F;if(e>>>0>>0){continue}break}}e=1;g=0;if(r[a+12426|0]!=1){e=0;g=s[((c<<1)+a|0)+12406>>1]}N=l+12410|0;z=r[N|0];if(m){O=l+12418|0;Y=l+10972|0;j=w(c,20)+a|0;R=j;v=j+688|0;F=j+648|0;n=(w(c,6)+a|0)+616|0;d=0;while(1){m=1;m=o[Y|0]!=(d|0)?o[O|0]==(d|0):m;h=r[a+53441|0];if(e&255){e=w(d,196)+L|0;Sa(q[F>>2],e,r[a+15|0]<<2);i=e+980|0;Sa(q[v>>2],i,r[a+15|0]<<2);Sa(q[j+652>>2],e,r[a+15|0]<<2);Sa(q[j+692>>2],i,r[a+15|0]<<2);Sa(q[j+656>>2],e,r[a+15|0]<<2);Sa(q[j+696>>2],i,r[a+15|0]<<2);Sa(q[j+660>>2],e,r[a+15|0]<<2);Sa(q[R+700>>2],i,r[a+15|0]<<2);o[l+728|0]=4}A=r[d+n|0];i=d+1|0;S=i+n|0;if(A>>>0>24<<2)|0)+648>>2],B,r[a+15|0]<<2);Sa(q[(j+(o[l+728|0]<<2)|0)+688>>2],T,r[a+15|0]<<2);D=r[a+15|0];h:{if(!D){break h}H=r[a+53419|0]+A|0;k=x(o[z+104420|0]);t=x(o[z+104416|0]);G=r[a+53448|0];y=r[a+14|0];h=0;if(_){d=0;if((G|0)==3){G=r[a+53449|0];while(1){M=d+y|0;e=((H<<9)+b|0)+(M<<3)|0;h=d<<2;f=u[(h+B|0)+1960>>2];I=x(x(f*x((M&1?-1:1)|0))*k);M=j+(o[l+728|0]<<2)|0;C=u[h+q[M+648>>2]>>2];K=m?x(0):f!=x(0)?x(0):u[h+q[M+688>>2]>>2];g=g+1&511;h=g<<3;u[e+4>>2]=I+x(x(C*u[e+4>>2])+x(K*u[h+104436>>2]));u[e>>2]=x(f*t)+((G|0)==42?x(16428320):x(x(C*u[e>>2])+x(u[h+104432>>2]*K)));d=d+1|0;if((D|0)!=(d|0)){continue}break}break h}while(1){G=d+y|0;e=((H<<9)+b|0)+(G<<3)|0;h=d<<2;f=u[(h+B|0)+1960>>2];I=x(x(f*x((G&1?-1:1)|0))*k);G=j+(o[l+728|0]<<2)|0;C=u[h+q[G+648>>2]>>2];K=m?x(0):f!=x(0)?x(0):u[h+q[G+688>>2]>>2];g=g+1&511;h=g<<3;u[e+4>>2]=I+x(x(C*u[e+4>>2])+x(K*u[h+104436>>2]));u[e>>2]=x(f*t)+x(x(C*u[e>>2])+x(u[h+104432>>2]*K));d=d+1|0;if((D|0)!=(d|0)){continue}break}break h}while(1){e=r[l+728|0];d=e+1|0;e=(d&255)>>>0>4?e+ -4|0:d;M=e<<2&1020;d=h<<2;J=e+ -4|0;e=e+1|0;e=(e&255)>>>0>4?J:e;U=e<<2&1020;J=e+ -4|0;e=e+1|0;e=(e&255)>>>0>4?J:e;V=e<<2&1020;J=e+ -4|0;e=e+1|0;e=(e&255)>>>0>4?J:e;Q=e<<2&1020;J=e+ -4|0;e=e+1|0;W=((e&255)>>>0>4?J:e)<<2&1020;K=x(x(x(x(x(x(u[q[M+F>>2]+d>>2]*x(.031830500811338425))+x(0))+x(u[d+q[U+F>>2]>>2]*x(.11516383290290833)))+x(u[d+q[V+F>>2]>>2]*x(.21816949546337128)))+x(u[d+q[Q+F>>2]>>2]*x(.3015028238296509)))+x(u[d+q[W+F>>2]>>2]*x(.3333333432674408)));X=h+y|0;e=((H<<9)+b|0)+(X<<3)|0;C=u[(d+B|0)+1960>>2];P=C!=x(0)?x(0):x(x(x(x(x(x(u[d+q[v+M>>2]>>2]*x(.031830500811338425))+x(0))+x(u[d+q[v+U>>2]>>2]*x(.11516383290290833)))+x(u[d+q[v+V>>2]>>2]*x(.21816949546337128)))+x(u[d+q[v+Q>>2]>>2]*x(.3015028238296509)))+x(u[d+q[v+W>>2]>>2]*x(.3333333432674408)));g=g+1&511;d=g<<3;f=x(x(K*u[e>>2])+x(P*u[d+104432>>2]));u[e>>2]=f;if(!((G|0)!=3|r[a+53449|0]!=42)){q[e>>2]=1266330912;f=x(16428320)}I=u[e+4>>2];u[e>>2]=x(C*t)+f;u[e+4>>2]=x(x(C*x((X&1?-1:1)|0))*k)+x(x(K*I)+x(P*u[d+104436>>2]));h=h+1|0;if((D|0)!=(h|0)){continue}break}}d=r[l+728|0]+1|0;d=d<<24>>24>4?0:d;o[l+728|0]=d;z=z+1&3;A=A+1|0;if(A>>>0>>0>1]=g;o[N|0]=z;xa=L+3568|0;return 0}function Xh(a,b){var c=x(0),d=x(0),e=x(0),f=x(0),g=x(0),h=x(0),i=x(0),j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0),t=x(0),v=x(0),w=x(0),y=x(0),z=x(0),A=x(0),B=x(0),C=x(0),D=x(0),E=x(0),F=x(0),G=x(0),H=x(0),I=x(0),J=x(0),K=x(0),L=x(0),M=x(0),N=x(0),O=x(0),P=x(0),Q=x(0),R=x(0),S=x(0),T=x(0),U=x(0),V=x(0),W=x(0),X=x(0),Y=x(0),Z=x(0),_=x(0),$=x(0),aa=x(0),ba=x(0),ca=x(0),da=x(0),ea=x(0),fa=x(0),ga=x(0),ha=x(0),ia=x(0),ja=x(0),ka=x(0),la=x(0),ma=x(0);h=u[b+32>>2];d=u[b+28>>2];m=x(h-d);n=u[b+96>>2];o=u[b+92>>2];p=x(n-o);c=x(x(m+p)*x(-.9238795042037964));q=u[b+24>>2];i=u[b+20>>2];r=x(q-i);e=u[b+40>>2];j=u[b+36>>2];l=x(e-j);f=x(r+l);w=u[b+88>>2];s=u[b+84>>2];t=x(w-s);k=u[b+104>>2];D=u[b+100>>2];v=x(k-D);E=x(t+v);g=x(x(f+E)*x(-.9238795042037964));y=x(r-l);t=x(t-v);r=x(x(y+t)*x(-.9238795042037964));l=u[b>>2];v=u[b+64>>2];z=u[b+60>>2];F=x(x(v-z)*x(.7071067690849304));R=x(l-F);S=x(x(m*x(1.3065630197525024))+c);T=x(R+S);A=u[b+16>>2];G=u[b+12>>2];J=x(A-G);B=u[b+48>>2];C=u[b+44>>2];m=x(B-C);U=u[b+80>>2];H=u[b+76>>2];I=x(U-H);K=x(x(m+I)*x(.7071067690849304));ba=x(J-K);I=x(x(m-I)*x(.7071067690849304));L=u[b+112>>2];M=u[b+108>>2];V=x(L-M);m=x(I-V);ca=x(x(ba+m)*x(.8314695954322815));da=x(ca-x(m*x(.27589938044548035)));ea=x(T+da);W=u[b+8>>2];N=u[b+4>>2];X=x(W-N);Y=u[b+56>>2];O=u[b+52>>2];m=x(Y-O);P=u[b+72>>2];Z=u[b+68>>2];Q=x(P-Z);_=x(x(m+Q)*x(.7071067690849304));fa=x(X-_);ga=x(x(f*x(1.3065630197525024))+g);ha=x(fa+ga);t=x(x(t*x(1.3065630197525024))+r);$=u[b+120>>2];f=u[b+116>>2];aa=x($-f);Q=x(x(m-Q)*x(.7071067690849304));ia=x(aa-Q);m=x(t+ia);ja=x(x(ha-m)*x(.9569403529167175));ka=x(ja+x(m*x(.6666556596755981)));m=x(ea+ka);A=x(A-i);k=x(k-M);i=x(x(A+k)*x(-.9700312614440918));C=x(e-C);s=x(U-s);e=x(x(C+s)*x(-.5141027569770813));k=x(x(k*x(-.7270510792732239))-i);C=x(x(C*x(.34362587332725525))-e);U=x(k-C);A=x(x(A*x(1.213011384010315))+i);s=x(x(s*x(1.3718312978744507))+e);M=x(A-s);i=x(x(U+M)*x(-.5555702447891235));B=x(B-O);H=x(P-H);e=x(x(B+H)*x(-.803207516670227));G=x(W-G);L=x(L-f);f=x(x(G+L)*x(-.1467304676771164));H=x(x(H*x(-.20750822126865387))-e);G=x(x(G*x(.8424460291862488))-f);W=x(H-G);B=x(x(B*x(1.3989068269729614))+e);L=x(x(L*x(1.1359069347381592))+f);O=x(B-L);e=x(x(W+O)*x(.8314695954322815));j=x(h-j);o=x(w-o);f=x(x(j+o)*x(-.903989315032959));d=x(q-d);n=x(n-D);h=x(x(d+n)*x(-.3368898630142212));o=x(x(o*x(-.47643420100212097))-f);q=x(x(d*x(.6046541929244995))-h);w=x(o-q);j=x(x(j*x(1.3315443992614746))+f);n=x(x(n*x(1.278433918952942))+h);D=x(j-n);f=x(x(w+D)*x(.19509032368659973));N=x(l-N);P=x($-u[b+124>>2]);h=x(x(N+P)*x(-.9987954497337341));z=x(Y-z);v=x(v-Z);d=x(x(z+v)*x(-.6715589761734009));Y=x(x(P*x(-.9497277736663818))-h);z=x(x(z*x(.06939216703176498))-d);P=x(Y-z);N=x(x(N*x(1.0478631258010864))+h);d=x(x(v*x(1.4125100374221802))+d);v=x(N-d);h=x(x(P+v)*x(-.9807852506637573));M=x(x(M*x(.27589938044548035))-i);O=x(x(O*x(1.3870398998260498))-e);Z=x(M+O);D=x(x(D*x(1.1758755445480347))-f);v=x(x(v*x(-.78569495677948))-h);$=x(D+v);la=x(Z+$);u[a+120>>2]=x(m+la)*x(.5013584494590759);l=x(l+F);p=x(x(p*x(-.5411961078643799))-c);F=x(l+p);J=x(J+K);c=x(I+V);I=x(x(J+c)*x(.9807852506637573));K=x(I+x(c*x(-.78569495677948)));V=x(F+K);X=x(X+_);E=x(x(E*x(-.5411961078643799))-g);_=x(X+E);r=x(x(y*x(-.5411961078643799))-r);y=x(Q+aa);c=x(r+y);Q=x(x(_+c)*x(.9951847195625305));aa=x(Q+x(c*x(-.8971675634384155)));ma=x(V+aa);c=x(C+k);g=x(H+G);k=x(c+g);o=x(o+q);q=x(z+Y);z=x(o+q);G=x(k+z);u[a+124>>2]=x(ma+G)*x(.5001506209373474);C=x(c-g);s=x(s+A);A=x(B+L);B=x(s-A);c=x(x(C+B)*x(.3826834261417389));o=x(q-o);d=x(d+N);n=x(j+n);q=x(d-n);g=x(x(o+q)*x(-.9238795042037964));l=x(l-p);p=x(x(J*x(1.1758755445480347))-I);j=x(l+p);E=x(X-E);r=x(y-r);y=x(x(E-r)*x(.7730104327201843));r=x(y+x(r*x(.13861717283725739)));J=x(j+r);B=x(x(B*x(1.3065630197525024))-c);q=x(x(q*x(-.5411961078643799))-g);H=x(B+q);u[a+112>>2]=x(J+H)*x(.5074711441993713);F=x(F-K);I=x(x(_*x(1.0932018756866455))-Q);K=x(F+I);k=x(z-k);d=x(n+d);n=x(s+A);s=x(d-n);z=x(x(k+s)*x(.7071067690849304));u[a+96>>2]=x(K+z)*x(.5359098315238953);F=x(F-I);s=x(x(k-s)*x(.7071067690849304));u[a+92>>2]=x(F+s)*x(.5469204187393188);r=x(j-r);c=x(x(C*x(.5411961078643799))+c);g=x(x(o*x(1.3065630197525024))+g);o=x(c+g);u[a+76>>2]=x(r+o)*x(.6115573644638062);j=x(ea-ka);i=x(x(U*x(1.3870398998260498))+i);e=x(e-x(W*x(.27589938044548035)));k=x(i+e);f=x(x(w*x(.78569495677948))+f);h=x(x(P*x(1.1758755445480347))+h);w=x(f+h);A=x(k+w);u[a+68>>2]=x(j+A)*x(.6603198051452637);C=x(V-aa);d=x(n+d);u[a+64>>2]=x(C+d)*x(.690372109413147);u[a+60>>2]=x(C-d)*x(.7251205444335938);u[a+56>>2]=x(j-A)*x(.765494167804718);l=x(l-p);d=x(x(E*x(1.4074037075042725))-y);n=x(l+d);p=x(q-B);c=x(g-c);q=x(x(p+c)*x(.7071067690849304));u[a+108>>2]=x(n+q)*x(.5124514698982239);g=x(T-da);j=x(x(ha*x(1.247225046157837))-ja);E=x(g+j);y=x($-Z);w=x(w-k);k=x(x(y+w)*x(.7071067690849304));u[a+100>>2]=x(E+k)*x(.5265772938728333);j=x(g-j);w=x(x(y-w)*x(.7071067690849304));u[a+88>>2]=x(j+w)*x(.5597698092460632);l=x(l-d);d=x(x(p-c)*x(.7071067690849304));u[a+80>>2]=x(l+d)*x(.5918185114860535);p=x(M-O);i=x(i-e);c=x(x(p+i)*x(.3826834261417389));e=x(v-D);f=x(h-f);g=x(x(e+f)*x(-.9238795042037964));h=x(R-S);D=x(x(ba*x(1.3870398998260498))-ca);v=x(h+D);y=x(fa-ga);t=x(ia-t);R=x(x(y+t)*x(.8819212913513184));t=x(R+x(t*x(-.41052451729774475)));S=x(v+t);i=x(x(i*x(1.3065630197525024))-c);f=x(x(f*x(-.5411961078643799))-g);T=x(i+f);u[a+116>>2]=x(S+T)*x(.5037887096405029);t=x(v-t);c=x(x(p*x(.5411961078643799))+c);g=x(x(e*x(1.3065630197525024))+g);e=x(c+g);u[a+72>>2]=x(t+e)*x(.6342389583587646);u[a+52>>2]=x(t-e)*x(.8127021193504333);e=x(h-D);h=x(x(y*x(1.3533179759979248))-R);p=x(e+h);i=x(f-i);c=x(g-c);g=x(x(i+c)*x(.7071067690849304));u[a+104>>2]=x(p+g)*x(.5187926888465881);e=x(e-h);c=x(x(i-c)*x(.7071067690849304));u[a+84>>2]=x(e+c)*x(.5746551752090454);u[a+44>>2]=x(l-d)*x(.9345836043357849);u[a+48>>2]=x(r-o)*x(.8683447241783142);u[a+40>>2]=x(e-c)*x(1.0144082307815552);u[a+36>>2]=x(j-w)*x(1.1120716333389282);u[a+32>>2]=x(F-s)*x(1.2338327169418335);u[a+28>>2]=x(K-z)*x(1.389293909072876);u[a+24>>2]=x(E-k)*x(1.5939723253250122);u[a+20>>2]=x(p-g)*x(1.874675989151001);u[a+16>>2]=x(n-q)*x(2.282050132751465);u[a+12>>2]=x(J-H)*x(2.924628496170044);u[a+8>>2]=x(S-T)*x(4.084610939025879);u[a+4>>2]=x(m-la)*x(6.796750545501709);u[a>>2]=x(ma-G)*x(20.373878479003906)}function ij(a,b,c,d,e,f,g,h,i,j,k,l,m,n,t,u){var v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;v=xa-96|0;xa=v;G=q[a+8>>2];Q=r[G+76|0];x=q[a+24>>2];L=h+j|0;D=L+ -1|0;F=q[(w(D-j>>>2|0,18)<<2)+c>>2];A=x+(F<<4)|0;E=o[q[a>>2]+43|0];I=q[d+12>>2];B=I>>>20&7;a:{b:{J=i>>E;M=i+ -1|0;K=j>>E;if(!(m?!(o[A+14|0]&1):y)|((K|0)==D>>E?(J|0)==M>>E:0)){break b}if(!(k|(f|0)!=1|e>>>0>7)){if(1<>2];q[v+16>>2]=q[A>>2];q[v+20>>2]=m;m=q[A+12>>2];q[v+24>>2]=q[A+8>>2];q[v+28>>2]=m;C=1;if(B){break b}a=q[v+20>>2];q[d>>2]=q[v+16>>2];q[d+4>>2]=a;q[d+8>>2]=q[v+24>>2];q[d+12>>2]=q[v+28>>2]&393216|I&-393217;break a}N=j+ -1|0;O=g+i|0;y=O+ -1|0;D=q[(y-i&-4)+b>>2];m=(D<<4)+x|0;c:{d:{if(!t){break d}z=q[m+12>>2];H=z&65536;if(H|(N>>E==(K|0)?y>>E==(J|0):0)){break d}if(!(k|(f|0)!=1|e>>>0>5)){y=C;t=y;if(1<>>16^1;break e}t=2;e=z>>>17&3;z=q[((F<<4)+x|0)+12>>2]>>>17&3;if((e|0)!=(z|0)){break e}t=0;f=0;f:{if((z|0)!=1){f=r[((F<<4)+x|0)+8|0]==r[((D<<4)+x|0)+8|0]?(r[A|0]|r[A+1|0]<<8|(r[A+2|0]<<16|r[A+3|0]<<24))==(r[m|0]|r[m+1|0]<<8|(r[m+2|0]<<16|r[m+3|0]<<24)):f;e=f;if(!z){break f}}e=(F<<4)+x|0;y=(D<<4)+x|0;if(r[e+9|0]==r[y+9|0]){t=(r[e+4|0]|r[e+5|0]<<8|(r[e+6|0]<<16|r[e+7|0]<<24))==(r[y+4|0]|r[y+5|0]<<8|(r[y+6|0]<<16|r[y+7|0]<<24))}e=t;if((z|0)!=2){break f}e=(f|0)!=0&(t|0)!=0}t=!e+C|0;y=1;P=1;if(e){break c}}k=q[m+12>>2];e=(v+16|0)+(C<<4)|0;q[e+8>>2]=q[m+8>>2];q[e+12>>2]=k;f=q[m+4>>2];q[e>>2]=q[m>>2];q[e+4>>2]=f;if((B|0)!=(C|0)){P=1;y=C+1|0;break c}a=q[e+4>>2];q[d>>2]=q[e>>2];q[d+4>>2]=a;q[d+8>>2]=q[e+8>>2];q[d+12>>2]=q[((v+16|0)+(B<<4)|0)+12>>2]&393216|I&-393217;break a}y=C;t=y}g:{h:{i:{j:{k:{if(!n){break k}z=q[(g&-4)+b>>2];e=q[((z<<4)+x|0)+12>>2];if(e&65536|(N>>E==(K|0)?O>>E==(J|0):0)){break k}n=(z<<4)+x|0;l:{if(!P){t=t+1|0;break l}H=q[((D<<4)+x|0)+12>>2]>>>17&3;if((H|0)!=(e>>>17&3)){t=t+1|0;break l}e=0;f=0;m:{if((H|0)!=1){f=r[((D<<4)+x|0)+8|0]==r[((z<<4)+x|0)+8|0]?(r[m|0]|r[m+1|0]<<8|(r[m+2|0]<<16|r[m+3|0]<<24))==(r[n|0]|r[n+1|0]<<8|(r[n+2|0]<<16|r[n+3|0]<<24)):f;k=f;if(!H){break m}}k=(D<<4)+x|0;z=(z<<4)+x|0;if(r[k+9|0]==r[z+9|0]){e=(r[k+4|0]|r[k+5|0]<<8|(r[k+6|0]<<16|r[k+7|0]<<24))==(r[z+4|0]|r[z+5|0]<<8|(r[z+6|0]<<16|r[z+7|0]<<24))}k=e;if((H|0)!=2){break m}k=(f|0)!=0&(e|0)!=0}t=!k+t|0;if(k){break k}}k=q[n+12>>2];e=(v+16|0)+(y<<4)|0;q[e+8>>2]=q[n+8>>2];q[e+12>>2]=k;f=q[n+4>>2];q[e>>2]=q[n>>2];q[e+4>>2]=f;if((y|0)==(B|0)){break j}y=y+1|0}n:{if(!l){break n}l=q[(w(h>>>2|0,18)<<2)+c>>2];k=(l<<4)+x|0;c=q[k+12>>2];if(c&65536|(L>>E==(K|0)?M>>E==(J|0):0)){break n}o:{if(!C){t=t+1|0;break o}n=q[((F<<4)+x|0)+12>>2]>>>17&3;if((n|0)!=(c>>>17&3)){t=t+1|0;break o}f=0;c=0;p:{if((n|0)!=1){c=r[((F<<4)+x|0)+8|0]==r[((l<<4)+x|0)+8|0]?(r[A|0]|r[A+1|0]<<8|(r[A+2|0]<<16|r[A+3|0]<<24))==(r[k|0]|r[k+1|0]<<8|(r[k+2|0]<<16|r[k+3|0]<<24)):c;e=c;if(!n){break p}}e=(F<<4)+x|0;l=(l<<4)+x|0;if(r[e+9|0]==r[l+9|0]){f=(r[e+4|0]|r[e+5|0]<<8|(r[e+6|0]<<16|r[e+7|0]<<24))==(r[l+4|0]|r[l+5|0]<<8|(r[l+6|0]<<16|r[l+7|0]<<24))}e=f;if((n|0)!=2){break p}e=(c|0)!=0&(f|0)!=0}t=!e+t|0;if(e){break n}}f=q[k+12>>2];c=(v+16|0)+(y<<4)|0;e=c;q[e+8>>2]=q[k+8>>2];q[e+12>>2]=f;e=q[k+4>>2];q[c>>2]=q[k>>2];q[c+4>>2]=e;if((y|0)==(B|0)){break i}y=y+1|0}q:{if(!u){break q}k=q[b+ -4>>2];u=q[((k<<4)+x|0)+12>>2];if(u&65536|M>>E==(J|0)&N>>E==(K|0)|(t|0)==4){break q}f=(k<<4)+x|0;r:{if(!C){break r}n=q[((F<<4)+x|0)+12>>2]>>>17&3;if((n|0)!=(u>>>17&3)){break r}c=0;b=0;s:{if((n|0)!=1){b=r[((F<<4)+x|0)+8|0]==r[((k<<4)+x|0)+8|0]?(r[A|0]|r[A+1|0]<<8|(r[A+2|0]<<16|r[A+3|0]<<24))==(r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24)):b;e=b;if(!n){break s}}e=(F<<4)+x|0;l=(k<<4)+x|0;if(r[e+9|0]==r[l+9|0]){c=(r[e+4|0]|r[e+5|0]<<8|(r[e+6|0]<<16|r[e+7|0]<<24))==(r[l+4|0]|r[l+5|0]<<8|(r[l+6|0]<<16|r[l+7|0]<<24))}e=c;if((n|0)!=2){break s}e=(b|0)!=0&(c|0)!=0}if(e){break q}}t:{if(!P){break t}l=u>>>17&3;if((l|0)!=(q[((D<<4)+x|0)+12>>2]>>>17&3)){break t}c=0;b=0;u:{if((l|0)!=1){b=r[((D<<4)+x|0)+8|0]==r[((k<<4)+x|0)+8|0]?(r[m|0]|r[m+1|0]<<8|(r[m+2|0]<<16|r[m+3|0]<<24))==(r[f|0]|r[f+1|0]<<8|(r[f+2|0]<<16|r[f+3|0]<<24)):b;e=b;if(!l){break u}}e=(D<<4)+x|0;k=(k<<4)+x|0;if(r[e+9|0]==r[k+9|0]){c=(r[e+4|0]|r[e+5|0]<<8|(r[e+6|0]<<16|r[e+7|0]<<24))==(r[k+4|0]|r[k+5|0]<<8|(r[k+6|0]<<16|r[k+7|0]<<24))}e=c;if((l|0)!=2){break u}e=(b|0)!=0&(c|0)!=0}if(e){break q}}e=q[f+12>>2];b=(v+16|0)+(y<<4)|0;c=b;q[c+8>>2]=q[f+8>>2];q[c+12>>2]=e;c=q[f+4>>2];q[b>>2]=q[f>>2];q[b+4>>2]=c;if((y|0)==(B|0)){break h}y=y+1|0}q[v>>2]=0;q[v+4>>2]=0;ic(a,d,v+8|0,v,0,O,L);b=q[v>>2];c=q[v+4>>2];C=b|c;if(C){f=q[v+12>>2];e=(v+16|0)+(y<<4)|0;q[e>>2]=q[v+8>>2];q[e+4>>2]=f}if(!(c?b:0)){ic(a,d,v+8|0,v,0,(g>>1)+i|0,(h>>1)+j|0);if(!b){q[(v+16|0)+(y<<4)>>2]=q[v+8>>2]}if(!c){q[((v+16|0)+(y<<4)|0)+4>>2]=q[v+12>>2]}b=q[v>>2]|b;c=q[v+4>>2]|c;C=b|c}a=(v+16|0)+(y<<4)|0;p[a+8>>1]=0;q[a+12>>2]=q[a+12>>2]&-393217|(b?((c|0)!=0)<<18:131072);j=((C|0)!=0)+y|0;if((j|0)==(B+1|0)){a=(v+16|0)+(B<<4)|0;q[d+8>>2]=q[a+8>>2];b=q[a+4>>2];q[d>>2]=q[a>>2];q[d+4>>2]=b;q[d+12>>2]=q[d+12>>2]&-393217|q[a+12>>2]&393216;break a}e=r[G+76|0];v:{if(e|j+ -2>>>0>2){break v}l=(Q|0)==1?G+876|0:G+1068|0;b=0;f=w(j+ -1|0,j);m=(f|0)>0?f:0;while(1){if((b|0)==(m|0)){break v}c=b<<2;a=(v+16|0)+(q[c+42544>>2]<<4)|0;w:{if((q[a+12>>2]&393216)==131072){break w}c=(v+16|0)+(q[c+42592>>2]<<4)|0;if(!(r[c+14|0]&6)){break w}g=s[c+4>>1];h=s[a>>1];i=o[c+9|0];k=o[a+8|0];a=s[a+2>>1];c=s[c+6>>1];if(q[q[(w(k,12)+G|0)+876>>2]+8>>2]==q[q[l+w(i,12)>>2]+8>>2]?!((a|0)!=(c|0)|(g|0)!=(h|0)):0){break w}if((j|0)==(B|0)){break g}j=j+1|0}b=b+1|0;if((f|0)==(b|0)){break v}if((j|0)!=5){continue}break}}b=B-j|0;c=o[G+160|0];a=d;x:{if((e|0)==1){i=0;b=(b|0)<(c|0)?b:0;c=q[d+12>>2]&-393217;break x}e=b;b=o[G+161|0];b=(e|0)<(((c|0)<(b|0)?c:b)|0)?e:0;i=b;c=q[d+12>>2]&-393217|262144}q[a+12>>2]=c;o[d+9|0]=i;o[d+8|0]=b;q[d>>2]=0;q[d+4>>2]=0;break a}a=q[e+4>>2];q[d>>2]=q[e>>2];q[d+4>>2]=a;q[d+8>>2]=q[e+8>>2];q[d+12>>2]=I&-393217|q[((v+16|0)+(B<<4)|0)+12>>2]&393216;break a}a=q[c+4>>2];q[d>>2]=q[c>>2];q[d+4>>2]=a;q[d+8>>2]=q[c+8>>2];q[d+12>>2]=I&-393217|q[((v+16|0)+(B<<4)|0)+12>>2]&393216;break a}a=q[b+4>>2];q[d>>2]=q[b>>2];q[d+4>>2]=a;q[d+8>>2]=q[b+8>>2];q[d+12>>2]=I&-393217|q[((v+16|0)+(B<<4)|0)+12>>2]&393216;break a}o[d+9|0]=i;o[d+8|0]=k;p[d+4>>1]=g;p[d+2>>1]=a;p[d>>1]=h;p[d+6>>1]=c;q[d+12>>2]=q[d+12>>2]&-393217|262144}xa=v+96|0}function Jc(a,b,c,d){var e=x(0),f=x(0),g=x(0),h=x(0),i=0,j=0,k=0,l=0,m=0,n=0,o=x(0),p=0,q=x(0);while(1){j=i<<2;k=j+a|0;f=u[k>>2];p=k;k=b+j|0;h=u[k>>2];e=x(x(f+h)*u[j+96064>>2]);u[p>>2]=e+x(h*u[j+96320>>2]);u[k>>2]=e+x(f*u[j+96192>>2]);i=i+1|0;if((i|0)!=32){continue}break}while(1){i=l<<2;j=i+b|0;e=u[j>>2];k=i- -64|0;m=k+b|0;f=u[m>>2];n=a+i|0;h=u[n>>2];k=a+k|0;g=u[k>>2];u[n>>2]=h+g;u[j>>2]=f+u[j>>2];h=x(h-g);g=u[i+96832>>2];f=x(e-f);e=u[i+96896>>2];u[k>>2]=x(h*g)-x(f*e);u[m>>2]=x(f*g)+x(h*e);l=l+1|0;if((l|0)!=16){continue}break}l=0;i=0;while(1){j=i<<2;k=j+b|0;g=u[k>>2];m=j+32|0;n=m+b|0;e=u[n>>2];p=a+j|0;h=u[p>>2];m=a+m|0;o=u[m>>2];u[p>>2]=h+o;u[k>>2]=e+u[k>>2];k=l<<2;f=u[k+96832>>2];o=x(h-o);h=u[k+96896>>2];e=x(g-e);u[m>>2]=x(f*o)-x(h*e);u[n>>2]=x(h*o)+x(f*e);m=j- -64|0;k=m+b|0;o=u[k>>2];j=j+96|0;n=j+b|0;e=u[n>>2];m=a+m|0;g=u[m>>2];j=a+j|0;q=u[j>>2];u[m>>2]=g+q;u[k>>2]=e+u[k>>2];g=x(g-q);e=x(o-e);u[j>>2]=x(f*g)-x(h*e);u[n>>2]=x(h*g)+x(f*e);l=l+2|0;i=i+1|0;if((i|0)!=8){continue}break}h=u[b>>2];f=u[b+16>>2];e=u[a>>2];g=u[a+16>>2];u[a>>2]=e+g;u[b>>2]=f+u[b>>2];u[a+16>>2]=e-g;u[b+16>>2]=h-f;h=u[b+32>>2];f=u[b+48>>2];e=u[a+32>>2];g=u[a+48>>2];u[a+32>>2]=e+g;u[b+32>>2]=f+u[b+32>>2];u[a+48>>2]=e-g;u[b+48>>2]=h-f;h=u[b+64>>2];f=u[b+80>>2];e=u[a+64>>2];g=u[a+80>>2];u[a+64>>2]=e+g;u[b+64>>2]=f+u[b+64>>2];u[a+80>>2]=e-g;u[b+80>>2]=h-f;h=u[b+96>>2];f=u[b+112>>2];e=u[a+96>>2];g=u[a+112>>2];u[a+96>>2]=e+g;u[b+96>>2]=f+u[b+96>>2];u[a+112>>2]=e-g;u[b+112>>2]=h-f;h=u[b+4>>2];f=u[b+20>>2];e=u[a+4>>2];g=u[a+20>>2];u[a+4>>2]=e+g;u[b+4>>2]=f+u[b+4>>2];e=x(e-g);f=x(h-f);u[a+20>>2]=x(e+f)*x(.7071067690849304);u[b+20>>2]=x(f-e)*x(.7071067690849304);h=u[b+36>>2];f=u[b+52>>2];e=u[a+36>>2];g=u[a+52>>2];u[a+36>>2]=e+g;u[b+36>>2]=f+u[b+36>>2];e=x(e-g);f=x(h-f);u[a+52>>2]=x(e+f)*x(.7071067690849304);u[b+52>>2]=x(f-e)*x(.7071067690849304);h=u[b+68>>2];f=u[b+84>>2];e=u[a+68>>2];g=u[a+84>>2];u[a+68>>2]=e+g;u[b+68>>2]=f+u[b+68>>2];e=x(e-g);f=x(h-f);u[a+84>>2]=x(e+f)*x(.7071067690849304);u[b+84>>2]=x(f-e)*x(.7071067690849304);h=u[b+100>>2];f=u[b+116>>2];e=u[a+100>>2];g=u[a+116>>2];u[a+100>>2]=e+g;u[b+100>>2]=f+u[b+100>>2];e=x(e-g);f=x(h-f);u[a+116>>2]=x(e+f)*x(.7071067690849304);u[b+116>>2]=x(f-e)*x(.7071067690849304);h=u[b+8>>2];f=u[b+24>>2];e=u[a+8>>2];g=u[a+24>>2];u[a+8>>2]=e+g;u[b+8>>2]=f+u[b+8>>2];u[a+24>>2]=h-f;u[b+24>>2]=g-e;h=u[b+40>>2];f=u[b+56>>2];e=u[a+40>>2];g=u[a+56>>2];u[a+40>>2]=e+g;u[b+40>>2]=f+u[b+40>>2];u[a+56>>2]=h-f;u[b+56>>2]=g-e;h=u[b+72>>2];f=u[b+88>>2];e=u[a+72>>2];g=u[a+88>>2];u[a+72>>2]=e+g;u[b+72>>2]=f+u[b+72>>2];u[a+88>>2]=h-f;u[b+88>>2]=g-e;h=u[b+104>>2];f=u[b+120>>2];e=u[a+104>>2];g=u[a+120>>2];u[a+104>>2]=e+g;u[b+104>>2]=f+u[b+104>>2];u[a+120>>2]=h-f;u[b+120>>2]=g-e;h=u[b+12>>2];f=u[b+28>>2];e=u[a+12>>2];g=u[a+28>>2];u[a+12>>2]=e+g;u[b+12>>2]=f+u[b+12>>2];e=x(e-g);f=x(h-f);u[a+28>>2]=x(e-f)*x(-.7071068286895752);u[b+28>>2]=x(e+f)*x(-.7071068286895752);h=u[b+44>>2];f=u[b+60>>2];e=u[a+44>>2];g=u[a+60>>2];u[a+44>>2]=e+g;u[b+44>>2]=f+u[b+44>>2];e=x(e-g);f=x(h-f);u[a+60>>2]=x(e-f)*x(-.7071068286895752);u[b+60>>2]=x(e+f)*x(-.7071068286895752);h=u[b+76>>2];f=u[b+92>>2];e=u[a+76>>2];g=u[a+92>>2];u[a+76>>2]=e+g;u[b+76>>2]=f+u[b+76>>2];e=x(e-g);f=x(h-f);u[a+92>>2]=x(e-f)*x(-.7071068286895752);u[b+92>>2]=x(e+f)*x(-.7071068286895752);h=u[b+108>>2];f=u[b+124>>2];e=u[a+108>>2];g=u[a+124>>2];u[a+108>>2]=e+g;u[b+108>>2]=f+u[b+108>>2];e=x(e-g);f=x(h-f);u[a+124>>2]=x(e-f)*x(-.7071068286895752);u[b+124>>2]=x(e+f)*x(-.7071068286895752);h=u[b>>2];f=u[b+8>>2];e=u[a>>2];g=u[a+8>>2];u[a>>2]=e+g;u[b>>2]=f+u[b>>2];u[a+8>>2]=e-g;u[b+8>>2]=h-f;h=u[b+16>>2];f=u[b+24>>2];e=u[a+16>>2];g=u[a+24>>2];u[a+16>>2]=e+g;u[b+16>>2]=f+u[b+16>>2];u[a+24>>2]=e-g;u[b+24>>2]=h-f;h=u[b+32>>2];f=u[b+40>>2];e=u[a+32>>2];g=u[a+40>>2];u[a+32>>2]=e+g;u[b+32>>2]=f+u[b+32>>2];u[a+40>>2]=e-g;u[b+40>>2]=h-f;h=u[b+48>>2];f=u[b+56>>2];e=u[a+48>>2];g=u[a+56>>2];u[a+48>>2]=e+g;u[b+48>>2]=f+u[b+48>>2];u[a+56>>2]=e-g;u[b+56>>2]=h-f;h=u[b+64>>2];f=u[b+72>>2];e=u[a+64>>2];g=u[a+72>>2];u[a+64>>2]=e+g;u[b+64>>2]=f+u[b+64>>2];u[a+72>>2]=e-g;u[b+72>>2]=h-f;h=u[b+80>>2];f=u[b+88>>2];e=u[a+80>>2];g=u[a+88>>2];u[a+80>>2]=e+g;u[b+80>>2]=f+u[b+80>>2];u[a+88>>2]=e-g;u[b+88>>2]=h-f;h=u[b+96>>2];f=u[b+104>>2];e=u[a+96>>2];g=u[a+104>>2];u[a+96>>2]=e+g;u[b+96>>2]=f+u[b+96>>2];u[a+104>>2]=e-g;u[b+104>>2]=h-f;h=u[b+112>>2];f=u[b+120>>2];e=u[a+112>>2];g=u[a+120>>2];u[a+112>>2]=e+g;u[b+112>>2]=f+u[b+112>>2];u[a+120>>2]=e-g;u[b+120>>2]=h-f;h=u[b+4>>2];f=u[b+12>>2];e=u[a+4>>2];g=u[a+12>>2];u[a+4>>2]=e+g;u[b+4>>2]=f+u[b+4>>2];u[a+12>>2]=h-f;u[b+12>>2]=g-e;h=u[b+20>>2];f=u[b+28>>2];e=u[a+20>>2];g=u[a+28>>2];u[a+20>>2]=e+g;u[b+20>>2]=f+u[b+20>>2];u[a+28>>2]=h-f;u[b+28>>2]=g-e;h=u[b+36>>2];f=u[b+44>>2];e=u[a+36>>2];g=u[a+44>>2];u[a+36>>2]=e+g;u[b+36>>2]=f+u[b+36>>2];u[a+44>>2]=h-f;u[b+44>>2]=g-e;h=u[b+52>>2];f=u[b+60>>2];e=u[a+52>>2];g=u[a+60>>2];u[a+52>>2]=e+g;u[b+52>>2]=f+u[b+52>>2];u[a+60>>2]=h-f;u[b+60>>2]=g-e;h=u[b+68>>2];f=u[b+76>>2];e=u[a+68>>2];g=u[a+76>>2];u[a+68>>2]=e+g;u[b+68>>2]=f+u[b+68>>2];u[a+76>>2]=h-f;u[b+76>>2]=g-e;h=u[b+84>>2];f=u[b+92>>2];e=u[a+84>>2];g=u[a+92>>2];u[a+84>>2]=e+g;u[b+84>>2]=f+u[b+84>>2];u[a+92>>2]=h-f;u[b+92>>2]=g-e;h=u[b+100>>2];f=u[b+108>>2];e=u[a+100>>2];g=u[a+108>>2];u[a+100>>2]=e+g;u[b+100>>2]=f+u[b+100>>2];u[a+108>>2]=h-f;u[b+108>>2]=g-e;h=u[b+116>>2];f=u[b+124>>2];e=u[a+116>>2];g=u[a+124>>2];u[a+116>>2]=e+g;u[b+116>>2]=f+u[b+116>>2];u[a+124>>2]=h-f;u[b+124>>2]=g-e;l=0;i=0;while(1){j=i<<2;k=j+b|0;e=u[k>>2];m=j|4;n=m+b|0;f=u[n>>2];j=a+j|0;h=u[j>>2];p=j;j=a+m|0;g=u[j>>2];u[p>>2]=h+g;u[k>>2]=f+u[k>>2];u[j>>2]=h-g;u[n>>2]=e-f;j=i>>>0<30;i=i+2|0;if(j){continue}break}while(1){i=r[l+96032|0]<<2;h=u[i+a>>2];e=u[b+i>>2];i=l<<2;f=x(x(h+e)*u[i+96448>>2]);u[c+i>>2]=f+x(e*u[i+96704>>2]);u[d+i>>2]=f+x(h*u[i+96576>>2]);l=l+1|0;if((l|0)!=16){continue}break}u[d+64>>2]=x(u[b+4>>2]-u[a+4>>2])*x(.7071067690849304);u[c+64>>2]=x(u[a+4>>2]+u[b+4>>2])*x(.7071067690849304);l=17;while(1){i=r[l+96032|0]<<2;h=u[i+a>>2];e=u[b+i>>2];i=l<<2;f=x(x(h+e)*u[i+96448>>2]);u[c+i>>2]=f+x(e*u[i+96704>>2]);u[d+i>>2]=f+x(h*u[i+96576>>2]);l=l+1|0;if((l|0)!=32){continue}break}}function Vd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Qa(a,0,471);c=q[b+8>>2];a:{if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0;break a}a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}b:{if(r[b+20|0]){break b}if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;break b}Oa(b,4);c=q[b+8>>2]}o[d|0]=a;if(c>>>0>=2){a=q[b>>2]<<32-c>>>30|0}else{a=q[b>>2]<<2-c&3|q[b+4>>2]>>>c+30}c:{if(r[b+20|0]){break c}if(c>>>0>=3){c=c+ -2|0;q[b+8>>2]=c;break c}Oa(b,2);c=q[b+8>>2]}o[d+1|0]=a;if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0}else{a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}d:{if(r[b+20|0]){break d}if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;break d}Oa(b,4);c=q[b+8>>2]}o[d+2|0]=a;if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0}else{a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}e:{if(r[b+20|0]){break e}if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;break e}Oa(b,4);c=q[b+8>>2]}o[d+3|0]=a;if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0}else{a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}f:{if(r[b+20|0]){break f}if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;break f}Oa(b,4);c=q[b+8>>2]}o[d+4|0]=a;if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0}else{a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}g:{if(r[b+20|0]){break g}if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;break g}Oa(b,4);c=q[b+8>>2]}o[d+5|0]=a;if(c>>>0>=2){a=q[b>>2]<<32-c>>>30|0}else{a=q[b>>2]<<2-c&3|q[b+4>>2]>>>c+30}h:{if(r[b+20|0]){break h}if(c>>>0>=3){c=c+ -2|0;q[b+8>>2]=c;break h}Oa(b,2);c=q[b+8>>2]}o[d+6|0]=a;if(c>>>0>=3){a=q[b>>2]<<32-c>>>29|0}else{a=q[b>>2]<<3-c&7|q[b+4>>2]>>>c+29}i:{if(r[b+20|0]){break i}if(c>>>0>=4){c=c+ -3|0;q[b+8>>2]=c;break i}Oa(b,3);c=q[b+8>>2]}o[d+7|0]=a;if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0}else{a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}j:{k:{l:{if(!r[b+20|0]){if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;o[d+8|0]=a;j=d+8|0;break l}Oa(b,4);c=q[b+8>>2]}o[d+8|0]=a;j=d+8|0;if(!c){break k}}a=c+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break j}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break j}Oa(b,1)}o[d+9|0]=c;if(c){e=q[b+8>>2];m:{if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0;break m}a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}n:{if(r[b+20|0]){break n}if(e>>>0>=5){q[b+8>>2]=e+ -4;break n}Oa(b,4)}o[d+10|0]=a}a=q[b+8>>2];o:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break o}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break o}Oa(b,1)}o[d+11|0]=c;if(c){e=q[b+8>>2];p:{if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0;break p}a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}q:{if(r[b+20|0]){break q}if(e>>>0>=5){q[b+8>>2]=e+ -4;break q}Oa(b,4)}o[d+12|0]=a}a=q[b+8>>2];r:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break r}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break r}Oa(b,1)}o[d+13|0]=c;if(c){c=q[b+8>>2];s:{if(c>>>0>=2){a=q[b>>2]<<32-c>>>30|0;break s}a=q[b>>2]<<2-c&3|q[b+4>>2]>>>c+30}t:{u:{v:{if(!r[b+20|0]){if(c>>>0>=3){c=c+ -2|0;q[b+8>>2]=c;o[d+15|0]=a;break v}Oa(b,2);c=q[b+8>>2]}o[d+15|0]=a;if(!c){break u}}a=c+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break t}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break t}Oa(b,1)}o[d+14|0]=c}if(r[d+3|0]){while(1){a=q[b+8>>2];w:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break w}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break w}Oa(b,1)}f=d+g|0;h=f;o[f+16|0]=c;e=q[b+8>>2];x:{if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0;break x}a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}y:{if(r[b+20|0]){break y}if(e>>>0>=5){q[b+8>>2]=e+ -4;break y}Oa(b,4)}o[f+32|0]=a;a=(a&255)+d|0;f=a+455|0;i=a+439|0;a=o[h+16|0]&1;e=r[d+176|0];o[(a?f:i)|0]=e;a=a?2:1;o[d+176|0]=a+e;o[d+435|0]=a+r[d+435|0];g=g+1|0;if(g>>>0>2];z:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break z}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break z}Oa(b,1)}f=d+g|0;h=f;o[f+48|0]=c;e=q[b+8>>2];A:{if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0;break A}a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}B:{if(r[b+20|0]){break B}if(e>>>0>=5){q[b+8>>2]=e+ -4;break B}Oa(b,4)}o[f- -64|0]=a;a=(a&255)+d|0;f=a+455|0;i=a+439|0;a=o[h+48|0]&1;e=r[d+176|0];o[(a?f:i)|0]=e;a=a?2:1;o[d+176|0]=a+e;o[d+436|0]=a+r[d+436|0];g=g+1|0;if(g>>>0>2];C:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break C}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break C}Oa(b,1)}h=d+g|0;i=h;o[h+80|0]=c;c=q[b+8>>2];D:{if(c>>>0>=4){a=q[b>>2]<<32-c>>>28|0;break D}a=q[b>>2]<<4-c&15|q[b+4>>2]>>>c+28}E:{if(r[b+20|0]){break E}if(c>>>0>=5){q[b+8>>2]=c+ -4;break E}Oa(b,4)}o[h+96|0]=a;c=a&255;a=r[d+176|0];F:{if(o[i+80|0]&1){o[(c+d|0)+455|0]=a;o[d+176|0]=a+2;c=r[d+437|0]+2|0;a=f;break F}o[(c+d|0)+439|0]=a;o[d+437|0]=r[d+437|0]+1;c=a+1|0;a=e}o[a|0]=c;g=g+1|0;if(g>>>0>2];G:{if(f>>>0>=4){e=q[b>>2]<<32-f>>>28|0;break G}e=q[b>>2]<<4-f&15|q[b+4>>2]>>>f+28}H:{if(r[b+20|0]){break H}if(f>>>0>=5){q[b+8>>2]=f+ -4;break H}Oa(b,4);a=r[d+6|0]}o[(d+g|0)+112|0]=e;f=(e&255)+d|0;e=r[d+176|0];o[f+439|0]=e;o[d+176|0]=e+1;o[d+438|0]=r[d+438|0]+1;g=g+1|0;if(g>>>0<(a&255)>>>0){continue}break}}a=r[d+7|0];if(a){g=0;while(1){f=q[b+8>>2];I:{if(f>>>0>=4){e=q[b>>2]<<32-f>>>28|0;break I}e=q[b>>2]<<4-f&15|q[b+4>>2]>>>f+28}J:{if(r[b+20|0]){break J}if(f>>>0>=5){q[b+8>>2]=f+ -4;break J}Oa(b,4);a=r[d+7|0]}o[(d+g|0)+128|0]=e;g=g+1|0;if(g>>>0<(a&255)>>>0){continue}break}}if(r[j|0]){g=0;while(1){a=q[b+8>>2];K:{if(a){a=a+ -1|0;q[b+8>>2]=a;c=q[b>>2]>>>a&1;break K}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break K}Oa(b,1)}f=d+g|0;o[f+144|0]=c;e=q[b+8>>2];L:{if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0;break L}a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}M:{if(r[b+20|0]){break M}if(e>>>0>=5){q[b+8>>2]=e+ -4;break M}Oa(b,4)}o[f+160|0]=a;g=g+1|0;if(g>>>0>2];N:{if(e>>>0>=8){a=q[b>>2]<<32-e>>>24|0;break N}a=q[b>>2]<<8-e&255|q[b+4>>2]>>>e+24}O:{if(r[b+20|0]){break O}if(e>>>0>=9){q[b+8>>2]=e+ -8;break O}Oa(b,8)}o[d+177|0]=a;c=0;if(a&255){while(1){f=q[b+8>>2];P:{if(f>>>0>=8){e=q[b>>2]<<32-f>>>24|0;break P}e=q[b>>2]<<8-f&255|q[b+4>>2]>>>f+24}Q:{if(r[b+20|0]){break Q}if(f>>>0>=9){q[b+8>>2]=f+ -8;break Q}Oa(b,8);a=r[d+177|0]}o[(c+d|0)+178|0]=e;c=c+1|0;if(c>>>0<(a&255)>>>0){continue}break}}o[(c+d|0)+178|0]=0;return r[d+176|0]>64?22:0}function Dc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=q[b+8>>2];a:{if(e>>>0>=4){g=q[b>>2]<<32-e>>>28|0;break a}g=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}b:{if(r[b+20|0]){break b}if(e>>>0>=5){q[b+8>>2]=e+ -4;break b}Oa(b,4)}e=g&65535;if((e|0)==15){g=q[b+8>>2];c:{if(g>>>0>=8){e=q[b>>2]<<32-g>>>24|0;break c}e=q[b>>2]<<8-g&255|q[b+4>>2]>>>g+24}d:{if(r[b+20|0]){break d}if(g>>>0>=9){q[b+8>>2]=g+ -8;break d}Oa(b,8)}g=(e&65535)+14|0;e=g&65535}e:{if(!e){break e}e=q[b+8>>2];f:{if(e>>>0>=4){f=q[b>>2]<<32-e>>>28|0;break f}f=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}if((f&255)+ -13>>>0>=2){if(!(g&65535)){break e}while(1){if(e>>>0>=4){a=q[b>>2]<<32-e>>>28|0}else{a=q[b>>2]<<4-e&15|q[b+4>>2]>>>e+28}g:{if(r[b+20|0]){break g}if(e>>>0>=5){q[b+8>>2]=e+ -4;break g}Oa(b,4)}h:{i:{j:{k:{l:{m:{a=(a&255)+ -1|0;if(a>>>0>10){break m}n:{switch(a-1|0){case 9:p[c>>1]=257;a=q[b+8>>2];o:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break o}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break o}Oa(b,1)}p:{q:{h=1;r:{s:{if(!e){break s}d=q[b+8>>2];t:{if(d>>>0>=4){a=q[b>>2]<<32-d>>>28|0;break t}a=q[b>>2]<<4-d&15|q[b+4>>2]>>>d+28}u:{if(r[b+20|0]){o[c+2|0]=a;break u}v:{if(d>>>0>=5){e=d+ -4|0;q[b+8>>2]=e;o[c+2|0]=a;break v}Oa(b,4);d=r[b+20|0];e=q[b+8>>2];o[c+2|0]=a;h=2;if(d){break s}}if(e>>>0>=5){e=e+ -4|0;q[b+8>>2]=e;h=2;break r}Oa(b,4)}h=2}e=q[b+8>>2];if(!e){break q}}a=e+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break p}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break p}Oa(b,1)}o[c+3|0]=e;if(!e){break i}a=q[b+8>>2];w:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break w}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break w}Oa(b,1)}o[c+56|0]=e;a=q[b+8>>2];x:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break x}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break x}Oa(b,1)}o[c+57|0]=e;a=q[b+8>>2];y:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break y}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break y}Oa(b,1)}o[c+58|0]=e;a=q[b+8>>2];z:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break z}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break z}Oa(b,1)}o[c+59|0]=e;a=q[b+8>>2];A:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break A}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break A}Oa(b,1)}o[c+60|0]=e;a=q[b+8>>2];B:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break B}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break B}Oa(b,1)}o[c+61|0]=e;a=q[b+8>>2];C:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break C}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break C}Oa(b,1)}o[c+62|0]=e;e=7;i=1;break j;default:D:{if(r[b+20|0]){break D}a=q[b+8>>2];if(a>>>0>=5){q[b+8>>2]=a+ -4;break D}Oa(b,4)}e=1;a=g&65535;if(a>>>0<2){break h}break k;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break m;case 0:break n}}d=q[b+8>>2];E:{if(d>>>0>=4){a=q[b>>2]<<32-d>>>28|0;break E}a=q[b>>2]<<4-d&15|q[b+4>>2]>>>d+28}F:{if(r[b+20|0]){break F}if(d>>>0>=5){q[b+8>>2]=d+ -4;break F}Oa(b,4)}if(a&255){break l}a=0;d=0;while(1){f=q[b+8>>2];G:{if(f>>>0>=8){e=q[b>>2]<<32-f>>>24|0;break G}e=q[b>>2]<<8-f&255|q[b+4>>2]>>>f+24}H:{if(r[b+20|0]){break H}if(f>>>0>=9){q[b+8>>2]=f+ -8;break H}Oa(b,8)}e=e&255;a=e+(a&65535)|0;d=d+1|0;if((e|0)==255){continue}break}if(!(a&65535)){break l}I:{if(r[b+20|0]){break I}e=q[b+8>>2];if(e>>>0>=9){q[b+8>>2]=e+ -8;break I}Oa(b,8)}e=((d&255)+a|0)+1|0;break h}if(r[b+20|0]){break l}a=q[b+8>>2];if(a>>>0>=5){q[b+8>>2]=a+ -4;break l}Oa(b,4)}e=g;a=e&65535;if(a>>>0<2){break h}}a=a+ -1|0;e=0;while(1){J:{if(r[b+20|0]){break J}d=q[b+8>>2];if(d>>>0>=9){q[b+8>>2]=d+ -8;break J}Oa(b,8)}e=e+1|0;if((a|0)>(e&65535)){continue}break}e=g;break h}while(1){a=q[b+8>>2];K:{if(a){a=a+ -1|0;q[b+8>>2]=a;a=q[b>>2]>>>a&1;break K}a=q[b+4>>2]>>>31|0;if(r[b+20|0]){break K}Oa(b,1)}o[((i&255)+c|0)+119|0]=a;if(a){a=e&255;f=a+7|0;while(1){d=q[b+8>>2];L:{if(d){d=d+ -1|0;q[b+8>>2]=d;d=q[b>>2]>>>d&1;break L}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break L}Oa(b,1)}o[(a+c|0)+56|0]=d;e=e+1|0;a=e&255;if(f>>>0>a>>>0){continue}break}i=i+1|0;e=f;continue}break}h=h+i|0}a=q[b+8>>2];M:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break M}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break M}Oa(b,1)}N:{if(!e){break N}d=q[b+8>>2];O:{if(d>>>0>=4){a=q[b>>2]<<32-d>>>28|0;break O}a=q[b>>2]<<4-d&15|q[b+4>>2]>>>d+28}P:{if(r[b+20|0]){break P}Q:{if(d>>>0>=5){e=d+ -4|0;q[b+8>>2]=e;break Q}Oa(b,4);if(r[b+20|0]){break P}e=q[b+8>>2]}if(e>>>0>=5){q[b+8>>2]=e+ -4;break P}Oa(b,4)}e=a+r[c+1|0]|0;o[c+1|0]=e;h=h+1|0;a=0;if(!(e&255)){break N}while(1){f=q[b+8>>2];R:{if(f>>>0>=8){d=q[b>>2]<<32-f>>>24|0;break R}d=q[b>>2]<<8-f&255|q[b+4>>2]>>>f+24}S:{if(r[b+20|0]){break S}if(f>>>0>=9){q[b+8>>2]=f+ -8;break S}Oa(b,8);e=r[c+1|0]}o[(a+c|0)+4|0]=d;h=h+1|0;a=a+1|0;if(a>>>0<(e&255)>>>0){continue}break}}a=q[b+8>>2];T:{if(a){a=a+ -1|0;q[b+8>>2]=a;e=q[b>>2]>>>a&1;break T}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break T}Oa(b,1)}if(e){e=q[b+8>>2];U:{if(e>>>0>=7){a=q[b>>2]<<32-e>>>25|0;break U}a=q[b>>2]<<7-e&127|q[b+4>>2]>>>e+25}V:{W:{X:{if(!r[b+20|0]){if(e>>>0>=8){e=e+ -7|0;q[b+8>>2]=e;o[c+21|0]=a;break X}Oa(b,7);e=q[b+8>>2]}o[c+21|0]=a;if(!e){break W}}q[b+8>>2]=e+ -1;break V}if(r[b+20|0]){break V}Oa(b,1)}h=h+1|0}a=0;if(r[c+1|0]){while(1){d=q[b+8>>2];Y:{if(d){d=d+ -1|0;q[b+8>>2]=d;e=q[b>>2]>>>d&1;break Y}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break Y}Oa(b,1)}f=a+c|0;o[f+22|0]=e;e=q[b+8>>2];Z:{if(e>>>0>=7){d=q[b>>2]<<32-e>>>25|0;break Z}d=q[b>>2]<<7-e&127|q[b+4>>2]>>>e+25}_:{if(r[b+20|0]){break _}if(e>>>0>=8){q[b+8>>2]=e+ -7;break _}Oa(b,7)}o[f+39|0]=d;h=h+1|0;a=a+1|0;if(a>>>0>2];continue}}if((d|0)==255){return 24}c=(d<<2)+a|0;e=q[c+892>>2];if(!e){h=c;e=s[a+10>>1];i=r[(a+d|0)+2128|0];f=r[a+3|0];if(f>>>0<=11){f=q[(f<<2)+43120>>2]}else{f=0}e=Ic(e,i,f<<1,r[a+842|0]);q[h+892>>2]=e}o[a+840|0]=1;b=Eh(b,e,g&65535,r[a+12|0]);c=q[c+892>>2];o[c+10|0]=b;if(!r[c+53424|0]){break e}o[(a+d|0)+1084|0]=1;o[a+1132|0]=1}return 0}function Cc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0;h=q[c+8>>2];a:{if(h>>>0>=8){f=q[c>>2]<<32-h>>>24|0;break a}f=q[c>>2]<<8-h&255|q[c+4>>2]>>>h+24}b:{if(r[c+20|0]){break b}if(h>>>0>=9){q[c+8>>2]=h+ -8;break b}Oa(c,8)}o[d+7810|0]=f;c:{if(!r[b+5|0]){i=Td(a,d,c,0);if(i){break c}}i=r[d+2|0];d:{e:{if(i){j=r[d+4|0]==2?3:5;t=32-j|0;k=-1<>2];g=r[a+6|0]?5:4;g:{if(f>>>0>=g>>>0){b=q[c>>2]<<32-f>>>32-g|0;break g}b=g-f|0;b=(q[c>>2]&(-1<>2]>>>32-b}h:{if(f>>>0>g>>>0){q[c+8>>2]=f-g;break h}Oa(c,g)}x=w(m,120)+d|0;u=l&255;v=(x+u|0)+2042|0;o[v|0]=b;f=(b&255)+ -12|0;if(f>>>0<=1){i=32;if(f-1){break c}o[d+9037|0]=1;b=r[v|0]}if((b&254)==14){o[d+9038|0]=1}i:{if(r[a+6|0]){f=1;b=r[v|0];if((b|0)==11|(b+ -16&255)>>>0<17){break i}}b=q[c+8>>2];j:{if(b>>>0>=j>>>0){f=q[c>>2]<<32-b>>>t|0;break j}f=j-b|0;f=(q[c>>2]&(-1<>2]>>>32-f}if(r[c+20|0]){break i}if(b>>>0>j>>>0){q[c+8>>2]=b-j;break i}Oa(c,j)}i=f&255;g=k;if((i|0)==(g|0)){while(1){f=q[c+8>>2];k:{if(f>>>0>=j>>>0){b=q[c>>2]<<32-f>>>t|0;break k}b=j-f|0;b=(q[c>>2]&(-1<>2]>>>32-b}l:{if(r[c+20|0]){break l}if(f>>>0>j>>>0){q[c+8>>2]=f-j;break l}Oa(c,j)}b=b&255;g=b+(g&65535)|0;i=g;if((b|0)==(k|0)){continue}break}}b=(w(m,240)+d|0)+(u<<1)|0;g=(i&65535)+n|0;p[b+4922>>1]=g;f=h&255;p[b+3002>>1]=f;m:{if(r[d+4|0]==2){i=15;if(u>>>0>119){break c}if(g>>>0<=120){break m}break c}i=15;if(u>>>0>50|g>>>0>51){break c}}if(g>>>0>f>>>0){while(1){o[(f+x|0)+6842|0]=r[v|0];h=h+1|0;f=h&255;if(g>>>0>f>>>0){continue}break}}l=l+1|0;b=r[d|0];h=g;n=g&255;if(b>>>0>n>>>0){continue}break}o[(d+m|0)+7802|0]=l;i=32;if((b|0)!=(h&255)){break c}i=r[d+2|0];f=h}m=m+1|0;if(m>>>0<(i&255)>>>0){continue}break}n=a+7|0;if(r[n|0]){break e}if(!(i&255)){break d}k=r[d+7810|0];j=k+ -90|0;b=0;m=0;l=1;while(1){n:{if(g&255){f=0;while(1){o:{p:{h=r[((w(b,120)+d|0)+f|0)+6842|0];if(h>>>0>15){break p}q:{switch(h-1|0){default:p[((w(b,102)+d|0)+(f<<1)|0)+7812>>1]=0;break o;case 13:case 14:m=(Vc(c)+m|0)+ -60|0;p[((w(b,102)+d|0)+(f<<1)|0)+7812>>1]=m;break o;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:break p;case 12:break q}}i=((w(b,102)+d|0)+(f<<1)|0)+7812|0;r:{if(l&255){g=q[c+8>>2];s:{if(g>>>0>=9){h=q[c>>2]<<32-g>>>23|0;break s}h=q[c>>2]<<9-g&511|q[c+4>>2]>>>g+23}if(!r[c+20|0]){if(g>>>0>=10){q[c+8>>2]=g+ -9;g=h+ -256|0;break r}Oa(c,9)}g=h+ -256|0;break r}g=Vc(c)+ -60|0}j=g+j|0;p[i>>1]=j;l=0;break o}h=((w(b,102)+d|0)+(f<<1)|0)+7812|0;p[h>>1]=0;k=(Vc(c)+k|0)+ -60|0;if((k&65535)>>>0>255){return 4}p[h>>1]=k}f=f+1|0;g=r[d|0];if(f>>>0>>0){continue}break}i=r[d+2|0];break n}g=0}b=b+1|0;if(b>>>0<(i&255)>>>0){continue}break}break d}n=a+7|0;if(!r[n|0]){break d}}i=_h(d,c);if(i){break c}}b=q[c+8>>2];t:{if(b){b=b+ -1|0;q[c+8>>2]=b;f=q[c>>2]>>>b&1;break t}f=q[c+4>>2]>>>31|0;if(r[c+20|0]){break t}Oa(c,1)}o[d+9039|0]=f;if(f){f=q[c+8>>2];u:{if(f>>>0>=2){b=q[c>>2]<<32-f>>>30|0;break u}b=q[c>>2]<<2-f&3|q[c+4>>2]>>>f+30}v:{if(r[c+20|0]){break v}if(f>>>0>=3){f=f+ -2|0;q[c+8>>2]=f;break v}Oa(c,2);f=q[c+8>>2]}o[d+9043|0]=b;if(f>>>0>=6){b=q[c>>2]<<32-f>>>26|0}else{b=q[c>>2]<<6-f&63|q[c+4>>2]>>>f+26}w:{if(r[c+20|0]){break w}if(f>>>0>=7){q[c+8>>2]=f+ -6;break w}Oa(c,6)}o[d+9044|0]=b;i=16;if((b&255)>>>0>r[d+1|0]){break c}b=0;k=d+9043|0;h=0;while(1){g=q[c+8>>2];x:{if(g>>>0>=5){f=q[c>>2]<<32-g>>>27|0;break x}f=q[c>>2]<<5-g&31|q[c+4>>2]>>>g+27}y:{if(r[c+20|0]){break y}if(g>>>0>=6){q[c+8>>2]=g+ -5;break y}Oa(c,5)}o[(b+d|0)+9045|0]=f;g=q[c+8>>2];z:{if(g>>>0>=4){f=q[c>>2]<<32-g>>>28|0;break z}f=q[c>>2]<<4-g&15|q[c+4>>2]>>>g+28}A:{if(r[c+20|0]){break A}if(g>>>0>=5){q[c+8>>2]=g+ -4;break A}Oa(c,4)}o[(b+k|0)+6|0]=f;h=h+1|0;b=h&255;if(r[d+9043|0]>=b>>>0){continue}break}}b=q[c+8>>2];B:{if(b){b=b+ -1|0;q[c+8>>2]=b;f=q[c>>2]>>>b&1;break B}f=q[c+4>>2]>>>31|0;if(r[c+20|0]){break B}Oa(c,1)}o[d+9040|0]=f;if(!(!f|r[a+4|0]>16)){Sd(d,d+9053|0,c)}b=q[c+8>>2];C:{if(b){b=b+ -1|0;q[c+8>>2]=b;f=q[c>>2]>>>b&1;break C}f=q[c+4>>2]>>>31|0;if(r[c+20|0]){break C}Oa(c,1)}o[d+9041|0]=f;i=1;if(f){break c}if(r[a+8|0]){f=q[c+8>>2];D:{if(f>>>0>=14){b=q[c>>2]<<32-f>>>18|0;break D}b=q[c>>2]<<14-f&16383|q[c+4>>2]>>>f+18}E:{if(r[c+20|0]){break E}if(f>>>0>=15){q[c+8>>2]=f+ -14;break E}Oa(c,14)}p[d+10440>>1]=b;b=b&65535;F:{if(r[a+5|0]==2){if(b>>>0<6145){break F}p[d+10440>>1]=6144;break F}if(b>>>0<12289){break F}p[d+10440>>1]=12288}f=q[c+8>>2];G:{if(f>>>0>=6){b=q[c>>2]<<32-f>>>26|0;break G}b=q[c>>2]<<6-f&63|q[c+4>>2]>>>f+26}H:{if(r[c+20|0]){break H}if(f>>>0>=7){q[c+8>>2]=f+ -6;break H}Oa(c,6)}o[d+10442|0]=(b&255)>>>0>48?49:b}if(r[n|0]){i=Zh(d,c);if(i){break c}}if(!(!r[d+9040|0]|r[a+4|0]<17)){Sd(d,d+9053|0,c)}I:{if(r[a+8|0]){i=mi(a,d,c,e);if(!i){break I}break c}b=r[d+2|0];if(!b){break I}n=s[a+10>>1]>>>3|0;l=0;f=0;while(1){g=f&255;u=d+l|0;v=u+7802|0;i=r[v|0];if(i){f=w(g,n);h=0;m=0;while(1){b=r[((w(l,120)+d|0)+h|0)+2042|0];J:{if(!(b>>>0>15|!(1<>1]<<1)>>1]|0)-s[b+(s[f+3002>>1]<<1)>>1]|0;break J}k=w(l,240)+d|0;j=k+16|0;t=k+(h<<1)|0;h=s[j+(s[t+3002>>1]<<1)>>1];t=t+4922|0;if(h>>>0>=s[j+(s[t>>1]<<1)>>1]){break J}j=b>>>0>4?2:4;while(1){i=ki(b,c,((f&65535)<<1)+e|0);if(i){break c}f=f+j|0;h=h+j|0;if((h&65535)>>>0>1]<<1)|0)+16>>1]){continue}break}i=r[v|0]}m=m+1|0;h=m<<24>>24;if((h|0)<(i&255)){continue}break}b=r[d+2|0]}f=g+r[u+5|0]|0;l=l+1|0;if(l>>>0<(b&255)>>>0){continue}break}}if(r[d+9039|0]){i=2;if(r[d+4|0]==2){break c}i=$h(d,e,s[a+10>>1]);if(i){break c}}i=0}return i}function Yb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0;i=b+c|0;s=i+53451|0;t=r[s|0];u=r[i+614|0];v=r[i+610|0];h=q[a+8>>2];a:{if(h>>>0>=2){e=q[a>>2]<<32-h>>>30|0;break a}e=q[a>>2]<<2-h&3|q[a+4>>2]>>>h+30}b:{if(r[a+20|0]){break b}if(h>>>0>=3){q[a+8>>2]=h+ -2;break b}Oa(a,2)}o[s|0]=e;x=i;e=e&255;c:{d:{if(e>>>0>3){a=0;break d}e:{f:{switch(e-1|0){default:d=q[a+8>>2];g:{if(d>>>0>=2){e=q[a>>2];h=e<<32-d>>>30|0;break g}e=q[a>>2];h=e<<2-d&3|q[a+4>>2]>>>d+30}h:{i:{j:{if(!r[a+20|0]){if(d>>>0>=3){d=d+ -2|0;q[a+8>>2]=d;h=1<<(h&255);l=(h|0)<5?h:5;break j}Oa(a,2);d=q[a+8>>2]}e=1<<(h&255);l=(e|0)<5?e:5;if(!d){break i}e=q[a>>2]}h=a;a=d+ -1|0;q[h+8>>2]=a;e=e>>>a&1;break h}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break h}Oa(a,1)}h=l&255;if(h){a=0;d=w(c,6)+b|0;while(1){o[(a+d|0)+634|0]=e;j=j+1|0;a=j&255;if(h>>>0>a>>>0){continue}break}}o[i+602|0]=0;a=r[b+53417|0];o[i+606|0]=l+ -1;o[i+604|0]=a;break e;case 0:d=q[a+8>>2];k:{if(d>>>0>=2){h=q[a>>2]<<32-d>>>30|0;break k}h=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}l:{if(r[a+20|0]){break l}if(d>>>0>=3){d=d+ -2|0;q[a+8>>2]=d;break l}Oa(a,2);d=q[a+8>>2]}k=r[b+53417|0];if(d>>>0>=2){f=q[a>>2]<<32-d>>>30|0}else{f=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}m:{if(r[a+20|0]){break m}if(d>>>0>=3){q[a+8>>2]=d+ -2;break m}Oa(a,2)}l=f+1|0;n=l&255;p=n+ -1|0;n:{o:{if(n>>>0<=1){j=f+2|0;break o}g=w(c,9)+b|0;d=0;while(1){m=q[a+8>>2];p:{if(m>>>0>=2){e=q[a>>2]<<32-m>>>30|0;break p}e=q[a>>2]<<2-m&3|q[a+4>>2]>>>m+30}q:{if(r[a+20|0]){break q}if(m>>>0>=3){q[a+8>>2]=m+ -2;break q}Oa(a,2)}o[(g+j|0)+53453|0]=(e<<1)+2;d=d+1|0;j=d&255;if((p|0)>(j|0)){continue}break}d=0;j=f+2|0;if((j&255)>>>0>9){break n}}d=0;if((f&255)>>>0>253){break n}g=q[a+8>>2];f=r[(j&255)+112560|0];r:{if(g>>>0>=f>>>0){d=q[a>>2]<<32-g>>>32-f|0;break r}e=f-g|0;d=(q[a>>2]&(-1<>2]>>>32-e}if(r[a+20|0]){break n}if(g>>>0>f>>>0){q[a+8>>2]=g-f;break n}Oa(a,f)}o[i+53507|0]=d;if(l&255){d=0;f=w(c,6)+b|0;while(1){e=q[a+8>>2];s:{if(e){e=e+ -1|0;q[a+8>>2]=e;j=q[a>>2]>>>e&1;break s}j=q[a+4>>2]>>>31|0;if(r[a+20|0]){break s}Oa(a,1)}o[(f+(n+(d^-1)|0)|0)+634|0]=j;d=d+1|0;if((n|0)!=(d|0)){continue}break}}o[i+606|0]=0;o[i+604|0]=h+k;o[i+602|0]=0;break e;case 1:d=q[a+8>>2];t:{if(d>>>0>=2){h=q[a>>2]<<32-d>>>30|0;break t}h=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}u:{if(r[a+20|0]){break u}if(d>>>0>=3){d=d+ -2|0;q[a+8>>2]=d;break u}Oa(a,2);d=q[a+8>>2]}if(d>>>0>=2){f=q[a>>2]<<32-d>>>30|0}else{f=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}v:{if(r[a+20|0]){break v}if(d>>>0>=3){q[a+8>>2]=d+ -2;break v}Oa(a,2)}l=f+1|0;n=l&255;k=n+ -1|0;w:{x:{if(n>>>0<=1){e=f+2|0;break x}e=0;g=w(c,9)+b|0;while(1){m=q[a+8>>2];y:{if(m>>>0>=2){d=q[a>>2]<<32-m>>>30|0;break y}d=q[a>>2]<<2-m&3|q[a+4>>2]>>>m+30}z:{if(r[a+20|0]){break z}if(m>>>0>=3){q[a+8>>2]=m+ -2;break z}Oa(a,2)}o[(e+g|0)+53453|0]=(d<<1)+2;j=j+1|0;e=j&255;if((k|0)>(e|0)){continue}break}d=0;e=f+2|0;if((e&255)>>>0>9){break w}}d=0;if((f&255)>>>0>253){break w}g=q[a+8>>2];f=r[(e&255)+112560|0];A:{if(g>>>0>=f>>>0){d=q[a>>2]<<32-g>>>32-f|0;break A}e=f-g|0;d=(q[a>>2]&(-1<>2]>>>32-e}if(r[a+20|0]){break w}if(g>>>0>f>>>0){q[a+8>>2]=g-f;break w}Oa(a,f)}o[i+53507|0]=d;if(l&255){d=0;f=w(c,6)+b|0;while(1){e=q[a+8>>2];B:{if(e){e=e+ -1|0;q[a+8>>2]=e;e=q[a>>2]>>>e&1;break B}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break B}Oa(a,1)}o[(d+f|0)+634|0]=e;d=d+1|0;if((n|0)!=(d|0)){continue}break}}o[i+602|0]=h;a=r[b+53417|0];o[i+606|0]=k;o[i+604|0]=a;break e;case 2:break f}}d=q[a+8>>2];C:{if(d>>>0>=2){f=q[a>>2]<<32-d>>>30|0;break C}f=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}D:{if(r[a+20|0]){break D}if(d>>>0>=3){d=d+ -2|0;q[a+8>>2]=d;break D}Oa(a,2);d=q[a+8>>2]}if(d>>>0>=2){h=q[a>>2]<<32-d>>>30|0}else{h=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}E:{if(r[a+20|0]){break E}if(d>>>0>=3){d=d+ -2|0;q[a+8>>2]=d;break E}Oa(a,2);d=q[a+8>>2]}n=r[b+53417|0];if(d>>>0>=2){e=q[a>>2]<<32-d>>>30|0}else{e=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}F:{if(r[a+20|0]){break F}if(d>>>0>=3){q[a+8>>2]=d+ -2;break F}Oa(a,2)}j=i+53513|0;o[j|0]=e;d=q[a+8>>2];G:{if(d>>>0>=2){e=q[a>>2]<<32-d>>>30|0;break G}e=q[a>>2]<<2-d&3|q[a+4>>2]>>>d+30}H:{if(r[a+20|0]){break H}if(d>>>0>=3){q[a+8>>2]=d+ -2;break H}Oa(a,2)}m=i+53515|0;o[m|0]=e;d=r[j|0];g=d+(e&255)|0;I:{if(!d){d=0;break I}e=0;l=w(c,9)+b|0;while(1){k=q[a+8>>2];J:{if(k>>>0>=2){d=q[a>>2]<<32-k>>>30|0;break J}d=q[a>>2]<<2-k&3|q[a+4>>2]>>>k+30}K:{if(r[a+20|0]){break K}if(k>>>0>=3){q[a+8>>2]=k+ -2;break K}Oa(a,2)}o[(e+l|0)+53471|0]=(d<<1)+2;e=e+1|0;d=r[j|0];if(e>>>0>>0){continue}break}e=r[m|0]}if(e&255){e=0;l=w(c,9)+b|0;while(1){k=q[a+8>>2];L:{if(k>>>0>=2){d=q[a>>2]<<32-k>>>30|0;break L}d=q[a>>2]<<2-k&3|q[a+4>>2]>>>k+30}M:{if(r[a+20|0]){break M}if(k>>>0>=3){q[a+8>>2]=k+ -2;break M}Oa(a,2)}o[(e+l|0)+53489|0]=(d<<1)+2;e=e+1|0;p=r[m|0];if(e>>>0

>>0){continue}break}d=r[j|0]}l=g>>>0>4?5:g+1|0;e=0;g=d+p|0;d=g+2&255;N:{if(d>>>0>9|(g&255)>>>0>253){break N}g=q[a+8>>2];d=r[d+112560|0];O:{if(g>>>0>=d>>>0){e=q[a>>2]<<32-g>>>32-d|0;break O}e=d-g|0;e=(q[a>>2]&(-1<>2]>>>32-e}if(r[a+20|0]){break N}if(g>>>0>d>>>0){q[a+8>>2]=g-d;break N}Oa(a,d)}o[i+53507|0]=e;if(l&255){k=l&255;d=0;g=w(c,6)+b|0;while(1){e=q[a+8>>2];P:{if(e){e=e+ -1|0;q[a+8>>2]=e;e=q[a>>2]>>>e&1;break P}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){break P}Oa(a,1)}o[(d+g|0)+634|0]=e;d=d+1|0;if((k|0)!=(d|0)){continue}break}}o[i+604|0]=h+n;o[i+602|0]=f;o[i+606|0]=r[j|0];p=r[m|0]}o[i+608|0]=p;d=r[s|0]==3;a=4;h=l&255;if(h>>>0<4){a=l;break d}e=5;if((h|0)!=4){break c}}e=a}e=d?e:a;o[x+610|0]=e;j=1;a=i;e=e&255;d=2;Q:{R:{if(e>>>0>1){break R}if(e-1){break Q}d=1}o[a+614|0]=d;a=Dh(b,c);if(a){o[s|0]=t;o[i+610|0]=v;o[i+614|0]=u;return a}Ch(b,c);j=0}return j}function ki(a,b,c){var d=0,e=0,f=0,g=0,h=0;g=11;a:{d=a+ -1|0;b:{if(d>>>0>30){break b}c:{switch(d-2|0){default:return ee(a,b,c);case 0:d=0;while(1){a=q[b+8>>2];d:{if(a){a=a+ -1|0;q[b+8>>2]=a;a=q[b>>2]>>>a&1;break d}a=q[b+4>>2]>>>31|0;if(r[b+20|0]){break d}Oa(b,1)}d=o[(w(d,5)+a|0)+71393|0]+d&65535;if(!r[w(d,5)+71392|0]){continue}break}g=0;e:{if((d|0)>q[41347]){d=s[c>>1];g=10;break e}a=w(d,5);p[c+6>>1]=o[a+71396|0];p[c+4>>1]=o[a+71395|0];p[c+2>>1]=o[a+71394|0];d=o[a+71393|0];p[c>>1]=d}f:{if(!(d&65535)){break f}a=q[b+8>>2];g:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break g}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break g}Oa(b,1)}if(!d){break f}p[c>>1]=0-s[c>>1]}h:{if(!s[c+2>>1]){break h}a=q[b+8>>2];i:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break i}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break i}Oa(b,1)}if(!d){break h}p[c+2>>1]=0-s[c+2>>1]}j:{if(!s[c+4>>1]){break j}a=q[b+8>>2];k:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break k}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break k}Oa(b,1)}if(!d){break j}p[c+4>>1]=0-s[c+4>>1]}if(!s[c+6>>1]){break b}a=q[b+8>>2];l:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break l}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break l}Oa(b,1)}if(!d){break b}break a;case 1:g=ee(4,b,c);m:{if(!s[c>>1]){break m}a=q[b+8>>2];n:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break n}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break n}Oa(b,1)}if(!d){break m}p[c>>1]=0-s[c>>1]}o:{if(!s[c+2>>1]){break o}a=q[b+8>>2];p:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break p}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break p}Oa(b,1)}if(!d){break o}p[c+2>>1]=0-s[c+2>>1]}q:{if(!s[c+4>>1]){break q}a=q[b+8>>2];r:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break r}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break r}Oa(b,1)}if(!d){break q}p[c+4>>1]=0-s[c+4>>1]}if(!s[c+6>>1]){break b}a=q[b+8>>2];s:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break s}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break s}Oa(b,1)}if(!d){break b}break a;case 2:a=q[41301];t:{if(r[a|0]){d=0;break t}d=0;while(1){e=q[b+8>>2];u:{if(e){e=e+ -1|0;q[b+8>>2]=e;e=q[b>>2]>>>e&1;break u}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break u}Oa(b,1);a=q[41301]}d=o[((w(d,3)+a|0)+e|0)+1|0]+d&65535;if(!r[w(d,3)+a|0]){continue}break}}g=10;if((d|0)>q[41349]){break b}a=w(d,3)+a|0;p[c>>1]=o[a+1|0];p[c+2>>1]=o[a+2|0];return 0;case 3:return Uc(6,b,c);case 4:case 6:d=0;g=a<<2;f=g+165184|0;a=q[f>>2];if(!r[a|0]){while(1){e=q[b+8>>2];v:{if(e){e=e+ -1|0;q[b+8>>2]=e;e=q[b>>2]>>>e&1;break v}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break v}Oa(b,1);a=q[f>>2]}d=o[((w(d,3)+a|0)+e|0)+1|0]+d&65535;if(!r[w(d,3)+a|0]){continue}break}}w:{if((d|0)>q[g+165376>>2]){d=s[c>>1];g=10;break w}a=w(d,3)+a|0;d=o[a+1|0];p[c>>1]=d;p[c+2>>1]=o[a+2|0];g=0}x:{if(!(d&65535)){break x}a=q[b+8>>2];y:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break y}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break y}Oa(b,1)}if(!d){break x}p[c>>1]=0-s[c>>1]}if(!s[c+2>>1]){break b}a=q[b+8>>2];z:{if(a){a=a+ -1|0;q[b+8>>2]=a;d=q[b>>2]>>>a&1;break z}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){break z}Oa(b,1)}if(!d){break b}p[c+2>>1]=0-s[c+2>>1];return g;case 5:case 7:return Tc(a,b,c);case 9:a=Uc(11,b,c);p[c>>1]=-1390411526;p[c+2>>1]=44320;return a;case 8:f=Tc(11,b,c);d=p[c>>1];A:{B:{if((d|0)<=-1){g=1;if((d|0)==-16){break B}break A}g=0;if((d|0)!=16){break A}}d=4;while(1){a=d;d=q[b+8>>2];C:{if(d){d=d+ -1|0;q[b+8>>2]=d;e=q[b>>2]>>>d&1;break C}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break C}Oa(b,1)}d=a+1|0;if(e){continue}break}e=0;a=a&255;D:{if(!a){break D}d=q[b+8>>2];E:{if(d>>>0>=a>>>0){e=q[b>>2]<<32-d>>>32-a|0;break E}e=a-d|0;e=(q[b>>2]&(-1<>2]>>>32-e}if(r[b+20|0]){break D}if(d>>>0>a>>>0){q[b+8>>2]=d-a;break D}Oa(b,a)}a=1<>1]=d;d=p[c+2>>1];F:{G:{if((d|0)<=-1){g=1;if((d|0)==-16){break G}break F}g=0;if((d|0)!=16){break F}}d=4;while(1){a=d;d=q[b+8>>2];H:{if(d){d=d+ -1|0;q[b+8>>2]=d;e=q[b>>2]>>>d&1;break H}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break H}Oa(b,1)}d=a+1|0;if(e){continue}break}e=0;a=a&255;I:{if(!a){break I}d=q[b+8>>2];J:{if(d>>>0>=a>>>0){e=q[b>>2]<<32-d>>>32-a|0;break J}e=a-d|0;e=(q[b>>2]&(-1<>2]>>>32-e}if(r[b+20|0]){break I}if(d>>>0>a>>>0){q[b+8>>2]=d-a;break I}Oa(b,a)}a=1<>1]=d;return f;case 10:case 11:case 12:break b;case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:break c}}g=Tc(11,b,c);d=p[c>>1];K:{L:{if((d|0)<=-1){h=1;if((d|0)==-16){break L}break K}if((d|0)!=16){break K}}d=4;while(1){f=d;d=q[b+8>>2];M:{if(d){d=d+ -1|0;q[b+8>>2]=d;e=q[b>>2]>>>d&1;break M}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break M}Oa(b,1)}d=f+1|0;if(e){continue}break}e=0;d=f&255;N:{if(!d){break N}f=q[b+8>>2];O:{if(f>>>0>=d>>>0){e=q[b>>2]<<32-f>>>32-d|0;break O}e=d-f|0;e=(q[b>>2]&(-1<>2]>>>32-e}if(r[b+20|0]){break N}if(f>>>0>d>>>0){q[b+8>>2]=f-d;break N}Oa(b,d)}d=1<>1]=d;d=p[c+2>>1];P:{Q:{if((d|0)<=-1){h=1;if((d|0)==-16){break Q}break P}h=0;if((d|0)!=16){break P}}d=4;while(1){f=d;d=q[b+8>>2];R:{if(d){d=d+ -1|0;q[b+8>>2]=d;e=q[b>>2]>>>d&1;break R}e=q[b+4>>2]>>>31|0;if(r[b+20|0]){break R}Oa(b,1)}d=f+1|0;if(e){continue}break}e=0;d=f&255;S:{if(!d){break S}f=q[b+8>>2];T:{if(f>>>0>=d>>>0){e=q[b>>2]<<32-f>>>32-d|0;break T}e=d-f|0;e=(q[b>>2]&(-1<>2]>>>32-e}if(r[b+20|0]){break S}if(f>>>0>d>>>0){q[b+8>>2]=f-d;break S}Oa(b,d)}b=1<>1]=d;if((a&240)!=16){break b}e=p[c>>1];b=e>>31;e=b^b+e;b=s[(a<<1)+72176>>1];if((e|0)<=(b|0)){d=d<<16;a=d>>31;if((a^a+(d>>16))<=(b|0)){break b}}p[c>>1]=0;p[c+2>>1]=0}return g}p[c+6>>1]=0-s[c+6>>1];return g}function ci(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=Qa(Ta(22736),0,22736);e=Ta(24);c=e;o[c+1|0]=201458184;o[c+2|0]=786946;o[c+3|0]=3074;o[c+4|0]=12;o[c+5|0]=67372040;o[c+6|0]=263172;o[c+7|0]=1028;o[c+8|0]=4;o[c|0]=b;d=Ta((b<<3)+96|0);q[c+12>>2]=d;Qa(d,0,(r[c|0]<<3)+96|0);g=c,h=Ta(20),q[g+16>>2]=h;d=Ta(r[c|0]<<3);q[q[c+16>>2]>>2]=d;Qa(q[q[c+16>>2]>>2],0,r[c|0]<<3);d=Ta(r[c|0]<<3);q[q[c+16>>2]+4>>2]=d;Qa(q[q[c+16>>2]+4>>2],0,r[c|0]<<3);d=Ta(r[c|0]<<3);q[q[c+16>>2]+8>>2]=d;Qa(q[q[c+16>>2]+8>>2],0,r[c|0]<<3);d=Ta(r[c|0]<<3);q[q[c+16>>2]+12>>2]=d;Qa(q[q[c+16>>2]+12>>2],0,r[c|0]<<3);d=Ta(r[c|0]<<3);q[q[c+16>>2]+16>>2]=d;Qa(q[q[c+16>>2]+16>>2],0,r[c|0]<<3);g=c,h=Ta(r[c|0]<<2),q[g+20>>2]=h;if(r[c|0]){while(1){c=Ta(96);q[q[e+20>>2]+(f<<2)>>2]=c;f=f+1|0;if(f>>>0>2]=e;o[a+811|0]=0;o[a+812|0]=0;o[a+813|0]=0;o[a+814|0]=0;o[a+815|0]=0;o[a+816|0]=0;o[a+817|0]=0;o[a+818|0]=0;o[a+718|0]=0;q[a+740>>2]=0;o[a+819|0]=0;o[a+820|0]=0;o[a+821|0]=0;o[a+822|0]=0;o[a+823|0]=0;o[a+824|0]=0;o[a+825|0]=0;o[a+826|0]=0;o[a+827|0]=0;o[a+828|0]=0;o[a+829|0]=0;o[a+830|0]=0;o[a+831|0]=0;o[a+832|0]=0;o[a+833|0]=0;o[a+834|0]=0;o[a+835|0]=0;o[a+836|0]=0;o[a+837|0]=0;o[a+838|0]=0;o[a+839|0]=0;o[a+840|0]=0;o[a+841|0]=0;o[a+842|0]=0;o[a+843|0]=0;o[a+844|0]=0;o[a+845|0]=0;o[a+846|0]=0;o[a+847|0]=0;o[a+848|0]=0;o[a+849|0]=0;o[a+850|0]=0;o[a+851|0]=0;o[a+852|0]=0;o[a+853|0]=0;o[a+854|0]=0;o[a+855|0]=0;o[a+856|0]=0;o[a+857|0]=0;o[a+858|0]=0;o[a+859|0]=0;o[a+860|0]=0;o[a+861|0]=0;o[a+862|0]=0;o[a+863|0]=0;o[a+864|0]=0;o[a+865|0]=0;o[a+866|0]=0;o[a+867|0]=0;o[a+868|0]=0;o[a+869|0]=0;o[a+870|0]=0;o[a+871|0]=0;o[a+872|0]=0;o[a+873|0]=0;o[a+874|0]=0;b=r[86240]|r[86241]<<8;o[a+744|0]=b;o[a+745|0]=b>>>8;o[a+746|0]=r[86242];q[a+20076>>2]=1061426145;q[a+20080>>2]=1048576e3;o[a+729|0]=22;o[a+778|0]=235802126;o[a+779|0]=921102;o[a+780|0]=3598;o[a+781|0]=14;o[a+771|0]=235802126;o[a+772|0]=921102;o[a+773|0]=3598;o[a+774|0]=14;o[a+775|0]=235802126;o[a+776|0]=921102;o[a+777|0]=3598;o[a+778|0]=14;o[a+763|0]=235802126;o[a+764|0]=921102;o[a+765|0]=3598;o[a+766|0]=14;o[a+767|0]=235802126;o[a+768|0]=921102;o[a+769|0]=3598;o[a+770|0]=14;o[a+755|0]=235802126;o[a+756|0]=921102;o[a+757|0]=3598;o[a+758|0]=14;o[a+759|0]=235802126;o[a+760|0]=921102;o[a+761|0]=3598;o[a+762|0]=14;o[a+747|0]=235802126;o[a+748|0]=921102;o[a+749|0]=3598;o[a+750|0]=14;o[a+751|0]=235802126;o[a+752|0]=921102;o[a+753|0]=3598;o[a+754|0]=14;o[a+782|0]=16843009;o[a+783|0]=65793;o[a+784|0]=257;o[a+785|0]=1;o[a+786|0]=16843009;o[a+787|0]=65793;o[a+788|0]=257;o[a+789|0]=1;o[a+790|0]=16843009;o[a+791|0]=65793;o[a+792|0]=257;o[a+793|0]=1;o[a+794|0]=16843009;o[a+795|0]=65793;o[a+796|0]=257;o[a+797|0]=1;o[a+798|0]=16843009;o[a+799|0]=65793;o[a+800|0]=257;o[a+801|0]=1;o[a+802|0]=16843009;o[a+803|0]=65793;o[a+804|0]=257;o[a+805|0]=1;o[a+803|0]=16843009;o[a+804|0]=65793;o[a+805|0]=257;o[a+806|0]=1;o[a+807|0]=16843009;o[a+808|0]=65793;o[a+809|0]=257;o[a+810|0]=1;q[a+20896>>2]=1065353216;q[a+20492>>2]=1065353216;q[a+20500>>2]=1065353216;q[a+20904>>2]=1065353216;q[a+20912>>2]=1065353216;q[a+20508>>2]=1065353216;q[a+20920>>2]=1065353216;q[a+20516>>2]=1065353216;q[a+20928>>2]=1065353216;q[a+20524>>2]=1065353216;q[a+20936>>2]=1065353216;q[a+20532>>2]=1065353216;q[a+20944>>2]=1065353216;q[a+20540>>2]=1065353216;q[a+20952>>2]=1065353216;q[a+20548>>2]=1065353216;q[a+20960>>2]=1065353216;q[a+20556>>2]=1065353216;q[a+20968>>2]=1065353216;q[a+20564>>2]=1065353216;q[a+20976>>2]=1065353216;q[a+20572>>2]=1065353216;q[a+20984>>2]=1065353216;q[a+20580>>2]=1065353216;q[a+20992>>2]=1065353216;q[a+20588>>2]=1065353216;q[a+21e3>>2]=1065353216;q[a+20596>>2]=1065353216;q[a+21008>>2]=1065353216;q[a+20604>>2]=1065353216;q[a+21016>>2]=1065353216;q[a+20612>>2]=1065353216;q[a+21024>>2]=1065353216;q[a+20620>>2]=1065353216;q[a+21032>>2]=1065353216;q[a+20628>>2]=1065353216;q[a+21040>>2]=1065353216;q[a+20636>>2]=1065353216;q[a+21048>>2]=1065353216;q[a+20644>>2]=1065353216;q[a+21056>>2]=1065353216;q[a+20652>>2]=1065353216;q[a+21064>>2]=1065353216;q[a+20660>>2]=1065353216;q[a+21072>>2]=1065353216;q[a+20668>>2]=1065353216;q[a+21080>>2]=1065353216;q[a+20676>>2]=1065353216;q[a+21088>>2]=1065353216;q[a+20684>>2]=1065353216;q[a+21096>>2]=1065353216;q[a+20692>>2]=1065353216;q[a+21104>>2]=1065353216;q[a+20700>>2]=1065353216;q[a+21112>>2]=1065353216;q[a+20708>>2]=1065353216;q[a+21120>>2]=1065353216;q[a+20716>>2]=1065353216;q[a+21128>>2]=1065353216;q[a+20724>>2]=1065353216;q[a+21136>>2]=1065353216;q[a+20732>>2]=1065353216;q[a+21144>>2]=1065353216;q[a+20740>>2]=1065353216;q[a+21152>>2]=1065353216;q[a+20748>>2]=1065353216;q[a+21160>>2]=1065353216;q[a+20756>>2]=1065353216;q[a+21168>>2]=1065353216;q[a+20764>>2]=1065353216;q[a+21176>>2]=1065353216;q[a+20772>>2]=1065353216;q[a+21184>>2]=1065353216;q[a+20780>>2]=1065353216;q[a+21192>>2]=1065353216;q[a+20788>>2]=1065353216;q[a+21200>>2]=1065353216;q[a+20796>>2]=1065353216;q[a+21208>>2]=1065353216;q[a+20804>>2]=1065353216;q[a+21216>>2]=1065353216;q[a+20812>>2]=1065353216;q[a+21224>>2]=1065353216;q[a+20820>>2]=1065353216;q[a+21232>>2]=1065353216;q[a+20828>>2]=1065353216;q[a+21240>>2]=1065353216;q[a+20836>>2]=1065353216;q[a+21248>>2]=1065353216;q[a+20844>>2]=1065353216;q[a+21256>>2]=1065353216;q[a+20852>>2]=1065353216;q[a+21264>>2]=1065353216;q[a+20860>>2]=1065353216;q[a+21272>>2]=1065353216;q[a+20868>>2]=1065353216;q[a+21280>>2]=1065353216;q[a+20876>>2]=1065353216;o[a+22092|0]=0;q[a+21288>>2]=1065353216;q[a+20884>>2]=1065353216;Qa(a+22096|0,0,640);return a}function pk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0;g=xa-176|0;xa=g;E=1<>2];s=q[g+40>>2];j=q[g+36>>2];l=q[g+32>>2];i=q[g+28>>2];k=q[g+24>>2];t=q[g+20>>2];ub=w(c,31)<<1;vb=w(c,29)<<1;wb=w(c,27)<<1;xb=w(c,25)<<1;yb=w(c,23)<<1;zb=w(c,21)<<1;Ab=w(c,19)<<1;Bb=w(c,17)<<1;Cb=w(c,15)<<1;Db=w(c,13)<<1;Eb=w(c,11)<<1;Fb=w(c,9)<<1;Gb=w(c,7)<<1;Hb=w(c,5)<<1;Ib=w(c,3)<<1;Jb=c<<4;Kb=w(c,24)<<1;Lb=c<<5;Mb=c<<3;Nb=w(c,12)<<1;Ob=w(c,20)<<1;Pb=w(c,28)<<1;F=c<<1;Qb=F<<1;Rb=w(c,6)<<1;Sb=w(c,10)<<1;Tb=w(c,14)<<1;Ub=w(c,18)<<1;Vb=w(c,22)<<1;Wb=w(c,26)<<1;Xb=w(c,30)<<1;Yb=d<<1;while(1){a:{if(!(f&1)){i=p[a+ub>>1];h=p[a+vb>>1];m=p[a+wb>>1];n=p[a+xb>>1];o=p[a+yb>>1];r=p[a+zb>>1];z=p[a+Ab>>1];s=p[a+Bb>>1];j=p[a+Cb>>1];l=p[a+Db>>1];k=p[a+Eb>>1];t=p[a+Fb>>1];u=p[a+Gb>>1];v=p[a+Hb>>1];A=p[a+Ib>>1];x=p[a+F>>1];d=0;while(1){c=d<<1;q[(g+48|0)+(d<<2)>>2]=((((((((((((((w(A,p[c+39296>>1])+w(x,p[c+39168>>1])|0)+w(v,p[c+39424>>1])|0)+w(u,p[c+39552>>1])|0)+w(t,p[c+39680>>1])|0)+w(k,p[c+39808>>1])|0)+w(l,p[c+39936>>1])|0)+w(j,p[c+40064>>1])|0)+w(s,p[c+40192>>1])|0)+w(z,p[c+40320>>1])|0)+w(r,p[c+40448>>1])|0)+w(o,p[c+40576>>1])|0)+w(n,p[c+40704>>1])|0)+w(m,p[c+40832>>1])|0)+w(h,p[c+40960>>1])|0)+w(i,p[c+41088>>1]);d=d+1|0;if((d|0)!=16){continue}break}s=p[a+Kb>>1];j=p[a+Jb>>1];B=w(s,sb)+w(j,tb)|0;k=p[a+Lb>>1];t=p[a>>1];G=w(k,ob)+w(t,pb)|0;x=B+G|0;l=p[a+Nb>>1];u=p[a+Mb>>1];v=p[a+Ob>>1];A=p[a+Pb>>1];C=((w(l,$)+w(u,aa)|0)+w(v,_)|0)+w(A,Z)|0;H=x-C|0;c=p[a+Rb>>1];d=p[a+Qb>>1];i=p[a+Sb>>1];h=p[a+Tb>>1];m=p[a+Ub>>1];n=p[a+Vb>>1];o=p[a+Wb>>1];r=p[a+Xb>>1];z=((((((w(c,ha)+w(d,ia)|0)+w(i,ga)|0)+w(h,fa)|0)+w(m,ea)|0)+w(n,da)|0)+w(o,ca)|0)+w(r,ba)|0;q[g+144>>2]=H-z;I=((((((w(c,kb)+w(d,lb)|0)+w(i,jb)|0)+w(h,ib)|0)+w(m,hb)|0)+w(n,gb)|0)+w(o,fb)|0)+w(r,eb)|0;C=x+C|0;x=I+C|0;q[g+112>>2]=x;k=w(k,mb)+w(t,nb)|0;j=w(s,qb)+w(j,rb)|0;D=k+j|0;y=((w(l,X)+w(u,Y)|0)+w(v,W)|0)+w(A,V)|0;J=D-y|0;s=((((((w(c,pa)+w(d,qa)|0)+w(i,oa)|0)+w(h,na)|0)+w(m,ma)|0)+w(n,la)|0)+w(o,ka)|0)+w(r,ja)|0;q[g+148>>2]=J-s;t=((((((w(c,cb)+w(d,db)|0)+w(i,bb)|0)+w(h,ab)|0)+w(m,$a)|0)+w(n,_a)|0)+w(o,Za)|0)+w(r,Ya)|0;D=y+D|0;q[g+116>>2]=t+D;y=k-j|0;K=((w(l,T)+w(u,U)|0)+w(v,S)|0)+w(A,R)|0;L=y-K|0;j=((((((w(c,ya)+w(d,za)|0)+w(i,wa)|0)+w(h,va)|0)+w(m,ua)|0)+w(n,ta)|0)+w(o,sa)|0)+w(r,ra)|0;q[g+152>>2]=L-j;k=((((((w(c,Wa)+w(d,Xa)|0)+w(i,Va)|0)+w(h,Ua)|0)+w(m,Ta)|0)+w(n,Sa)|0)+w(o,Ra)|0)+w(r,Qa)|0;y=y+K|0;q[g+120>>2]=k+y;B=G-B|0;u=((w(l,P)+w(u,Q)|0)+w(v,O)|0)+w(A,N)|0;v=B-u|0;l=((((((w(c,Ga)+w(d,Ha)|0)+w(i,Fa)|0)+w(h,Ea)|0)+w(m,Da)|0)+w(n,Ca)|0)+w(o,Ba)|0)+w(r,Aa)|0;q[g+156>>2]=v-l;i=((((((w(c,Oa)+w(d,Pa)|0)+w(i,Na)|0)+w(h,Ma)|0)+w(m,La)|0)+w(n,Ka)|0)+w(o,Ja)|0)+w(r,Ia)|0;c=u+B|0;q[g+124>>2]=i+c;q[g+160>>2]=c-i;q[g+128>>2]=l+v;q[g+164>>2]=y-k;q[g+132>>2]=j+L;q[g+168>>2]=D-t;q[g+136>>2]=s+J;q[g+172>>2]=C-I;q[g+140>>2]=z+H;c=0;while(1){d=(c<<1)+b|0;h=q[(g+48|0)+(c<<2)>>2]+(x+E|0)>>e;h=(h|0)>-32768?h:-32768;p[d>>1]=(h|0)<32767?h:32767;h=d;d=15-c<<2;d=(q[d+(g+112|0)>>2]+E|0)-q[d+(g+48|0)>>2]>>e;d=(d|0)>-32768?d:-32768;p[h+32>>1]=(d|0)<32767?d:32767;c=c+1|0;if((c|0)==16){break a}x=q[(g+112|0)+(c<<2)>>2];continue}}c=b;p[c>>1]=0;p[c+2>>1]=0;p[c+4>>1]=0;p[c+6>>1]=0;p[c+56>>1]=0;p[c+58>>1]=0;p[c+60>>1]=0;p[c+62>>1]=0;p[c+48>>1]=0;p[c+50>>1]=0;p[c+52>>1]=0;p[c+54>>1]=0;p[c+40>>1]=0;p[c+42>>1]=0;p[c+44>>1]=0;p[c+46>>1]=0;p[c+32>>1]=0;p[c+34>>1]=0;p[c+36>>1]=0;p[c+38>>1]=0;p[c+24>>1]=0;p[c+26>>1]=0;p[c+28>>1]=0;p[c+30>>1]=0;p[c+16>>1]=0;p[c+18>>1]=0;p[c+20>>1]=0;p[c+22>>1]=0;p[c+8>>1]=0;p[c+10>>1]=0;p[c+12>>1]=0;p[c+14>>1]=0}f=f>>1;a=a+2|0;b=b+Yb|0;M=M+1|0;if((M|0)!=32){continue}break}q[g+44>>2]=z;q[g+40>>2]=s;q[g+36>>2]=j;q[g+32>>2]=l;q[g+28>>2]=i;q[g+24>>2]=k;q[g+20>>2]=t;xa=g+176|0}function We(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;A=h&240;B=(A|0)==240?4:8;u=p[19291];C=p[19275];H=p[19259];I=p[19243];J=p[19290];K=p[19274];L=p[19258];M=p[19242];N=p[19289];O=p[19273];P=p[19257];Q=p[19241];R=p[19288];E=p[19272];F=p[19256];G=p[19240];W=p[19265];X=p[19233];Y=p[19264];Z=p[19232];_=p[19281];$=p[19249];aa=p[19280];ba=p[19248];i=xa-32|0;l=q[i+24>>2];k=q[i+20>>2];z=q[i+28>>2];n=q[i+16>>2];v=q[i+12>>2];s=q[i+8>>2];m=q[i+4>>2];t=q[i>>2];S=e<<1;ca=S<<1;da=w(e,6)<<1;ea=e<<3;fa=w(e,3)<<1;ga=w(e,5)<<1;ha=w(e,7)<<1;e=b;while(1){a:{if(!(h&1)){l=p[a+ea>>1];s=p[a>>1];n=w(l,Y)+w(s,Z)|0;D=p[a+da>>1];T=p[a+ca>>1];t=w(D,aa)+w(T,ba)|0;z=n-t|0;m=p[a+fa>>1];j=p[a+S>>1];x=p[a+ga>>1];y=p[a+ha>>1];v=((w(m,H)+w(j,I)|0)+w(x,C)|0)+w(y,u)|0;k=z-v|0;p[e+8>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;n=n+t|0;t=((w(m,F)+w(j,G)|0)+w(x,E)|0)+w(y,R)|0;k=n+t|0;p[e>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;U=w(l,W)+w(s,X)|0;D=w(D,_)+w($,T)|0;l=U-D|0;s=((w(m,L)+w(j,M)|0)+w(x,K)|0)+w(y,J)|0;k=l-s|0;p[e+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=D+U|0;m=((w(m,P)+w(j,Q)|0)+w(x,O)|0)+w(y,N)|0;j=k+m|0;p[e+2>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=k-m|0;p[e+12>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=l+s|0;p[e+4>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=n-t|0;p[e+14>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=v+z|0;p[e+6>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;break a}p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;p[e+8>>1]=0;p[e+10>>1]=0;p[e+12>>1]=0;p[e+14>>1]=0}h=h>>1;e=e+16|0;a=a+2|0;V=V+1|0;if((B|0)!=(V|0)){continue}break}q[i+12>>2]=v;q[i+8>>2]=s;q[i+4>>2]=m;q[i>>2]=t;q[i+28>>2]=z;q[i+16>>2]=n;q[i+24>>2]=l;q[i+20>>2]=k;z=p[19248];b:{if((A|0)!=240){n=p[19291];v=p[19275];s=p[19259];m=p[19243];t=p[19290];j=p[19274];x=p[19258];y=p[19242];A=p[19289];B=p[19273];u=p[19257];C=p[19241];H=p[19288];I=p[19272];J=p[19256];K=p[19240];L=p[19265];M=p[19233];N=p[19264];O=p[19232];P=p[19281];Q=p[19249];R=p[19280];k=0;while(1){a=p[b+48>>1];e=p[b+16>>1];h=p[b+80>>1];l=p[b+112>>1];q[i+12>>2]=((w(a,s)+w(e,m)|0)+w(h,v)|0)+w(l,n);q[i+8>>2]=((w(a,x)+w(e,y)|0)+w(h,j)|0)+w(l,t);q[i+4>>2]=((w(a,u)+w(e,C)|0)+w(h,B)|0)+w(l,A);a=((w(a,J)+w(e,K)|0)+w(h,I)|0)+w(l,H)|0;q[i>>2]=a;e=p[b+64>>1];h=p[b>>1];l=w(e,N)+w(h,O)|0;E=p[b+96>>1];F=p[b+32>>1];G=w(E,R)+w(F,z)|0;q[i+28>>2]=l-G;e=w(e,L)+w(h,M)|0;h=w(P,E)+w(Q,F)|0;q[i+24>>2]=e-h;q[i+20>>2]=e+h;e=l+G|0;q[i+16>>2]=e;a=a+e|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[i+28>>2]-q[i+12>>2]|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[i+4>>2]+q[i+20>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[i+24>>2]-q[i+8>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[i+8>>2]+q[i+24>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[i+20>>2]-q[i+4>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[i+12>>2]+q[i+28>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;a=q[i+16>>2]-q[i>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;k=k+1|0;if((k|0)!=8){continue}break}break b}k=p[19259];l=p[19243];n=p[19258];v=p[19242];s=p[19257];m=p[19241];t=p[19256];j=p[19240];x=p[19233];y=p[19232];A=p[19249];h=0;while(1){a=p[b+48>>1];e=p[b+16>>1];q[i+12>>2]=w(a,k)+w(e,l);q[i+8>>2]=w(a,n)+w(e,v);q[i+4>>2]=w(a,s)+w(e,m);a=w(a,t)+w(e,j)|0;q[i>>2]=a;e=p[b>>1];B=w(e,y);u=p[b+32>>1];C=w(u,z);q[i+28>>2]=B-C;e=w(e,x);u=w(u,A);q[i+24>>2]=e-u;q[i+20>>2]=e+u;e=B+C|0;q[i+16>>2]=e;a=a+e|0;a=r[c|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d|0]=(a|0)<255?a:255;a=q[i+28>>2]-q[i+12>>2]|0;a=r[c+8|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+8|0]=(a|0)<255?a:255;a=q[i+4>>2]+q[i+20>>2]|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=q[i+24>>2]-q[i+8>>2]|0;a=r[c+10|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+10|0]=(a|0)<255?a:255;a=q[i+8>>2]+q[i+24>>2]|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=q[i+20>>2]-q[i+4>>2]|0;a=r[c+12|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+12|0]=(a|0)<255?a:255;a=q[i+12>>2]+q[i+28>>2]|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;a=q[i+16>>2]-q[i>>2]|0;a=r[c+14|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+14|0]=(a|0)<255?a:255;d=d+g|0;c=c+f|0;b=b+2|0;h=h+1|0;if((h|0)!=8){continue}break}}}function qh(a,b,c,d,f,g){a=a|0;b=+b;c=c|0;d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;m=xa-560|0;xa=m;q[m+44>>2]=0;h(+b);i=e(1)|0;a:{if(G=1,H=(J=e(0)>>>0>4294967295?0:1,K=0,L=(i|0)<=-1,L?J:K),I=(i|0)<-1,I?G:H){D=1;b=-b;h(+b);i=e(1)|0;e(0)|0;E=147984;break a}if(f&2048){D=1;E=147987;break a}D=f&1;E=D?147990:147985}b:{if((i&2146435072)==2146435072){p=D+3|0;ab(a,32,c,p,f&-65537);_a(a,E,D);d=g>>>5&1;_a(a,b!=b?d?148011:148015:d?148003:148007,3);break b}A=m+16|0;c:{d:{e:{b=Pd(b,m+44|0);b=b+b;if(b!=0){i=q[m+44>>2];q[m+44>>2]=i+ -1;z=g|32;if((z|0)!=97){break e}break c}z=g|32;if((z|0)==97){break c}l=q[m+44>>2];n=(d|0)<0?6:d;break d}l=i+ -29|0;q[m+44>>2]=l;b=b*268435456;n=(d|0)<0?6:d}t=(l|0)<0?m+48|0:m+336|0;k=t;while(1){d=k;if(b<4294967296&b>=0){i=~~b>>>0}else{i=0}q[d>>2]=i;k=k+4|0;b=(b- +(i>>>0))*1e9;if(b!=0){continue}break}f:{if((l|0)<1){i=k;j=t;break f}j=t;while(1){x=(l|0)<29?l:29;i=k+ -4|0;g:{if(i>>>0>>0){break g}d=x;u=0;while(1){v=i;p=0;F=u;u=q[i>>2];s=d&31;if(32<=(d&63)>>>0){l=u<>>32-s;s=u<>>0>>0?p+1|0:p;s=u;u=jl(s,p,1e9);F=v;v=il(u,ya,1e9,0);q[F>>2]=s-v;i=i+ -4|0;if(i>>>0>=j>>>0){continue}break}d=u;if(!d){break g}j=j+ -4|0;q[j>>2]=d}while(1){i=k;if(i>>>0>j>>>0){k=i+ -4|0;if(!q[k>>2]){continue}}break}l=q[m+44>>2]-x|0;q[m+44>>2]=l;k=i;if((l|0)>0){continue}break}}if((l|0)<=-1){B=((n+25|0)/9|0)+1|0;x=(z|0)==102;while(1){u=(l|0)<-9?9:0-l|0;h:{if(j>>>0>=i>>>0){j=q[j>>2]?j:j+4|0;break h}v=1e9>>>u|0;s=-1<>2];q[k>>2]=(d>>>u|0)+l;l=w(v,d&s);k=k+4|0;if(k>>>0>>0){continue}break}j=q[j>>2]?j:j+4|0;if(!l){break h}q[i>>2]=l;i=i+4|0}l=u+q[m+44>>2]|0;q[m+44>>2]=l;d=x?t:j;i=i-d>>2>(B|0)?d+(B<<2)|0:i;if((l|0)<0){continue}break}}k=0;i:{if(j>>>0>=i>>>0){break i}k=w(t-j>>2,9);l=10;d=q[j>>2];if(d>>>0<10){break i}while(1){k=k+1|0;l=w(l,10);if(d>>>0>=l>>>0){continue}break}}d=(n-((z|0)==102?0:k)|0)-((z|0)==103&(n|0)!=0)|0;if((d|0)<(w(i-t>>2,9)+ -9|0)){s=d+9216|0;d=(s|0)/9|0;p=(t+(d<<2)|0)+ -4092|0;l=10;d=s-w(d,9)|0;if((d|0)<=7){while(1){l=w(l,10);d=d+1|0;if((d|0)!=8){continue}break}}v=q[p>>2];s=(v>>>0)/(l>>>0)|0;B=p+4|0;x=v-w(l,s)|0;j:{if(x?0:(B|0)==(i|0)){break j}d=l>>>1|0;C=x>>>0>>0?.5:(i|0)==(B|0)?(d|0)==(x|0)?1:1.5:1.5;b=s&1?9007199254740994:9007199254740992;if(!(!D|r[E|0]!=45)){C=-C;b=-b}d=v-x|0;q[p>>2]=d;if(b+C==b){break j}d=d+l|0;q[p>>2]=d;if(d>>>0>=1e9){while(1){q[p>>2]=0;p=p+ -4|0;if(p>>>0>>0){j=j+ -4|0;q[j>>2]=0}d=q[p>>2]+1|0;q[p>>2]=d;if(d>>>0>999999999){continue}break}}k=w(t-j>>2,9);l=10;d=q[j>>2];if(d>>>0<10){break j}while(1){k=k+1|0;l=w(l,10);if(d>>>0>=l>>>0){continue}break}}d=p+4|0;i=i>>>0>d>>>0?d:i}k:{while(1){x=i;v=0;if(i>>>0<=j>>>0){break k}i=x+ -4|0;if(!q[i>>2]){continue}break}v=1}l:{if((z|0)!=103){z=f&8;break l}i=n?n:1;d=(i|0)>(k|0)&(k|0)>-5;n=(d?k^-1:-1)+i|0;g=(d?-1:-2)+g|0;z=f&8;if(z){break l}i=9;m:{if(!v){break m}s=q[x+ -4>>2];if(!s){break m}d=10;i=0;if((s>>>0)%10){break m}while(1){i=i+1|0;d=w(d,10);if(!((s>>>0)%(d>>>0))){continue}break}}d=w(x-t>>2,9)+ -9|0;if((g|32)==102){z=0;d=d-i|0;d=(d|0)>0?d:0;n=(n|0)<(d|0)?n:d;break l}z=0;d=(d+k|0)-i|0;d=(d|0)>0?d:0;n=(n|0)<(d|0)?n:d}l=n|z;p=(l|0)!=0;d=a;s=c;u=g|32;i=(k|0)>0?k:0;n:{if((u|0)==102){break n}i=k>>31;i=zb(i+k^i,0,A);if((A-i|0)<=1){while(1){i=i+ -1|0;o[i|0]=48;if((A-i|0)<2){continue}break}}B=i+ -2|0;o[B|0]=g;o[i+ -1|0]=(k|0)<0?45:43;i=A-B|0}p=(i+(p+(n+D|0)|0)|0)+1|0;ab(d,32,s,p,f);_a(a,E,D);ab(a,48,c,p,f^65536);o:{p:{q:{if((u|0)==102){d=m+16|8;k=m+16|9;g=j>>>0>t>>>0?t:j;j=g;while(1){i=zb(q[j>>2],0,k);r:{if((g|0)!=(j|0)){if(i>>>0<=m+16>>>0){break r}while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}break r}if((i|0)!=(k|0)){break r}o[m+24|0]=48;i=d}_a(a,i,k-i|0);j=j+4|0;if(j>>>0<=t>>>0){continue}break}if(l){_a(a,148019,1)}if((n|0)<1|j>>>0>=x>>>0){break q}while(1){i=zb(q[j>>2],0,k);if(i>>>0>m+16>>>0){while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}}_a(a,i,(n|0)<9?n:9);i=n+ -9|0;j=j+4|0;if(j>>>0>=x>>>0){break p}d=(n|0)>9;n=i;if(d){continue}break}break p}s:{if((n|0)<0){break s}g=v?x:j+4|0;d=m+16|8;t=m+16|9;k=j;while(1){i=zb(q[k>>2],0,t);if((t|0)==(i|0)){o[m+24|0]=48;i=d}t:{if((j|0)!=(k|0)){if(i>>>0<=m+16>>>0){break t}while(1){i=i+ -1|0;o[i|0]=48;if(i>>>0>m+16>>>0){continue}break}break t}_a(a,i,1);i=i+1|0;if((n|0)<1?!z:0){break t}_a(a,148019,1)}u=i;i=t-i|0;_a(a,u,(n|0)>(i|0)?i:n);n=n-i|0;k=k+4|0;if(k>>>0>=g>>>0){break s}if((n|0)>-1){continue}break}}ab(a,48,n+18|0,18,0);_a(a,B,A-B|0);break o}i=n}ab(a,48,i+9|0,9,0)}break b}t=g&32;s=t?E+9|0:E;u:{if(d>>>0>11){break u}i=12-d|0;if(!i){break u}C=8;while(1){C=C*16;i=i+ -1|0;if(i){continue}break}if(r[s|0]==45){b=-(C+(-b-C));break u}b=b+C-C}i=q[m+44>>2];k=i>>31;i=zb(k^i+k,0,A);if((A|0)==(i|0)){o[m+15|0]=48;i=m+15|0}n=D|2;k=q[m+44>>2];v=i+ -2|0;o[v|0]=g+15;o[i+ -1|0]=(k|0)<0?45:43;i=f&8;j=m+16|0;while(1){g=j;u=t;if(y(b)<2147483648){k=~~b}else{k=-2147483648}o[j|0]=u|r[k+147968|0];b=(b- +(k|0))*16;j=g+1|0;if(!((j-(m+16|0)|0)!=1|(b==0?!((d|0)>0|i):0))){o[g+1|0]=46;j=g+2|0}if(b!=0){continue}break}g=a;i=c;if(!d|((j-m|0)+ -18|0)>=(d|0)){t=((A-(m+16|0)|0)-v|0)+j|0}else{t=((d+A|0)-v|0)+2|0}p=t+n|0;ab(g,32,i,p,f);_a(a,s,n);ab(a,48,c,p,f^65536);d=j-(m+16|0)|0;_a(a,m+16|0,d);g=d;d=A-v|0;ab(a,48,t-(g+d|0)|0,0,0);_a(a,v,d)}ab(a,32,c,p,f^8192);xa=m+560|0;return((p|0)<(c|0)?c:p)|0}function Kj(a,b,c){var d=0,e=0,f=0,g=0,h=0;q[c+8>>2]=0;h=q[b+20>>2];g=1;d=q[b+24>>2];e=q[b+16>>2];f=n[e](d,128,12)|0;a:{if(!f){break a}q[a>>2]=f;q[c+8>>2]=f;q[q[a>>2]+8>>2]=0;c=n[e](d,128,45344)|0;if(!c){break a}q[q[a>>2]+8>>2]=c;a=Qa(c,0,45344);q[a+56>>2]=q[b+12>>2];b=q[b+8>>2];if(!(1<>>0<=12:0)){q[a+56>>2]=0}q[a+11624>>2]=d;q[a+11620>>2]=h;q[a+11616>>2]=e;q[a+60>>2]=b;b=n[e](d,128,32)|0;if(!b){break a}q[a+11492>>2]=b;q[a+11496>>2]=b+4;q[a+11500>>2]=b+8;q[a+11504>>2]=b+12;q[a+11508>>2]=b+16;q[a+11512>>2]=b+20;q[a+11516>>2]=b+24;q[a+11520>>2]=b+28;b=n[e](d,128,1048592)|0;if(!b){break a}q[a+184>>2]=1048576;q[a+172>>2]=b;b=n[e](d,128,520)|0;if(!b){break a}q[a+264>>2]=b;b=n[e](d,128,520)|0;if(!b){break a}q[a+276>>2]=b;b=n[e](d,128,520)|0;if(!b){break a}q[a+244>>2]=b;b=n[e](d,128,520)|0;if(!b){break a}q[a+224>>2]=b;b=n[e](d,128,7168)|0;if(!b){break a}b=Qa(b,0,7168);q[a+632>>2]=b;q[a+292>>2]=b;b=n[e](d,128,152592)|0;if(!b){break a}b=Qa(b,0,152592);q[a+636>>2]=b;q[a+296>>2]=b;b=n[e](d,128,4420)|0;if(!b){break a}b=Qa(b,0,4420);q[a+640>>2]=b;q[a+300>>2]=b;b=n[e](d,128,325632)|0;if(!b){break a}b=Qa(b,0,325632);q[a+644>>2]=b;q[a+304>>2]=b;b=n[e](d,128,666496)|0;if(!b){break a}q[a+280>>2]=b;b=n[e](d,128,542464)|0;if(!b){break a}q[a+252>>2]=b;b=n[e](d,128,262144)|0;if(!b){break a}q[a+6548>>2]=b;q[a+11396>>2]=b+245760;q[a+11392>>2]=b+229376;q[a+10704>>2]=b+212992;q[a+10700>>2]=b+196608;q[a+10012>>2]=b+180224;q[a+10008>>2]=b+163840;q[a+9320>>2]=b+147456;q[a+9316>>2]=b+131072;q[a+8628>>2]=b+114688;q[a+8624>>2]=b+98304;q[a+7936>>2]=b+81920;q[a+7932>>2]=b+65536;q[a+7244>>2]=b+49152;q[a+7240>>2]=b+32768;q[a+6552>>2]=b+16384;b=n[e](d,128,48)|0;if(!b){break a}o[b|0]=0;o[b+1|0]=0;o[b+2|0]=0;o[b+3|0]=0;o[b+4|0]=0;o[b+5|0]=0;o[b+6|0]=0;o[b+7|0]=0;o[b+40|0]=0;o[b+41|0]=0;o[b+42|0]=0;o[b+43|0]=0;o[b+44|0]=0;o[b+45|0]=0;o[b+46|0]=0;o[b+47|0]=0;o[b+32|0]=0;o[b+33|0]=0;o[b+34|0]=0;o[b+35|0]=0;o[b+36|0]=0;o[b+37|0]=0;o[b+38|0]=0;o[b+39|0]=0;o[b+24|0]=0;o[b+25|0]=0;o[b+26|0]=0;o[b+27|0]=0;o[b+28|0]=0;o[b+29|0]=0;o[b+30|0]=0;o[b+31|0]=0;c=b+16|0;o[c|0]=0;o[c+1|0]=0;o[c+2|0]=0;o[c+3|0]=0;o[c+4|0]=0;o[c+5|0]=0;o[c+6|0]=0;o[c+7|0]=0;o[b+8|0]=0;o[b+9|0]=0;o[b+10|0]=0;o[b+11|0]=0;o[b+12|0]=0;o[b+13|0]=0;o[b+14|0]=0;o[b+15|0]=0;q[a+624>>2]=c;q[a+628>>2]=b;b=n[q[a+11616>>2]](d,128,158208)|0;if(!b){break a}g=0;b=Qa(b,0,158208);q[a+6200>>2]=b;c=b+9216|0;q[a+6196>>2]=c;q[a+6148>>2]=c;q[a+6144>>2]=b;c=b+18432|0;q[a+6320>>2]=c;q[a+6056>>2]=c;c=b+19776|0;q[a+6892>>2]=c;d=b+28992|0;q[a+6888>>2]=d;q[a+6840>>2]=d;q[a+6836>>2]=c;q[a+6156>>2]=64;c=b+38208|0;q[a+7012>>2]=c;q[a+6748>>2]=c;c=b+39552|0;q[a+7584>>2]=c;d=b+48768|0;q[a+7580>>2]=d;q[a+7532>>2]=d;q[a+7528>>2]=c;q[a+6848>>2]=64;c=b+57984|0;q[a+7704>>2]=c;q[a+7440>>2]=c;c=b+59328|0;q[a+8276>>2]=c;d=b+68544|0;q[a+8272>>2]=d;q[a+8224>>2]=d;q[a+8220>>2]=c;q[a+7540>>2]=64;c=b+77760|0;q[a+8132>>2]=c;q[a+8396>>2]=c;q[a+8232>>2]=64;c=b+79104|0;q[a+8912>>2]=c;d=b+88320|0;q[a+8916>>2]=d;q[a+8964>>2]=d;q[a+8968>>2]=c;c=b+97536|0;q[a+8824>>2]=c;q[a+9088>>2]=c;q[a+8924>>2]=64;c=b+98880|0;q[a+9604>>2]=c;d=b+108096|0;q[a+9608>>2]=d;q[a+9656>>2]=d;q[a+9660>>2]=c;c=b+117312|0;q[a+9780>>2]=c;q[a+9516>>2]=c;c=b+118656|0;q[a+10352>>2]=c;d=b+127872|0;q[a+10348>>2]=d;q[a+10300>>2]=d;q[a+10296>>2]=c;q[a+9616>>2]=64;c=b+137088|0;q[a+10472>>2]=c;q[a+10208>>2]=c;c=b+138432|0;q[a+11044>>2]=c;d=b+147648|0;q[a+11040>>2]=d;q[a+10992>>2]=d;q[a+10988>>2]=c;q[a+10308>>2]=64;b=b+156864|0;q[a+11164>>2]=b;q[a+10900>>2]=b;q[a+11e3>>2]=64;b=q[a+300>>2];c=q[a+296>>2];a=q[a+280>>2];q[c+8968>>2]=a;q[c+152584>>2]=a+130048;q[c+143608>>2]=a+121920;q[c+134632>>2]=a+113792;q[c+125656>>2]=a+105664;q[c+116680>>2]=a+97536;q[c+107704>>2]=a+89408;q[c+98728>>2]=a+81280;q[c+89752>>2]=a+73152;q[c+80776>>2]=a+65024;q[c+71800>>2]=a+56896;q[c+62824>>2]=a+48768;q[c+53848>>2]=a+40640;q[c+44872>>2]=a+32512;q[c+35896>>2]=a+24384;q[c+26920>>2]=a+16256;q[c+17944>>2]=a+8128;q[b+4352>>2]=a+658368;q[b+4284>>2]=a+650240;q[b+4216>>2]=a+642112;q[b+4148>>2]=a+633984;q[b+4080>>2]=a+625856;q[b+4012>>2]=a+617728;q[b+3944>>2]=a+609600;q[b+3876>>2]=a+601472;q[b+3808>>2]=a+593344;q[b+3740>>2]=a+585216;q[b+3672>>2]=a+577088;q[b+3604>>2]=a+568960;q[b+3536>>2]=a+560832;q[b+3468>>2]=a+552704;q[b+3400>>2]=a+544576;q[b+3332>>2]=a+536448;q[b+3264>>2]=a+528320;q[b+3196>>2]=a+520192;q[b+3128>>2]=a+512064;q[b+3060>>2]=a+503936;q[b+2992>>2]=a+495808;q[b+2924>>2]=a+487680;q[b+2856>>2]=a+479552;q[b+2788>>2]=a+471424;q[b+2720>>2]=a+463296;q[b+2652>>2]=a+455168;q[b+2584>>2]=a+447040;q[b+2516>>2]=a+438912;q[b+2448>>2]=a+430784;q[b+2380>>2]=a+422656;q[b+2312>>2]=a+414528;q[b+2244>>2]=a+406400;q[b+2176>>2]=a+398272;q[b+2108>>2]=a+390144;q[b+2040>>2]=a+382016;q[b+1972>>2]=a+373888;q[b+1904>>2]=a+365760;q[b+1836>>2]=a+357632;q[b+1768>>2]=a+349504;q[b+1700>>2]=a+341376;q[b+1632>>2]=a+333248;q[b+1564>>2]=a+325120;q[b+1496>>2]=a+316992;q[b+1428>>2]=a+308864;q[b+1360>>2]=a+300736;q[b+1292>>2]=a+292608;q[b+1224>>2]=a+284480;q[b+1156>>2]=a+276352;q[b+1088>>2]=a+268224;q[b+1020>>2]=a+260096;q[b+952>>2]=a+251968;q[b+884>>2]=a+243840;q[b+816>>2]=a+235712;q[b+748>>2]=a+227584;q[b+680>>2]=a+219456;q[b+612>>2]=a+211328;q[b+544>>2]=a+203200;q[b+476>>2]=a+195072;q[b+408>>2]=a+186944;q[b+340>>2]=a+178816;q[b+272>>2]=a+170688;q[b+204>>2]=a+162560;q[b+136>>2]=a+154432;q[b+68>>2]=a+146304;q[b>>2]=a+138176}return g}function bc(a,b,c,d,e,f,g,h,i){var j=x(0),k=x(0),l=x(0),m=0,n=x(0),o=x(0),p=x(0),q=x(0),r=x(0),s=x(0),t=x(0),v=x(0),y=0,z=x(0),A=0,B=0,C=x(0),D=x(0),E=x(0),F=0,G=0,H=0,I=0,J=0,K=0,L=x(0),M=x(0),N=x(0),O=0,P=0,Q=0,R=0,S=0,T=0;a:{if((a|0)==1){if((i|0)!=1){if(!b){break a}e=b<<2;f=w(b,3);g=b<<1;i=0;while(1){a=((w(i,5)+1&65535)<<3)+c|0;j=u[a+4>>2];k=u[a+28>>2];o=u[a+20>>2];l=u[a+12>>2];h=(i<<3)+d|0;s=u[a+8>>2];q=u[a+16>>2];n=x(s+q);t=u[a>>2];C=u[a+24>>2];z=x(t+C);a=a+ -8|0;u[h>>2]=n+x(z+u[a>>2]);p=x(l+o);r=x(j+k);u[h+4>>2]=p+x(r+u[a+4>>2]);v=u[a>>2];h=(b+i<<3)+d|0;D=u[a+4>>2];E=x(x(x(r*x(.30901700258255005))+D)-x(p*x(.80901700258255)));t=x(t-C);s=x(s-q);q=x(x(t*x(.9510565400123596))-x(s*x(.5877852439880371)));u[h+4>>2]=E-q;j=x(j-k);k=x(l-o);o=x(x(j*x(.9510565400123596))-x(k*x(.5877852439880371)));l=x(x(v+x(z*x(.30901700258255005)))-x(n*x(.80901700258255)));u[h>>2]=o+l;a=(g+i<<3)+d|0;p=x(x(p*x(.30901700258255005))+x(D-x(r*x(.80901700258255))));r=x(x(t*x(.5877852439880371))+x(s*x(.9510565400123596)));u[a+4>>2]=p-r;j=x(x(j*x(.5877852439880371))+x(k*x(.9510565400123596)));k=x(x(n*x(.30901700258255005))+x(v-x(z*x(.80901700258255))));u[a>>2]=j+k;a=(f+i<<3)+d|0;u[a+4>>2]=r+p;u[a>>2]=k-j;a=(e+i<<3)+d|0;u[a+4>>2]=q+E;u[a>>2]=l-o;i=i+1|0;if((i|0)!=(b|0)){continue}break}break a}if(!b){break a}e=b<<2;f=w(b,3);g=b<<1;i=0;while(1){a=((w(i,5)+1&65535)<<3)+c|0;j=u[a+4>>2];k=u[a+28>>2];o=u[a+20>>2];l=u[a+12>>2];h=(i<<3)+d|0;s=u[a+8>>2];q=u[a+16>>2];n=x(s+q);t=u[a>>2];C=u[a+24>>2];z=x(t+C);a=a+ -8|0;u[h>>2]=n+x(z+u[a>>2]);p=x(l+o);r=x(j+k);u[h+4>>2]=p+x(r+u[a+4>>2]);v=u[a>>2];h=(b+i<<3)+d|0;t=x(t-C);s=x(s-q);q=x(x(t*x(.9510565400123596))+x(s*x(.5877852439880371)));C=u[a+4>>2];D=x(x(x(r*x(.30901700258255005))+C)-x(p*x(.80901700258255)));u[h+4>>2]=q+D;E=x(x(v+x(z*x(.30901700258255005)))-x(n*x(.80901700258255)));j=x(j-k);k=x(l-o);o=x(x(j*x(.9510565400123596))+x(k*x(.5877852439880371)));u[h>>2]=E-o;a=(g+i<<3)+d|0;l=x(x(t*x(.5877852439880371))-x(s*x(.9510565400123596)));p=x(x(p*x(.30901700258255005))+x(C-x(r*x(.80901700258255))));u[a+4>>2]=l+p;n=x(x(n*x(.30901700258255005))+x(v-x(z*x(.80901700258255))));j=x(x(j*x(.5877852439880371))-x(k*x(.9510565400123596)));u[a>>2]=n-j;a=(f+i<<3)+d|0;u[a+4>>2]=p-l;u[a>>2]=j+n;a=(e+i<<3)+d|0;u[a+4>>2]=D-q;u[a>>2]=o+E;i=i+1|0;if((i|0)!=(b|0)){continue}break}break a}if((i|0)!=1){if(!b){break a}O=a<<1;H=w(a,b);P=H<<2;I=w(a,3);Q=w(I,b);R=H<<1;while(1){if(a){S=w(a,G);T=w(w(G,5)+1|0,a);i=0;while(1){m=i+T&65535;B=(m<<3)+c|0;j=u[B+4>>2];y=(m+I<<3)+c|0;k=u[y+4>>2];F=(m+O<<3)+c|0;o=u[F+4>>2];J=(a+m<<3)+c|0;l=u[J+4>>2];A=i+S&65535;K=(A<<3)+d|0;v=u[J>>2];s=u[F>>2];n=x(v+s);q=u[B>>2];t=u[y>>2];z=x(q+t);m=(m-a<<3)+c|0;u[K>>2]=n+x(z+u[m>>2]);p=x(l+o);r=x(j+k);u[K+4>>2]=p+x(r+u[m+4>>2]);y=(A+H<<3)+d|0;B=i<<3;F=B+e|0;C=u[F>>2];D=u[m+4>>2];E=x(x(x(r*x(.30901700258255005))+D)-x(p*x(.80901700258255)));q=x(q-t);v=x(v-s);s=x(x(q*x(.9510565400123596))-x(v*x(.5877852439880371)));t=x(E-s);j=x(j-k);k=x(l-o);o=x(x(j*x(.9510565400123596))-x(k*x(.5877852439880371)));l=u[m>>2];L=x(x(x(z*x(.30901700258255005))+l)-x(n*x(.80901700258255)));M=x(o+L);N=u[F+4>>2];u[y+4>>2]=x(C*t)-x(M*N);u[y>>2]=x(C*M)+x(N*t);m=(A+R<<3)+d|0;p=x(x(p*x(.30901700258255005))+x(D-x(r*x(.80901700258255))));r=x(x(q*x(.5877852439880371))+x(v*x(.9510565400123596)));v=x(p-r);y=f+B|0;q=u[y>>2];j=x(x(j*x(.5877852439880371))+x(k*x(.9510565400123596)));k=x(x(n*x(.30901700258255005))+x(l-x(z*x(.80901700258255))));l=x(j+k);n=u[y+4>>2];u[m+4>>2]=x(v*q)-x(l*n);u[m>>2]=x(l*q)+x(v*n);m=(A+Q<<3)+d|0;l=x(r+p);y=g+B|0;n=u[y>>2];j=x(k-j);k=u[y+4>>2];u[m+4>>2]=x(l*n)-x(j*k);u[m>>2]=x(j*n)+x(l*k);m=(A+P<<3)+d|0;j=x(s+E);A=h+B|0;k=u[A>>2];o=x(L-o);l=u[A+4>>2];u[m+4>>2]=x(j*k)-x(o*l);u[m>>2]=x(o*k)+x(j*l);i=i+1|0;if((i|0)!=(a|0)){continue}break}}G=G+1|0;if((G&65535)>>>0>>0){continue}break}break a}if(!b){break a}O=a<<1;H=w(a,b);P=H<<2;I=w(a,3);Q=w(I,b);R=H<<1;while(1){if(a){S=w(a,G);T=w(w(G,5)+1|0,a);i=0;while(1){m=i+T&65535;B=(m<<3)+c|0;j=u[B+4>>2];y=(m+I<<3)+c|0;k=u[y+4>>2];F=(m+O<<3)+c|0;o=u[F+4>>2];J=(a+m<<3)+c|0;l=u[J+4>>2];A=i+S&65535;K=(A<<3)+d|0;v=u[J>>2];s=u[F>>2];n=x(v+s);q=u[B>>2];t=u[y>>2];z=x(q+t);m=(m-a<<3)+c|0;u[K>>2]=n+x(z+u[m>>2]);p=x(l+o);r=x(j+k);u[K+4>>2]=p+x(r+u[m+4>>2]);y=(A+H<<3)+d|0;B=i<<3;F=B+e|0;C=u[F>>2];D=u[m>>2];E=x(x(x(z*x(.30901700258255005))+D)-x(n*x(.80901700258255)));j=x(j-k);k=x(l-o);o=x(x(j*x(.9510565400123596))+x(k*x(.5877852439880371)));l=x(E-o);L=u[F+4>>2];q=x(q-t);v=x(v-s);s=x(x(q*x(.9510565400123596))+x(v*x(.5877852439880371)));t=u[m+4>>2];M=x(x(x(r*x(.30901700258255005))+t)-x(p*x(.80901700258255)));N=x(s+M);u[y>>2]=x(C*l)-x(L*N);u[y+4>>2]=x(l*L)+x(C*N);m=(A+R<<3)+d|0;l=x(x(n*x(.30901700258255005))+x(D-x(z*x(.80901700258255))));j=x(x(j*x(.5877852439880371))-x(k*x(.9510565400123596)));k=x(l-j);y=f+B|0;n=u[y>>2];z=x(x(q*x(.5877852439880371))-x(v*x(.9510565400123596)));p=x(x(p*x(.30901700258255005))+x(t-x(r*x(.80901700258255))));r=x(z+p);v=u[y+4>>2];u[m>>2]=x(k*n)-x(r*v);u[m+4>>2]=x(r*n)+x(k*v);m=(A+Q<<3)+d|0;j=x(j+l);y=g+B|0;k=u[y>>2];l=x(p-z);n=u[y+4>>2];u[m>>2]=x(j*k)-x(l*n);u[m+4>>2]=x(l*k)+x(j*n);m=(A+P<<3)+d|0;j=x(o+E);A=h+B|0;k=u[A>>2];o=x(M-s);l=u[A+4>>2];u[m>>2]=x(j*k)-x(o*l);u[m+4>>2]=x(o*k)+x(j*l);i=i+1|0;if((i|0)!=(a|0)){continue}break}}G=G+1|0;if((G&65535)>>>0>>0){continue}break}}}function Ji(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0;g=xa-672|0;xa=g;t=q[a+224>>2];k=q[a+276>>2];n=q[c+84>>2];v=r[b+23|0];a:{if(r[c+88|0]==1){d=w(o[c+89|0],70)+b|0;h=d+4488|0;e=d+4523|0;b=d+4522|0;d=d+4521|0;break a}h=c+188|0;e=c+223|0;b=c+222|0;d=c+221|0}j=o[b|0];b=o[d|0];if((b|0)>0){d=0;while(1){i=n+p[(d<<1)+h>>1]|0;b:{if(r[d+e|0]){q[(g+608|0)+(m<<2)>>2]=i;m=m+1|0;break b}q[(g+544|0)+(f<<2)>>2]=i;f=f+1|0}d=d+1|0;if((d|0)!=(b|0)){continue}break}}if((j|0)>0){j=b+j|0;while(1){d=n+p[(b<<1)+h>>1]|0;c:{if(r[b+e|0]){q[(g+480|0)+(s<<2)>>2]=d;s=s+1|0;break c}q[(g+544|0)+(f<<2)>>2]=d;f=f+1|0}b=b+1|0;if((b|0)<(j|0)){continue}break}}j=0;h=0;e=0;u=o[c+91|0]+o[c+90|0]|0;if((u|0)>=1){b=0;while(1){d=q[((b<<2)+c|0)+4>>2];i=b+c|0;l=r[i+124|0];if(l){d=((d+n|0)-q[c+80>>2]|0)-(o[i+140|0]<>2]=d;h=h+1|0;break d}o[(g+320|0)+e|0]=l;q[(g+352|0)+(e<<2)>>2]=d;e=e+1|0}b=b+1|0;if((u|0)!=(b|0)){continue}break}}if(!q[a+84>>2]){while(1){b=q[((j<<3)+k|0)+4>>2];if(b){o[b+20|0]=0}j=j+1|0;if((j|0)!=64){continue}break}}b=0;if((h|0)>0){while(1){n=b<<2;d=q[n+(g+416|0)>>2];e:{f:{if(!r[(g+336|0)+b|0]){d=Ne(k,d);if(d){break f}break e}d=Pb(k,d);if(!d){break e}}o[d+20|0]=1}q[n+(g+256|0)>>2]=d;b=b+1|0;if((h|0)!=(b|0)){continue}break}}b=0;if((e|0)>0){while(1){d=q[(g+352|0)+(b<<2)>>2];g:{if(!r[(g+320|0)+b|0]){d=Ne(k,d);if(!d){break g}o[d+20|0]=1;break g}d=Pb(k,d);if(!d){break g}o[d+20|0]=1}b=b+1|0;if((e|0)!=(b|0)){continue}break}}b=0;if((m|0)>0){while(1){e=b<<2;d=Pb(k,q[e+(g+608|0)>>2]);if(d){o[d+20|0]=2}q[e+(g+128|0)>>2]=d;b=b+1|0;if((m|0)!=(b|0)){continue}break}}b=0;if((s|0)>0){while(1){e=b<<2;d=Pb(k,q[e+(g+480|0)>>2]);if(d){o[d+20|0]=2}q[e+(g+192|0)>>2]=d;b=b+1|0;if((s|0)!=(b|0)){continue}break}}b=0;if((f|0)>0){while(1){d=Pb(k,q[(g+544|0)+(b<<2)>>2]);if(d){o[d+20|0]=2}b=b+1|0;if((f|0)!=(b|0)){continue}break}}h:{i:{if(r[c+76|0]>1){break i}n=(m+s|0)+h|0;b=o[c+160|0];e=(n|0)>(b|0)?n:b;if(e){b=0;j=(m|0)>0;while(1){j:{if(b>>>0>=e>>>0){break j}f=0;if(!j){break j}while(1){i=f<<2;l=i+(g+128|0)|0;d=q[l>>2];if(!d){d=qb(k,q[i+(g+608|0)>>2]);q[l>>2]=d}q[(g- -64|0)+(b<<2)>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break j}f=f+1|0;if((f|0)<(m|0)){continue}break}}k:{if(b>>>0>=e>>>0){break k}f=0;if((s|0)<=0){break k}while(1){i=f<<2;l=i+(g+192|0)|0;d=q[l>>2];if(!d){d=qb(k,q[i+(g+480|0)>>2]);q[l>>2]=d}q[(g- -64|0)+(b<<2)>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break k}f=f+1|0;if((f|0)<(s|0)){continue}break}}l:{if(b>>>0>=e>>>0){break l}f=0;if((h|0)<=0){break l}while(1){i=f<<2;l=i+(g+256|0)|0;d=q[l>>2];if(!d){d=qb(k,q[i+(g+416|0)>>2]);q[l>>2]=d}q[(g- -64|0)+(b<<2)>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break l}f=f+1|0;if((f|0)<(h|0)){continue}break}}if(b>>>0>>0){continue}break}b=r[c+160|0]}f=b<<24>>24;m:{if((f|0)<1){break m}e=0;if(!r[c+708|0]){while(1){j=w(e,12)+c|0;d=q[(g- -64|0)+(e<<2)>>2];q[j+876>>2]=d;b=988;if(!d){break h}b=0;i=q[t>>2];n:{if(i){l=q[d+8>>2];while(1){d=q[((b<<2)+t|0)+264>>2];if((l|0)==q[d+16>>2]?d:0){break n}b=b+1|0;if((i|0)!=(b|0)){continue}break}break n}d=0}q[j+880>>2]=d;e=e+1|0;if((e|0)<(f|0)){continue}break m}}while(1){j=w(e,12)+c|0;d=q[(g- -64|0)+(o[(c+e|0)+709|0]<<2)>>2];q[j+876>>2]=d;b=988;if(!d){break h}b=0;i=q[t>>2];o:{if(i){l=q[d+8>>2];while(1){d=q[((b<<2)+t|0)+264>>2];if((l|0)==q[d+16>>2]?d:0){break o}b=b+1|0;if((i|0)!=(b|0)){continue}break}break o}d=0}q[j+880>>2]=d;e=e+1|0;if((e|0)<(f|0)){continue}break}}if(r[c+76|0]){break i}b=o[c+161|0];e=(n|0)>(b|0)?n:b;if(e){b=0;n=(s|0)>0;while(1){p:{if(b>>>0>=e>>>0){break p}f=0;if(!n){break p}while(1){j=f<<2;i=j+(g+192|0)|0;d=q[i>>2];if(!d){d=qb(k,q[j+(g+480|0)>>2]);q[i>>2]=d}q[(b<<2)+g>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break p}f=f+1|0;if((f|0)<(s|0)){continue}break}}q:{if(b>>>0>=e>>>0){break q}f=0;if((m|0)<=0){break q}while(1){j=f<<2;i=j+(g+128|0)|0;d=q[i>>2];if(!d){d=qb(k,q[j+(g+608|0)>>2]);q[i>>2]=d}q[(b<<2)+g>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break q}f=f+1|0;if((f|0)<(m|0)){continue}break}}r:{if(b>>>0>=e>>>0){break r}f=0;if((h|0)<=0){break r}while(1){j=f<<2;i=j+(g+256|0)|0;d=q[i>>2];if(!d){d=qb(k,q[j+(g+416|0)>>2]);q[i>>2]=d}q[(b<<2)+g>>2]=d;b=b+1|0;if(b>>>0>=e>>>0){break r}f=f+1|0;if((f|0)<(h|0)){continue}break}}if(b>>>0>>0){continue}break}b=r[c+161|0]}f=b<<24>>24;if((f|0)<1){break i}h=0;if(!r[c+725|0]){while(1){e=w(h,12)+c|0;d=q[(h<<2)+g>>2];q[e+1068>>2]=d;b=988;if(!d){break h}b=0;m=q[t>>2];s:{if(m){s=q[d+8>>2];while(1){d=q[((b<<2)+t|0)+264>>2];if((s|0)==q[d+16>>2]?d:0){break s}b=b+1|0;if((m|0)!=(b|0)){continue}break}break s}d=0}q[e+1072>>2]=d;h=h+1|0;if((h|0)<(f|0)){continue}break i}}while(1){e=w(h,12)+c|0;d=q[(o[(c+h|0)+726|0]<<2)+g>>2];q[e+1068>>2]=d;b=988;if(!d){break h}b=0;m=q[t>>2];t:{if(m){s=q[d+8>>2];while(1){d=q[((b<<2)+t|0)+264>>2];if((s|0)==q[d+16>>2]?d:0){break t}b=b+1|0;if((m|0)!=(b|0)){continue}break}break t}d=0}q[e+1072>>2]=d;h=h+1|0;if((h|0)<(f|0)){continue}break}}h=0;while(1){c=q[((h<<3)+k|0)+4>>2];u:{if(!c|r[c+20|0]){break u}Oe(k,q[a+244>>2],q[c+8>>2]);f=q[a+232>>2];if((f|0)<1){break u}b=q[a+228>>2];d=0;while(1){if(!(!b|q[b+16>>2]!=q[c+8>>2])){vb(q[a+224>>2],d,2);break u}b=b+40980|0;d=d+1|0;if((d|0)<(f|0)){continue}break}}h=h+1|0;if((h|0)!=64){continue}break}b=0}xa=g+672|0;return b}function de(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{d=a+ -1|0;j:{if(d>>>0>30){break j}k:{l:{switch(d-2|0){default:d=r[a+165232|0];e=0;m:{if(!d){break m}f=o[b+8|0];if((f|0)<=32){h=q[b>>2];e=h>>>f-d&-1>>>32-d;if((f|0)>=(d|0)){break m}e=h<>>32-d;break m}e=q[b+4>>2];h=f-d|0;if((h|0)<=31){e=(e&-1>>>64-f)<<(d-f|0)+32|q[b>>2]>>>h;break m}e=e>>>h+ -32&-1>>>32-d}h=a<<2;e=q[h+158784>>2]+(e<<1)|0;f=r[e|0];e=r[e+1|0];n:{if(e){h=r[b+8|0]-d|0;d=h<<24>>24;j=(d|0)>0?h:0;o[b+8|0]=j;if((d|0)<0){break d}h=j&255;d=b;m=j;n=r[a+165232|0];l=q[(a<<2)+160768>>2];o:{if(j<<24>>24<=32){g=q[b>>2];j=g>>>h-e&-1>>>32-e;if(h>>>0>=e>>>0){break o}j=g<>>32-e;break o}i=q[b+4>>2];g=h-e|0;if((g|0)<=31){j=(i&-1>>>64-h)<<(e-h|0)+32|q[b>>2]>>>g;break o}j=i>>>g+ -32&-1>>>32-e}f=j+f&65535;h=m+(n-r[l+w(f,5)|0]|0)|0;e=h<<24>>24;o[d+8|0]=(e|0)>0?h:0;if((e|0)>-1){break n}break d}e=r[b+8|0]-r[q[h+160768>>2]+w(f,5)|0]|0;d=e<<24>>24;o[b+8|0]=(d|0)>0?e:0;if((d|0)<0){break d}}d=q[(a<<2)+160768>>2]+w(f,5)|0;p[c>>1]=o[d+1|0];p[c+2>>1]=o[d+2|0];p[c+4>>1]=o[d+3|0];f=d+4|0;g=3;break k;case 3:case 5:case 7:case 8:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:l=a>>>0>15;d=l?11:a;f=r[d+165232|0];g=0;p:{if(!f){break p}e=o[b+8|0];if((e|0)<=32){i=q[b>>2];g=i>>>e-f&-1>>>32-f;if((e|0)>=(f|0)){break p}g=i<>>32-f;break p}h=q[b+4>>2];i=e-f|0;if((i|0)<=31){g=(h&-1>>>64-e)<<(f-e|0)+32|q[b>>2]>>>i;break p}g=h>>>i+ -32&-1>>>32-f}h=g;i=d<<2;h=q[i+158784>>2]+(h<<1)|0;e=r[h|0];h=r[h+1|0];q:{if(h){i=r[b+8|0]-f|0;f=i<<24>>24;g=(f|0)>0?i:0;o[b+8|0]=g;if((f|0)<0){break d}i=g&255;f=b;m=g;t=r[d+165232|0];n=q[(d<<2)+163232>>2];r:{if(g<<24>>24<=32){k=q[b>>2];g=k>>>i-h&-1>>>32-h;if(i>>>0>=h>>>0){break r}g=k<>>32-h;break r}j=q[b+4>>2];k=i-h|0;if((k|0)<=31){g=(j&-1>>>64-i)<<(h-i|0)+32|q[b>>2]>>>k;break r}g=j>>>k+ -32&-1>>>32-h}e=g+e&65535;i=m+(t-r[n+w(e,3)|0]|0)|0;h=i<<24>>24;o[f+8|0]=(h|0)>0?i:0;if((h|0)>-1){break q}break d}h=r[b+8|0]-r[q[i+163232>>2]+w(e,3)|0]|0;f=h<<24>>24;o[b+8|0]=(f|0)>0?h:0;if((f|0)<0){break d}}k=l?a:0;a=q[(d<<2)+163232>>2]+w(e,3)|0;p[c>>1]=o[a+1|0];f=a+2|0;a=d;g=1;break k;case 0:f=r[b+8|0];while(1){g=w(e,5);a=f<<24>>24;s:{t:{if((a|0)<=32){j=q[b>>2];i=j;d=-1;if((a|0)>=1){break t}f=f+ -1|0;d=f<<24>>24;f=(d|0)>0?f:0;if((d|0)<0){break i}a=j<<1-a;break s}i=q[b+4>>2];d=-33}f=((a|0)>1?f:1)+ -1|0;a=i>>>a+d|0}h=o[(g+(a&1)|0)+71393|0]+h|0;e=h&65535;if(!r[w(e,5)+71392|0]){continue}break}o[b+8|0]=f;a=w(e,5);p[c+4>>1]=o[a+71395|0];p[c+2>>1]=o[a+71394|0];p[c>>1]=o[a+71393|0];f=a+71396|0;a=3;g=3;break k;case 9:case 10:case 11:case 12:break j;case 2:case 4:case 6:break l}}g=(a<<2)+165184|0;d=q[g>>2];if(!r[d|0]){f=r[b+8|0];while(1){i=f<<24>>24;u:{v:{if((i|0)<=32){l=q[b>>2];j=l;d=-1;if((i|0)>=1){break v}f=f+ -1|0;d=f<<24>>24;f=(d|0)>0?f:0;o[b+8|0]=f;if((d|0)<0){break d}i=l<<1-i;break u}j=q[b+4>>2];d=-33}f=((i|0)>1?f:1)+ -1|0;o[b+8|0]=f;i=j>>>d+i|0}d=q[g>>2];h=o[((d+w(e,3)|0)+(i&1)|0)+1|0]+h|0;e=h&65535;if(!r[w(e,3)+d|0]){continue}break}}d=w(e,3)+d|0;p[c>>1]=o[d+1|0];f=d+2|0;g=1}p[(g<<1)+c>>1]=o[f|0]}if(r[a+165248|0]){i=a>>>0<5?4:2;d=0;f=0;while(1){g=(d<<1)+c|0;w:{if(!s[g>>1]){break w}d=o[b+8|0];x:{y:{if((d|0)<=32){h=q[b>>2];e=-1;if((d|0)>=1){break y}j=d+ -1|0;e=j<<24>>24;o[b+8|0]=(e|0)>0?j:0;if((e|0)<0){break d}d=h<<1-d;break x}h=q[b+4>>2];e=-33}o[b+8|0]=((d|0)>1?d:1)+ -1;d=h>>>d+e|0}if(!(d&1)){break w}p[g>>1]=0-s[g>>1]}f=f+1|0;d=f&255;if(i>>>0>d>>>0){continue}break}}if(a>>>0<16?(a|0)!=11:0){break b}a=s[c>>1];if((a|0)!=16?(a|0)!=65520:0){break h}j=a<<16>>16;d=r[b+8|0];e=4;while(1){a=d<<24>>24;z:{if((a|0)<=32){f=q[b>>2];g=f>>>a+ -1|0;if((a|0)>=1){break z}g=f<<1-a;break z}g=q[b+4>>2]>>>a+ -33|0}d=d+ -1|0;a=d<<24>>24;d=(a|0)>0?d:0;a=(a|0)>-1?g&1?0:13:1;if(a){if((a|0)!=13){break g}o[b+8|0]=d;f=255;a=e&255;g=0;A:{if(!a){break A}h=d&255;if(d<<24>>24<=32){i=q[b>>2];g=i>>>h-a&-1>>>32-a;if((d&255)>>>0>=(e&255)>>>0){break A}g=i<>>32-a;break A}g=q[b+4>>2];i=h-a|0;if((i|0)<=31){g=(g&-1>>>64-h)<<(a-h|0)+32|q[b>>2]>>>i;break A}g=g>>>i+ -32&-1>>>32-a}e=d-e|0;d=e<<24>>24;o[b+8|0]=(d|0)>0?e:0;if((d|0)<0){break a}a=g+(1<>1]=(j|0)<0?0-a|0:a;break h}else{e=e+1|0;continue}}}o[b+8|0]=f;break d}a=s[c+2>>1];i=a<<16>>16;if((a|0)!=65520?(a|0)!=16:0){break e}d=r[b+8|0];e=4;while(1){a=d<<24>>24;B:{if((a|0)>=33){g=q[b+4>>2]>>>a+ -33|0;break B}f=q[b>>2];g=f>>>a+ -1|0;if((a|0)>=1){break B}g=f<<1-a}d=d+ -1|0;a=d<<24>>24;d=(a|0)>0?d:0;a=(a|0)>-1?g&1?0:13:1;if(!a){e=e+1|0;continue}break}if((a|0)==13){break f}}o[b+8|0]=d;break d}o[b+8|0]=d;f=255;a=e&255;g=0;C:{if(!a){break C}h=d&255;if(d<<24>>24>=33){g=q[b+4>>2];j=h-a|0;if((j|0)>=32){g=g>>>j+ -32&-1>>>32-a;break C}g=(g&-1>>>64-h)<<(a-h|0)+32|q[b>>2]>>>j;break C}j=q[b>>2];g=j>>>h-a&-1>>>32-a;if((d&255)>>>0>=(e&255)>>>0){break C}g=j<>>32-a}e=d-e|0;d=e<<24>>24;o[b+8|0]=(d|0)>0?e:0;if((d|0)<0){break a}a=g+(1<>1]=i}if((k&240)==16){break c}break b}f=255;break a}d=p[c>>1];a=d>>31;a=a^a+d;d=s[(k<<1)+72176>>1];if((a|0)<=(d|0)){g=i<<16;a=g>>31;if((a^a+(g>>16))<=(d|0)){break b}}p[c>>1]=0;p[c+2>>1]=0}f=r[b+8|0]}return f<<24>>24}function qi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=xa+ -64|0;xa=h;q[h+56>>2]=0;q[h+48>>2]=0;q[h+52>>2]=0;q[h+40>>2]=0;q[h+44>>2]=0;q[h+32>>2]=0;q[h+36>>2]=0;q[h+24>>2]=0;q[h+28>>2]=0;a:{if(!c|(!a|!b)){break a}k=s[a+10>>1];b=Qa(b,0,88);f=a+2248|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2240|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2232|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2224|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2216|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2208|0;q[f>>2]=0;q[f+4>>2]=0;f=a+2200|0;q[f>>2]=0;q[f+4>>2]=0;q[a+2192>>2]=0;q[a+2196>>2]=0;b:{if(d>>>0<128){break b}if(ih(c)){break b}q[b>>2]=128;break a}ec(h+24|0,c,d);c:{if(r[a|0]){o[h+22|0]=r[a+2266|0];c=xh(h,h+24|0);o[b+9|0]=c;if(c){break c}}yh(a,b,h+24|0,a+1657|0,q[a+324>>2]);if(r[b+9|0]){break c}e=r[a+24|0];if((e+ -1&255)>>>0>=64){o[b+9|0]=12;break c}q[b>>2]=((q[h+48>>2]-q[h+52>>2]<<3)-q[h+32>>2]|0)+ -25>>>3;if(r[h+44|0]){o[b+9|0]=14;break c}if(!(r[a|0]|r[a+1|0]|(r[a+5|0]?(e+ -7&255)>>>0>=2:0))){c=e&255;o[a+5|0]=(c|0)==7?0:(c|0)==8?7:e}if(!(!r[a+2265|0]|(e+ -5&255)>>>0>1)){o[a+20|0]=1;e=2}c=(e&255)==1;o[a+21|0]=c;Qa(b+19|0,0,68);l=c?2:e;d:{if(r[a+20|0]){o[b+23|0]=770;o[b+24|0]=3;o[b+19|0]=2;break d}if(r[a+1656|0]){d=r[a+2092|0];o[b+19|0]=d;f=r[a+2093|0];o[b+20|0]=f;g=r[a+2094|0];o[b+21|0]=g;i=r[a+2095|0];o[b+22|0]=i;c=0;e=0;if(d&1){o[b+23|0]=770;o[b+24|0]=3;e=2}if(d){j=b+23|0;while(1){o[(e&255)+j|0]=2;o[((e|1)&255)+j|0]=3;e=e+2|0;c=c+2&255;if(c>>>0>>0){continue}break}}if(f){c=0;d=b+23|0;while(1){o[d+(e&255)|0]=4;o[d+((e|1)&255)|0]=5;e=e+2|0;c=c+2&255;if(c>>>0>>0){continue}break}}f=g&254;if(f){c=0;d=b+23|0;while(1){o[d+(e&255)|0]=6;o[d+((e|1)&255)|0]=7;e=e+2|0;c=c+2&255;if(c>>>0>>0){continue}break}}if(g&1){o[(b+(e&255)|0)+23|0]=8;e=e|1}if(!i){break d}c=0;while(1){o[(b+(e&255)|0)+23|0]=9;e=e+1|0;c=c+1|0;if((c&255)>>>0>>0){continue}break}break d}c=r[a+5|0]+ -1|0;if(c>>>0<=6){e:{switch(c-1|0){default:o[b+23|0]=770;o[b+24|0]=3;o[b+19|0]=2;break d;case 0:o[b+23|0]=770;o[b+24|0]=3;o[b+19|0]=2;break d;case 1:o[b+23|0]=513;o[b+24|0]=2;o[b+19|0]=3;o[b+25|0]=3;break d;case 2:o[b+23|0]=134414849;o[b+24|0]=525058;o[b+25|0]=2051;o[b+26|0]=8;o[b+21|0]=1;o[b+19|0]=3;break d;case 3:o[b+23|0]=100860417;o[b+24|0]=393986;o[b+25|0]=1539;o[b+26|0]=6;o[b+21|0]=2;o[b+19|0]=3;o[b+27|0]=7;break d;case 4:o[b+21|0]=33620226;o[b+22|0]=131329;o[b+23|0]=513;o[b+24|0]=2;o[b+25|0]=151455235;o[b+26|0]=591622;o[b+27|0]=2311;o[b+28|0]=9;o[b+19|0]=3;break d;case 5:break e}}o[b+19|0]=16908803;o[b+20|0]=66050;o[b+21|0]=258;o[b+22|0]=1;o[b+23|0]=67305985;o[b+24|0]=262914;o[b+25|0]=1027;o[b+26|0]=4;o[b+27|0]=151455237;o[b+28|0]=591622;o[b+29|0]=2311;o[b+30|0]=9;break d}f=r[a+24|0]-r[a+23|0]|0;e=f&255;f:{if(f&1){g=e+ -1|0;d=(g|0)/2|0;if(!r[a+22|0]){g=1;o[b+23|0]=1;o[b+21|0]=d;c=d+1|0;o[b+19|0]=c;i=f&255;if(i>>>0>2){while(1){j=b+g|0;o[j+23|0]=770;o[j+24|0]=3;g=g+2&255;if(g>>>0<=d>>>0){continue}break}}if((c&255)>>>0>=i>>>0){break f}while(1){d=b+(c&255)|0;o[d+23|0]=1798;o[d+24|0]=7;c=c+2|0;if((c&255)>>>0<(f&255)>>>0){continue}break}break f}o[b+19|0]=d;o[b+21|0]=d+1;if((f&255)>>>0>2){c=0;while(1){i=b+c|0;o[i+23|0]=770;o[i+24|0]=3;c=c+2&255;if(c>>>0>>0){continue}break}}c=d&255;if((c|0)<(g|0)){while(1){d=b+c|0;o[d+23|0]=1798;o[d+24|0]=7;c=c+2&255;if((c|0)<(g|0)){continue}break}}o[(b+g|0)+23|0]=8;break f}d=f>>>1|0;c=d&127;o[b+21|0]=c;o[b+19|0]=c;if(!(d&1)){if(c){d=0;while(1){g=b+d|0;o[g+23|0]=770;o[g+24|0]=3;d=d+2&255;if(d>>>0>>0){continue}break}}d=f&255;if(c>>>0>=d>>>0){break f}while(1){g=b+(c&255)|0;o[g+23|0]=1798;o[g+24|0]=7;c=c+2|0;if((c&255)>>>0>>0){continue}break}break f}d=1;o[b+23|0]=1;if(c){while(1){g=b+d|0;o[g+23|0]=770;o[g+24|0]=3;d=d+2&255;if(d>>>0<=c>>>0){continue}break}}g=e+ -1|0;c=c+1|0;if((g|0)>(c|0)){d=c;while(1){c=b+c|0;o[c+23|0]=1798;o[c+24|0]=7;d=d+2|0;c=d&255;if((g|0)>(c|0)){continue}break}}o[(b+g|0)+23|0]=8}o[b+22|0]=r[a+23|0];if((f&255)>>>0>=r[a+24|0]){break d}while(1){o[(b+e|0)+23|0]=9;e=e+1|0;if(e>>>0>2]=f;c=b;d=r[a+3|0];if(d>>>0<=11){d=q[(d<<2)+43120>>2]}else{d=0}q[c+12>>2]=d;c=r[a+4|0];o[b+18|0]=0;o[b+16|0]=0;o[b+17|0]=c;c=r[a+1|0]!=0;o[b+18|0]=c;o[b+18|0]=r[a|0]?2:c;o[b+87|0]=r[a+1132|0];d=q[a+124>>2];if(!((e|0)==r[a+122|0]?d:0)){c=r[r[a+2264|0]+43624|0];if(!(r[a+841|0]!=1?!(r[a+842|0]?0:r[a+840|0]==1):0)){c=c<<1}if(d){Ra(d)}q[a+124>>2]=0;m=a,n=Ta(w(f,c&255)),q[m+124>>2]=n;o[a+122|0]=l}f=q[a+124>>2];d=r[a+840|0];if(!(r[a+841|0]!=1?(d|0)!=1:0)){g=r[a+842|0];if(!g){q[b+4>>2]=q[b+4>>2]<<1;q[b+12>>2]=q[b+12>>2]<<1;k=k<<1}g:{c=r[a+25|0];if(!c){break g}e=0;while(1){if(q[((e<<2)+a|0)+892>>2]){e=e+1|0;if(e>>>0>>0){continue}break g}break}o[b+9|0]=25;break c}c=b;if((d|0)==1){o[b+17|0]=5;d=1}else{d=3}o[c+16|0]=g?2:d}e=ei(a,a+328|0,f,l&255,k&65535,r[a+2264|0]);o[a+12|0]=0;c=q[a+16>>2]+1|0;q[a+16>>2]=c;if(r[a+4|0]!=23){if(c>>>0>1){break a}q[b+4>>2]=0;break a}if(c){break a}q[b+4>>2]=0;break a}e=0;while(1){b=q[((e<<2)+a|0)+584>>2];if(b){Qa(b,0,s[a+10>>1]<<2)}e=e+1|0;if((e|0)!=64){continue}break}e=0;while(1){b=q[((e<<2)+a|0)+892>>2];if(b){Vh(b)}e=e+1|0;if((e|0)!=48){continue}break}e=0}xa=h- -64|0;return e}function qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;g=xa-80|0;m=1<>1];d=p[a+t>>1];h=p[a+gb>>1];i=p[a+hb>>1];j=p[a+ib>>1];k=p[a+jb>>1];n=p[a+kb>>1];l=p[a+lb>>1];q[g+44>>2]=((((((w(c,U)+w(d,V)|0)+w(h,T)|0)+w(i,S)|0)+w(j,R)|0)+w(k,Q)|0)+w(n,P)|0)+w(l,O);q[g+40>>2]=((((((w(c,aa)+w(d,ba)|0)+w(h,$)|0)+w(i,_)|0)+w(j,Z)|0)+w(k,Y)|0)+w(n,X)|0)+w(l,W);q[g+36>>2]=((((((w(c,ia)+w(d,ja)|0)+w(h,ha)|0)+w(i,ga)|0)+w(j,fa)|0)+w(k,ea)|0)+w(n,da)|0)+w(l,ca);q[g+32>>2]=((((((w(c,qa)+w(d,ra)|0)+w(h,pa)|0)+w(i,oa)|0)+w(j,na)|0)+w(k,ma)|0)+w(n,la)|0)+w(l,ka);q[g+28>>2]=((((((w(c,za)+w(d,Aa)|0)+w(h,ya)|0)+w(i,wa)|0)+w(j,va)|0)+w(k,ua)|0)+w(n,ta)|0)+w(l,sa);q[g+24>>2]=((((((w(c,Ha)+w(d,Ia)|0)+w(h,Ga)|0)+w(i,Fa)|0)+w(j,Ea)|0)+w(k,Da)|0)+w(n,Ca)|0)+w(l,Ba);q[g+20>>2]=((((((w(c,Pa)+w(d,Qa)|0)+w(h,Oa)|0)+w(i,Na)|0)+w(j,Ma)|0)+w(k,La)|0)+w(n,Ka)|0)+w(l,Ja);q[g+16>>2]=((((((w(c,Xa)+w(d,Ya)|0)+w(h,Wa)|0)+w(i,Va)|0)+w(j,Ua)|0)+w(k,Ta)|0)+w(n,Sa)|0)+w(l,Ra);j=p[a+ob>>1];k=p[a>>1];n=w(j,bb)+w(k,cb)|0;l=p[a+nb>>1];o=p[a+mb>>1];u=w(l,db)+w(o,eb)|0;r=n-u|0;c=p[a+qb>>1];d=p[a+pb>>1];h=p[a+rb>>1];i=p[a+sb>>1];s=((w(c,A)+w(d,B)|0)+w(h,z)|0)+w(i,y)|0;v=r-s|0;q[g+64>>2]=v;r=r+s|0;q[g+60>>2]=r;j=w(j,Za)+w(k,_a)|0;k=w(l,$a)+w(o,ab)|0;l=j-k|0;o=((w(c,E)+w(d,F)|0)+w(h,D)|0)+w(i,C)|0;s=l-o|0;q[g+68>>2]=s;l=l+o|0;q[g+56>>2]=l;j=j+k|0;k=((w(c,I)+w(d,J)|0)+w(h,H)|0)+w(i,G)|0;o=j-k|0;q[g+72>>2]=o;j=j+k|0;q[g+52>>2]=j;k=n+u|0;c=((w(c,M)+w(d,N)|0)+w(h,L)|0)+w(i,K)|0;d=k-c|0;q[g+76>>2]=d;c=c+k|0;q[g+48>>2]=c;c=q[g+16>>2]+(c+m|0)>>e;c=(c|0)>-32768?c:-32768;p[b>>1]=(c|0)<32767?c:32767;c=(d+m|0)-q[g+44>>2]>>e;c=(c|0)>-32768?c:-32768;p[b+16>>1]=(c|0)<32767?c:32767;c=q[g+20>>2]+(j+m|0)>>e;c=(c|0)>-32768?c:-32768;p[b+2>>1]=(c|0)<32767?c:32767;c=(m+o|0)-q[g+40>>2]>>e;c=(c|0)>-32768?c:-32768;p[b+18>>1]=(c|0)<32767?c:32767;c=q[g+24>>2];d=c+(m+l|0)>>e;d=(d|0)>-32768?d:-32768;p[b+4>>1]=(d|0)<32767?d:32767;d=q[g+36>>2];h=(m+s|0)-d>>e;h=(h|0)>-32768?h:-32768;p[b+20>>1]=(h|0)<32767?h:32767;h=q[g+28>>2];i=h+(m+r|0)>>e;i=(i|0)>-32768?i:-32768;p[b+6>>1]=(i|0)<32767?i:32767;i=q[g+32>>2];j=(m+v|0)-i>>e;j=(j|0)>-32768?j:-32768;p[b+22>>1]=(j|0)<32767?j:32767;i=i+(q[g+64>>2]+m|0)>>e;i=(i|0)>-32768?i:-32768;p[b+8>>1]=(i|0)<32767?i:32767;h=(q[g+60>>2]+m|0)-h>>e;h=(h|0)>-32768?h:-32768;p[b+24>>1]=(h|0)<32767?h:32767;d=d+(q[g+68>>2]+m|0)>>e;d=(d|0)>-32768?d:-32768;p[b+10>>1]=(d|0)<32767?d:32767;c=(q[g+56>>2]+m|0)-c>>e;c=(c|0)>-32768?c:-32768;p[b+26>>1]=(c|0)<32767?c:32767;c=q[g+40>>2]+(q[g+72>>2]+m|0)>>e;c=(c|0)>-32768?c:-32768;p[b+12>>1]=(c|0)<32767?c:32767;c=(q[g+52>>2]+m|0)-q[g+20>>2]>>e;c=(c|0)>-32768?c:-32768;p[b+28>>1]=(c|0)<32767?c:32767;c=q[g+44>>2]+(q[g+76>>2]+m|0)>>e;c=(c|0)>-32768?c:-32768;p[b+14>>1]=(c|0)<32767?c:32767;c=(q[g+48>>2]+m|0)-q[g+16>>2]>>e;c=(c|0)>-32768?c:-32768;p[b+30>>1]=(c|0)<32767?c:32767;break a}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}f=f>>1;a=a+2|0;b=b+tb|0;x=x+1|0;if((x|0)!=16){continue}break}}function mi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;l=xa-14352|0;xa=l;k=s[b+10440>>1];a:{if(k){e=r[b+10442|0];h=10;if(!e|k>>>0>>0){break a}e=s[a+10>>1];p[l>>1]=0;h=r[b+2|0];if(h>>>0>=2){e=e>>>3|0;i=h>>>0>2?h:2;n=1;while(1){f=w(e,r[(b+n|0)+4|0])+f|0;p[(n<<1)+l>>1]=f;n=n+1|0;if((i|0)!=(n|0)){continue}break}}a=r[a+6|0];S=a?70832:70854;T=a?22:6;j=r[b|0];J=b+1936|0;f=0;n=0;i=0;while(1){b:{if(!(j&255)){j=0;break b}C=r[f+S|0];U=C+1|0;e=s[b+1936>>1];f=s[b+2040>>1];a=0;while(1){z=a+1|0;K=z<<1;L=K+J|0;j=s[L>>1];c:{if(((j>>>0<(f&65535)>>>0?j:f)&65535)>>>0<=(e&65535)>>>0){e=j;break c}M=a<<1;V=M+J|0;D=0;E=0;while(1){d:{if(h&255){x=0;while(1){N=b+x|0;O=N+7802|0;j=r[O|0];if(j){P=w(x,240)+b|0;e=P+16|0;Q=e+M|0;W=e+K|0;X=(x<<1)+l|0;h=0;while(1){e=(h<<1)+P|0;f=a&65535;e:{if(s[e+3002>>1]>f>>>0|s[e+4922>>1]<=f>>>0){break e}u=r[((w(x,120)+b|0)+h|0)+2042|0];if((u&240)!=16?(u+ -1&255)>>>0>=11:0){break e}f:{if(C>>>0<=10){if((u|0)==(C|0)|(u|0)==(U|0)){break f}break e}if((u|0)!=(C|0)){break e}}e=u>>>0>4;F=r[N+5|0]<<2>>>(e?1:2)|0;if(!F){break e}Y=w(D,F);Z=e?2:4;e=r[u+70864|0];f=r[b+10442|0];m=e>>>0>>0?e:f;_=64-m|0;y=m+ -32|0;$=32-m|0;aa=s[W>>1]-s[Q>>1]&65535;f=0;j=0;while(1){e=f+Y|0;if(e>>>0>>0){G=s[Q>>1]+(s[X>>1]+w(e,Z)|0)|0;g:{if(!(g&65535)){e=i&65535;i=e+m|0;if(i>>>0<=k>>>0){f=(l+16|0)+w(A&65535,12)|0;o[f+8|0]=m;h:{if(m>>>0>=33){i:{j:{if(!y){e=0;break j}g=q[c+8>>2];k:{if(g>>>0>=y>>>0){e=q[c>>2]<<32-g>>>_|0;break k}e=y-g|0;e=(q[c>>2]&(-1<>2]>>>32-e}if(r[c+20|0]){break j}if(g>>>0>y>>>0){g=g-y|0;q[c+8>>2]=g;break i}Oa(c,y)}g=q[c+8>>2]}q[f+4>>2]=e;if(g>>>0>=32){e=q[c>>2]<<32-g}else{e=q[c>>2]<<32-g|q[c+4>>2]>>>g}if(!r[c+20|0]){if(g>>>0>=33){q[c+8>>2]=g+ -32;q[f>>2]=e;break h}Oa(c,32)}q[f>>2]=e;break h}l:{if(!m){g=0;break l}e=q[c+8>>2];m:{if(e>>>0>=m>>>0){g=q[c>>2]<<32-e>>>$|0;break m}g=m-e|0;g=(q[c>>2]&(-1<>2]>>>32-g}if(r[c+20|0]){break l}if(e>>>0>m>>>0){q[c+8>>2]=e-m;break l}Oa(c,m)}q[f>>2]=g;q[f+4>>2]=0}de(u,f,((G&65535)<<1)+d|0);Wc(f);A=A+1|0;g=0;break g}if(k>>>0>e>>>0){t=A&65535;i=(l+16|0)+w(t,12)|0;H=k-e|0;o[i+8|0]=H;e=H&255;n:{if(e>>>0>=33){g=e+ -32|0;o:{p:{if(!g){e=0;break p}f=q[c+8>>2];q:{if(f>>>0>=g>>>0){e=q[c>>2]<<32-f>>>64-e|0;break q}e=g-f|0;e=(q[c>>2]&(-1<>2]>>>32-e}if(r[c+20|0]){break p}if(f>>>0>g>>>0){g=f-g|0;q[c+8>>2]=g;break o}Oa(c,g)}g=q[c+8>>2]}q[i+4>>2]=e;if(g>>>0>=32){e=q[c>>2]<<32-g}else{e=q[c>>2]<<32-g|q[c+4>>2]>>>g}if(!r[c+20|0]){if(g>>>0>=33){q[c+8>>2]=g+ -32;q[i>>2]=e;break n}Oa(c,32)}q[i>>2]=e;break n}r:{if(!e){f=0;break r}g=q[c+8>>2];s:{if(g>>>0>=e>>>0){f=q[c>>2]<<32-g>>>32-e|0;break s}f=e-g|0;f=(q[c>>2]&(-1<>2]>>>32-f}if(r[c+20|0]){break r}if(g>>>0>e>>>0){q[c+8>>2]=g-e;break r}Oa(c,e)}q[i>>2]=f;q[i+4>>2]=0}e=w(t,12)+l|0;o[i+8|0]=r[i+8|0]+r[(e+4|0)+8|0];Wc(i);f=r[e+12|0];t=f<<24>>24;t:{if((t|0)>=33){v=q[e+8>>2];I=e;B=t+ -32&255;g=f-B|0;u:{if((g|0)<=31){g=(v&-1>>>64-f)<<(B-f|0)+32|q[e+4>>2]>>>g;break u}g=v>>>g+ -32&-1>>>32-B}v=g+q[i+4>>2]|0;q[I+8>>2]=v;i=q[i>>2];g=e;if((t|0)<=63){f=v<<64-f|q[e+4>>2]>>>f+ -32}else{f=v>>>f+ -64|0}q[g+4>>2]=f+i;break t}B=q[i>>2];I=e;v=0;v:{if(!t){break v}g=q[e+4>>2];v=g>>>t-f&-1>>>32-f;if((t|0)>=(f|0)){break v}v=g<>>32-f}q[I+4>>2]=v+B;q[e+8>>2]=q[i+4>>2]}o[e+12|0]=t+H}o[l+6172|0]=0;o[l+6161|0]=0;o[l+6160|0]=u;p[l+6162>>1]=G;g=1;i=k;break g}e=(l+6160|0)+((n-A&65535)<<4)|0;o[e+12|0]=0;o[e+1|0]=0;o[e|0]=u;p[e+2>>1]=G}n=n+1|0;j=j+1|0;f=j&65535;if(F>>>0>f>>>0){continue}}break}j=r[O|0]}h=h+1|0;if(h>>>0<(j&255)>>>0){continue}break}}x=x+1|0;h=r[b+2|0];if(x>>>0>>0){continue}break}break d}h=0}E=E+1|0;D=E&255;e=s[L>>1];f=s[b+2040>>1];if(D<<2<((e>>>0>>0?e:f)-s[V>>1]|0)){continue}break}}a=z;j=r[b|0];if(a>>>0>>0){continue}break}}R=R+1|0;f=R&65535;if(T>>>0>f>>>0){continue}break}c=A&65535;h=10;if(!c){break a}a=n&65535;h=0;if(c>>>0>a>>>0){break a}u=(a>>>0)/(c>>>0)|0;t=(n&65535)-c|0;i=1;while(1){x=w(i,A)-A|0;j=0;while(1){h=0;while(1){a=h+x&65535;if((t|0)>(a|0)){b=(h+j>>>0)%(c>>>0)|0;e=(l+6160|0)+(a<<4)|0;w:{if(r[e+1|0]){break w}b=(l+16|0)+w(b,12)|0;k=r[b+8|0];a=k<<24>>24;if((a|0)<1){break w}z=e|4;y=r[e+12|0];if(y){f=q[b>>2];m=q[z>>2];x:{if((a|0)<=32){n=q[e+8>>2]<>>32-k;f=(-1<>2]&(-1<>2]=f|k;q[b+4>>2]=g|n;a=a+y|0;o[b+8|0]=a}if((de(r[e|0],b,(s[e+2>>1]<<1)+d|0)|0)<=-1){g=q[b+4>>2];q[z>>2]=q[b>>2];q[z+4>>2]=g;q[z+8>>2]=q[b+8>>2];o[e|12]=a;break w}o[e|1]=1}h=h+1|0;if((c|0)!=(h|0)){continue}}break}j=j+1|0;if((c|0)!=(j|0)){continue}break}h=0;while(1){Wc((l+16|0)+w(h,12)|0);h=h+1|0;if((c|0)!=(h|0)){continue}break}i=i+1|0;if((i&65535)>>>0<=u>>>0){continue}break}}h=0}xa=l+14352|0;return h}function nk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=e<<1;q=w(e,3);i=p[19225];s=p[19217];t=p[19224];u=p[19216];v=p[19229];x=p[19221];y=p[19228];z=p[19220];a:{if(h&1){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break a}k=p[(l<<1)+a>>1];A=p[a>>1];m=w(k,t)+w(A,u)|0;n=p[(q<<1)+a>>1];B=p[a+l>>1];C=w(n,y)+w(B,z)|0;j=m-C|0;p[b+6>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;k=w(i,k)+w(s,A)|0;A=w(n,v)+w(x,B)|0;j=k-A|0;p[b+4>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=k+A|0;p[b+2>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=m+C|0;j=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;p[b>>1]=j;A=j<<16>>16}b:{if(h&2){p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0;j=0;break b}j=a+2|0;k=p[j+(l<<1)>>1];m=p[j>>1];n=w(k,t)+w(m,u)|0;B=p[j+(q<<1)>>1];C=p[j+(e<<1)>>1];D=w(B,y)+w(C,z)|0;j=n-D|0;p[b+14>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;k=w(i,k)+w(m,s)|0;m=w(v,B)+w(x,C)|0;j=k-m|0;p[b+12>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=k+m|0;p[b+10>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=n+D|0;j=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;p[b+8>>1]=j;j=j<<16>>16}c:{if(h&4){p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;k=0;break c}k=a+4|0;m=p[k+(l<<1)>>1];n=p[k>>1];B=w(m,t)+w(n,u)|0;C=p[k+(q<<1)>>1];D=p[k+(e<<1)>>1];E=w(C,y)+w(D,z)|0;k=B-E|0;p[b+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;m=w(i,m)+w(n,s)|0;n=w(v,C)+w(x,D)|0;k=m-n|0;p[b+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=m+n|0;p[b+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=B+E|0;k=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;p[b+16>>1]=k;k=k<<16>>16}d:{if(h&8){p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;a=0;break d}a=a+6|0;h=p[a+(l<<1)>>1];l=p[a>>1];m=w(h,t)+w(l,u)|0;q=p[a+(q<<1)>>1];e=p[a+(e<<1)>>1];n=w(q,y)+w(e,z)|0;a=m-n|0;p[b+30>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;h=w(h,i)+w(l,s)|0;e=w(q,v)+w(e,x)|0;a=h-e|0;p[b+28>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;a=e+h|0;p[b+26>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;a=m+n|0;a=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;p[b+24>>1]=a;a=a<<16>>16}h=w(k,t)+w(u,A)|0;l=w(a,y)+w(j,z)|0;e=h+l|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=w(i,k)+w(s,A)|0;j=w(a,v)+w(j,x)|0;a=e+j|0;a=r[c+1|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+1|0]=(a|0)<255?a:255;a=e-j|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=h-l|0;a=r[c+3|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+3|0]=(a|0)<255?a:255;a=d+g|0;c=c+f|0;e=p[b+18>>1];h=p[b+2>>1];j=w(e,t)+w(h,u)|0;k=p[b+26>>1];l=p[b+10>>1];q=w(k,y)+w(l,z)|0;d=j+q|0;d=r[c|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a|0]=(d|0)<255?d:255;e=w(e,i)+w(h,s)|0;h=w(k,v)+w(l,x)|0;d=e+h|0;d=r[c+1|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+1|0]=(d|0)<255?d:255;d=e-h|0;d=r[c+2|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+2|0]=(d|0)<255?d:255;d=j-q|0;d=r[c+3|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+3|0]=(d|0)<255?d:255;a=a+g|0;c=c+f|0;e=p[b+20>>1];h=p[b+4>>1];j=w(e,t)+w(h,u)|0;k=p[b+28>>1];l=p[b+12>>1];q=w(k,y)+w(l,z)|0;d=j+q|0;d=r[c|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a|0]=(d|0)<255?d:255;e=w(e,i)+w(h,s)|0;h=w(k,v)+w(l,x)|0;d=e+h|0;d=r[c+1|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+1|0]=(d|0)<255?d:255;d=e-h|0;d=r[c+2|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+2|0]=(d|0)<255?d:255;d=j-q|0;d=r[c+3|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+3|0]=(d|0)<255?d:255;a=a+g|0;c=c+f|0;d=p[b+22>>1];e=p[b+6>>1];f=w(d,t)+w(e,u)|0;g=p[b+30>>1];h=p[b+14>>1];j=w(g,y)+w(h,z)|0;b=f+j|0;b=r[c|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a|0]=(b|0)<255?b:255;d=w(d,i)+w(e,s)|0;e=w(g,v)+w(h,x)|0;b=d+e|0;b=r[c+1|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a+1|0]=(b|0)<255?b:255;b=d-e|0;b=r[c+2|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a+2|0]=(b|0)<255?b:255;b=a;a=f-j|0;a=r[c+3|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[b+3|0]=(a|0)<255?a:255}function Ye(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;l=e<<1;q=w(e,3);i=p[19225];s=p[19217];t=p[19224];u=p[19216];v=p[19229];x=p[19221];y=p[19228];z=p[19220];a:{if(h&1){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break a}k=p[(l<<1)+a>>1];A=p[a>>1];m=w(k,t)+w(A,u)|0;n=p[(q<<1)+a>>1];B=p[a+l>>1];C=w(n,y)+w(B,z)|0;j=m-C|0;p[b+6>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;k=w(i,k)+w(s,A)|0;A=w(n,v)+w(x,B)|0;j=k-A|0;p[b+4>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=k+A|0;p[b+2>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=m+C|0;j=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;p[b>>1]=j;A=j<<16>>16}b:{if(h&2){p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0;j=0;break b}j=a+2|0;k=p[j+(l<<1)>>1];m=p[j>>1];n=w(k,t)+w(m,u)|0;B=p[j+(q<<1)>>1];C=p[j+(e<<1)>>1];D=w(B,y)+w(C,z)|0;j=n-D|0;p[b+14>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;k=w(i,k)+w(m,s)|0;m=w(v,B)+w(x,C)|0;j=k-m|0;p[b+12>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=k+m|0;p[b+10>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=n+D|0;j=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;p[b+8>>1]=j;j=j<<16>>16}c:{if(h&4){p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;k=0;break c}k=a+4|0;m=p[k+(l<<1)>>1];n=p[k>>1];B=w(m,t)+w(n,u)|0;C=p[k+(q<<1)>>1];D=p[k+(e<<1)>>1];E=w(C,y)+w(D,z)|0;k=B-E|0;p[b+22>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;m=w(i,m)+w(n,s)|0;n=w(v,C)+w(x,D)|0;k=m-n|0;p[b+20>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=m+n|0;p[b+18>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;k=B+E|0;k=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;p[b+16>>1]=k;k=k<<16>>16}d:{if(h&8){p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;a=0;break d}a=a+6|0;h=p[a+(l<<1)>>1];l=p[a>>1];m=w(h,t)+w(l,u)|0;q=p[a+(q<<1)>>1];e=p[a+(e<<1)>>1];n=w(q,y)+w(e,z)|0;a=m-n|0;p[b+30>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;h=w(h,i)+w(l,s)|0;e=w(q,v)+w(e,x)|0;a=h-e|0;p[b+28>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;a=e+h|0;p[b+26>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;a=m+n|0;a=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;p[b+24>>1]=a;a=a<<16>>16}h=w(k,t)+w(u,A)|0;l=w(a,y)+w(j,z)|0;e=h+l|0;e=r[c|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d|0]=(e|0)<255?e:255;e=w(i,k)+w(s,A)|0;j=w(a,v)+w(j,x)|0;a=e+j|0;a=r[c+2|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+2|0]=(a|0)<255?a:255;a=e-j|0;a=r[c+4|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+4|0]=(a|0)<255?a:255;a=h-l|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[d+6|0]=(a|0)<255?a:255;a=d+g|0;c=c+f|0;e=p[b+18>>1];h=p[b+2>>1];j=w(e,t)+w(h,u)|0;k=p[b+26>>1];l=p[b+10>>1];q=w(k,y)+w(l,z)|0;d=j+q|0;d=r[c|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a|0]=(d|0)<255?d:255;e=w(e,i)+w(h,s)|0;h=w(k,v)+w(l,x)|0;d=e+h|0;d=r[c+2|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+2|0]=(d|0)<255?d:255;d=e-h|0;d=r[c+4|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+4|0]=(d|0)<255?d:255;d=j-q|0;d=r[c+6|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+6|0]=(d|0)<255?d:255;a=a+g|0;c=c+f|0;e=p[b+20>>1];h=p[b+4>>1];j=w(e,t)+w(h,u)|0;k=p[b+28>>1];l=p[b+12>>1];q=w(k,y)+w(l,z)|0;d=j+q|0;d=r[c|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a|0]=(d|0)<255?d:255;e=w(e,i)+w(h,s)|0;h=w(k,v)+w(l,x)|0;d=e+h|0;d=r[c+2|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+2|0]=(d|0)<255?d:255;d=e-h|0;d=r[c+4|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+4|0]=(d|0)<255?d:255;d=j-q|0;d=r[c+6|0]+((d|0)>134215679?32767:(d|0)<-134219776?-32768:d+2048>>12)|0;d=(d|0)>0?d:0;o[a+6|0]=(d|0)<255?d:255;a=a+g|0;c=c+f|0;d=p[b+22>>1];e=p[b+6>>1];f=w(d,t)+w(e,u)|0;g=p[b+30>>1];h=p[b+14>>1];j=w(g,y)+w(h,z)|0;b=f+j|0;b=r[c|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a|0]=(b|0)<255?b:255;d=w(d,i)+w(e,s)|0;e=w(g,v)+w(h,x)|0;b=d+e|0;b=r[c+2|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a+2|0]=(b|0)<255?b:255;b=d-e|0;b=r[c+4|0]+((b|0)>134215679?32767:(b|0)<-134219776?-32768:b+2048>>12)|0;b=(b|0)>0?b:0;o[a+4|0]=(b|0)<255?b:255;b=a;a=f-j|0;a=r[c+6|0]+((a|0)>134215679?32767:(a|0)<-134219776?-32768:a+2048>>12)|0;a=(a|0)>0?a:0;o[b+6|0]=(a|0)<255?a:255}function Ac(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0;h=xa-80|0;xa=h;q[h+76>>2]=b;C=h+55|0;z=h+56|0;b=0;a:{b:{c:while(1){d:{if((u|0)<0){break d}if((b|0)>(2147483647-u|0)){q[41511]=61;u=-1;break d}u=b+u|0}e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{l=q[h+76>>2];b=l;k=r[b|0];if(k){while(1){r:{s:{i=k&255;t:{if(!i){k=b;break t}if((i|0)!=37){break s}k=b;while(1){if(r[b+1|0]!=37){break t}i=b+2|0;q[h+76>>2]=i;k=k+1|0;j=r[b+2|0];b=i;if((j|0)==37){continue}break}}b=k-l|0;if(a){_a(a,l,b)}if(b){continue c}x=-1;k=1;i=h;b=q[h+76>>2];if(!(r[b+2|0]!=36|o[q[h+76>>2]+1|0]+ -48>>>0>=10)){x=o[b+1|0]+ -48|0;A=1;k=3}b=k+b|0;q[i+76>>2]=b;k=0;y=o[b|0];j=y+ -32|0;u:{if(j>>>0>31){i=b;break u}i=b;j=1<>2]=i;k=j|k;y=o[b+1|0];j=y+ -32|0;if(j>>>0>31){break u}b=i;j=1<>>0>=10){break x}b=q[h+76>>2];if(r[b+2|0]!=36){break x}q[((o[b+1|0]<<2)+e|0)+ -192>>2]=10;t=q[((o[b+1|0]<<3)+d|0)+ -384>>2];A=1;b=b+3|0;break w}if(A){break b}A=0;t=0;if(a){b=q[c>>2];q[c>>2]=b+4;t=q[b>>2]}b=q[h+76>>2]+1|0}q[m+76>>2]=b;if((t|0)>-1){break v}t=0-t|0;k=k|8192;break v}t=Nd(h+76|0);if((t|0)<0){break b}b=q[h+76>>2]}j=-1;y:{if(r[b|0]!=46){break y}if(r[b+1|0]==42){z:{if(o[b+2|0]+ -48>>>0>=10){break z}b=q[h+76>>2];if(r[b+3|0]!=36){break z}q[((o[b+2|0]<<2)+e|0)+ -192>>2]=10;j=q[((o[b+2|0]<<3)+d|0)+ -384>>2];b=b+4|0;q[h+76>>2]=b;break y}if(A){break b}if(a){b=q[c>>2];q[c>>2]=b+4;j=q[b>>2]}else{j=0}b=q[h+76>>2]+2|0;q[h+76>>2]=b;break y}q[h+76>>2]=b+1;j=Nd(h+76|0);b=q[h+76>>2]}i=0;while(1){B=i;s=-1;if(o[b|0]+ -65>>>0>57){break a}y=b+1|0;q[h+76>>2]=y;i=o[b|0];b=y;i=r[(i+w(B,58)|0)+147439|0];if(i+ -1>>>0<8){continue}break}if(!i){break a}A:{B:{C:{if((i|0)==19){if((x|0)<=-1){break C}break a}if((x|0)<0){break B}q[(x<<2)+e>>2]=i;b=(x<<3)+d|0;i=q[b+4>>2];q[h+64>>2]=q[b>>2];q[h+68>>2]=i}b=0;if(!a){continue c}break A}if(!a){break e}Md(h- -64|0,i,c,g);y=q[h+76>>2]}m=k&-65537;k=k&8192?m:k;s=0;x=147476;i=z;b=o[y+ -1|0];b=B?(b&15)==3?b&-33:b:b;y=b+ -88|0;if(y>>>0<=32){break r}D:{E:{F:{G:{m=b+ -65|0;if(m>>>0>6){if((b|0)!=83){break f}if(!j){break G}i=q[h+64>>2];break E}switch(m-1|0){case 1:break F;case 0:case 2:break f;default:break q}}b=0;ab(a,32,t,0,k);break D}q[h+12>>2]=0;q[h+8>>2]=q[h+64>>2];q[h+64>>2]=h+8;j=-1;i=h+8|0}b=0;H:{while(1){l=q[i>>2];if(!l){break H}l=Qd(h+4|0,l);m=(l|0)<0;if(!(m|l>>>0>j-b>>>0)){i=i+4|0;b=b+l|0;if(j>>>0>b>>>0){continue}break H}break}s=-1;if(m){break a}}ab(a,32,t,b,k);if(!b){b=0;break D}j=0;i=q[h+64>>2];while(1){l=q[i>>2];if(!l){break D}l=Qd(h+4|0,l);j=l+j|0;if((j|0)>(b|0)){break D}_a(a,h+4|0,l);i=i+4|0;if(j>>>0>>0){continue}break}}ab(a,32,t,b,k^8192);b=(t|0)>(b|0)?t:b;continue c}i=b+1|0;q[h+76>>2]=i;k=r[b+1|0];b=i;continue}break}switch(y-1|0){case 28:break i;case 21:break j;case 23:break l;case 22:break m;case 11:case 16:break n;case 10:break o;case 26:break p;case 8:case 12:case 13:case 14:break q;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break f;default:break k}}s=u;if(a){break a}if(!A){break e}b=1;while(1){a=q[(b<<2)+e>>2];if(a){Md((b<<3)+d|0,a,c,g);s=1;b=b+1|0;if((b|0)!=10){continue}break a}break}s=1;if(b>>>0>9){break a}while(1){a=b;b=b+1|0;if(q[(b<<2)+e>>2]?0:(b|0)!=10){continue}break}s=a>>>0<9?-1:1;break a}b=n[f](a,v[h+64>>3],t,j,k,b)|0;continue}b=q[h+64>>2];l=b?b:147486;b=Tb(l,0,j);i=b?b:j+l|0;k=m;j=b?b-l|0:j;break f}o[h+55|0]=q[h+64>>2];j=1;l=C;k=m;break f}m=q[h+68>>2];b=m;l=q[h+64>>2];if((b|0)<-1?1:(b|0)<=-1?l>>>0>4294967295?0:1:0){b=0-(b+(0>>0)|0)|0;l=0-l|0;q[h+64>>2]=l;q[h+68>>2]=b;s=1;x=147476;break h}if(k&2048){s=1;x=147477;break h}s=k&1;x=s?147478:147476;break h}l=sh(q[h+64>>2],q[h+68>>2],z);if(!(k&8)){break g}b=z-l|0;j=(j|0)>(b|0)?j:b+1|0;break g}j=j>>>0>8?j:8;k=k|8;b=120}l=rh(q[h+64>>2],q[h+68>>2],z,b&32);if(!(k&8)|!(q[h+64>>2]|q[h+68>>2])){break g}x=(b>>>4|0)+147476|0;s=2;break g}b=0;i=B&255;if(i>>>0>7){continue}I:{switch(i-1|0){default:q[q[h+64>>2]>>2]=u;continue;case 0:q[q[h+64>>2]>>2]=u;continue;case 1:i=q[h+64>>2];q[i>>2]=u;q[i+4>>2]=u>>31;continue;case 2:p[q[h+64>>2]>>1]=u;continue;case 3:o[q[h+64>>2]]=u;continue;case 5:q[q[h+64>>2]>>2]=u;continue;case 4:continue;case 6:break I}}i=q[h+64>>2];q[i>>2]=u;q[i+4>>2]=u>>31;continue}l=q[h+64>>2];b=q[h+68>>2];x=147476}l=zb(l,b,z)}k=(j|0)>-1?k&-65537:k;b=q[h+64>>2];m=q[h+68>>2];J:{if(!(!!(b|m)|j)){l=z;j=0;break J}b=!(b|m)+(z-l|0)|0;j=(j|0)>(b|0)?j:b}}m=i-l|0;j=(j|0)<(m|0)?m:j;i=j+s|0;b=(t|0)<(i|0)?i:t;ab(a,32,b,i,k);_a(a,x,s);ab(a,48,b,i,k^65536);ab(a,48,j,m,0);_a(a,l,m);ab(a,32,b,i,k^8192);continue}break}s=0;break a}s=-1}xa=h+80|0;return s}function Ci(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0;j=xa-32|0;xa=j;q[a+652>>2]=0;g=q[a+648>>2];h=q[a+360>>2];b=w((p[h>>1]+63|0)/64|0,(p[h+2>>1]+7|0)/8|0);Qa(q[a+600>>2],0,b);Qa(q[a+604>>2],0,b);a:{if(!q[a+364>>2]){b=Di(a);if(b){break a}b=Ei(a);if(b){break a}q[a+364>>2]=1}b=oe(a);if(b){break a}b=q[a+128>>2]?2:1;d=q[a+304>>2];while(1){q[(d+w(b,1272)|0)+872>>2]=-1;b=b+1|0;if((b|0)!=256){continue}break}b:{e=md(q[a+224>>2],j+24|0);if(!e){b=984;break b}q[a+1452>>2]=e;q[e+16>>2]=q[g+84>>2];c:{d:{e:{i=md(q[a+244>>2],j+28|0);if(i){q[i+16>>2]=q[a+288>>2];q[i+8>>2]=q[g+84>>2];q[i+12>>2]=q[g+80>>2];o[i+28|0]=0;t=q[i+4>>2];n=q[i>>2];b=a+1464|0;if(r[b|0]){Sa(i+28|0,b,4492);p[a+1476>>1]=0;o[b+3|0]=0;o[b+4|0]=0;o[b+5|0]=0;o[b+6|0]=0;q[b>>2]=0}if(!q[a+136>>2]){Qa(n,128,w(p[h+2>>1],p[h>>1]+160|0));Qa(q[i+4>>2],128,(w(p[h+2>>1],p[h>>1]+160|0)|0)/2|0)}b=q[a+224>>2];d=qb(q[a+276>>2],q[g+84>>2]);f:{if(!d){b=p[h+2>>1];d=p[h>>1];Qa(e+20|0,0,40960);b=w(b+63&-64,d+63&-64);d=(b|0)/256|0;Qa(q[e>>2],0,(d<<2)+4|0);b=(b|0)/16|0;Qa(q[e+8>>2],0,b);Qa(q[e+12>>2],0,(d<<1)+3&-4);Qa(q[e+4>>2],0,b<<4);d=i;c=e;break f}c=pe(b,q[d+8>>2])}l=c;b=r[g+160|0];c=b<<24>>24;if((c|0)<=0){b=c;break d}m=b>>>0>1?b:1;while(1){k=g+w(f,12)|0;s=k;if(!q[k+876>>2]){q[s+876>>2]=d;q[k+880>>2]=l}f=f+1|0;if((m|0)!=(f|0)){continue}break}break e}b=985;break b}if((c|0)>15){break c}}c=(b|0)>15?b:15;while(1){f=g+w(b,12)|0;q[f+880>>2]=l;q[f+876>>2]=d;f=(b|0)==(c|0);b=b+1|0;if(!f){continue}break}}f=0;b=r[g+161|0];c=b<<24>>24;g:{h:{if((c|0)<=0){b=c;break h}k=b>>>0>1?b:1;while(1){m=g+w(f,12)|0;s=m+1068|0;if(!q[s>>2]){q[s>>2]=d;q[m+1072>>2]=l}f=f+1|0;if((k|0)!=(f|0)){continue}break}if((c|0)>15){break g}}c=(b|0)>15?b:15;while(1){f=g+w(b,12)|0;q[f+1072>>2]=l;q[f+1068>>2]=d;f=(b|0)!=(c|0);b=b+1|0;if(f){continue}break}}b=q[a+11556>>2];q[b+20>>2]=0;d=q[b>>2];q[b+8>>2]=d;q[b+4>>2]=d;q[a+424>>2]=0;q[a+428>>2]=0;c=q[e+8>>2];q[a+576>>2]=c;d=q[e+4>>2];q[a+580>>2]=d;f=q[e>>2];q[a+596>>2]=f;b=q[e+12>>2];q[a+11472>>2]=b;q[a+10780>>2]=b;q[a+10088>>2]=b;q[a+9396>>2]=b;q[a+8704>>2]=b;q[a+8012>>2]=b;q[a+7320>>2]=b;q[a+6628>>2]=b;q[a+420>>2]=b;q[a+432>>2]=c;q[a+416>>2]=d;c=p[h+2>>1];e=p[h>>1];b=q[a+192>>2];q[a+592>>2]=b;e=w(c+63&-64,e+63&-64);c=(b+((e|0)/256<<2)|0)+4|0;q[a+584>>2]=c;q[a+412>>2]=c;e=(e|0)/16|0;e=(e>>1)+e|0;c=c+e|0;q[a+588>>2]=c;q[a+408>>2]=c;c=c+(e<<2)|0;q[a+400>>2]=c;q[a+1068>>2]=d;q[a+404>>2]=c;q[a+1060>>2]=f;q[a+11560>>2]=1;q[a+1056>>2]=b;b=q[h+4128>>2];Qa(q[a+204>>2],0,b);Qa(q[a+208>>2],0,b);q[a+268>>2]=-1;q[a+272>>2]=0;q[a+11608>>2]=2147483647;q[a+96>>2]=0;q[a+88>>2]=0;q[a+92>>2]=0;b=q[a+44>>2];i:{if(!b){break i}d=q[a+36>>2];if(!d){break i}c=q[a+48>>2]+1|0;q[a+48>>2]=c;j:{d=d+ -1|0;k:{if(d>>>0>3){break k}l:{switch(d-1|0){default:d=o[g+1260|0];if((d|0)>15){break k}if(!(d&1)){break j}break k;case 0:if(r[g+76|0]==2|(c|0)==q[a+40>>2]){break k}break j;case 2:break j;case 1:break l}}if(r[g+76|0]!=2){break j}}q[a+48>>2]=0;break i}if(b&1){q[a+92>>2]=1}if(b&2){q[a+88>>2]=1}if(!(b&12)){break i}b=o[g+1260|0];if((b|0)>15|b&1){break i}q[a+11608>>2]=0}g=a+268|0;d=0;while(1){b=w(d,692)+a|0;e=q[a+596>>2];q[b+6040>>2]=e;f=q[a+580>>2];q[b+6052>>2]=f;q[b+6048>>2]=q[a+576>>2];l=q[a+592>>2];q[b+6036>>2]=l;q[b+6072>>2]=q[a+588>>2];q[b+6044>>2]=q[a+584>>2];q[b+6016>>2]=q[a+400>>2];q[b+6080>>2]=q[j+24>>2];c=b+6628|0;k=q[c+4>>2];m=b+6616|0;q[m>>2]=q[c>>2];q[m+4>>2]=k;q[b+6192>>2]=t;q[b+6188>>2]=n;q[b+6180>>2]=i;q[b+6184>>2]=q[j+28>>2];q[b+6228>>2]=q[a+11584>>2];k=q[a+24>>2];c=(k|0)>1;q[b+6108>>2]=c;q[b+6104>>2]=c;q[b+6084>>2]=q[a+600>>2];c=q[a+604>>2];q[b+6532>>2]=c;q[b+6460>>2]=c;q[b+6088>>2]=c;q[b+6540>>2]=t;q[b+6536>>2]=n;q[b+6488>>2]=t;q[b+6484>>2]=n;q[b+6316>>2]=f;q[b+6308>>2]=e;q[b+6304>>2]=l;q[b+6232>>2]=0;s=((d<<2)+a|0)+11524|0;if((d|0)<(k+ -1|0)){qa(q[((d<<2)+a|0)+11492>>2],0,65,b+5956|0)|0;c=1}else{c=0}q[s>>2]=c;d=d+1|0;if((d|0)!=8){continue}break}q[a+1292>>2]=t;q[a+1288>>2]=n;q[a+1240>>2]=t;q[a+1236>>2]=n;b=q[a+264>>2];d=q[q[a+648>>2]+84>>2];i=q[a+6180>>2];c=q[a+6184>>2];m:{if((c|0)>63){break m}b=b+(c<<2)|0;if(q[b+260>>2]){break m}q[b+260>>2]=i;q[b+4>>2]=d}b=0;q[a+272>>2]=0;if(!(q[a+11636>>2]!=1?(q[a+136>>2]-q[a+140>>2]|0)>2],g);q[a+272>>2]=b;q[a+140>>2]=q[a+140>>2]+1}q[a+11576>>2]=0;q[a+11580>>2]=4;n:{if(!q[a+11604>>2]){break n}c=!b;b=q[a+24>>2];if(c|(b|0)<2|(q[a+268>>2]==q[(w(b,692)+a|0)+5492>>2]|(q[a+60>>2]!=1?q[a+56>>2]:0))|p[h+4120>>1]<1){break n}d=0;while(1){q[j+8>>2]=1;q[j+16>>2]=0;q[j+20>>2]=0;p[j+12>>1]=0;p[j+14>>1]=d;b=bd(q[a+656>>2],j+8|0);if(b){break a}d=d+1|0;if((d|0)>1]){continue}break}}q[a+84>>2]=1;b=0;break a}q[a+144>>2]=b;q[a+652>>2]=b}xa=j+32|0;return b}function wj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=xa-32|0;xa=h;d=q[a+8>>2];q[d+144>>2]=0;a=q[c>>2];i=Qa(c+4|0,0,108);q[c>>2]=a;a:{b:{c:{d:{e:{if(q[d+120>>2]!=1){q[i>>2]=16592;break e}if(t[d+136>>2]>=2147483647){q[i>>2]=17374;break e}f:{if(q[d+132>>2]){q[d+100>>2]=1;break f}if(q[d+100>>2]){break f}if(!q[b+16>>2]){q[i>>2]=8222;break e}e=1;a=q[b+12>>2];if(a>>>0>4){break f}q[c+4>>2]=8231;q[c+8>>2]=a;break e}g:{h:{g=q[d+56>>2];if(g|q[d+104>>2]){break h}f=q[b+20>>2];if(f+ -1>>>0>63){break g}j=b+280|0;k=b+24|0;a=0;while(1){l=a<<2;if(!q[k+l>>2]){q[i>>2]=8220;break e}if(q[j+l>>2]){a=a+1|0;if((f|0)==(a|0)){break h}continue}break}q[i>>2]=8221;break e}q[d+11584>>2]=b+20;q[d+288>>2]=q[b+8>>2];if(!e){q[c+12>>2]=q[d+8>>2];a=q[d+12>>2];q[c+28>>2]=0;q[c+16>>2]=a;a=Pe(q[d+264>>2],d+268|0);q[d+272>>2]=a;if(!(!a|(q[d+60>>2]!=1?q[d+56>>2]:0))){e=d+5956|0;if(!q[d+6232>>2]){tb(e,0)}a=oe(d);if(a){break b}kc(d,e,q[b+24>>2],q[b+28>>2],q[b+32>>2],0,q[d+12>>2]);vb(q[d+244>>2],q[d+268>>2],4)}De(d,b,c);a=0;if(q[d+272>>2]){break b}if(!q[d+132>>2]){break e}jd(d);break e}i:{if(q[d+104>>2]|(g|0)!=1){break i}a=q[d+244>>2];if(!a){break i}if(kf(a)){break i}q[i>>2]=8232;break e}a=q[b+12>>2];q[d+164>>2]=a;g=q[b+16>>2];e=0;q[d+980>>2]=0;q[d+148>>2]=g;q[d+272>>2]=0;q[d+128>>2]=0;q[d+84>>2]=0;a=q[d+24>>2]>=2?q[d+164>>2]:a;if((a|0)<5){break c}j=d+376|0;while(1){j:{if(!q[d+128>>2]){break j}e=q[d+644>>2]+w(r[d+344|0],1272)|0;if(q[d+984>>2]!=(w(p[q[d+360>>2]+4118>>1],p[e+874>>1])+p[e+872>>1]|0)){break j}q[d+128>>2]=0}f=d;g=q[d+176>>2];k:{if(g){q[d+168>>2]=g;e=q[d+188>>2];break k}g=q[d+172>>2];q[d+168>>2]=g;e=q[d+184>>2]}q[f+180>>2]=e;q[d+152>>2]=0;fj(q[d+148>>2],g,a>>>0>>0?a:e,h+8|0,h+28|0);e=q[h+28>>2];if((e|0)<(q[d+180>>2]+ -8|0)){a=e+q[d+168>>2]|0;o[a|0]=0;o[a+1|0]=0;o[a+2|0]=0;o[a+3|0]=0;o[a+4|0]=0;o[a+5|0]=0;o[a+6|0]=0;o[a+7|0]=0}a=q[h+8>>2];q[d+156>>2]=a;q[d+160>>2]=a-e;Bj(j,q[d+168>>2],e);e=ej(d);l:{m:{if(!q[d+84>>2]){break m}g=q[d+360>>2];if(q[d+984>>2]==q[g+4128>>2]){break m}a=q[d+164>>2];if(q[d+108>>2]?0:(a-q[h+8>>2]|0)>=5){break m}f=q[d+344>>2];f=(f|0)>0?f+ -1|0:0;q[d+344>>2]=f;f=q[d+644>>2]+w(f+1&255,1272)|0;p[f+872>>1]=0;p[f+874>>1]=s[g+4120>>1];q[d+128>>2]=1;break l}a=e+ -986|0;if(a>>>0>1){if((e|0)==42){break c}n:{o:{if(!q[d+128>>2]){f=q[h+8>>2];g=q[d+164>>2]-f|0;break o}a=q[d+164>>2];f=q[h+8>>2];g=a-f|0;if((g|0)>4){break n}}q[d+164>>2]=g;q[d+148>>2]=q[d+148>>2]+f;a=g}if(q[d+980>>2]|e){break c}if(q[d+11632>>2]|!q[d+112>>2]){break l}if(!Jj(d)){a=q[d+164>>2];break l}id(d);q[d+144>>2]=43;q[i>>2]=q[i>>2]|16427;break e}if(a-1){break d}a=q[h+8>>2];q[d+148>>2]=a+q[d+148>>2];a=q[d+164>>2]-a|0;q[d+164>>2]=a}if((a|0)>4){continue}break}break c}q[i>>2]=8219}a=1;break b}e=0}p:{if(q[d+84>>2]!=1){break p}if(!q[d+980>>2]){q[d+128>>2]=1;a=q[d+344>>2];a=(a|0)>0?a+ -1|0:0;q[d+344>>2]=a;q[(q[d+644>>2]+w(a+1&255,1272)|0)+872>>2]=-1;se(d);if(!q[d+980>>2]){break a}if(q[d+84>>2]!=1){break p}}q[d+124>>2]=1;a=q[d+24>>2];q:{if((a|0)>=2){r:{if(!q[d+272>>2]){break r}g=q[d+360>>2];if((q[d+60>>2]!=1?q[d+56>>2]:0)|(q[d+268>>2]!=q[(w(a,692)+d|0)+5492>>2]?q[d+11604>>2]:0)|p[g+4120>>1]<1){break r}e=0;while(1){q[h+8>>2]=1;q[h+16>>2]=0;q[h+20>>2]=0;p[h+12>>1]=0;p[h+14>>1]=e;a=bd(q[d+656>>2],h+8|0);if(a){break b}e=e+1|0;if((e|0)>1]){continue}break}}a=q[d+656>>2];a;q[a+20>>2]=1;e=0;a=q[d+24>>2]+ -1|0;if(jc(q[(w(a,692)+d|0)+6092>>2],h+8|0)){break q}while(1){a=w(a,692)+d|0;q[a+6096>>2]=p[h+16>>1];q[a+5960>>2]=p[h+12>>1];i=p[h+14>>1];q[a+5964>>2]=i;q[a+5988>>2]=p[h+18>>1];f=q[h+8>>2];s:{if(f>>>0>1){break s}g=a+5956|0;if(f-1){tb(g,q[h+20>>2]);$c(g);break s}k=q[d+360>>2];f=r[k+4116|0];j=1<>2]){tb(g,0);i=p[h+14>>1];f=r[k+4116|0]}f=i<>2]-f|0;a=(j|0)<(a|0)?j:a;kc(d,g,q[b+24>>2],q[b+28>>2],q[b+32>>2],f,(a|0)>0?a:0)}a=q[d+24>>2]+ -1|0;if(!jc(q[(w(a,692)+d|0)+6092>>2],h+8|0)){continue}break}break q}if(!q[d+272>>2]|(q[d+60>>2]!=1?q[d+56>>2]:0)){break q}a=q[d+12>>2]-q[d+11576>>2]|0;q[d+11580>>2]=a;e=d+5956|0;if(!q[d+6232>>2]){tb(e,0);a=q[d+11580>>2]}if((a|0)<=-1){q[d+11580>>2]=0;a=0}e=kc(d,e,q[b+24>>2],q[b+28>>2],q[b+32>>2],q[d+11576>>2],a);q[d+11576>>2]=q[d+11576>>2]+q[d+11580>>2]}Qb(q[d+224>>2],q[d+6080>>2],2);a=d+6184|0;Qb(q[d+244>>2],q[a>>2],2);Qb(q[d+244>>2],q[a>>2],4);_k(q[d+276>>2],q[d+6180>>2],q[a>>2]);if(!(q[d+56>>2]|!q[d+272>>2])){vb(q[d+244>>2],q[d+268>>2],4)}g=q[d+24>>2];if((g|0)>=2){a=0;while(1){f=(a<<2)+d|0;i=f+11524|0;if(q[i>>2]){pa(q[q[f+11492>>2]>>2],0)|0;q[i>>2]=0;g=q[d+24>>2]}a=a+1|0;if((a|0)<(g+ -1|0)){continue}break}}q[d+136>>2]=q[d+136>>2]+1}De(d,b,c);xa=h+32|0;return e}xa=h+32|0;return a}I(3479,3925,731,42137);F()}function gj(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;l=xa-80|0;xa=l;z=q[a+24>>2];x=q[e+12>>2];v=q[a+8>>2];m=v+876|0;q[l+72>>2]=m;n=r[v+76|0]==1?m:v+1068|0;q[l+76>>2]=n;A=q[w(o[e+9|0],12)+n>>2];B=q[m+w(o[e+8|0],12)>>2];m=x>>>10&60;H=m+4|0;m=q[(w(m>>>2|0,18)<<2)+c>>2];a:{if(!f){break a}c=q[(w(H>>>2|0,18)<<2)+c>>2];if(o[(z+(c<<4)|0)+14|0]&1){break a}q[l+44>>2]=z+(c<<4);D=1}K=1;c=D;b:{if(!g){break b}g=z+(m<<4)|0;c=D;if(o[g+14|0]&1){break b}q[(l+44|0)+(D<<2)>>2]=g;K=0;c=D+1|0}q[l+64>>2]=0;q[l+68>>2]=0;t=x>>>23|0;c:{d:{g=c;if((c|0)>=1){m=0;while(1){c=q[(l+44|0)+(m<<2)>>2];u=q[c+12>>2]&393216;e:{f:{if((u|0)==131072){f=q[B+8>>2];break f}f=q[B+8>>2];if((f|0)==q[q[(w(o[c+8|0],12)+v|0)+876>>2]+8>>2]){q[l+64>>2]=1;q[l+56>>2]=q[c>>2];c=x;break c}if(!u){break e}}if(q[q[w(o[c+9|0],12)+n>>2]+8>>2]==(f|0)){break d}}m=m+1|0;if((g|0)!=(m|0)){continue}break}}hc(l+72|0,v,l- -64|0,B,l+44|0,l+56|0,g,0);c=q[e+12>>2];break c}q[l+64>>2]=1;q[l+56>>2]=q[c+4>>2];c=x}u=c;g:{if(!(u&393216)){break g}h:{if((g|0)<1){break h}m=0;while(1){i:{c=q[(l+44|0)+(m<<2)>>2];y=q[c+12>>2]&393216;j:{if(!y){f=q[A+8>>2];break j}f=q[A+8>>2];if((f|0)==q[q[w(o[c+9|0],12)+n>>2]+8>>2]){q[l+68>>2]=1;q[l+60>>2]=q[c+4>>2];break h}if((y|0)==131072){break i}}if(q[q[(w(o[c+8|0],12)+v|0)+876>>2]+8>>2]!=(f|0)){break i}q[l+68>>2]=1;q[l+60>>2]=q[c>>2];break g}m=m+1|0;if((g|0)!=(m|0)){continue}break}}if(q[l+68>>2]){break g}hc(l+72|0,v,l+68|0,A,l+44|0,l+56|4,g,1);u=q[e+12>>2]}c=x>>>24|0;F=t&1;E=1;g=u>>>17&3;y=(g|0)==1;u=0;k:{if(!q[l+64>>2]){E=0;break k}if(F){break k}m=q[l+56>>2];p[k>>1]=m;p[k+2>>1]=m>>>16;y=1}G=c&1;C=!g;l:{if(!q[l+68>>2]){break l}u=1;if(G){break l}c=q[l+60>>2];p[k+4>>1]=c;p[k+6>>1]=c>>>16;C=1}m:{if(C?y:0){break m}c=x>>>6&60;I=c+4|0;g=q[b+c>>2];J=x>>>2&60;c=q[(J?d:b+ -4|0)>>2];t=0;n:{if(!h){break n}f=z+(w(q[b+I>>2],h)<<4)|0;if(o[f+14|0]&1){break n}q[l+44>>2]=f;t=1}o:{if(!i){break o}b=z+(w(g,i)<<4)|0;if(o[b+14|0]&1){break o}q[(l+44|0)+(t<<2)>>2]=b;t=t+1|0}p:{q:{r:{if(!j){break r}b=z+(w(c,j)<<4)|0;if(o[b+14|0]&1){break r}q[(l+44|0)+(t<<2)>>2]=b;q[l+36>>2]=0;q[l+40>>2]=0;t=t+1|0;i=l+40|0;b=l+24|0;h=l+36|0;break q}q[l+36>>2]=0;q[l+40>>2]=0;i=l+40|0;b=l+24|0;h=l+36|0;if((t|0)>=1){break q}t=0;break p}m=0;while(1){s:{t:{c=q[(l+44|0)+(m<<2)>>2];d=q[c+12>>2]&393216;u:{if((d|0)==131072){f=q[B+8>>2];break u}f=q[B+8>>2];if((f|0)==q[q[(w(o[c+8|0],12)+v|0)+876>>2]+8>>2]){q[l+36>>2]=1;f=q[c>>2];p[b>>1]=f;p[b+2>>1]=f>>>16;break s}if(!d){break t}}if(q[q[w(o[c+9|0],12)+n>>2]+8>>2]!=(f|0)){break t}q[l+36>>2]=1;f=q[c+4>>2];p[b>>1]=f;p[b+2>>1]=f>>>16;break s}m=m+1|0;if((t|0)!=(m|0)){continue}}break}if(!(r[e+14|0]&6)){break p}m=0;while(1){v:{c=q[(l+44|0)+(m<<2)>>2];d=q[c+12>>2]&393216;w:{if(!d){g=q[A+8>>2];break w}g=q[A+8>>2];if((g|0)==q[q[w(o[c+9|0],12)+n>>2]+8>>2]){q[l+40>>2]=1;n=q[c+4>>2];q[l+28>>2]=n;c=n>>>16|0;break p}if((d|0)==131072){break v}}if(q[q[(w(o[c+8|0],12)+v|0)+876>>2]+8>>2]!=(g|0)){break v}q[l+40>>2]=1;n=q[c>>2];q[l+28>>2]=n;c=n>>>16|0;break p}m=m+1|0;if((t|0)!=(m|0)){continue}break}}d=q[l+36>>2];x:{if(!(!d|(s[l+58>>1]==s[l+26>>1]?!(!E|s[l+56>>1]!=(f&65535)):0))){m=1;f=E+1|0;if((E|0)!=(F|0)){m=y;break x}g=q[l+24>>2];p[k>>1]=g;p[k+2>>1]=g>>>16;break x}f=E;m=y}j=q[l+40>>2];y:{if(!(!j|(s[l+62>>1]==(c&65535)?!(!u|s[l+60>>1]!=(n&65535)):0))){c=1;g=u+1|0;if((u|0)!=(G|0)){c=C;break y}p[k+4>>1]=n;p[k+6>>1]=n>>>16;break y}g=u;c=C}if(c?m:0){break m}C=(d|0)!=1;d=!D&K;u=d^1;if(!(C|u)){q[l+64>>2]=1;q[l+56>>2]=q[l+24>>2]}if(!(u|(j|0)!=1)){q[l+60>>2]=n;q[l+68>>2]=1}z:{if(!d){b=g;d=f;t=c;n=m;break z}q[l+36>>2]=0;q[l+40>>2]=0;hc(l+72|0,v,h,B,l+44|0,b,t,0);if(r[e+14|0]&6){hc(l+72|0,v,i,A,l+44|0,l+24|4,t,1)}A:{if(!(!q[l+36>>2]|(s[l+58>>1]==s[l+26>>1]?!(!f|s[l+56>>1]!=s[l+24>>1]):0))){n=1;d=f+1|0;if((f|0)!=(F|0)){n=m;break A}b=q[l+24>>2];p[k>>1]=b;p[k+2>>1]=b>>>16;break A}d=f;n=m}B:{if(!(!q[l+40>>2]|(s[l+62>>1]==s[l+30>>1]?!(!g|s[l+60>>1]!=s[l+28>>1]):0))){t=1;b=g+1|0;if((g|0)!=(G|0)){t=c;break B}c=q[l+28>>2];p[k+4>>1]=c;p[k+6>>1]=c>>>16;break B}b=g;t=c}if(!n){break z}if(t){break m}}C:{if((d|0)==2?(b|0)==2:0){break C}q[l+8>>2]=0;q[l+12>>2]=0;h=x<<2&60;ic(a,e,l+16|0,l+8|0,1,h+I|0,H+J|0);f=q[l+20>>2];g=q[l+16>>2];c=q[l+8>>2];m=q[l+12>>2];if(!(m?c:0)){ic(a,e,l+16|0,l+8|0,1,h+(I>>>1|0)|0,(H>>>1|0)+J|0);f=m?f:q[l+20>>2];g=c?g:q[l+16>>2];m=q[l+12>>2]|m;c=q[l+8>>2]|c}if(!(!c|((d|0)==2|(d|0)!=(F|0)))){p[k>>1]=g;p[k+2>>1]=g>>>16;n=1}if(!(!m|((b|0)==2|(b|0)!=(G|0)))){p[k+4>>1]=f;p[k+6>>1]=f>>>16;t=1}if(!n){break C}if(t){break m}}if(!n){p[k>>1]=0;p[k+2>>1]=0}if(t){break m}p[k+4>>1]=0;p[k+6>>1]=0}xa=l+80|0}function Fe(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;b=q[a+24>>2];z=q[a+4>>2];f=o[z+4116|0];c=(f<<1)+ -7|0;j=b<>2];d=p[z+4118>>1];g=d+1<>2]|0)+k|0;t=q[h>>2];k=k+(j+q[a+52>>2]|0)|0;l=q[k>>2];i=b+w(d,e)|0;m=r[q[a+56>>2]+(i>>3)|0];G=r[q[a+16>>2]+174|0];L=q[a>>2];K=r[L+33|0];u=q[a+60>>2];c=1<>4)|0);k=Qa(k,0,c);c=f+ -3|0;E=d<>>32-F|0;if(q[a+24>>2]){q[j>>2]=q[j>>2]|b&t}if(q[a+28>>2]){q[k>>2]=q[k>>2]|b&l}u=u+(e<>2]=0;b=q[a+68>>2];c=q[a+24>>2]+w(q[a+28>>2],p[z+4118>>1])|0;D=q[b+(q[a+92>>2]<<2)>>2]-q[b+((q[q[a+8>>2]+24>>2]==1?(c|0)%142560|0:c)<<2)>>2]|0;I=m&1<<(i&7);if(I){o[u|0]=q[q[a+64>>2]>>2]<<9>>25}if((D|0)>=1){B=f+ -1|0;C=(H|0)/8|0;g=7-f|0;t=f+ -2|0;v=(64>>>f|0)+ -1|0;m=0;while(1){x=q[a+64>>2]+(m<<2)|0;b=q[x>>2];c=4<<(b>>>8&7);h=c>>>2|0;n=b>>>4|0;d=n&15;e=b&15;l=(q[a+24>>2]<>2]+212>>2]+w((p[z>>1]+63|0)/64|0,(q[a+28>>2]<>3)|0)+(l>>6)|0]>>>(l>>>3&7)&1)){break a}l=-1431655766>>>32-(c>>>1|0)|0;if(!(b&1)){i=j+(e>>>g<<2)|0;q[i>>2]=q[i>>2]|l<<(d<<1)+((f|0)==6?0:(b&2)<>>g<<2)|0;q[i>>2]=q[i>>2]|l<<(e<<1)+((f|0)==6?0:(n&2)<>>32-(c>>>1|0)|0;y=b&1;if(!y){c=j+(e>>>g<<2)|0;q[c>>2]=q[c>>2]|h<<(d<<1)+((f|0)==6?0:(b&2)<>>g<<2)|0;q[b>>2]=q[b>>2]|h<<(e<<1)+((f|0)==6?0:(n&2)<>>1|0;if(q[a+24>>2]==(p[z+4118>>1]+ -1|0)?(b|0)==(C|0):0){break c}n=j+(i>>>g<<2)|0;q[n>>2]=q[n>>2]|h<<((b&v)<>>1|0;if((n|0)==(C|0)){q[A>>2]=q[A>>2]|h<>>g<<2)|0;q[J>>2]=q[J>>2]|h<>>1|0);b=e;while(1){o[u+(c+(b>>>1|0)|0)|0]=q[x>>2]<<9>>25;b=b+2|0;if(b>>>0>>0){continue}break}d=d+2|0;if(d>>>0>>0){continue}break}}m=m+1|0;if((D|0)!=(m|0)){continue}break}}b=q[a+72>>2];u=p[z+4118>>1];E=q[b+(q[a+88>>2]<<2)>>2]-q[b+(q[a+24>>2]+w(u,q[a+28>>2])<<2)>>2]|0;if((E|0)>=1){t=7-f|0;l=f+ -2|0;I=q[a+76>>2];i=(f|0)==6;A=0;while(1){D=I+(A<<4)|0;d=q[D+12>>2];e=d>>>4|0;b=e&15;g=(d>>>12&15)+1|0;c=d&15;h=(d>>>8&15)+1|0;d:{if(d&65536){if(!(d&1)){m=j+(c>>>t<<2)|0;q[m>>2]=q[m>>2]|-1431655766>>>32-(g<<1)<<(b<<1)+(i?0:(d&2)<>>t<<2)|0;q[b>>2]=q[b>>2]|-1431655766>>>32-(h<<1)<<(c<<1)+(i?0:(e&2)<>2]!=(0-c|0)){m=b+g|0;B=c+18|0;C=q[a+80>>2];v=q[a+84>>2];e:{if(!(d&1)){J=i?0:(d&2)<>>t<<2)|0;while(1){M=C+(q[v+(B+w(b,18)<<2)>>2]<<4)|0;n=q[M+12>>2];e=((n>>>12&15)+(n>>>4&15)|0)+1|0;e=e>>>0>>0?e:m;y=e-b|0;d=-1431655766;f:{if(!(n&65536)){d=1431655765;if(!He(D,M)){break f}}q[x>>2]=q[x>>2]|d>>>32-(y<<1)<0){continue}break}d=q[D+12>>2];break e}while(1){e=b;b=q[(C+(q[v+(B+w(b,18)<<2)>>2]<<4)|0)+12>>2];b=((b>>>12&15)+(b>>>4&15)|0)+1|0;b=b>>>0>>0?b:m;g=(e-b|0)+g|0;if((g|0)>0){continue}break}}b=d>>>4&15}if(q[a+28>>2]==(0-b|0)){break d}e=c+h|0;g=w(b,18)|1;m=q[a+80>>2];B=q[a+84>>2];if(!(b&1)){n=i?0:(b&2)<>>t<<2)|0;while(1){y=m+(q[B+(c+g<<2)>>2]<<4)|0;v=q[y+12>>2];b=((v&15)+(v>>>8&15)|0)+1|0;b=b>>>0>>0?b:e;x=b-c|0;d=-1431655766;g:{if(!(v&65536)){d=1431655765;if(!He(D,y)){break g}}q[C>>2]=q[C>>2]|d>>>32-(x<<1)<0){continue}break}break d}while(1){d=c;b=q[(m+(q[B+(c+g<<2)>>2]<<4)|0)+12>>2];b=((b&15)+(b>>>8&15)|0)+1|0;c=b>>>0>>0?b:e;h=(d-c|0)+h|0;if((h|0)>0){continue}break}}A=A+1|0;if((E|0)!=(A|0)){continue}break}}h:{if(!r[L+27|0]){if(!((q[a+32>>2]?0:!K)|(q[a+44>>2]?0:!(q[a+40>>2]|G)))){if(q[a+24>>2]){break h}}q[j>>2]=q[j>>2]&((f|0)==6?0:-1<>2]|K)){q[j>>2]=q[j>>2]&((f|0)==6?0:-1<>2];i:{j:{if(b){if(G){break h}c=q[a+96>>2]+(b+w(u,q[a+28>>2])<<1)|0;c=s[c+ -2>>1]==s[c>>1];if(!(c&r[q[a+16>>2]+75|0]==1)){break j}break h}if(G){break i}c=0}if(!b|(q[a+44>>2]?0:!q[a+40>>2])){break i}if(q[a+32>>2]|c){break h}}q[j>>2]=q[j>>2]&((f|0)==6?0:-1<>2];c=q[a+24>>2];b=q[a+28>>2];d=s[e+(c+w(u,b)<<1)>>1];e=b?s[e+(w(u,b+ -1|0)+c<<1)>>1]:-1;if(!(!G&(d|0)!=(e|0)?0:!(!b|(q[a+36>>2]?0:!K)))){q[k>>2]=q[k>>2]&((f|0)==6?0:-1<>2];b=q[a+28>>2]}a=p[z>>1]-(c<>3;b=p[z+2>>1]-(b<>3;c=H>>3;if((b|0)<(c|0)){e=b>>6-f<<2;d=b&1;b=f+ -4|0;Qa(k+(e+((f|0)==6?0:d<>6-f<<2;c=a&1;a=f+ -4|0;Qa(j+(b+((f|0)==6?0:c<>2];g=r[A+4116|0];B=1<>2];Q=q[a+240>>2];l=q[a+64>>2];H=q[a+244>>2];R=q[a+260>>2];S=q[a+256>>2];T=q[a+48>>2];x=q[a>>2];i=q[x+20>>2];f=r[a+249|0];C=r[a+248|0];h=r[a+250|0];b=r[a+251|0];I=q[a+40>>2];a:{if(!(r[A+54|0]!=1|r[I+40|0]!=1)){c=I;break a}c=A+8968|0}M=q[c>>2];Qa(d+192|0,0,72);e=q[a+8>>2];c=p[A+2>>1]-(e<=4){c=b<<31;b=0;while(1){b=b+1|0;q[(d+192|0)+(b<<2)>>2]=c;if((b|0)!=(j|0)){continue}break}}c=p[A>>1];b=q[a+4>>2];j=c-(b<>2]=((C|0)==1?t<<(m-j|0)+31:0)|(h<<31|f<<31>>>j+1);b:{if(q[a+252>>2]<1){break b}U=0-i|0;while(1){q[d+188>>2]=0;q[d+184>>2]=0;q[d+180>>2]=0;q[d+176>>2]=0;q[d+172>>2]=0;q[d+168>>2]=0;f=b;b=g<<24>>24;g=q[v>>2];j=g<<2&60;f=(f<>2]==12;V=y?-2:0;F=g>>>29|0;C=(F|0)==7?1:2;K=g>>>23&63;m=g>>>2&60;J=r[(q[a+128>>2]+w(((c<<16>>16)+63|0)/64|0,m+(e<>3)|0)+(f>>6)|0]&1<<(f>>>3&7);c:{if(!(J?(K|0)==63:0)){u=j+w(i,m)|0;N=j+w(m>>>1|0,i)|0;k=0;D=1;break c}l=l+6|0;N=j+w(m>>>1|0,i)|0;u=j+w(i,m)|0;c=S+u|0;k=4<<(g>>>8&7);b=0;while(1){Sa(c+w(b,i)|0,l,k);l=k+l|0;b=b+1|0;if((k|0)!=(b|0)){continue}break}t=y+(N+R|0)|0;c=k>>>1|0;D=w(c,c);h=0;f=l;while(1){e=w(i,h);b=0;g=f;while(1){o[t+(e+(b<<1)|0)|0]=r[g|0];g=g+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}f=c+f|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}e=D<<1;h=l+D|0;t=(t+V|0)+1|0;f=0;while(1){D=w(i,f);b=0;g=h;while(1){o[t+(D+(b<<1)|0)|0]=r[g|0];g=g+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}h=c+h|0;f=f+1|0;if((c|0)!=(f|0)){continue}break}l=e+l|0;D=0}t=0;X=J?0:3;Y=C>>>0>1?C:1;Z=y?-1:0;C=u+S|0;_=y+R|0;$=(K<<2)+42400|0;aa=(j+w((m+ -4|0)/2|0,i)|0)+ -4|0;g=0;h=0;m=0;j=0;G=0;while(1){d:{e:{if(!D){break e}e=q[v>>2];b=e>>>8&7;f:{if(!g){f=0;c=b+1|0;y=J?b?c:0:c;k=4<>25;c=(z|0)/6|0;l=cd(H,u,l,(q[(w(b,6)+(J?0:(b|0)==3?1:3)<<2)+42256>>2]<<1)+M|0,z-w(c,6)|0,c,y,e>>>15&1,d+188|0,d+180|0,d+172|0,d+166|0);c=C;break f}h=e<<9>>25;c=o[T+169|0]+(h+o[I+20|0]|0)|0;c=(c|0)>0?c:0;E=p[(((c|0)<57?c:57)<<1)+42e3>>1];m=(E|0)/6|0;c=(b?N:aa)+_|0;j=V+c|0;f=b?b+ -1|0:0;y=(f|0)<2?f:2;u=f+2|0;k=1<>>12&1;t=O;g:{if(!f){break g}h=o[T+168|0]+(h+o[I+19|0]|0)|0;h=(h|0)>0?h:0;t=p[(((h|0)<57?h:57)<<1)+42e3>>1];h=(t|0)/6|0;l=cd(H,u,l,(q[b+42256>>2]<<1)+M|0,t-w(h,6)|0,h,z,e>>>15&1,d+188|0,d+180|0,d+172|0,d+166|0);t=o[l+1|0]&1}j=j+1|0;y=y+5|0;G=G+H|0;h=0;if(e&8192){h=1;l=cd(G,u,l,(q[b+42260>>2]<<1)+M|0,E-w(m,6)|0,m,z,q[v>>2]>>>15&1,d+184|0,d+176|0,d+168|0,d+164|0)}m=j}h:{if(!J){break h}if(!g){b=oj(a,v,d+192|0,p[A>>1],r[I+15|0],k,B);if((k|0)==4){e=q[v>>2];q[(d+144|(e>>>3&2|e&1)<<2)>>2]=b}L=r[v|0]&17;e=c+ -1|0;z=c+U|0;E=z+ -1|0;i:{if((b|0)==131071){n[q[x+12008>>2]](E,z,e,i,k,131071,d,1);break i}n[q[x+12004>>2]](E,z,e,i,k,b,d,1)}P=L?P:b;n[q[x+12012>>2]](d,k,d,K,o[A+161|0]);n[q[((q[$>>2]<<2)+x|0)+11728>>2]](d,1,c,i,k,K);break h}e=q[v>>2];if(!(e&1792)){P=q[d+152>>2]&15|(q[d+148>>2]&61440|q[d+144>>2]&69616)}b=v;if(!(e&16384)){while(1){b=b+ -4|0;e=q[b>>2];if(!(e&16384)){continue}break}}z=c+Z|0;E=z+ -2|0;L=z+U|0;ba=L+ -2|0;e=e>>>23&63;F=F&255;b=e;j:{if((F|0)==4){break j}b=r[F+42116|0];b=(b|0)==(e|0)?34:b}n[q[x+12e3>>2]](ba,L,E,i,k,P,d,1);F=b;n[q[((q[(b<<2)+42400>>2]<<2)+x|0)+11772>>2]](d,1,z,i,k,b)}k:{if(!f){break k}if(q[v>>2]&32768|O){n[q[((y<<2)+x|0)+11848>>2]](H,c,c,k,i,i,q[d+188>>2]);break k}if(!q[d+172>>2]){n[q[((y<<2)+x|0)+11816>>2]](H,Q,c,c,k,i,i,q[d+188>>2],q[d+180>>2]);break k}n[q[((g<<2)+x|0)+11880>>2]](c,c,i,i,u,p[d+166>>1])}if(!g|(h&255)!=1){break e}if(q[v>>2]&32768|t){n[q[((y<<2)+x|0)+11848>>2]](G,j,m,k,i,i,q[d+184>>2]);h=1;break d}l:{if(!q[d+168>>2]){n[q[((y<<2)+x|0)+11816>>2]](G,Q,j,m,k,i,i,q[d+184>>2],q[d+176>>2]);break l}n[q[((g<<2)+x|0)+11880>>2]](j,m,i,i,u,p[d+164>>1])}h=1;t=0;break d}if((k|0)<4|g){break d}f=q[v>>2];c=(f>>>2&60)+d|0;b=c;e=q[c+196>>2];c=(k|0)/4|0;f=(-1<>>(f&15)+1|0;q[b+196>>2]=e|f;b=1;if((k&-4)==4){break d}while(1){b=b+1|0;u=(d+192|0)+(b+(q[v>>2]>>>4&15)<<2)|0;q[u>>2]=f|q[u>>2];if((b|0)!=(c|0)){continue}break}}g=g+1|0;if((Y|0)!=(g|0)){continue}break}W=W+1|0;if((W|0)>=q[a+252>>2]){break b}v=v+4|0;c=s[A>>1];e=q[a+8>>2];g=r[A+4116|0];b=q[a+4>>2];continue}}q[a+64>>2]=l;xa=d+272|0}function Pi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;s=a;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(!(b&7)){if(c&7){break i}l=a+660|0;m=a+376|0;e=q[a+408>>2];t=q[a+612>>2];h=q[a+608>>2];q[a+568>>2]=0;q[a+464>>2]=0;f=1<>2];u=q[a+460>>2];v=q[a+456>>2];n=q[a+360>>2];j:{if(!r[q[a+356>>2]+25|0]){break j}g=Wa(l,m,5);q[a+464>>2]=g;if(!g|(f|0)<8){break j}x=(f|0)/8|0;z=-1>>>32-(f>>>3|0)<<((b|0)/8&7);y=(p[n>>1]+63|0)/64|0;i=(q[a+604>>2]+w(y,(c|0)/8|0)|0)+((b|0)/64|0)|0;g=0;while(1){o[i|0]=r[i|0]|z;i=i+y|0;g=g+1|0;if((x|0)!=(g|0)){continue}break}}g=(c|0)/8|0;i=(b|0)/8|0;h=h+(i>>>3&536870908)|0;if(r[j+76|0]!=2){if(!(!q[a+336>>2]|!q[a+328>>2]?!u:0)){k=q[h>>2]>>>(i&31)&1}if(!(!q[a+324>>2]|(q[a+336>>2]?0:!q[a+332>>2])?!v:0)){k=(t>>>(g&31)&1)+k|0}k=Wa(l,m,k+6|0)}x=h;h=q[h>>2];t=(f|0)/8|0;u=-1>>>32-t|0;v=u<<(i&31);q[x>>2]=k?h|v:h&(v^-1);q[a+448>>2]=0;h=q[a+612>>2];u=u<<(g&31);q[a+612>>2]=k?h|u:h&(u^-1);if(k){h=q[e>>2]&-49152|(d<<8)+1536&1792;d=o[n+4116|0];g=b-(q[a+316>>2]<>>2&15;d=c-(q[a+320>>2]<>2]=s;s=s&18431|q[a+436>>2]<<16;i=s|-8388608;q[e>>2]=i;if(q[a+456>>2]<<3!=g<<2|q[a+460>>2]<<3!=(d>>>2|0)){d=i&-63489}else{d=s|-8372224}q[e>>2]=d;q[a+468>>2]=2;q[a+472>>2]=0;q[a+408>>2]=q[a+408>>2]+4;q[a+568>>2]=q[a+568>>2]+1;q[a+428>>2]=q[a+428>>2]+1;d=q[a+416>>2];q[d+12>>2]=q[d+12>>2]&-805306369;$a(a,b,c,f,f);break b}e=1<>2]=k;g=(e|0)==(f|0);if(g|!r[n+56|0]){break l}if(!Wa(l,m,12)){break m}g=0;k=1;i=0;break k}k=(p[n>>1]+63|0)/64|0;if((f|0)>=8){h=-1>>>32-(f>>>3|0)<<(i&7);i=(q[a+600>>2]+w(g,k)|0)+((b|0)/64|0)|0;g=0;while(1){o[i|0]=h|r[i|0];i=i+k|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}g=1;q[a+468>>2]=1;k=0;if((e|0)!=(f|0)){i=0;break k}i=Wa(l,m,12)?0:3;break k}g=Wa(l,m,13);k=1;e=Wa(l,m,15);g=e<<1|g<<2;if(!e){g=lb(l,m)|g}i=r[g+43021|0];g=0;break k}k=(f|0)>8?g?3:2:2;i=12;g=-1;while(1){o:{e=g;g=e+1|0;h=Wa(l,m,i);k=k+ -1|0;if(!k){break o}i=i+1|0;if(!h){continue}}break}i=h?g:e+2|0;g=0;k=1}q[a+472>>2]=i;t=(i|0)==3&q[a+468>>2]==1;q[a+560>>2]=t;p:{q:{if(g){q[a+448>>2]=0;Qi(a,b,c,d);if(!q[a+448>>2]){break q}break b}r:{s:{if(i>>>0>7){break s}t:{switch(i-1|0){case 0:e=q[a+416>>2];h=(f|0)/2|0;$a(a,b,c,f,h);q[e+12>>2]=q[e+12>>2]&-805306369;j=q[a+416>>2];$a(a,b,c+h|0,f,h);e=j+12|0;f=q[j+12>>2]&-805306369|268435456;break r;case 1:e=q[a+416>>2];h=(f|0)/2|0;$a(a,b,c,h,f);q[e+12>>2]=q[e+12>>2]&-805306369;j=q[a+416>>2];$a(a,b+h|0,c,h,f);e=j+12|0;f=q[j+12>>2]&-805306369|268435456;break r;case 3:e=q[a+416>>2];j=(f|0)/4|0;$a(a,b,c,f,j);q[e+12>>2]=q[e+12>>2]&-805306369;h=q[a+416>>2];$a(a,b,c+j|0,f,(3<>2]&-805306369|268435456;break r;case 4:e=q[a+416>>2];j=(3<>2]=q[e+12>>2]&-805306369;h=q[a+416>>2];$a(a,b,c+j|0,f,(f|0)/4|0);e=h+12|0;f=q[h+12>>2]&-805306369|268435456;break r;case 5:e=q[a+416>>2];j=(f|0)/4|0;$a(a,b,c,j,f);q[e+12>>2]=q[e+12>>2]&-805306369;h=q[a+416>>2];$a(a,b+j|0,c,(3<>2]&-805306369|268435456;break r;case 2:break s;case 6:break t;default:break p}}e=q[a+416>>2];j=(3<>2]=q[e+12>>2]&-805306369;h=q[a+416>>2];$a(a,b+j|0,c,(f|0)/4|0,f);e=h+12|0;f=q[h+12>>2]&-805306369|268435456;break r}h=q[a+416>>2];e=(f|0)/2|0;$a(a,b,c,e,e);q[h+12>>2]=q[h+12>>2]&-805306369;f=q[a+416>>2];h=b+e|0;$a(a,h,c,e,e);q[f+12>>2]=q[f+12>>2]&-805306369|268435456;f=q[a+416>>2];j=c+e|0;$a(a,b,j,e,e);q[f+12>>2]=q[f+12>>2]&-805306369|536870912;f=q[a+416>>2];$a(a,h,j,e,e);e=f+12|0;f=q[f+12>>2]|805306368}q[e>>2]=f}if(!k){break f}if(i){break g}break h}e=q[a+416>>2];$a(a,b,c,f,f);q[e+12>>2]=q[e+12>>2]&-805306369;if(k){break h}break e}I(3650,4066,1185,43056);F()}I(4435,4066,1186,43056);F()}if(r[q[a+416>>2]+ -2|0]&8){break f}}if((Wa(l,m,30)|0)!=1){break c}}if(!g){break e}g=t+o[n+53|0]|0;break d}g=o[n+52|0]}q[s+544>>2]=g;a=Ab(a,b,c,d,0,0,q[a+476>>2]);if(!a){break b}break a}g=q[a+408>>2];e=q[g>>2]&-49152|(d<<8)+1536&1792;d=b;b=o[n+4116|0];d=d-(q[a+316>>2]<>>2&15;c=c-(q[a+320>>2]<>2]=b;b=q[a+436>>2]<<16&8323072|b&528500735|-536870912;q[g>>2]=b;b=b&-528529409|q[a+476>>2]<<23&528482304;q[g>>2]=b;if(q[a+456>>2]<<3!=d<<2|q[a+460>>2]<<3!=(c>>>2|0)){b=b&-63489}else{b=b|16384}q[g>>2]=b;q[a+408>>2]=q[a+408>>2]+4;q[a+568>>2]=q[a+568>>2]+1;q[a+428>>2]=q[a+428>>2]+1}a=0}return a}function Xc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,v=0,y=0,z=0,A=0,B=0,C=0,D=x(0);j=xa+ -8192|0;xa=j;j=Qa(j,0,8192);k=i>>>3|0;l=(i-k|0)/2|0;a:{if((h|0)==23){h=d<<2;d=a+16|0;h=h+d|0;d=d+(c<<2)|0;c=0;break a}h=a+8|0;d=d<<2;p=q[h+d>>2];n=c<<2;c=q[n+h>>2];h=a+d|0;d=a+n|0}b:{if(b>>>0>3){break b}h=q[h>>2];d=q[d>>2];c:{d:{switch(b-1|0){default:b=0;c=i<<1&65534;e:{f:{if((c|0)<=1919){if((c|0)!=1024?(c|0)!=960:0){break e}a=a+28|0;break f}if((c|0)!=1920?(c|0)!=2048:0){break e}a=a+32|0}b=q[a>>2]}kb(b,e,j);if(!i){break b}a=0;while(1){b=a<<2;u[b+f>>2]=u[b+g>>2]+x(u[b+j>>2]*u[b+h>>2]);c=b+4|0;u[c+f>>2]=u[c+g>>2]+x(u[c+j>>2]*u[c+h>>2]);c=b+8|0;u[c+f>>2]=u[c+g>>2]+x(u[c+j>>2]*u[c+h>>2]);b=b+12|0;u[b+f>>2]=u[b+g>>2]+x(u[b+j>>2]*u[b+h>>2]);a=(a<<16)+262144>>16;if((a|0)<(i|0)){continue}break}c=i+ -4|0;e=i+ -3|0;k=i+ -2|0;h=0;f=0;while(1){a=(f<<2)+g|0;b=j+(f+i<<2)|0;u[a>>2]=u[b>>2]*u[d+((f^-1)+i<<2)>>2];u[a+4>>2]=u[b+4>>2]*u[d+(h+k<<2)>>2];u[a+8>>2]=u[b+8>>2]*u[d+(e+h<<2)>>2];u[a+12>>2]=u[b+12>>2]*u[d+(c+h<<2)>>2];f=(f<<16)+262144>>16;h=0-f|0;if((f|0)<(i|0)){continue}break}break b;case 0:d=0;b=i<<1&65534;g:{h:{if((b|0)<=1919){if((b|0)!=1024?(b|0)!=960:0){break g}a=a+28|0;break h}if((b|0)!=1920?(b|0)!=2048:0){break g}a=a+32|0}d=q[a>>2]}kb(d,e,j);if(i){e=0;while(1){a=e<<2;u[a+f>>2]=u[a+g>>2]+x(u[a+j>>2]*u[a+h>>2]);b=a+4|0;u[b+f>>2]=u[b+g>>2]+x(u[b+j>>2]*u[b+h>>2]);b=a+8|0;u[b+f>>2]=u[b+g>>2]+x(u[b+j>>2]*u[b+h>>2]);a=a+12|0;u[a+f>>2]=u[a+g>>2]+x(u[a+j>>2]*u[a+h>>2]);e=(e<<16)+262144>>16;if((e|0)<(i|0)){continue}break}}a=l&65535;if(a){h=0;d=0;while(1){q[(h<<2)+g>>2]=q[j+(h+i<<2)>>2];d=d+1|0;h=d<<16>>16;if((a|0)>(h|0)){continue}break}}if(k){h=0;d=0;while(1){b=a+h|0;u[(b<<2)+g>>2]=u[j+(b+i<<2)>>2]*u[(k+(h^-1)<<2)+c>>2];d=d+1|0;h=d<<16>>16;if((k|0)>(h|0)){continue}break}}if(!a){break b}b=a+k|0;i=0;h=0;while(1){q[(b+i<<2)+g>>2]=0;h=h+1|0;i=h<<16>>16;if((a|0)>(i|0)){continue}break}break b;case 1:kb(q[a+24>>2],e,j);r=k<<2;n=k<<3;kb(q[a+24>>2],r+e|0,n+j|0);b=k<<4;kb(q[a+24>>2],e+n|0,b+j|0);o=w(k,3);t=w(k,6);d=t<<2;kb(q[a+24>>2],(o<<2)+e|0,d+j|0);kb(q[a+24>>2],b+e|0,j+(k<<5)|0);v=w(k,5);y=w(k,10);kb(q[a+24>>2],(v<<2)+e|0,j+(y<<2)|0);z=w(k,12);kb(q[a+24>>2],d+e|0,j+(z<<2)|0);b=e;e=w(k,7);A=w(k,14);kb(q[a+24>>2],b+(e<<2)|0,j+(A<<2)|0);a=l&65535;if(a){h=0;d=0;while(1){b=h<<2;q[b+f>>2]=q[b+g>>2];d=d+1|0;h=d<<16>>16;if((a|0)>(h|0)){continue}break}}if(!k){break c}B=i>>>4|0;s=k<<1;h=0;while(1){b=a+h|0;d=b<<2;l=h<<2;u[d+f>>2]=u[d+g>>2]+x(u[l+j>>2]*u[l+p>>2]);d=b+k<<2;m=d+f|0;D=u[d+g>>2];d=(k+(h^-1)<<2)+c|0;l=c+l|0;u[m>>2]=x(D+x(u[j+(h+k<<2)>>2]*u[d>>2]))+x(u[j+(h+s<<2)>>2]*u[l>>2]);m=b+s<<2;u[m+f>>2]=x(u[g+m>>2]+x(u[j+(h+o<<2)>>2]*u[d>>2]))+x(u[j+(h+r<<2)>>2]*u[l>>2]);m=b+o<<2;u[m+f>>2]=x(u[g+m>>2]+x(u[j+(h+v<<2)>>2]*u[d>>2]))+x(u[j+(h+t<<2)>>2]*u[l>>2]);if((h|0)<(B|0)){b=b+r<<2;u[b+f>>2]=x(u[b+g>>2]+x(u[j+(e+h<<2)>>2]*u[d>>2]))+x(u[j+(h+n<<2)>>2]*u[l>>2])}C=C+1|0;h=C<<16>>16;if((h|0)<(k|0)){continue}break}p=w(k,15);o=w(k,13);s=w(k,11);m=w(k,9);f=0;b=0;while(1){i:{if((f|0)<(B|0)){h=(a+f|0)-i|0;d=k+(f^-1)|0;break i}h=(a+f|0)-i|0;d=k+(f^-1)|0;u[(r+h<<2)+g>>2]=x(u[j+(e+f<<2)>>2]*u[(d<<2)+c>>2])+x(u[j+(f+n<<2)>>2]*u[(f<<2)+c>>2])}d=(d<<2)+c|0;l=(f<<2)+c|0;u[(h+v<<2)+g>>2]=x(u[j+(f+m<<2)>>2]*u[d>>2])+x(u[j+(f+y<<2)>>2]*u[l>>2]);u[(h+t<<2)+g>>2]=x(u[j+(f+s<<2)>>2]*u[d>>2])+x(u[j+(f+z<<2)>>2]*u[l>>2]);u[(e+h<<2)+g>>2]=x(u[j+(f+o<<2)>>2]*u[d>>2])+x(u[j+(f+A<<2)>>2]*u[l>>2]);u[(h+n<<2)+g>>2]=u[j+(f+p<<2)>>2]*u[d>>2];b=b+1|0;f=b<<16>>16;if((f|0)<(k|0)){continue}break}break c;case 2:break d}}h=0;b=i<<1&65534;j:{k:{if((b|0)<=1919){if((b|0)!=1024?(b|0)!=960:0){break j}a=a+28|0;break k}if((b|0)!=1920?(b|0)!=2048:0){break j}a=a+32|0}h=q[a>>2]}kb(h,e,j);h=l&65535;if(h){c=0;a=0;while(1){b=c<<2;q[b+f>>2]=q[b+g>>2];a=a+1|0;c=a<<16>>16;if((h|0)>(c|0)){continue}break}}if(k){c=0;e=0;while(1){a=c+h<<2;u[a+f>>2]=u[a+g>>2]+x(u[a+j>>2]*u[(c<<2)+p>>2]);e=e+1|0;c=e<<16>>16;if((c|0)<(k|0)){continue}break}}if(h){e=h+k|0;b=0;c=0;while(1){a=b+e<<2;u[a+f>>2]=u[a+g>>2]+u[a+j>>2];c=c+1|0;b=c<<16>>16;if((h|0)>(b|0)){continue}break}}if(!i){break b}f=0;h=0;while(1){u[(f<<2)+g>>2]=u[j+(f+i<<2)>>2]*u[d+((f^-1)+i<<2)>>2];h=h+1|0;f=h<<16>>16;if((f|0)<(i|0)){continue}break}break b}if(!a){break b}b=a+k|0;f=0;i=0;while(1){q[(b+f<<2)+g>>2]=0;i=i+1|0;f=i<<16>>16;if((a|0)>(f|0)){continue}break}}xa=j- -8192|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0;c=xa-128|0;xa=c;d=q[b>>2];b=L(1447)|0;g=U(d|0,b|0)|0;J(b|0);k=+S(g|0,1360,c+96|0);a:{if(k<4294967296&k>=0){b=~~k>>>0;break a}b=0}h=q[b>>2];q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;b:{c:{if(h>>>0<4294967280){i=q[c+96>>2];d:{e:{if(h>>>0>=11){d=h+16&-16;e=Va(d);q[c+120>>2]=d|-2147483648;q[c+112>>2]=e;q[c+116>>2]=h;j=c+112|0;break e}o[c+123|0]=h;j=c+112|0;e=j;if(!h){break d}}Sa(e,b+4|0,h)}o[e+h|0]=0;P(i|0);J(g|0);b=r[j+11|0];q[a+1832>>2]=q[a+1832>>2]+(b<<24>>24<0?q[c+116>>2]:b);e=Z()|0;d=q[a+1812>>2];if((e|0)>(d|0)){q[a+1812>>2]=e;b=q[a+1832>>2];q[a+1832>>2]=0;v[a+1856>>3]=+(b|0)*1e6/+(e-d|0)}if(r[a+1841|0]){b=a+12|0;e=r[j+11|0];d=e<<24>>24<0;$g(b,d?q[c+112>>2]:c+112|0,d?q[c+116>>2]:e);if(!r[a+8|0]){break c}i=a+16|0;while(1){g=r[b+11|0];d=g<<24>>24;e=(d|0)>-1;f:{if(!e){g=q[i>>2];if(g>>>0<=3){break b}d=q[b>>2];break f}if((d&255)>>>0<=3){break b}d=b}f=g;g=r[d+3|0]|(r[d+1|0]<<16|r[d+2|0]<<8);h=g+15|0;if(f>>>0>>0){break b}g:{if(e){e=b;d=i;break g}e=q[b>>2];d=e+4|0}l=r[e+6|0];m=r[e+5|0];n=r[d|0];wc(c+96|0,b,11,g);g=q[c+100>>2];p=r[c+107|0];f=Va(16);q[f+8>>2]=q[c+104>>2];d=q[c+100>>2];q[f>>2]=q[c+96>>2];q[f+4>>2]=d;q[f+12>>2]=1;e=o[b+11|0]>-1;if(e){d=b}else{d=q[b>>2]}d=o[d|0]+ -8|0;h:{if(d>>>0<=1){e=p<<24>>24<0?g:p;if(d-1){q[c+92>>2]=e;q[c+88>>2]=0;q[c+84>>2]=f;q[f+12>>2]=2;q[c+80>>2]=1580;ae(a,l|(m<<8|n<<16),c+80|0);q[c+80>>2]=1636;e=q[c+84>>2];d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(d|!e){break h}if(o[e+11|0]<=-1){Ra(q[e>>2])}Ra(e);break h}q[c+76>>2]=e;q[c+72>>2]=0;q[c+68>>2]=f;q[f+12>>2]=2;q[c+64>>2]=1580;$d(a,l|(m<<8|n<<16),c- -64|0);q[c+64>>2]=1636;e=q[c+68>>2];d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(d|!e){break h}if(o[e+11|0]<=-1){Ra(q[e>>2])}Ra(e);break h}q[c+20>>2]=o[(e?b:q[b>>2])|0];q[c+16>>2]=1452;K(0,c+16|0)}wc(c+96|0,b,h,-1);i:{if(o[b+11|0]>=0){o[b+11|0]=0;o[b|0]=0;break i}o[q[b>>2]]=0;q[i>>2]=0;if(o[b+11|0]>-1){break i}Ra(q[a+12>>2]);q[a+20>>2]=0}d=q[c+100>>2];q[b>>2]=q[c+96>>2];q[b+4>>2]=d;q[b+8>>2]=q[c+104>>2];d=q[f+12>>2]+ -1|0;q[f+12>>2]=d;if(d){continue}if(o[f+11|0]<=-1){Ra(q[f>>2])}Ra(f);continue}}j:{b=o[Cd(c+112|0)|0]+ -1|0;if(b>>>0>9){break j}k:{switch(b-1|0){default:i=r[j+11|0];e=q[c+116>>2];d=Va(16);q[d+8>>2]=q[c+120>>2];b=q[c+116>>2];q[d>>2]=q[c+112>>2];q[d+4>>2]=b;q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;q[d+12>>2]=1;b=o[d+11|0]<=-1?q[d>>2]:d;b=r[b+1|0]|r[b+2|0]<<8|(r[b+3|0]<<16|r[b+4|0]<<24);q[c+52>>2]=d;q[c+60>>2]=(i<<24>>24<0?e:i)+ -5;q[c+56>>2]=5;q[d+12>>2]=2;q[c+48>>2]=1580;ae(a,b<<8&16711680|b<<24|(b>>>8&65280|b>>>24),c+48|0);q[c+48>>2]=1636;b=q[c+52>>2];a=q[b+12>>2]+ -1|0;q[b+12>>2]=a;if(!(a|!b)){if(o[b+11|0]<=-1){Ra(q[b>>2])}Ra(b)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d);break b;case 0:i=r[j+11|0];e=q[c+116>>2];d=Va(16);q[d+8>>2]=q[c+120>>2];b=q[c+116>>2];q[d>>2]=q[c+112>>2];q[d+4>>2]=b;q[c+120>>2]=0;q[c+112>>2]=0;q[c+116>>2]=0;q[d+12>>2]=1;b=o[d+11|0]<=-1?q[d>>2]:d;b=r[b+1|0]|r[b+2|0]<<8|(r[b+3|0]<<16|r[b+4|0]<<24);q[c+36>>2]=d;q[c+44>>2]=(i<<24>>24<0?e:i)+ -5;q[c+40>>2]=5;q[d+12>>2]=2;q[c+32>>2]=1580;$d(a,b<<8&16711680|b<<24|(b>>>8&65280|b>>>24),c+32|0);q[c+32>>2]=1636;b=q[c+36>>2];a=q[b+12>>2]+ -1|0;q[b+12>>2]=a;if(!(a|!b)){if(o[b+11|0]<=-1){Ra(q[b>>2])}Ra(b)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d);break b;case 1:case 2:case 3:case 4:case 5:case 6:case 7:break j;case 8:break k}}b=q[a+4>>2];a=L(1232)|0;b=U(b|0,a|0)|0;J(a|0);d=L(1473)|0;l:{if(o[166016]&1){break l}if(!eb(166016)){break l}s=166012,t=M(2,1828)|0,q[s>>2]=t;db(166016)}a=q[41503];T(d|0);q[c+96>>2]=d;N(a|0,b|0,1468,c+96|0);J(d|0);J(b|0);break b}s=c,t=o[Cd(c+112|0)|0],q[s+4>>2]=t;q[c>>2]=1489;K(1,c|0);break b}Cb();F()}d=o[b+11|0];e=q[a+16>>2];m:{if((d|0)<=-1){break m}e=d&255}if(e>>>0<13){break b}o[a+8|0]=1;wc(c+96|0,b,13,-1);n:{if(o[a+23|0]>=0){o[b+11|0]=0;o[b|0]=0;break n}o[q[a+12>>2]]=0;q[a+16>>2]=0;if(o[a+23|0]>-1){break n}Ra(q[a+12>>2]);q[a+20>>2]=0}a=q[c+100>>2];q[b>>2]=q[c+96>>2];q[b+4>>2]=a;q[b+8>>2]=q[c+104>>2]}if(o[j+11|0]<=-1){Ra(q[c+112>>2])}xa=c+128|0}function qj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;v=q[a+48>>2];if(r[v+76|0]<=1){b=q[a+84>>2];x=q[a+44>>2];_=q[b+(q[a+680>>2]<<2)>>2]-q[b+(q[a+4>>2]+w(q[a+8>>2],p[x+4118>>1])<<2)>>2]|0;if((_|0)>=1){ka=q[a+236>>2];la=q[a+232>>2];y=q[a+192>>2];z=q[a+188>>2];j=q[a+76>>2];ma=q[a+40>>2];l=q[a>>2];h=q[l+20>>2];J=l+11640|0;$=q[l+64>>2]!=12;while(1){d=q[j+12>>2];a:{if(d&65536){break a}b=o[x+4116|0];A=q[a+8>>2]<>2]<>>17&3;if((c|0)!=1){e=o[j+8|0];b=(e<<1)+v|0;K=p[b+452>>1];L=p[b+388>>1];aa=p[b+324>>1];M=p[b+420>>1];N=p[b+356>>1];ba=p[b+292>>1];b=q[(w(e,12)+v|0)+876>>2];na=q[b+4>>2];oa=q[b>>2]}if(d&393216){e=o[j+9|0];b=(e<<1)+v|0;O=p[b+676>>1];P=p[b+612>>1];ca=p[b+548>>1];Q=p[b+644>>1];R=p[b+580>>1];da=p[b+516>>1];b=q[(w(e,12)+v|0)+1068>>2];pa=q[b+4>>2];qa=q[b>>2]}s=(d>>>10&60)+4|0;g=0;e=(d>>>6&60)+4|0;b=(c|0)==2;f=(t|0)!=0;B=b|f;ea=B?e:h;fa=B?10:9;ga=B?5:1;C=A+(d>>>2&60)|0;u=w(C,h);m=m+(d<<2&60)|0;A=u+(m+la|0)|0;ra=b&!t;sa=f&(c|0)!=2;ta=b&f;t=(m+ka|0)+((u|0)/2|0)|0;S=e>>>1|0;ha=(C|0)/2|0;ia=(m|0)/2|0;u=-284-(C<<2)|0;H=-284-(m<<2)|0;while(1){i=d&393216;b:{c:{d:{e:{f:{if(!g){if((i|0)==131072){d=q[l+11608>>2]&3;f=(p[x+2>>1]-C<<2)+28|0;b=(p[x>>1]-m<<2)+28|0;break f}f=(p[x+2>>1]-C<<2)+28|0;b=p[j+2>>1];k=(f|0)<(b|0)?f:(u|0)>(b|0)?u:b;b=(p[x>>1]-m<<2)+28|0;c=p[j>>1];c=(b|0)<(c|0)?b:(H|0)>(c|0)?H:c;T=w((k>>2)+C|0,h)+oa+(m+(c>>2))|0;d=q[l+11608>>2]&3;k=k&d;D=c&d;if(i){break f}f=8;d=158032;b=A;break d}g:{if((i|0)==131072){d=q[l+11608>>2]&7;f=(p[x+2>>1]-C<<2)+28|0;b=(p[x>>1]-m<<2)+28|0;break g}f=(p[x+2>>1]-C<<2)+28|0;b=p[j+2>>1];k=(f|0)<(b|0)?f:(u|0)>(b|0)?u:b;b=(p[x>>1]-m<<2)+28|0;c=p[j>>1];c=(b|0)<(c|0)?b:(H|0)>(c|0)?H:c;T=(w((k>>3)+ha|0,h)+na|0)+((c>>3)+ia<<1)|0;d=q[l+11608>>2]&7;k=k&d;D=c&d;if(i){break g}f=4;d=158064;b=t;break d}c=p[j+6>>1];f=(f|0)<(c|0)?f:(u|0)>(c|0)?u:c;c=p[j+4>>1];b=(b|0)<(c|0)?b:(H|0)>(c|0)?H:c;U=(w((f>>3)+ha|0,h)+pa|0)+((b>>3)+ia<<1)|0;E=d&f;G=b&d;d=158064;f=4;b=t;break e}c=p[j+6>>1];f=(f|0)<(c|0)?f:(u|0)>(c|0)?u:c;c=p[j+4>>1];b=(b|0)<(c|0)?b:(H|0)>(c|0)?H:c;U=w((f>>2)+C|0,h)+qa+(m+(b>>2))|0;E=d&f;G=b&d;d=158032;f=8;b=A}if((i|0)!=131072){break d}c=w(g,11);V=ga+c|0;W=0;X=0;break c}c=w(g,11);W=q[(c+(D?k?fa:0:0)<<2)+J>>2];V=c+ga|0;X=q[((V+(((D|0)!=0)<<1)|0)+((k|0)!=0)<<2)+J>>2];Y=0;Z=0;if(!i){break b}}Y=q[((G?E?fa:0:0)+c<<2)+J>>2];Z=q[(((((G|0)!=0)<<1)+V|0)+((E|0)!=0)<<2)+J>>2]}c=Z;if(X){i=!k|!D;n[X](i?T:T-w((f>>>1|0)+ -1|0,h)|0,i?B?z:b:z,h,B?e:i?h:e,D?(D<<3)+d|0:(k<<3)+d|0,(s>>g)+(i?0:f+ -1|0)|0,e>>>g|0)}if(W){n[W]((w(e,(f>>>1|0)+ -1|0)<<1)+z|0,B?z:b,e,ea,(k<<3)+d|0,s>>g,e>>>g|0)}if(c){i=!E|!G;n[c](i?U:U-w((f>>>1|0)+ -1|0,h)|0,i?B?y:b:y,h,B?e:i?h:e,G?(G<<3)+d|0:(E<<3)+d|0,(s>>g)+(i?0:f+ -1|0)|0,e>>>g|0)}if(Y){n[Y]((w(e,(f>>>1|0)+ -1|0)<<1)+y|0,B?y:b,e,ea,(E<<3)+d|0,s>>g,e>>>g|0)}h:{i:{if(ta){c=G?g?0:((E|0)!=0)<<13:0;d=D?g?0:((k|0)!=0)<<13:0;if(!g){n[q[l+12220>>2]](z,y,b,e,e,h,ba,aa,da,ca,o[v+258|0]+7|0,d,c,s,e);break i}A=s>>1;t=o[v+259|0]+7|0;g=q[l+12232>>2];if($){break h}n[g](z,y,b,e,e,h,M,N,K,L,Q,R,O,P,t,d,c,A,S);break a}if(sa){c=q[j+12>>2]&393216;d=(c?G:D)?g?0:(((c?E:k)|0)!=0)<<13:0;if(!g){n[q[l+12228>>2]](c?y:z,b,e,h,c?da:ba,c?ca:aa,o[v+258|0]+6|0,d,s,e);break i}A=c?y:z;t=o[v+259|0]+6|0;g=q[l+12240>>2];if(!$){n[g](A,b,e,h,c?Q:M,c?R:N,c?O:K,c?P:L,t,d,s>>1,S);break a}n[g](A,b,e,h,c?R:N,c?Q:M,c?P:L,c?O:K,t,d,s>>1,S);break a}if(ra){s=s>>((g|0)!=0);n[q[l+12224>>2]](z,y,b,e,e,h,D?g?0:((k|0)!=0)<<13:0,G?g?0:((E|0)!=0)<<13:0,s,e)}if(g){break a}}d=q[j+12>>2];g=1;continue}break}n[g](z,y,b,e,e,h,N,M,L,K,R,Q,P,O,t,d,c,A,S)}j=j+16|0;ja=ja+1|0;if((_|0)!=(ja|0)){continue}break}}return}I(3538,3975,190,42167);F()}function _i(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,u=0,v=0,x=0;a:{if(!q[a+112>>2]){break a}e=a+376|0;d=Ua(e);b:{if(d>>>0>=65){c=978;if(q[a+116>>2]){break b}d=0}b=q[a+640>>2];o[b+4360|0]=d;c=Ua(e)<<24;j=(c|0)>251658240?15:(c|0)<0?0:c>>24;o[b+4361|0]=j;k=q[a+636>>2];d=k+w(j,8976)|0;if(!r[d+8972|0]){break a}v=b+4378|0,x=Pa(e,1),o[v|0]=x;v=b+4376|0,x=Pa(e,1),o[v|0]=x;v=b+4394|0,x=Pa(e,3),o[v|0]=x;v=b+4362|0,x=Pa(e,1),o[v|0]=x;v=b+4363|0,x=Pa(e,1),o[v|0]=x;v=b+4364|0,x=Ua(e)+1|0,o[v|0]=x;v=b+4365|0,x=Ua(e)+1|0,o[v|0]=x;v=b+4366|0,x=Xa(e)+26|0,o[v|0]=x;v=b+4367|0,x=Pa(e,1),o[v|0]=x;v=b+4368|0,x=Pa(e,1),o[v|0]=x;c=Pa(e,1);o[b+4369|0]=c;if(c&255){g=Ua(e)}o[b+4370|0]=g;f=k+w(j,8976)|0;o[b+4418|0]=r[f+4116|0]-g;v=b+4371|0,x=Xa(e),o[v|0]=x;v=b+4372|0,x=Xa(e),o[v|0]=x;v=b+4373|0,x=Pa(e,1),o[v|0]=x;v=b+4374|0,x=Pa(e,1),o[v|0]=x;v=b+4375|0,x=Pa(e,1),o[v|0]=x;v=b+4377|0,x=Pa(e,1),o[v|0]=x;c=Pa(e,1);o[b+4379|0]=c;c:{if(!(c&255)){break c}c=r[f+4116|0]+ -4|0;if(c>>>0>2){break c}d:{switch(c-1|0){default:if(p[d>>1]>4095){break a}if(p[(k+w(j,8976)|0)+2>>1]<=4095){break c}break a;case 0:if(p[d>>1]>8191){break a}if(p[(k+w(j,8976)|0)+2>>1]<=8191){break c}break a;case 1:break d}}if(p[d>>1]>16383){break a}if(p[(k+w(j,8976)|0)+2>>1]<=16383){break c}break a}c=Pa(e,1);o[b+4385|0]=0;o[b+4380|0]=c;e:{f:{if(r[b+4379|0]){l=q[a+4>>2];d=q[a>>2];f=b+4382|0;v=f,x=Ua(e)+1|0,o[v|0]=x;c=Ua(e)+1|0;o[b+4383|0]=c;f=r[f|0];if(f<<24>>24<1){break a}c=c<<24>>24;if((((l+127&-64)+ -1|0)/64|0)<(c|0)|(c|0)<1|(((d+127&-64)+ -1|0)/64|0)<(f|0)){break a}g=Pa(e,1);o[b+4384|0]=g;d=r[b+4382|0];f=d<<24>>24;if((f|0)<=0){g=o[b+4383|0];break f}n=(k+w(j,8976)|0)+4118|0;f=0;while(1){g:{if(!(g&255)){if((f|0)<(d+ -1|0)){c=Ua(e)+1|0;break g}c=p[n>>1]-h|0;break g}c=p[n>>1];c=((w(c,f+1|0)|0)/(d|0)|0)-((w(c,f)|0)/(d|0)|0)|0}d=r[b+4383|0];g=d<<24>>24;if((g|0)>=1){i=d>>>0>1?d:1;m=q[b+4356>>2]+w(f,6)|0;u=o[b+4382|0];d=0;while(1){l=w(w(d,u),6)+m|0;p[l+2>>1]=c;o[l|0]=h;d=d+1|0;if((i|0)!=(d|0)){continue}break}}if((c|0)<1){break a}h:{h=c+h|0;if((h|0)<=p[n>>1]){f=f+1|0;d=o[b+4382|0];if((f|0)<(d|0)){break h}f=d;break f}break a}g=r[b+4384|0];continue}}o[b+4384|0]=1;p[b+4382>>1]=257;f=q[b+4356>>2];p[f>>1]=0;c=k+w(j,8976)|0;p[f+2>>1]=s[c+4118>>1];p[f+4>>1]=s[c+4120>>1];break e}i:{if(g<<24>>24<1){break i}d=g&255;m=(k+w(j,8976)|0)+4120|0;h=0;i=0;while(1){j:{if(!r[b+4384|0]){if((i|0)<(d+ -1|0)){g=Ua(e)+1|0;f=r[b+4382|0];break j}g=p[m>>1]-h|0;break j}c=p[m>>1];g=((w(c,i+1|0)|0)/(d|0)|0)-((w(c,i)|0)/(d|0)|0)|0}k:{if(f<<24>>24<1){break k}d=q[b+4356>>2];c=d+w(w(f&255,i),6)|0;p[c+4>>1]=g;o[c+1|0]=h;c=f<<24>>24;if((c|0)<2){break k}u=(c|0)>1?c:1;l=d+w(w(c,i),6)|0;d=1;while(1){c=l+w(d,6)|0;p[c+4>>1]=g;o[c+1|0]=h;d=d+1|0;if((u|0)!=(d|0)){continue}break}}if((g|0)<1){break a}h=g+h|0;if((h|0)<=p[m>>1]){i=i+1|0;d=o[b+4383|0];if((i|0)>=(d|0)){break i}continue}break}break a}v=b,x=Pa(e,1),o[v+4385|0]=x}v=b+4386|0,x=Pa(e,1),o[v|0]=x;c=Pa(e,1);q[b+4388>>2]=0;o[b+4387|0]=c;l:{if(!(c&255)){break l}v=b,x=Pa(e,1),o[v+4388|0]=x;c=Pa(e,1);o[b+4389|0]=c;if(c&255){break l}v=b,x=Xa(e),o[v+4390|0]=x;v=b,x=Xa(e),o[v+4391|0]=x}c=Pa(e,1);o[b+4392|0]=c;if(c&255){Sa(q[b+4352>>2],30944,192);Sa(q[b+4352>>2]+192|0,32992,128);Sa(q[b+4352>>2]+320|0,32992,128);Sa(q[b+4352>>2]+448|0,32992,128);Sa(q[b+4352>>2]+576|0,33120,128);Sa(q[b+4352>>2]+704|0,33120,128);Sa(q[b+4352>>2]+832|0,33120,128);Sa(q[b+4352>>2]+960|0,33248,512);Sa(q[b+4352>>2]+1472|0,33248,512);Sa(q[b+4352>>2]+1984|0,33248,512);Sa(q[b+4352>>2]+2496|0,33760,512);Sa(q[b+4352>>2]+3008|0,33760,512);Sa(q[b+4352>>2]+3520|0,33760,512);Sa(q[b+4352>>2]+4032|0,34272,2048);Sa(q[b+4352>>2]+6080|0,36320,2048);ze(a,q[b+4352>>2])}v=b+4393|0,x=Pa(e,1),o[v|0]=x;v=b+4395|0,x=Ua(e)+2|0,o[v|0]=x;v=b+4396|0,x=Pa(e,1),o[v|0]=x;Pa(e,1);c=979;if(t[a+384>>2]>t[a+396>>2]){break b}q[a+116>>2]=1;c=0}return c}return 980}function Gh(a,b,c,d){var e=0,f=0,g=x(0),h=0,i=0,j=x(0),k=x(0),l=x(0),m=x(0),n=x(0),s=0,t=x(0),v=0,y=0,z=x(0),B=0,C=x(0),D=x(0),E=x(0),F=0,G=0,H=x(0),I=x(0),J=0,K=0,L=x(0),M=x(0),N=0,O=x(0),P=x(0),Q=0,R=0,S=0,T=x(0),U=x(0),V=x(0),W=0,X=0,Y=0;e=w(d,6)+a|0;N=r[r[(a+d|0)+610|0]+(e+616|0)|0];Q=r[a+53419|0];J=r[e+616|0];i=r[a+19|0];if(i){e=0;B=w(d,5)+a|0;F=(d<<8)+a|0;while(1){f=e+B|0;y=f+10986|0;h=r[y|0];f=r[f+10976|0];v=f+ -1|0;a:{if(v>>>0<=2){g=x(.8999999761581421);b:{switch(v-1|0){default:g=h?x(.75):x(.6000000238418579);break a;case 0:break a;case 1:break b}}g=x(.9800000190734863);break a}g=(h|0)==1?x(.6000000238418579):x(0)}k=g;h=F+(e<<2)|0;v=h+11508|0;g=u[v>>2];G=k>2]=g;u[v>>2]=g;o[y|0]=f;e=e+1|0;if((i|0)!=(e|0)){continue}break}}c:{if(!r[a+12426|0]|d){break c}B=r[a+14|0];h=r[a+13|0];e=0;i=ob(q[a>>2]);o[a+12020|0]=0;F=r[a+14|0];G=F+r[a+15|0]|0;f=r[i+108528|0];d:{if(G>>>0>f>>>0){while(1){i=e;e=e+1|0;if(r[((i&255)+a|0)+26|0]>>0){continue}break}y=r[a+16|0];break d}y=r[a+16|0];i=y}if(y){v=r[a+13|0];R=v+ -1|0;S=v+ -2|0;while(1){f=i+1|0;h=R+(h&255)|0;while(1){f=f+ -1|0;e=r[((f&255)+a|0)+26|0];K=(e+S|0)%2|0;if((h-(K&255)|0)<(e|0)){continue}break}f=(s&255)+a|0;h=e-(B&255)|0;h=(h|0)>0?h:0;o[f+12021|0]=h;o[f+12085|0]=(v-K|0)-h;f=i&255;if(h&255){s=s+1|0;o[a+12020|0]=s;B=e;h=e}else{h=F}i=(r[(a+f|0)+26|0]-e|0)<3?y:i;if((e|0)!=(G|0)){continue}break}e=s&255;if(!(e>>>0<2|r[(a+e|0)+12020|0]>2)){s=s+ -1|0;o[a+12020|0]=s}o[a+12020|0]=(s&255)>>>0<5?s:5;break c}o[a+12085|0]=0;p[a+12020>>1]=0}F=r[a+12020|0];if(F){h=0;y=(d<<8)+a|0;v=a+53419|0;G=a+53416|0;d=J+Q|0;R=(d+ -2<<9)+b|0;S=(d+ -1<<9)+b|0;while(1){d=a+h|0;K=d+12021|0;if(r[K|0]){X=d+12085|0;Y=r[a+14|0];s=0;while(1){f=s+Y|0;e=0;if(h){while(1){f=r[(a+e|0)+12021|0]+f|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}d=r[X|0]+s|0;B=f&255;O=u[(y+(r[(B+a|0)+538|0]<<2)|0)+10996>>2];T=x(O*O);e:{if(!(T>x(0))){if(J>>>0>=N>>>0){break e}d=d&255;e=J;while(1){i=e+Q<<9;f=(i+c|0)+(B<<3)|0;i=(b+i|0)+(d<<3)|0;q[f>>2]=q[i>>2];q[f+4>>2]=q[i+4>>2];e=e+1|0;if((N|0)!=(e|0)){continue}break}break e}i=(d&255)<<3;e=o[v|0];d=e&255;f=i+((d<<9)+b|0)|0;W=f+ -512|0;C=u[W+4>>2];D=u[W>>2];f=f+ -1024|0;l=u[f+4>>2];t=u[f>>2];f=d+(r[G|0]+6&255)|0;f:{if((f|0)>(e|0)){H=x(0);d=e;I=x(0);E=x(0);P=x(0);z=x(0);k=t;m=C;g=D;n=l;while(1){j=m;e=((e<<9)+b|0)+i|0;m=u[e+4>>2];L=u[e>>2];P=x(P+x(x(k*m)-x(n*L)));E=x(E+x(x(k*L)+x(n*m)));U=x(x(g*m)-x(j*L));I=x(I+U);V=x(x(g*L)+x(j*m));H=x(H+V);M=x(x(j*j)+x(g*g));z=x(z+M);k=g;g=L;n=j;d=d+1|0;e=d<<24>>24;if((f|0)>(e|0)){continue}break}j=x(x(t*C)-x(l*D));n=x(x(t*D)+x(l*C));k=x(x(t*t)+x(l*l));break f}z=x(0);k=x(x(t*t)+x(l*l));M=k;j=x(x(t*C)-x(l*D));U=j;n=x(x(t*D)+x(l*C));V=n;P=x(0);E=x(0);I=x(0);H=x(0)}g=x(0);m=x(0);l=x(0);M=x(z*x(k+x(z-M)));k=x(j+x(I-U));n=x(n+x(H-V));j=x(M+x(x(x(k*k)+x(n*n))*x(-.9999990463256836)));if(j!=x(0)){m=x(x(1)/j);l=x(x(x(x(H*k)+x(I*n))-x(z*P))*m);m=x(x(x(x(H*n)-x(I*k))-x(z*E))*m)}j=x(0);if(z!=x(0)){g=x(x(1)/z);j=x(g*x(-x(x(I+x(n*l))-x(k*m))));g=x(g*x(-x(x(H+x(n*m))+x(k*l))))}if(!(x(x(m*m)+x(l*l))>=x(16)^1?!(x(x(g*g)+x(j*j))>=x(16)):0)){l=x(0);j=x(0);m=x(0);g=x(0)}if(J>>>0>=N>>>0){break e}n=x(T*l);t=x(O*j);C=x(T*m);D=x(O*g);d=i+R|0;j=u[d>>2];e=i+S|0;m=u[e>>2];l=u[d+4>>2];E=u[e+4>>2];e=J;while(1){g=m;d=e+Q<<9;f=(d+b|0)+i|0;m=u[f>>2];d=(c+d|0)+(B<<3)|0;k=E;E=u[f+4>>2];u[d+4>>2]=x(x(C*l)+x(x(n*j)+x(x(t*g)+x(D*k))))+E;u[d>>2]=m+x(x(x(C*j)+x(x(D*g)-x(t*k)))-x(n*l));l=k;j=g;e=e+1|0;if((N|0)!=(e|0)){continue}break}}s=s+1|0;if((s&255)>>>0>2];q[c+4>>2]=0;b:{c:{d:{e:{f:{g:{h:{i:{j:{if(d+ -6>>>0>=6){if((d|0)==5){break j}q[c+4>>2]=8216;break a}if(!a){q[c+4>>2]=8213;break a}if(q[a>>2]!=12){q[c+4>>2]=8214;break a}if(!q[a+8>>2]){q[c+4>>2]=8215;break a}d=d+ -6|0;if(d>>>0>5){break f}switch(d-1|0){case 1:break c;case 0:break e;case 4:break g;case 3:break h;case 2:break i;default:break d}}q[c+4>>2]=0;if(q[b>>2]!=28){q[c+4>>2]=8211;break a}if(q[c>>2]!=12){q[c+4>>2]=8212;break a}d=q[b+8>>2];if(1<>>0<=12:0){break b}q[c+4>>2]=8203;break a}q[c+4>>2]=0;if(q[b>>2]!=524){q[c+4>>2]=8211;break a}if(q[c>>2]==88){break b}q[c+4>>2]=8212;break a}q[c+4>>2]=0;if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a}q[c+4>>2]=0;if(q[b>>2]!=33036){q[c+4>>2]=8211;break a}if(q[c>>2]!=8){q[c+4>>2]=8212;break a}i=q[b+8>>2];if(i){l=b+12|0;d=0;while(1){k:{l:{j=w(d,516)+l|0;h=q[j>>2];if(h){e=0;if((h|0)>0){break l}break k}q[c+4>>2]=8219;break a}while(1){k=(e<<2)+j|0;if(!q[k+4>>2]){q[c+4>>2]=8220;break a}if(q[k+260>>2]){e=e+1|0;if((h|0)==(e|0)){break k}continue}break}q[c+4>>2]=8221;break a}d=d+1|0;if((i|0)!=(d|0)){continue}break}break b}q[c+4>>2]=8219;break a}q[c+4>>2]=8217;break a}d=q[b+8>>2];if(d>>>0>8){m:{n:{o:{p:{e=d+ -263|0;if(e>>>0>2){if((d|0)==775){break p}q[c+4>>2]=8217;break a}switch(e-1|0){case 1:break m;case 0:break n;default:break o}}if(q[b>>2]!=24){q[c+4>>2]=8211;break a}if(q[c>>2]!=8){q[c+4>>2]=8212;break a}if(t[b+20>>2]<16?!(q[b+16>>2]<0|t[b+12>>2]>4):0){break b}q[c+4>>2]=8192;break a}if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==80){break b}q[c+4>>2]=8212;break a}if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==124){break b}q[c+4>>2]=8212;break a}if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==32){break b}q[c+4>>2]=8212;break a}q:{r:{switch(d-1|0){case 7:if(q[b>>2]!=24){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a;case 6:if(q[b>>2]!=16){q[c+4>>2]=8211;break a}if(q[c>>2]!=8){q[c+4>>2]=8212;break a}if(q[b+12>>2]==1){break b}q[c+4>>2]=8192;break a;case 1:if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a;case 3:if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a;case 5:if(q[b>>2]!=20){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a;case 4:if(q[b>>2]!=12){q[c+4>>2]=8211;break a}if(q[c>>2]==532){break b}q[c+4>>2]=8212;break a;default:if(q[b>>2]!=12){q[c+4>>2]=8211;break a}s:{d=q[c>>2]+ -556|0;if(d>>>0>8){break s}switch(d-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:break s;default:break b}}q[c+4>>2]=8212;break a;case 2:break q;case 0:break r}}if(q[b>>2]==28){break q}q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a}q[c+4>>2]=0;if(q[b>>2]!=8){q[c+4>>2]=8211;break a}if(q[c>>2]==8){break b}q[c+4>>2]=8212;break a}q[c+4>>2]=0;d=q[b>>2];if(!((d|0)==20|(d|0)==536)){q[c+4>>2]=8211;break a}d=q[c>>2];if((d|0)==32|(d|0)==112){break b}q[c+4>>2]=8212;break a}d=q[b+4>>2]+ -5|0;if(d>>>0>6){break a}f=0;t:{switch(d-1|0){default:q[c+4>>2]=0;q[g+12>>2]=0;d=Kj(g+12|0,b,c);a=q[g+12>>2];if((d|0)==1){u:{if(!a){break u}if(q[a+8>>2]){Ie(a);break u}n[q[b+20>>2]](q[b+24>>2],a)}q[c+4>>2]=16384;f=1;break a}jd(q[a+8>>2]);break a;case 0:b=q[a+8>>2];q[c+4>>2]=0;id(b);Ie(a);break a;case 2:f=wj(a,b,c);break a;case 5:f=Ij(a,b,c);break a;case 4:a=q[a+8>>2];if(!q[a+56>>2]){break a}vb(q[a+244>>2],q[b+8>>2],4);break a;case 3:break a;case 1:break t}}f=Dj(a,b,c)}xa=g+16|0;return f|0}function zh(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=xa+ -8192|0;xa=j;if(!r[(r[a+25|0]+a|0)+74|0]){h=r[d|0];k=r[d+2|0];a:{if(r[a+4|0]!=1){break a}g=((h<<2)+a|0)+1136|0;if(!q[g>>2]){i=g;g=Ta(w(s[a+10>>1],12));q[i>>2]=g;Rc(g,s[a+10>>1])}g=((k<<2)+a|0)+1136|0;if(q[g>>2]){break a}i=g;g=Ta(w(s[a+10>>1],12));q[i>>2]=g;Rc(g,s[a+10>>1])}i=r[a+4|0];b:{if(i>>>0<=23){g=1;if(1<>2]){i=g;g=Ta(s[a+10>>1]<<3);q[i>>2]=g;Qa(g,0,s[a+10>>1]<<3)}g=((k<<2)+a|0)+1392|0;if(q[g>>2]){break c}i=g;g=Ta(s[a+10>>1]<<3);q[i>>2]=g;Qa(g,0,s[a+10>>1]<<3)}g=1;i=(h<<2)+a|0;if(!q[i+328>>2]){m=r[a+25|0]+a|0;o[m+843|0]=0;if(!(r[a+841|0]!=1?r[a+840|0]!=1:0)){o[m+843|0]=1;g=2}l=i;i=g<<2;m=Ta(w(i,s[a+10>>1]));q[l+328>>2]=m;Qa(m,0,w(i,s[a+10>>1]))}i=(k<<2)+a|0;if(!q[i+328>>2]){l=i;g=g<<2;i=Ta(w(g,s[a+10>>1]));q[l+328>>2]=i;Qa(i,0,w(g,s[a+10>>1]))}h=(h<<2)+a|0;if(!q[h+584>>2]){g=h;h=Ta(s[a+10>>1]<<2);q[g+584>>2]=h;Qa(h,0,s[a+10>>1]<<2)}h=(k<<2)+a|0;if(!q[h+584>>2]){g=h;h=Ta(s[a+10>>1]<<2);q[g+584>>2]=h;Qa(h,0,s[a+10>>1]<<2)}o[(r[a+25|0]+a|0)+74|0]=1}e=Ec(b,e,j+4096|0);d:{if(e){break d}e=Ec(c,f,j);if(e){break d}e=a+1652|0;f=a+1648|0;a;k=s[a+10>>1];e:{if(r[b+8628|0]){ac(b,c,j+4096|0,j,k,1,f,e);break e}ac(b,0,j+4096|0,0,k,0,f,e);ac(c,0,j,0,s[a+10>>1],0,f,e)}fi(b,c,j+4096|0,j,s[a+10>>1]);ji(b,c,j+4096|0,j,s[a+10>>1]);e=r[a+4|0];if((e|0)==1){e=a+1136|0;Qc(b,j+4096|0,q[e+(r[d|0]<<2)>>2],s[a+10>>1],r[a+3|0]);Qc(c,j,q[e+(p[d+2>>1]<<2)>>2],s[a+10>>1],r[a+3|0]);Sc(b,q[e+(r[d|0]<<2)>>2]);Sc(c,q[e+(p[d+2>>1]<<2)>>2]);e=r[a+4|0]}f=e&255;f:{if(f>>>0<=23){e=1;if(1<>1]=s[b+10278>>1]}f=r[d|0];p[b+10278>>1]=s[((f<<1)+a|0)+192>>1];if(!(!r[e+1|0]|!r[e+4|0])){p[((p[d+2>>1]<<1)+a|0)+192>>1]=s[e+2>>1]}p[e+2>>1]=s[((p[d+2>>1]<<1)+a|0)+192>>1]}g=h;h=a+1392|0;l=q[h+(f<<2)>>2];i=f;f=a+128|0;Pc(b,g,j+4096|0,l,q[a+320>>2],r[b+13|0],r[i+f|0],r[a+3|0],k,s[a+10>>1]);g=e;e=p[d+2>>1];Pc(c,g,j,q[h+(e<<2)>>2],q[a+320>>2],r[c+13|0],r[e+f|0],r[a+3|0],r[a+4|0],s[a+10>>1])}Bc(b,b+9053|0,r[a+3|0],r[a+4|0],j+4096|0,s[a+10>>1]);Bc(c,c+9053|0,r[a+3|0],r[a+4|0],j,s[a+10>>1]);e=q[a+324>>2];h:{if(!r[e|0]){break h}if(!(r[e+3|0]?r[(r[d|0]+e|0)+56|0]:0)){Yc(e,j+4096|0);e=q[a+324>>2]}if(r[e+3|0]?r[(p[d+2>>1]+e|0)+56|0]:0){break h}Yc(e,j)}f=r[d|0];h=f<<2;e=a+128|0;i=r[f+e|0];f=a+328|0;l=q[h+f>>2];g=h;h=a+584|0;Xc(q[a+320>>2],r[b+4|0],r[b+13|0],i,j+4096|0,l,q[g+h>>2],r[a+4|0],s[a+10>>1]);g=p[d+2>>1];k=g<<2;Xc(q[a+320>>2],r[c+4|0],r[c+13|0],r[e+g|0],j,q[f+k>>2],q[h+k>>2],r[a+4|0],s[a+10>>1]);o[e+r[d|0]|0]=r[b+13|0];o[e+p[d+2>>1]|0]=r[c+13|0];c=r[a+4|0];i:{if(c>>>0<=23){b=1;if(1<>2],q[b+f>>2],q[b+h>>2],s[a+10>>1],r[a+4|0]);b=p[d+2>>1]<<2;Oc(q[b+c>>2],q[b+f>>2],q[b+h>>2],s[a+10>>1],r[a+4|0])}j:{k:{if(r[a+840|0]!=1){if(r[a+841|0]!=1){break j}c=r[a+25|0];if(r[(c+a|0)+843|0]){break k}e=23;break d}c=r[a+25|0];if(r[(c+a|0)+843|0]){break k}e=23;break d}f=p[d+2>>1];h=r[d|0];e=(c<<2)+a|0;b=q[e+892>>2];if(!b){g=s[a+10>>1];c=r[(a+c|0)+2128|0];b=r[a+3|0];if(b>>>0<=11){b=q[(b<<2)+43120>>2]}else{b=0}b=Ic(g,c,b<<1,r[a+842|0]);q[e+892>>2]=b}c=r[d+6|0];c=s[(((c>>>0>1?c+ -1|0:0)<<1)+d|0)+1942>>1];e=s[d+2046>>1];c=c>>>0>>0?c:e;q[b+4>>2]=r[d+10|0]==2?c<<3:c;c=b;b=a+328|0;e=Uh(c,q[b+(h<<2)>>2],q[b+(f<<2)>>2],r[a+12|0],r[a+842|0]);if(e){break d}}e=0}xa=j- -8192|0;return e}function Gd(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0,A=0,B=0;c=1;h(+b);j=e(1)|0;d=e(0)|0;r=j;a:{b:{l=j&2147483647;c:{if(!(d|l)){break c}h(+a);k=e(1)|0;w=e(0)|0;s=k;if((k|0)==1072693248?!w:0){break c}d:{k=s&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&(w|0)!=0|l>>>0>2146435072)){if(!d|(l|0)!=2146435072){break d}}return a+b}e:{f:{g:{n=0;h:{if((s|0)>-1){break h}n=2;if(l>>>0>1128267775){break h}n=0;if(l>>>0<1072693248){break h}t=l>>>20|0;if(l>>>0<1094713344){break g}i=1075-t|0;t=d>>>i|0;n=0;if((d|0)!=t<>>d|0;n=0;if((l|0)!=i<>>0>=1072693248){return(j|0)>-1?b:0}return(j|0)>-1?0:-b}if((l|0)==1072693248){if((j|0)>-1){return a}return 1/a}if((j|0)==1073741824){return a*a}if((j|0)!=1071644672|(s|0)<0){break e}return E(a)}c=y(a);if(!(((k|1073741824)!=2146435072?k:0)|w)){c=(j|0)<0?1/c:c;if((s|0)>-1){break c}if(!(k+ -1072693248|i)){a=c-c;return a/a}return(i|0)==1?-c:c}p=1;if(!((s|0)>-1|i>>>0>1)){if(i-1){a=a-a;return a/a}p=-1}i:{if(l>>>0>=1105199105){if(l>>>0>=1139802113){if(k>>>0<=1072693247){return(j|0)<0?H:0}return(j|0)>0?H:0}if(k>>>0<=1072693246){return(j|0)<0?p*1e+300*1e+300:p*1e-300*1e-300}if(k>>>0>=1072693249){return(j|0)>0?p*1e+300*1e+300:p*1e-300*1e-300}a=c+ -1;c=a*1.4426950216293335;o=a*1.9259629911266175e-8+a*a*(.5-a*(a*-.25+.3333333333333333))*-1.4426950408889634;h(+(c+o));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a-c;break i}a=c*9007199254740992;d=k>>>0<1048576;c=d?a:c;h(+a);i=e(1)|0;e(0)|0;i=d?i:k;k=i&1048575;j=k|1072693248;i=(i>>20)+(d?-1076:-1023)|0;l=0;j:{if(k>>>0<235663){break j}if(k>>>0<767610){l=1;break j}j=j+ -1048576|0;i=i+1|0}k=l<<3;u=v[k+151056>>3];h(+c);e(1)|0;f(0,e(0)|0);f(1,j|0);o=+g();m=v[k+151024>>3];q=o-m;x=1/(m+o);c=q*x;h(+c);d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();A=a;z=a*a;B=q;f(0,0);f(1,((j>>1|536870912)+(l<<18)|0)+524288|0);q=+g();o=x*(B-a*q-a*(o-(q-m)));m=(c+a)*o;a=c*c;m=m+a*a*(a*(a*(a*(a*(a*.20697501780033842+.23066074577556175)+.272728123808534)+.33333332981837743)+.4285714285785502)+.5999999999999946);h(+(z+3+m));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();q=A*a;c=o*a+c*(m-(a+ -3-z));h(+(q+c));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a*.9617967009544373;o=v[k+151040>>3]+((c-(a-q))*.9617966939259756+a*-7.028461650952758e-9);c=+(i|0);h(+(u+(m+o)+c));d=e(1)|0;e(0)|0;f(0,0);f(1,d|0);a=+g();m=a-c-u-m}f(0,0);f(1,r|0);u=+g();c=a*u;a=(o-m)*b+(b-u)*a;b=c+a;h(+b);j=e(1)|0;r=e(0)|0;k:{i=j;d=j;if((d|0)>=1083179008){if(r|d+ -1083179008){break b}if(!(a+8.008566259537294e-17>b-c)){break k}break b}if((d&2147482624)>>>0<1083231232){break k}if(r|d+1064252416){break a}if(!(a<=b-c)){break k}break a}l=0;j=d&2147483647;if(j>>>0>=1071644673){i=d+(1048576>>>(j>>>20|0)+ -1022|0)|0;j=i>>>20&2047;r=(i&1048575|1048576)>>>1043-j|0;l=(d|0)<0?0-r|0:r;f(0,0);f(1,i&-1048576>>j+ -1023);c=c- +g();h(+(a+c));d=e(1)|0;e(0)|0}else{d=i}f(0,0);f(1,d|0);b=+g();o=b*.6931471824645996;c=(a-(b-c))*.6931471805599453+b*-1.904654299957768e-9;a=o+c;b=a*a;b=a-b*(b*(b*(b*(b*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);m=a*b/(b+ -2);b=c-(a-o);a=a-(m-(b+a*b))+1;h(+a);d=e(1)|0;i=e(0)|0;d=(l<<20)+d|0;l:{if((d|0)<=1048575){a=wb(a,l);break l}f(0,i|0);f(1,d|0);a=+g()}c=p*a}return c}return p*1e+300*1e+300}return p*1e-300*1e-300}function al(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;if(h|i){d=(c+d|0)+1>>1;c=d+e|0;a:{if((c|0)<0){break a}if((c|0)>=58){c=c+ -6|0;break a}c=q[(c<<2)+30640>>2]}d=d+f|0;b:{if((d|0)<0){break b}if((d|0)>=58){d=d+ -6|0;break b}d=q[(d<<2)+30640>>2]}e=(g<<1)+2|0;d=e+d|0;d=(d|0)>0?d:0;d=q[(((d|0)<53?d:53)<<2)+30416>>2];c=c+e|0;c=(c|0)>0?c:0;c=q[(((c|0)<53?c:53)<<2)+30416>>2];c:{if(!(d|c)){break c}g=0-c|0;f=b<<1;k=r[a|0];l=a-b|0;m=r[l|0];e=((r[a-f|0]+(k-m<<2)|0)-r[a+b|0]|0)+4>>3;j=(e|0)>(c|0)?c:(e|0)<(g|0)?g:e;e=0-b|0;f=0-f|0;if(h){h=j+m|0;h=(h|0)>0?h:0;o[l|0]=(h|0)<255?h:255;if(i){h=k-j|0;h=(h|0)>0?h:0;o[a|0]=(h|0)<255?h:255}j=a+1|0;h=j+e|0;k=r[h|0];n=h;m=k;h=0-d|0;l=r[a+1|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;k=(k|0)>(d|0)?d:(k|0)<(h|0)?h:k;m=m+k|0;m=(m|0)>0?m:0;o[n|0]=(m|0)<255?m:255;if(i){n=j;j=l-k|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}j=a+2|0;l=j+e|0;k=r[l|0];n=l;m=k;l=r[a+2|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;k=(k|0)>(c|0)?c:(k|0)<(g|0)?g:k;m=m+k|0;m=(m|0)>0?m:0;o[n|0]=(m|0)<255?m:255;if(i){n=j;j=l-k|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}j=a+3|0;l=j+e|0;k=r[l|0];n=l;m=k;l=r[a+3|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;k=(k|0)>(d|0)?d:(k|0)<(h|0)?h:k;m=m+k|0;m=(m|0)>0?m:0;o[n|0]=(m|0)<255?m:255;if(i){n=j;j=l-k|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}j=a+4|0;l=j+e|0;k=r[l|0];n=l;m=k;l=r[a+4|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;k=(k|0)>(c|0)?c:(k|0)<(g|0)?g:k;m=m+k|0;m=(m|0)>0?m:0;o[n|0]=(m|0)<255?m:255;if(i){n=j;j=l-k|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}j=a+5|0;l=j+e|0;k=r[l|0];n=l;m=k;l=r[a+5|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;k=(k|0)>(d|0)?d:(k|0)<(h|0)?h:k;m=m+k|0;m=(m|0)>0?m:0;o[n|0]=(m|0)<255?m:255;if(i){n=j;j=l-k|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}j=a+6|0;l=j+e|0;k=r[l|0];n=l;m=k;l=r[a+6|0];k=((r[f+j|0]+(l-k<<2)|0)-r[b+j|0]|0)+4>>3;c=(k|0)>(c|0)?c:(k|0)<(g|0)?g:k;g=m+c|0;g=(g|0)>0?g:0;o[n|0]=(g|0)<255?g:255;if(i){c=l-c|0;c=(c|0)>0?c:0;o[j|0]=(c|0)<255?c:255}c=a+7|0;g=c+e|0;e=r[g|0];j=r[c+f|0];f=r[a+7|0];a=((j+(f-e<<2)|0)-r[b+c|0]|0)+4>>3;a=(a|0)>(d|0)?d:(a|0)<(h|0)?h:a;b=a+e|0;b=(b|0)>0?b:0;o[g|0]=(b|0)<255?b:255;if(!i){break c}a=f-a|0;a=(a|0)>0?a:0;o[c|0]=(a|0)<255?a:255;return}if(i){h=k-j|0;h=(h|0)>0?h:0;o[a|0]=(h|0)<255?h:255}h=0-d|0;if(i){j=a+1|0;l=r[a+1|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;n=j;j=l-((k|0)>(d|0)?d:(k|0)<(h|0)?h:k)|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}if(i){j=a+2|0;l=r[a+2|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;n=j;j=l-((k|0)>(c|0)?c:(k|0)<(g|0)?g:k)|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}if(i){j=a+3|0;l=r[a+3|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;n=j;j=l-((k|0)>(d|0)?d:(k|0)<(h|0)?h:k)|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}if(i){j=a+4|0;l=r[a+4|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;n=j;j=l-((k|0)>(c|0)?c:(k|0)<(g|0)?g:k)|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}if(i){j=a+5|0;l=r[a+5|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;n=j;j=l-((k|0)>(d|0)?d:(k|0)<(h|0)?h:k)|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255}if(i){j=a+6|0;l=r[a+6|0];k=((r[j+f|0]+(l-r[e+j|0]<<2)|0)-r[b+j|0]|0)+4>>3;c=l-((k|0)>(c|0)?c:(k|0)<(g|0)?g:k)|0;c=(c|0)>0?c:0;o[j|0]=(c|0)<255?c:255}if(!i){break c}c=a+7|0;g=r[c+f|0];f=r[a+7|0];a=((g+(f-r[c+e|0]<<2)|0)-r[b+c|0]|0)+4>>3;a=f-((a|0)>(d|0)?d:(a|0)<(h|0)?h:a)|0;a=(a|0)>0?a:0;o[c|0]=(a|0)<255?a:255}return}I(4230,3785,732,30181);F()}function Sj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;n=xa-320|0;xa=n;q[n+272>>2]=-1;q[n+276>>2]=-1;q[n+280>>2]=-1;q[n+284>>2]=-1;q[n+288>>2]=-1;q[n+292>>2]=-1;q[n+296>>2]=-1;q[n+300>>2]=-1;q[n+304>>2]=-1;q[n+308>>2]=-1;q[n+312>>2]=-1;q[n+316>>2]=-1;q[n+256>>2]=-1;q[n+260>>2]=-1;q[n+264>>2]=-1;q[n+268>>2]=-1;v=k+ -1|0;J=r[v+d|0];u=k+ -2|0;K=r[u+d|0];if((l|0)>0){while(1){p=m<<1;s=(w(b,m)+k|0)+a|0;o[p+(n+128|0)|0]=r[s+ -2|0];o[(n+128|0)+(p|1)|0]=r[s+ -1|0];m=m+1|0;if((m|0)!=(l|0)){continue}break}}if((k|0)>=1){Sa(n- -64|0,w(l+ -1|0,b)+a|0,k)}z=r[a+u|0];a:{if(r[h+5|0]){m=(b+k|0)+a|0;p=z-r[m+ -4|0]|0;s=(p|0)>-1?(p|0)!=0:-1;p=z-r[f|0]|0;p=s+((p|0)>-1?p?3:2:1)|0;if((p|0)!=2){p=o[q[(p<<2)+38368>>2]+i|0]+z|0;p=(p|0)>0?p:0;z=(p|0)<255?p:255}y=r[a+v|0];m=y-r[m+ -3|0]|0;f=y-r[f+1|0]|0;f=((m|0)>-1?(m|0)!=0:-1)+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break a}f=o[q[(f<<2)+38368>>2]+j|0]+y|0;f=(f|0)>0?f:0;y=(f|0)<255?f:255;break a}y=r[a+v|0]}p=l+ -1|0;m=w(p,b);f=m+a|0;A=r[f|0];b:{if(r[h+6|0]){s=A-r[g|0]|0;t=(s|0)>-1?(s|0)!=0:-1;m=(m-b|0)+a|0;s=A-r[m+2|0]|0;s=t+((s|0)>-1?s?3:2:1)|0;if((s|0)!=2){s=o[q[(s<<2)+38368>>2]+i|0]+A|0;s=(s|0)>0?s:0;A=(s|0)<255?s:255}x=r[f+1|0];f=x-r[g+1|0]|0;g=(f|0)>-1?(f|0)!=0:-1;f=x-r[m+3|0]|0;f=g+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break b}f=o[q[(f<<2)+38368>>2]+j|0]+x|0;x=255;if((f|0)>255){break b}x=(f|0)>0?f:0;break b}x=r[f+1|0]}if(!r[h|0]){o[n+256|0]=0}f=r[h+2|0];c:{if(f){if((k|0)>2){m=0;while(1){g=r[a+m|0]-r[(d+m|0)+2|0]|0;o[m+n|0]=(g|0)>-1?(g|0)!=0:-1;m=m+1|0;if((u|0)!=(m|0)){continue}break}}s=c;break c}s=c+2|0;g=a+b|0;if((k|0)>=3){m=0;while(1){l=r[g+m|0]-r[(a+m|0)+2|0]|0;o[m+n|0]=(l|0)>-1?(l|0)!=0:-1;m=m+1|0;if((u|0)!=(m|0)){continue}break}}l=p;a=g}if(!r[h+1|0]){o[(n+256|0)+(v>>1)|0]=0}L=0-b|0;p=0;l=l-!r[h+3|0]|0;d:{if((l|0)<=0){B=1-b|0;break d}D=w(b,l);E=k-b|0;B=1-b|0;F=B+k|0;G=n+v|0;H=n+u|0;if((k|0)<1){m=a;while(1){g=r[m+u|0]-r[m+E|0]|0;o[H|0]=(g|0)>-1?(g|0)!=0:-1;g=r[m+v|0]-r[m+F|0]|0;o[G|0]=(g|0)>-1?(g|0)!=0:-1;m=b+m|0;p=p+1|0;if((l|0)!=(p|0)){continue}break}a=a+D|0;break d}p=a;while(1){f=r[p+u|0]-r[p+E|0]|0;o[H|0]=(f|0)>-1?(f|0)!=0:-1;f=r[p+v|0]-r[p+F|0]|0;o[G|0]=(f|0)>-1?(f|0)!=0:-1;f=r[p|0];g=(C<<1)+s|0;m=r[g+2|0];e:{if(f>>>0>=m>>>0){f=o[n|0]+(f>>>0>m>>>0?3:2)|0;break e}f=o[n|0]+1|0}f=q[(f<<2)+38368>>2]&r[n+256|0];if(f){f=o[f+i|0]+r[p|0]|0;f=(f|0)>0?f:0;o[p|0]=(f|0)<255?f:255}f:{if((k|0)==1){break f}f=r[p+1|0];g=r[g+3|0];g:{if(f>>>0>=g>>>0){f=o[n+1|0]+(f>>>0>g>>>0?3:2)|0;break g}f=o[n+1|0]+1|0}f=q[(f<<2)+38368>>2]&r[n+256|0];if(f){f=o[f+j|0]+r[p+1|0]|0;f=(f|0)>0?f:0;o[p+1|0]=(f|0)<255?f:255}m=2;if((k|0)==2){break f}while(1){f=m+p|0;g=r[f|0];I=m+ -2|0;t=r[(I+b|0)+p|0];h:{if(g>>>0>>0){g=255;t=o[m+n|0]+1|0;break h}g=g>>>0>t>>>0;t=o[m+n|0]+(g?3:2)|0}o[n+I|0]=0-g;g=q[(t<<2)+38368>>2]&r[n+256+(m>>>1)|0];if(g){t=f;f=o[g+(m&1?j:i)|0]+r[f|0]|0;f=(f|0)>0?f:0;o[t|0]=(f|0)<255?f:255}m=m+1|0;if((m|0)!=(k|0)){continue}break}}p=b+p|0;C=C+1|0;if((l|0)!=(C|0)){continue}break}a=a+D|0;f=r[h+2|0]}g=l+1|0;o[(u-w(f&255?l:g,b)|0)+a|0]=z;o[((w(r[h+2|0]?l:g,b)^-1)+k|0)+a|0]=y;o[(r[h+3|0]?L:0)+a|0]=A;o[(r[h+3|0]?B:1)+a|0]=x;a=r[h+3|0];b=r[h+2|0];o[e+1|0]=J;o[e|0]=K;a=!a+(b?l:g)|0;if((a|0)>=1){a=a<<1;Sa(c,n+128|0,(a|0)>1?a:1)}if((k|0)>=1){Sa(d,n- -64|0,k)}xa=n+320|0}function Ce(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=xa-96|0;xa=e;y=r[a+53|0];z=r[a+52|0];v=r[a+54|0];i=r[a+55|0];P=q[a+48>>2];H=q[a+44>>2];A=q[a+36>>2];l=q[a+28>>2];k=q[a+20>>2];Q=q[a>>2];E=q[a+40>>2];C=q[a+4>>2];B=r[C+4116|0];j=q[a+12>>2];f=q[a+16>>2];n=p[C+4118>>1];t=Qa(e,0,72);u=1<>1]-(f<=4){e=i<<31;while(1){g=g+1|0;q[(g<<2)+t>>2]=e;if((g|0)!=(h|0)){continue}break}}I=w(f,n)+j|0;D=w(m,m);h=y<<31;y=m+1|0;e=p[C>>1]-(j<>2]=v<<31|h>>>y|((z|0)==1?(-1<<(e|0)/4^-1)<<(((u-e|0)/4|0)-m|0)+31:0);if(!(!j|r[l|0]!=(j|0))){v=I+ -1|0;g=((w(v,D)+E|0)+m|0)+ -1|0;e=d;h=q[a+32>>2];i=h;if((u|0)>=4){h=q[h+(v<<2)>>2];f=0;while(1){q[(f<<2)+c>>2]=h+r[g|0];g=g+m|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}j=q[a+12>>2];f=q[a+16>>2]}h=e;e=(w(n,f+ -1|0)+j|0)+ -1|0;q[h>>2]=q[(e<<2)+i>>2]+r[((D+w(e,D)|0)+g|0)+ -1|0];f=q[a+16>>2]}a:{if(!(!f|r[l+1|0]!=(f|0))){if((u|0)<4){break a}h=q[a+12>>2]+w(n,f+ -1|0)|0;e=q[q[a+32>>2]+(h<<2)>>2];g=(w(h,D)+E|0)+w(m+ -1|0,m)|0;f=0;while(1){q[(f<<2)+b>>2]=e+r[g|0];g=g+1|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}}f=0;if((u|0)<4){break a}while(1){J=1;e=f+1|0;h=f<<2;q[w(e,72)+A>>2]=q[h+c>>2];q[(e<<2)+A>>2]=q[b+h>>2];f=e;if((m|0)!=(f|0)){continue}break}}u=(m<<2)+b|0;q[(y<<2)+A>>2]=q[u>>2];q[A>>2]=q[d>>2];if((H|0)>=1){while(1){F=0;x=q[k+12>>2];n=x>>>10&60;v=n+4|0;g=v;l=x>>>6&60;z=l+4|0;i=z;y=x>>>4&15;f=y;h=x&15;B=x&524288;e=h;b:{if(!B){break b}g=v;i=z;f=y;e=h;if((l|0)==(n|0)){break b}e=h;if(o[Q+43|0]<3){break b}n=l>>>0>n>>>0?z:v;l=1<(l|0)?n:l)|0)!=8){break b}e=x&1040187392;if((e|0)==335544320){g=8;F=1;i=8;e=h+ -1|0;break b}f=y-((e|0)==301989888)|0;g=8;F=1;i=8;e=h}c:{if(x&65536){break c}n=f<<2;l=q[n+t>>2];j=31-e|0;K=l>>>j&1;L=l>>>((e^-1)-(i>>>2|0)|0)+31&1;M=l>>>30-e&1;l=f+1|0;N=q[(l<<2)+t>>2]>>>j&1;O=q[(l+(g>>>2|0)<<2)+t>>2]>>>j&1;j=(e+w(f,18)<<2)+A|0;l=j+72|0;f=j+4|0;if(!B){gj(a,f,l,j,k,O,N,L,M,K,t+80|0);f=q[k+12>>2]>>>17&3;if((f|0)!=1){e=s[t+80>>1];p[k+2>>1]=s[k+2>>1]+s[t+82>>1];p[k>>1]=e+s[k>>1];if(!f){break c}}e=s[t+86>>1];p[k+4>>1]=s[k+4>>1]+s[t+84>>1];p[k+6>>1]=e+s[k+6>>1];break c}ij(a,f,l,k,x>>>25&7,x>>>28&3,i,g,e<<2,n,F,O,N,L,M,K);f=q[k+12>>2];if((f&393216)!=262144){break c}e=f>>>25&7;if((v|0)!=8|(e|0)!=2?!((e|0)==1?(z|0)==8:0):0){break c}q[k+12>>2]=f&-393217}f=q[a+8>>2];e=q[(f+w(o[k+9|0],12)|0)+1068>>2];o[k+10|0]=r[q[(f+w(o[k+8|0],12)|0)+876>>2]+22|0];if(!r[f+76|0]){o[k+11|0]=r[e+22|0]}e=z>>>2|0;i=(-1<>>h+1|0;z=x>>>12&15;g=0;while(1){e=g+1|0;f=(e+y<<2)+t|0;q[f>>2]=i|q[f>>2];f=(g|0)!=(z|0);g=e;if(f){continue}break}v=G+P|0;f=x>>>8&15;i=(h+w(y,18)|0)+19|0;j=0;while(1){g=0;while(1){q[(g+i<<2)+A>>2]=v;e=(f|0)!=(g|0);g=g+1|0;if(e){continue}break}i=i+18|0;e=(j|0)!=(z|0);j=j+1|0;if(e){continue}break}k=k+16|0;G=G+1|0;if((G|0)!=(H|0)){continue}break}}q[d>>2]=q[u+ -4>>2];d:{if(!J){break d}g=w(m,18)|1;f=0;i=m;while(1){a=f<<2;i=i+18|0;q[a+c>>2]=q[(i<<2)+A>>2];q[a+b>>2]=q[(g<<2)+A>>2];g=g+1|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}if(!J){break d}b=w(D,I)+E|0;a=q[A+76>>2];f=0;i=19;j=0;while(1){g=0;while(1){o[b+(f+g|0)|0]=q[(g+i<<2)+A>>2]-a;g=g+1|0;if((m|0)!=(g|0)){continue}break}i=i+18|0;f=f+m|0;j=j+1|0;if((m|0)!=(j|0)){continue}break}}xa=t+96|0}function bl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0;if(h|i){d=(c+d|0)+1>>1;c=d+e|0;a:{if((c|0)<0){break a}if((c|0)>=58){c=c+ -6|0;break a}c=q[(c<<2)+30640>>2]}d=d+f|0;b:{if((d|0)<0){break b}if((d|0)>=58){d=d+ -6|0;break b}d=q[(d<<2)+30640>>2]}e=(g<<1)+2|0;d=e+d|0;d=(d|0)>0?d:0;d=q[(((d|0)<53?d:53)<<2)+30416>>2];c=c+e|0;c=(c|0)>0?c:0;e=q[(((c|0)<53?c:53)<<2)+30416>>2];c:{if(!(d|e)){break c}f=0-e|0;l=r[a|0];j=a+ -2|0;m=r[j|0];c=((r[a+ -4|0]+(l-m<<2)|0)-r[a+2|0]|0)+4>>3;g=(c|0)>(e|0)?e:(c|0)<(f|0)?f:c;c=0-d|0;if(h){s=r[a+ -3|0];p=a+ -1|0;h=r[p|0];t=r[a+3|0];k=r[a+1|0];n=j;j=g+m|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255;j=h;h=(((k-h<<2)+s|0)-t|0)+4>>3;h=(h|0)>(d|0)?d:(h|0)<(c|0)?c:h;j=j+h|0;j=(j|0)>0?j:0;o[p|0]=(j|0)<255?j:255;if(i){h=k-h|0;h=(h|0)>0?h:0;o[a+1|0]=(h|0)<255?h:255;g=l-g|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}a=a+b|0;g=a+ -1|0;l=r[a+1|0];k=r[g|0];h=((r[a+ -3|0]+(l-k<<2)|0)-r[a+3|0]|0)+4>>3;h=(h|0)>(d|0)?d:(h|0)<(c|0)?c:h;j=g;g=h+k|0;g=(g|0)>0?g:0;o[j|0]=(g|0)<255?g:255;k=r[a|0];j=a+ -2|0;m=r[j|0];g=((r[a+ -4|0]+(k-m<<2)|0)-r[a+2|0]|0)+4>>3;g=(g|0)>(e|0)?e:(g|0)<(f|0)?f:g;n=j;j=g+m|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255;if(i){h=l-h|0;h=(h|0)>0?h:0;o[a+1|0]=(h|0)<255?h:255;g=k-g|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}a=a+b|0;g=a+ -1|0;l=r[a+1|0];k=r[g|0];h=((r[a+ -3|0]+(l-k<<2)|0)-r[a+3|0]|0)+4>>3;h=(h|0)>(d|0)?d:(h|0)<(c|0)?c:h;j=g;g=h+k|0;g=(g|0)>0?g:0;o[j|0]=(g|0)<255?g:255;k=r[a|0];j=a+ -2|0;m=r[j|0];g=((r[a+ -4|0]+(k-m<<2)|0)-r[a+2|0]|0)+4>>3;g=(g|0)>(e|0)?e:(g|0)<(f|0)?f:g;n=j;j=g+m|0;j=(j|0)>0?j:0;o[n|0]=(j|0)<255?j:255;if(i){h=l-h|0;h=(h|0)>0?h:0;o[a+1|0]=(h|0)<255?h:255;g=k-g|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}a=a+b|0;b=a+ -1|0;h=r[a+1|0];l=r[b|0];g=((r[a+ -3|0]+(h-l<<2)|0)-r[a+3|0]|0)+4>>3;c=(g|0)>(d|0)?d:(g|0)<(c|0)?c:g;d=b;b=c+l|0;b=(b|0)>0?b:0;o[d|0]=(b|0)<255?b:255;d=r[a|0];g=a+ -2|0;l=r[g|0];b=((r[a+ -4|0]+(d-l<<2)|0)-r[a+2|0]|0)+4>>3;b=(b|0)>(e|0)?e:(b|0)<(f|0)?f:b;e=b+l|0;e=(e|0)>0?e:0;o[g|0]=(e|0)<255?e:255;if(!i){break c}c=h-c|0;c=(c|0)>0?c:0;o[a+1|0]=(c|0)<255?c:255;c=a;a=d-b|0;a=(a|0)>0?a:0;o[c|0]=(a|0)<255?a:255;return}if(i){k=r[a+1|0];h=((r[a+ -3|0]+(k-r[a+ -1|0]<<2)|0)-r[a+3|0]|0)+4>>3;h=k-((h|0)>(d|0)?d:(h|0)<(c|0)?c:h)|0;h=(h|0)>0?h:0;o[a+1|0]=(h|0)<255?h:255;g=l-g|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}a=a+b|0;if(i){h=r[a|0];l=r[a+ -2|0];k=r[a+ -4|0];j=r[a+2|0];m=r[a+1|0];g=((r[a+ -3|0]+(m-r[a+ -1|0]<<2)|0)-r[a+3|0]|0)+4>>3;g=m-((g|0)>(d|0)?d:(g|0)<(c|0)?c:g)|0;g=(g|0)>0?g:0;o[a+1|0]=(g|0)<255?g:255;g=((k+(h-l<<2)|0)-j|0)+4>>3;g=h-((g|0)>(e|0)?e:(g|0)<(f|0)?f:g)|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}a=a+b|0;if(i){h=r[a|0];l=r[a+ -2|0];k=r[a+ -4|0];j=r[a+2|0];m=r[a+1|0];g=((r[a+ -3|0]+(m-r[a+ -1|0]<<2)|0)-r[a+3|0]|0)+4>>3;g=m-((g|0)>(d|0)?d:(g|0)<(c|0)?c:g)|0;g=(g|0)>0?g:0;o[a+1|0]=(g|0)<255?g:255;g=((k+(h-l<<2)|0)-j|0)+4>>3;g=h-((g|0)>(e|0)?e:(g|0)<(f|0)?f:g)|0;g=(g|0)>0?g:0;o[a|0]=(g|0)<255?g:255}if(!i){break c}a=a+b|0;g=r[a|0];h=r[a+ -2|0];i=r[a+ -4|0];l=r[a+2|0];k=r[a+1|0];b=((r[a+ -3|0]+(k-r[a+ -1|0]<<2)|0)-r[a+3|0]|0)+4>>3;b=k-((b|0)>(d|0)?d:(b|0)<(c|0)?c:b)|0;b=(b|0)>0?b:0;o[a+1|0]=(b|0)<255?b:255;b=a;a=((i+(g-h<<2)|0)-l|0)+4>>3;a=g-((a|0)>(e|0)?e:(a|0)<(f|0)?f:a)|0;a=(a|0)>0?a:0;o[b|0]=(a|0)<255?a:255}return}I(4230,3785,611,30157);F()}function xh(a,b){var c=0,d=0,e=0,f=0,g=0;a:{while(1){d=c;c=q[b+8>>2];b:{if(c>>>0<=11){f=q[b>>2];e=f<<12-c&4095|q[b+4>>2]>>>c+20;p[a>>1]=e;if((e&65535)!=4095){break b}break a}f=q[b>>2];e=f<<32-c>>>20|0;p[a>>1]=e;if((e|0)==4095){break a}}c:{if(r[b+20|0]){break c}if(c>>>0>=9){q[b+8>>2]=c+ -8;break c}Oa(b,8)}c=d+1|0;if((d&65535)>>>0<767){continue}break}return 5}d:{e:{f:{g:{h:{i:{if(!r[b+20|0]){if(c>>>0>=13){c=c+ -12|0;q[b+8>>2]=c;break i}Oa(b,12);c=q[b+8>>2]}if(!c){break h}f=q[b>>2]}c=c+ -1|0;q[b+8>>2]=c;e=f>>>c&1;break g}f=q[b+4>>2];e=f>>>31|0;if(r[b+20|0]){o[a+2|0]=e;g=a+2|0;c=0;break f}Oa(b,1);c=q[b+8>>2]}o[a+2|0]=e;g=a+2|0;if(c>>>0>1){break e}f=q[b+4>>2]}e=q[b>>2];d=e<<2-c&3|f>>>c+30;break d}e=q[b>>2];d=e<<32-c>>>30|0}j:{k:{l:{m:{n:{o:{if(!r[b+20|0]){if(c>>>0>=3){c=c+ -2|0;q[b+8>>2]=c;o[a+3|0]=d;break o}Oa(b,2);c=q[b+8>>2]}o[a+3|0]=d;if(!c){break n}e=q[b>>2]}c=c+ -1|0;q[b+8>>2]=c;e=e>>>c&1;break m}f=q[b+4>>2];e=f>>>31|0;if(r[b+20|0]){o[a+4|0]=e;c=0;break l}Oa(b,1);c=q[b+8>>2]}o[a+4|0]=e;if(c>>>0>1){break k}f=q[b+4>>2]}d=q[b>>2]<<2-c&3|f>>>c+30;break j}d=q[b>>2]<<32-c>>>30|0}p:{if(r[b+20|0]){break p}if(c>>>0>=3){c=c+ -2|0;q[b+8>>2]=c;break p}Oa(b,2);c=q[b+8>>2]}o[a+5|0]=d;q:{if(c>>>0>=4){e=q[b>>2];d=e<<32-c>>>28|0;break q}e=q[b>>2];d=e<<4-c&15|q[b+4>>2]>>>c+28}r:{s:{t:{u:{v:{w:{if(!r[b+20|0]){if(c>>>0>=5){c=c+ -4|0;q[b+8>>2]=c;o[a+6|0]=d;break w}Oa(b,4);c=q[b+8>>2]}o[a+6|0]=d;if(!c){break v}e=q[b>>2]}c=c+ -1|0;q[b+8>>2]=c;e=e>>>c&1;break u}d=q[b+4>>2];e=d>>>31|0;if(r[b+20|0]){o[a+7|0]=e;c=0;break t}Oa(b,1);c=q[b+8>>2]}o[a+7|0]=e;if(c>>>0>2){break s}d=q[b+4>>2]}f=q[b>>2];d=f<<3-c&7|d>>>c+29;break r}f=q[b>>2];d=f<<32-c>>>29|0}x:{y:{z:{A:{if(!r[b+20|0]){if(c>>>0>=4){c=c+ -3|0;q[b+8>>2]=c;o[a+8|0]=d;break A}Oa(b,3);c=q[b+8>>2]}o[a+8|0]=d;if(!c){break z}f=q[b>>2]}e=c+ -1|0;q[b+8>>2]=e;c=f>>>e&1;break y}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){o[a+9|0]=c;break x}Oa(b,1);e=q[b+8>>2]}o[a+9|0]=c;if(e){c=e+ -1|0;q[b+8>>2]=c;c=q[b>>2]>>>c&1;break x}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break x}Oa(b,1)}o[a+10|0]=c;if(!(r[g|0]|r[a+22|0]!=1)){d=q[b+8>>2];B:{if(d>>>0>=2){c=q[b>>2]<<32-d>>>30|0;break B}c=q[b>>2]<<2-d&3|q[b+4>>2]>>>d+30}C:{if(r[b+20|0]){break C}if(d>>>0>=3){q[b+8>>2]=d+ -2;break C}Oa(b,2)}o[a+11|0]=c}D:{E:{F:{G:{H:{c=q[b+8>>2];I:{J:{if(c){c=c+ -1|0;q[b+8>>2]=c;e=q[b>>2]>>>c&1;break J}f=q[b+4>>2];e=f>>>31|0;if(r[b+20|0]){o[a+12|0]=e;break I}Oa(b,1);c=q[b+8>>2]}o[a+12|0]=e;if(c){c=c+ -1|0;q[b+8>>2]=c;e=q[b>>2]>>>c&1;break G}f=q[b+4>>2];e=f>>>31|0;if(!r[b+20|0]){break H}}o[a+13|0]=e;c=0;break F}Oa(b,1);c=q[b+8>>2]}o[a+13|0]=e;if(c>>>0>12){break E}f=q[b+4>>2]}d=q[b>>2]<<13-c&8191|f>>>c+19;break D}d=q[b>>2]<<32-c>>>19|0}K:{if(r[b+20|0]){break K}if(c>>>0>=14){c=c+ -13|0;q[b+8>>2]=c;break K}Oa(b,13);c=q[b+8>>2]}p[a+14>>1]=d;if(c>>>0>=11){d=q[b>>2]<<32-c>>>21|0}else{d=q[b>>2]<<11-c&2047|q[b+4>>2]>>>c+21}L:{if(r[b+20|0]){break L}if(c>>>0>=12){c=c+ -11|0;q[b+8>>2]=c;break L}Oa(b,11);c=q[b+8>>2]}p[a+16>>1]=d;if(c>>>0>=2){d=q[b>>2]<<32-c>>>30|0}else{d=q[b>>2]<<2-c&3|q[b+4>>2]>>>c+30}M:{if(r[b+20|0]){break M}if(c>>>0>=3){q[b+8>>2]=c+ -2;break M}Oa(b,2)}o[a+18|0]=d;if(!r[a+4|0]){d=q[b+8>>2];N:{if(d>>>0>=16){c=q[b>>2]<<32-d>>>16|0;break N}c=q[b>>2]<<16-d&65535|q[b+4>>2]>>>d+16}O:{if(r[b+20|0]){break O}if(d>>>0>=17){q[b+8>>2]=d+ -16;break O}Oa(b,16)}p[a+20>>1]=c}return 0}function hi(a,b,c,d){var e=0,f=0,g=0,h=0;h=((q[a+24>>2]-q[a+28>>2]<<3)-q[a+8>>2]|0)+ -32|0;a:{if(!b){e=248;break a}q[b>>2]=0;q[b+4>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;e=q[a+8>>2];b:{if(e>>>0>=5){f=q[a>>2]<<32-e>>>27|0;break b}f=q[a>>2]<<5-e&31|q[a+4>>2]>>>e+27}c:{if(r[a+20|0]){break c}if(e>>>0>=6){e=e+ -5|0;q[a+8>>2]=e;break c}Oa(a,5);e=q[a+8>>2]}o[b|0]=f;if(e>>>0>=4){f=q[a>>2]<<32-e>>>28|0}else{f=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}d:{if(r[a+20|0]){break d}if(e>>>0>=5){q[a+8>>2]=e+ -4;break d}Oa(a,4)}o[b+1|0]=f;e:{if(!(r[a+20|0]|(f&255)!=15)){f=q[a+8>>2];if(f>>>0>=25){e=f+ -24|0;q[a+8>>2]=e;break e}Oa(a,24)}e=q[a+8>>2]}if(e>>>0>=4){f=q[a>>2]<<32-e>>>28|0}else{f=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}f:{if(r[a+20|0]){break f}if(e>>>0>=5){q[a+8>>2]=e+ -4;break f}Oa(a,4)}o[b+8|0]=f;f=b;e=r[b+1|0];if(e>>>0<=11){g=q[(e<<2)+43120>>2]}else{g=0}q[f+4>>2]=g;e=255;f=r[b|0];if(r[f+86208|0]!=1){break a}if(!g){e=254;break a}e=253;g=r[b+8|0];if(g>>>0>7){break a}if((g|0)==1){o[b+8|0]=2}o[b+19|0]=255;if((f|0)==5){o[b+19|0]=1;e=q[a+8>>2];g:{if(e>>>0>=4){f=q[a>>2]<<32-e>>>28|0;break g}f=q[a>>2]<<4-e&15|q[a+4>>2]>>>e+28}h:{if(r[a+20|0]){break h}if(e>>>0>=5){q[a+8>>2]=e+ -4;break h}Oa(a,4)}e=f&255;if((e|0)==r[b+1|0]){o[b+21|0]=1}o[b+1|0]=f;i:{if((e|0)==15){f=q[a+8>>2];j:{if(f>>>0>=24){e=q[a>>2]<<32-f>>>8|0;break j}e=q[a>>2]<<24-f&16777215|q[a+4>>2]>>>f+8}if(r[a+20|0]){break i}if(f>>>0>=25){q[a+8>>2]=f+ -24;break i}Oa(a,24);break i}f=f&255;if(f>>>0<=11){e=q[(f<<2)+43120>>2]}else{e=0}}q[b+4>>2]=e;e=q[a+8>>2];k:{if(e>>>0>=5){f=q[a>>2]<<32-e>>>27|0;break k}f=q[a>>2]<<5-e&31|q[a+4>>2]>>>e+27}l:{if(r[a+20|0]){break l}if(e>>>0>=6){q[a+8>>2]=e+ -5;break l}Oa(a,5)}o[b|0]=f}e=f&255;m:{if(!(e>>>0>7|!(1<>>0<17){break m}f=Wd(a,b,c);e=q[a+8>>2];n:{if(e>>>0>=2){c=q[a>>2]<<32-e>>>30|0;break n}c=q[a>>2]<<2-e&3|q[a+4>>2]>>>e+30}o:{if(r[a+20|0]){break o}if(e>>>0>=3){q[a+8>>2]=e+ -2;break o}Oa(a,2)}o[b+18|0]=c;e=c&255?-5:f}p:{q:{if(r[b|0]==5|d|((q[a+24>>2]-q[a+28>>2]<<3)-q[a+8>>2]|0)-h<<24<251658241){break q}d=q[a+8>>2];r:{if(d>>>0>=11){c=q[a>>2]<<32-d>>>21|0;break r}c=q[a>>2]<<11-d&2047|q[a+4>>2]>>>d+21}s:{if(r[a+20|0]){break s}if(d>>>0>=12){q[a+8>>2]=d+ -11;break s}Oa(a,11)}if((c&65535)!=695){break q}d=q[a+8>>2];t:{if(d>>>0>=5){c=q[a>>2]<<32-d>>>27|0;break t}c=q[a>>2]<<5-d&31|q[a+4>>2]>>>d+27}u:{if(r[a+20|0]){break u}if(d>>>0>=6){q[a+8>>2]=d+ -5;break u}Oa(a,5)}if((c&255)!=5){break q}d=q[a+8>>2];v:{if(d){d=d+ -1|0;q[a+8>>2]=d;f=q[a>>2]>>>d&1;break v}f=q[a+4>>2]>>>31|0;if(r[a+20|0]){break v}Oa(a,1)}o[b+19|0]=f;if(!f){break p}o[b|0]=c;d=q[a+8>>2];w:{if(d>>>0>=4){c=q[a>>2]<<32-d>>>28|0;break w}c=q[a>>2]<<4-d&15|q[a+4>>2]>>>d+28}x:{if(r[a+20|0]){break x}if(d>>>0>=5){q[a+8>>2]=d+ -4;break x}Oa(a,4)}d=c&255;if((d|0)==r[b+1|0]){o[b+21|0]=1}o[b+1|0]=c;y:{if((d|0)==15){c=q[a+8>>2];z:{if(c>>>0>=24){f=q[a>>2]<<32-c>>>8|0;break z}f=q[a>>2]<<24-c&16777215|q[a+4>>2]>>>c+8}if(r[a+20|0]){break y}if(c>>>0>=25){q[a+8>>2]=c+ -24;break y}Oa(a,24);break y}a=c&255;if(a>>>0<=11){f=q[(a<<2)+43120>>2]}else{f=0}}q[b+4>>2]=f}if(r[b+19|0]!=255){break p}a=q[b+4>>2];if(a>>>0<=24e3){o[b+20|0]=1;q[b+4>>2]=a<<1;break p}o[b+21|0]=1}}return e<<24>>24}function ok(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0;s=w(e,3);i=e<<1;a:{if(h&1){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break a}u=p[a>>1];m=(s<<1)+a|0;j=p[m>>1];l=u-j|0;n=(i<<1)+a|0;q=p[n>>1];t=q+j|0;j=w(p[a+i>>1],74);k=(w(l,55)+w(t,-29)|0)+j|0;p[b+2>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;q=q+u|0;k=j+(w(t,55)+w(q,29)|0)|0;u=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;p[b>>1]=u;k=p[m>>1];m=p[n>>1];n=p[a>>1];j=(w(l,29)+w(q,55)|0)-j|0;p[b+6>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=w(k+(n-m|0)|0,74);p[b+4>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0}b:{if(h&2){p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0;k=0;break b}j=a+2|0;l=p[j>>1];n=j+(s<<1)|0;k=p[n>>1];q=l-k|0;t=j+(i<<1)|0;v=p[t>>1];x=v+k|0;m=w(p[j+(e<<1)>>1],74);k=(w(q,55)+w(x,-29)|0)+m|0;p[b+10>>1]=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;l=l+v|0;k=m+(w(x,55)+w(l,29)|0)|0;k=(k|0)>4194239?32767:(k|0)<-4194368?-32768:k- -64>>>7|0;p[b+8>>1]=k;n=p[n>>1];t=p[t>>1];v=p[j>>1];j=(w(q,29)+w(l,55)|0)-m|0;p[b+14>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=w(n+(v-t|0)|0,74);p[b+12>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0}c:{if(h&4){p[b+16>>1]=0;p[b+18>>1]=0;p[b+20>>1]=0;p[b+22>>1]=0;break c}j=a+4|0;n=p[j>>1];q=j+(s<<1)|0;m=p[q>>1];t=n-m|0;v=j+(i<<1)|0;x=p[v>>1];y=x+m|0;m=w(p[j+(e<<1)>>1],74);l=(w(t,55)+w(y,-29)|0)+m|0;p[b+18>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;n=n+x|0;l=m+(w(y,55)+w(n,29)|0)|0;p[b+16>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:l- -64>>>7|0;l=p[q>>1];q=p[v>>1];v=p[j>>1];j=(w(t,29)+w(n,55)|0)-m|0;p[b+22>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0;j=w(l+(v-q|0)|0,74);p[b+20>>1]=(j|0)>4194239?32767:(j|0)<-4194368?-32768:j- -64>>>7|0}d:{if(h&8){p[b+24>>1]=0;p[b+26>>1]=0;p[b+28>>1]=0;p[b+30>>1]=0;break d}a=a+6|0;j=p[a>>1];s=a+(s<<1)|0;h=p[s>>1];m=j-h|0;i=a+(i<<1)|0;l=p[i>>1];n=l+h|0;e=w(p[a+(e<<1)>>1],74);h=(w(m,55)+w(n,-29)|0)+e|0;p[b+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:h- -64>>>7|0;j=j+l|0;h=e+(w(n,55)+w(j,29)|0)|0;p[b+24>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:h- -64>>>7|0;h=p[s>>1];i=p[i>>1];s=p[a>>1];a=(w(m,29)+w(j,55)|0)-e|0;p[b+30>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0;a=w(h+(s-i|0)|0,74);p[b+28>>1]=(a|0)>4194239?32767:(a|0)<-4194368?-32768:a- -64>>>7|0}a=0;while(1){i=p[b+24>>1];e=p[b+16>>1];s=i+e|0;j=u<<16>>16;u=j+e|0;e=w(k<<16>>16,74);h=(w(s,55)+w(u,29)|0)+e|0;h=r[c|0]+((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)|0;h=(h|0)>0?h:0;o[d|0]=(h|0)<255?h:255;i=j-i|0;h=e+(w(i,55)+w(s,-29)|0)|0;h=r[c+1|0]+((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)|0;h=(h|0)>0?h:0;o[d+1|0]=(h|0)<255?h:255;h=w(p[b+24>>1]+(p[b>>1]-p[b+16>>1]|0)|0,74);h=r[c+2|0]+((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)|0;h=(h|0)>0?h:0;o[d+2|0]=(h|0)<255?h:255;e=(w(i,29)+w(u,55)|0)-e|0;e=r[c+3|0]+((e|0)>134215679?32767:(e|0)<-134219776?-32768:e+2048>>12)|0;e=(e|0)>0?e:0;o[d+3|0]=(e|0)<255?e:255;a=a+1|0;if((a|0)!=4){c=c+f|0;d=d+g|0;k=p[b+10>>1];u=p[b+2>>1];b=b+2|0;continue}break}}function dh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,x=0,z=0;h=xa-560|0;xa=h;f=c;c=(c+ -3|0)/24|0;r=(c|0)>0?c:0;l=f+w(r,-24)|0;m=q[37045];i=d+ -1|0;if((m+i|0)>=0){f=d+m|0;c=r-i|0;while(1){v[(h+320|0)+(g<<3)>>3]=(c|0)<0?0:+q[(c<<2)+148192>>2];c=c+1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}k=l+ -24|0;f=0;s=(m|0)>0?m:0;g=(d|0)<1;while(1){a:{if(g){e=0;break a}j=f+i|0;c=0;e=0;while(1){e=e+v[(c<<3)+a>>3]*v[(h+320|0)+(j-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}v[(f<<3)+h>>3]=e;c=(f|0)==(s|0);f=f+1|0;if(!c){continue}break}z=23-k|0;t=24-k|0;f=m;b:{while(1){e=v[(f<<3)+h>>3];c=0;g=f;o=(f|0)<1;if(!o){while(1){i=(h+480|0)+(c<<2)|0;n=e;e=e*5.960464477539063e-8;c:{if(y(e)<2147483648){j=~~e;break c}j=-2147483648}e=+(j|0);n=n+e*-16777216;d:{if(y(n)<2147483648){j=~~n;break d}j=-2147483648}q[i>>2]=j;g=g+ -1|0;e=v[(g<<3)+h>>3]+e;c=c+1|0;if((f|0)!=(c|0)){continue}break}}e=wb(e,k);e=e+C(e*.125)*-8;e:{if(y(e)<2147483648){j=~~e;break e}j=-2147483648}e=e- +(j|0);f:{g:{h:{u=(k|0)<1;i:{if(!u){g=(f<<2)+h|0;i=q[g+476>>2];c=i>>t;p=g;g=i-(c<>2]=g;j=c+j|0;i=g>>z;break i}if(k){break h}i=q[((f<<2)+h|0)+476>>2]>>23}if((i|0)<1){break f}break g}i=2;if(!!(e>=.5)){break g}i=0;break f}c=0;g=0;if(!o){while(1){x=(h+480|0)+(c<<2)|0;o=q[x>>2];p=16777215;j:{k:{if(!g){if(!o){break k}p=16777216;g=1}q[x>>2]=p-o;break j}g=0}c=c+1|0;if((f|0)!=(c|0)){continue}break}}l:{if(u){break l}c=k+ -1|0;if(c>>>0>1){break l}if(c-1){c=(f<<2)+h|0;q[c+476>>2]=q[c+476>>2]&8388607;break l}c=(f<<2)+h|0;q[c+476>>2]=q[c+476>>2]&4194303}j=j+1|0;if((i|0)!=2){break f}e=1-e;i=2;if(!g){break f}e=e-wb(1,k)}if(e==0){g=0;m:{c=f;if((c|0)<=(m|0)){break m}while(1){c=c+ -1|0;g=q[(h+480|0)+(c<<2)>>2]|g;if((c|0)>(m|0)){continue}break}if(!g){break m}l=k;while(1){l=l+ -24|0;f=f+ -1|0;if(!q[(h+480|0)+(f<<2)>>2]){continue}break}break b}c=1;while(1){g=c;c=c+1|0;if(!q[(h+480|0)+(m-g<<2)>>2]){continue}break}g=f+g|0;while(1){i=d+f|0;f=f+1|0;v[(h+320|0)+(i<<3)>>3]=q[(r+f<<2)+148192>>2];c=0;e=0;if((d|0)>=1){while(1){e=e+v[(c<<3)+a>>3]*v[(h+320|0)+(i-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}v[(f<<3)+h>>3]=e;if((f|0)<(g|0)){continue}break}f=g;continue}break}e=wb(e,0-k|0);n:{if(!!(e>=16777216)){a=(h+480|0)+(f<<2)|0;n=e;e=e*5.960464477539063e-8;o:{if(y(e)<2147483648){c=~~e;break o}c=-2147483648}e=n+ +(c|0)*-16777216;p:{if(y(e)<2147483648){d=~~e;break p}d=-2147483648}q[a>>2]=d;f=f+1|0;break n}if(y(e)<2147483648){c=~~e}else{c=-2147483648}l=k}q[(h+480|0)+(f<<2)>>2]=c}e=wb(1,l);if((f|0)>=0){c=f;while(1){v[(c<<3)+h>>3]=e*+q[(h+480|0)+(c<<2)>>2];e=e*5.960464477539063e-8;a=0;d=(c|0)>0;c=c+ -1|0;if(d){continue}break}g=f;while(1){d=s>>>0>>0?s:a;k=f-g|0;c=0;e=0;while(1){e=e+v[(c<<3)+150960>>3]*v[(c+g<<3)+h>>3];l=(c|0)!=(d|0);c=c+1|0;if(l){continue}break}v[(h+160|0)+(k<<3)>>3]=e;g=g+ -1|0;c=(a|0)!=(f|0);a=a+1|0;if(c){continue}break}}e=0;if((f|0)>=0){c=f;while(1){e=e+v[(h+160|0)+(c<<3)>>3];a=(c|0)>0;c=c+ -1|0;if(a){continue}break}}v[b>>3]=i?-e:e;e=v[h+160>>3]-e;c=1;if((f|0)>=1){while(1){e=e+v[(h+160|0)+(c<<3)>>3];a=(c|0)!=(f|0);c=c+1|0;if(a){continue}break}}v[b+8>>3]=i?-e:e;xa=h+560|0;return j&7}function Ra(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a+ -8|0;c=q[a+ -4>>2];a=c&-8;f=d+a|0;b:{if(c&1){break b}if(!(c&3)){break a}c=q[d>>2];d=d-c|0;if(d>>>0>>0<=255){e=q[d+8>>2];c=c>>>3|0;b=q[d+12>>2];if((b|0)==(e|0)){i=166120,j=q[41530]&kl(-2,c),q[i>>2]=j;break b}q[e+12>>2]=b;q[b+8>>2]=e;break b}h=q[d+24>>2];c=q[d+12>>2];c:{if((d|0)!=(c|0)){b=q[d+8>>2];q[b+12>>2]=c;q[c+8>>2]=b;break c}d:{e=d+20|0;b=q[e>>2];if(b){break d}e=d+16|0;b=q[e>>2];if(b){break d}c=0;break c}while(1){g=e;c=b;e=c+20|0;b=q[e>>2];if(b){continue}e=c+16|0;b=q[c+16>>2];if(b){continue}break}q[g>>2]=0}if(!h){break b}e=q[d+28>>2];b=(e<<2)+166424|0;e:{if(q[b>>2]==(d|0)){q[b>>2]=c;if(c){break e}i=166124,j=q[41531]&kl(-2,e),q[i>>2]=j;break b}q[h+(q[h+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break b}}q[c+24>>2]=h;b=q[d+16>>2];if(b){q[c+16>>2]=b;q[b+24>>2]=c}b=q[d+20>>2];if(!b){break b}q[c+20>>2]=b;q[b+24>>2]=c;break b}c=q[f+4>>2];if((c&3)!=3){break b}q[41532]=a;q[f+4>>2]=c&-2;q[d+4>>2]=a|1;q[a+d>>2]=a;return}if(f>>>0<=d>>>0){break a}c=q[f+4>>2];if(!(c&1)){break a}f:{if(!(c&2)){if(q[41536]==(f|0)){q[41536]=d;a=q[41533]+a|0;q[41533]=a;q[d+4>>2]=a|1;if(q[41535]!=(d|0)){break a}q[41532]=0;q[41535]=0;return}if(q[41535]==(f|0)){q[41535]=d;a=q[41532]+a|0;q[41532]=a;q[d+4>>2]=a|1;q[a+d>>2]=a;return}a=(c&-8)+a|0;g:{if(c>>>0<=255){b=q[f+8>>2];c=c>>>3|0;e=q[f+12>>2];if((b|0)==(e|0)){i=166120,j=q[41530]&kl(-2,c),q[i>>2]=j;break g}q[b+12>>2]=e;q[e+8>>2]=b;break g}h=q[f+24>>2];c=q[f+12>>2];h:{if((f|0)!=(c|0)){b=q[f+8>>2];q[b+12>>2]=c;q[c+8>>2]=b;break h}i:{e=f+20|0;b=q[e>>2];if(b){break i}e=f+16|0;b=q[e>>2];if(b){break i}c=0;break h}while(1){g=e;c=b;e=c+20|0;b=q[e>>2];if(b){continue}e=c+16|0;b=q[c+16>>2];if(b){continue}break}q[g>>2]=0}if(!h){break g}e=q[f+28>>2];b=(e<<2)+166424|0;j:{if(q[b>>2]==(f|0)){q[b>>2]=c;if(c){break j}i=166124,j=q[41531]&kl(-2,e),q[i>>2]=j;break g}q[h+(q[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}q[c+24>>2]=h;b=q[f+16>>2];if(b){q[c+16>>2]=b;q[b+24>>2]=c}b=q[f+20>>2];if(!b){break g}q[c+20>>2]=b;q[b+24>>2]=c}q[d+4>>2]=a|1;q[a+d>>2]=a;if(q[41535]!=(d|0)){break f}q[41532]=a;return}q[f+4>>2]=c&-2;q[d+4>>2]=a|1;q[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;c=(a<<3)+166160|0;b=q[41530];a=1<>2]}q[c+8>>2]=d;q[a+12>>2]=d;q[d+12>>2]=c;q[d+8>>2]=a;return}q[d+16>>2]=0;q[d+20>>2]=0;c=d;e=a>>>8|0;b=0;l:{if(!e){break l}b=31;if(a>>>0>16777215){break l}b=e;e=e+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(g|(e|h))|0;b=(b<<1|a>>>b+21&1)+28|0}q[c+28>>2]=b;g=(b<<2)+166424|0;m:{n:{e=q[41531];c=1<>2]=d;q[d+24>>2]=g;break o}e=a<<((b|0)==31?0:25-(b>>>1|0)|0);c=q[g>>2];while(1){b=c;if((q[c+4>>2]&-8)==(a|0)){break n}c=e>>>29|0;e=e<<1;g=b+(c&4)|0;c=q[g+16>>2];if(c){continue}break}q[g+16>>2]=d;q[d+24>>2]=b}q[d+12>>2]=d;q[d+8>>2]=d;break m}a=q[b+8>>2];q[a+12>>2]=d;q[b+8>>2]=d;q[d+24>>2]=0;q[d+12>>2]=b;q[d+8>>2]=a}a=q[41538]+ -1|0;q[41538]=a;if(a){break a}d=166576;while(1){a=q[d>>2];d=a+8|0;if(a){continue}break}q[41538]=-1}}function Vj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;m=xa-416|0;xa=m;q[m+368>>2]=-1;q[m+372>>2]=-1;q[m+376>>2]=-1;q[m+380>>2]=-1;q[m+384>>2]=-1;q[m+388>>2]=-1;q[m+392>>2]=-1;q[m+396>>2]=-1;q[m+400>>2]=-1;q[m+404>>2]=-1;q[m+408>>2]=-1;q[m+412>>2]=-1;q[m+352>>2]=-1;q[m+356>>2]=-1;q[m+360>>2]=-1;q[m+364>>2]=-1;f=0;y=k+ -1|0;F=r[y+d|0];C=k+ -2|0;G=r[C+d|0];if((l|0)>0){while(1){g=f<<1;s=(w(b,f)+k|0)+a|0;o[g+(m+224|0)|0]=r[s+ -2|0];o[(m+224|0)+(g|1)|0]=r[s+ -1|0];f=f+1|0;if((l|0)!=(f|0)){continue}break}}if((k|0)>=1){Sa(m+160|0,w(l+ -1|0,b)+a|0,k)}z=r[a|0];a:{if(r[h+4|0]){f=a+b|0;g=z-r[f+2|0]|0;s=(g|0)>-1?(g|0)!=0:-1;g=z-r[e|0]|0;g=s+((g|0)>-1?g?3:2:1)|0;if((g|0)!=2){g=o[q[(g<<2)+38368>>2]+i|0]+z|0;g=(g|0)>0?g:0;z=(g|0)<255?g:255}x=r[a+1|0];f=x-r[f+3|0]|0;g=(f|0)>-1?(f|0)!=0:-1;f=x-r[e+1|0]|0;f=g+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break a}f=o[q[(f<<2)+38368>>2]+j|0]+x|0;f=(f|0)>0?f:0;x=(f|0)<255?f:255;break a}x=r[a+1|0]}s=l+ -1|0;f=w(s,b);g=f+C|0;A=r[g+a|0];b:{if(r[h+7|0]){n=A-r[(f+(b+k|0)|0)+a|0]|0;p=(n|0)>-1?(n|0)!=0:-1;n=g;g=-2-b|0;n=A-r[(n+g|0)+a|0]|0;n=p+((n|0)>-1?n?3:2:1)|0;if((n|0)!=2){n=o[q[(n<<2)+38368>>2]+i|0]+A|0;n=(n|0)>0?n:0;A=(n|0)<255?n:255}f=f+y|0;u=r[f+a|0];n=u-r[((b+f|0)+a|0)+2|0]|0;f=u-r[(f+g|0)+a|0]|0;f=((n|0)>-1?(n|0)!=0:-1)+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break b}f=o[q[(f<<2)+38368>>2]+j|0]+u|0;u=255;if((f|0)>255){break b}u=(f|0)>0?f:0;break b}u=r[(f+y|0)+a|0]}if(!r[h|0]){o[m+352|0]=0}c:{if(r[h+2|0]){f=2;if((k|0)>2){while(1){g=r[a+f|0]-r[(d+f|0)+ -2|0]|0;o[(m+80|0)+f|0]=(g|0)>-1?(g|0)!=0:-1;f=f+1|0;if((k|0)!=(f|0)){continue}break}}n=c;break c}f=2;n=c+2|0;g=a+b|0;if((k|0)>=3){while(1){l=r[f+g|0]-r[(a+f|0)+ -2|0]|0;o[(m+80|0)+f|0]=(l|0)>-1?(l|0)!=0:-1;f=f+1|0;if((k|0)!=(f|0)){continue}break}}l=s;a=g}if(!r[h+1|0]){o[(m+352|0)+(y>>1)|0]=0}t=l-!r[h+3|0]|0;if((t|0)>=1){H=w(b,t);g=m+80|0;f=m;d:{if((k|0)>=1){s=a;while(1){l=f;f=(v<<1)+n|0;p=r[s|0]-r[f+ -2|0]|0;p=(p|0)>-1?(p|0)!=0:-1;o[g|0]=p;f=r[s+1|0]-r[f+ -1|0]|0;o[g+1|0]=(f|0)>-1?(f|0)!=0:-1;f=0;while(1){D=f+s|0;E=f+2|0;B=r[D|0]-r[(E+b|0)+s|0]|0;B=(B|0)>-1?(B|0)!=0:-1;o[l+E|0]=0-B;p=q[(B+(p<<24>>24)<<2)+38376>>2]&r[m+352+(f>>>1)|0];if(p){p=o[p+(f&1?j:i)|0]+r[D|0]|0;p=(p|0)>0?p:0;o[D|0]=(p|0)<255?p:255}f=f+1|0;if((k|0)!=(f|0)){p=o[f+g|0];continue}break}s=b+s|0;f=g;g=l;v=v+1|0;if((v|0)!=(t|0)){continue}break}break d}j=a;while(1){i=f;f=(v<<1)+n|0;l=r[j|0]-r[f+ -2|0]|0;o[g|0]=(l|0)>-1?(l|0)!=0:-1;f=r[j+1|0]-r[f+ -1|0]|0;o[g+1|0]=(f|0)>-1?(f|0)!=0:-1;j=b+j|0;f=g;g=i;v=v+1|0;if((v|0)!=(t|0)){continue}break}}a=a+H|0}f=t+1|0;o[a-w(r[h+2|0]?t:f,b)|0]=z;o[(a-w(r[h+2|0]?t:f,b)|0)+1|0]=x;o[(C-(r[h+3|0]?b:0)|0)+a|0]=A;o[(y-(r[h+3|0]?b:0)|0)+a|0]=u;a=r[h+3|0];b=r[h+2|0];o[e+1|0]=F;o[e|0]=G;a=!a+(b?t:f)|0;if((a|0)>=1){a=a<<1;Sa(c,m+224|0,(a|0)>1?a:1)}if((k|0)>=1){Sa(d,m+160|0,k)}xa=m+416|0}function Ej(a,b){var c=0;c=q[a+8>>2];if(!q[c+112>>2]){q[b+4>>2]=991;return 1}a:{a=q[c+360>>2];if(r[a+162|0]?r[a+8972|0]:0){break a}a=q[c+296>>2];if(r[a+162|0]?r[a+8972|0]:0){break a}if(!(!r[a+17948|0]|!r[a+9138|0])){a=a+8976|0;break a}if(!(!r[a+26924|0]|!r[a+18114|0])){a=a+17952|0;break a}if(!(!r[a+35900|0]|!r[a+27090|0])){a=a+26928|0;break a}if(!(!r[a+44876|0]|!r[a+36066|0])){a=a+35904|0;break a}if(!(!r[a+53852|0]|!r[a+45042|0])){a=a+44880|0;break a}if(!(!r[a+62828|0]|!r[a+54018|0])){a=a+53856|0;break a}if(!(!r[a+71804|0]|!r[a+62994|0])){a=a+62832|0;break a}if(!(!r[a+80780|0]|!r[a+71970|0])){a=a+71808|0;break a}if(!(!r[a+89756|0]|!r[a+80946|0])){a=a+80784|0;break a}if(!(!r[a+98732|0]|!r[a+89922|0])){a=a+89760|0;break a}if(!(!r[a+107708|0]|!r[a+98898|0])){a=a+98736|0;break a}if(!(!r[a+116684|0]|!r[a+107874|0])){a=a+107712|0;break a}if(!(!r[a+125660|0]|!r[a+116850|0])){a=a+116688|0;break a}if(!(!r[a+134636|0]|!r[a+125826|0])){a=a+125664|0;break a}if(!(!r[a+143612|0]|!r[a+134802|0])){a=a+134640|0;break a}q[b+4>>2]=991;return 1}o[b+8|0]=r[a+164|0];o[b+9|0]=r[a+165|0];p[b+10>>1]=s[a+166>>1];p[b+12>>1]=s[a+168>>1];o[b+14|0]=r[a+170|0];o[b+15|0]=r[a+171|0];o[b+16|0]=r[a+172|0];o[b+17|0]=r[a+173|0];o[b+18|0]=r[a+174|0];o[b+19|0]=r[a+175|0];o[b+20|0]=r[a+176|0];o[b+21|0]=r[a+177|0];o[b+22|0]=r[a+178|0];o[b+23|0]=r[a+179|0];o[b+24|0]=r[a+180|0];o[b+25|0]=r[a+181|0];o[b+26|0]=r[a+182|0];o[b+27|0]=r[a+183|0];o[b+28|0]=r[a+184|0];o[b+29|0]=r[a+185|0];q[b+32>>2]=q[a+188>>2];q[b+36>>2]=q[a+192>>2];q[b+40>>2]=q[a+196>>2];q[b+44>>2]=q[a+200>>2];o[b+48|0]=r[a+204|0];o[b+49|0]=r[a+4088|0];q[b+52>>2]=q[a+4092>>2];q[b+56>>2]=q[a+4096>>2];o[b+60|0]=r[a+4100|0];o[b+61|0]=r[a+4101|0];o[b+62|0]=r[a+4102|0];o[b+63|0]=r[a+4103|0];o[b+64|0]=r[a+4104|0];o[b+65|0]=r[a+4105|0];o[b+66|0]=q[a+4108>>2];o[b+67|0]=r[a+4112|0];o[b+68|0]=r[a+4113|0];o[b+69|0]=r[a+4114|0];o[b+70|0]=r[a+4115|0];o[b+71|0]=r[a+208|0];q[b+72>>2]=q[a+212>>2];q[b+76>>2]=q[a+216>>2];o[b+80|0]=r[a+220|0];o[b+81|0]=r[a+221|0];o[b+82|0]=r[a+222|0];o[b+83|0]=r[a+223|0];o[b+84|0]=r[a+224|0];o[b+85|0]=r[a+225|0];o[b+86|0]=r[a+226|0];o[b+87|0]=r[a+227|0];o[b+88|0]=q[a+228>>2];o[b+89|0]=q[a+232>>2];o[b+90|0]=q[a+236>>2];o[b+91|0]=r[a+240|0];o[b+92|0]=r[a+241|0];o[b+93|0]=r[a+242|0];o[b+94|0]=r[a+243|0];o[b+100|0]=r[a+250|0];o[b+106|0]=r[a+257|0];o[b+112|0]=r[a+264|0];o[b+118|0]=r[a+271|0];o[b+95|0]=r[a+244|0];o[b+101|0]=r[a+251|0];o[b+107|0]=r[a+258|0];o[b+113|0]=r[a+265|0];o[b+119|0]=r[a+272|0];o[b+96|0]=r[a+245|0];o[b+102|0]=r[a+252|0];o[b+108|0]=r[a+259|0];o[b+114|0]=r[a+266|0];o[b+120|0]=r[a+273|0];o[b+97|0]=r[a+246|0];o[b+103|0]=r[a+253|0];o[b+109|0]=r[a+260|0];o[b+115|0]=r[a+267|0];o[b+121|0]=r[a+274|0];o[b+98|0]=r[a+247|0];o[b+104|0]=r[a+254|0];o[b+110|0]=r[a+261|0];o[b+116|0]=r[a+268|0];o[b+122|0]=r[a+275|0];o[b+99|0]=r[a+248|0];o[b+105|0]=r[a+255|0];o[b+111|0]=r[a+262|0];o[b+117|0]=r[a+269|0];o[b+123|0]=r[a+276|0];return 0}function Lb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0;o[a+12421|0]=0;f=(w(d,20480)+a|0)+12456|0;h=q[((d<<2)+a|0)+12440>>2];i=r[a+53418|0];a:{if(e){Yd(a,h,b,f,i,32);break a}Yd(a,h,b,f,i,r[a+14|0]);Gh(a,f,f,d);n=Hh(a,f,d);g=!n}h=r[a+53416|0];b:{if(!(r[a+9|0]?0:g)){if(!h){break b}e=r[a+53419|0];d=w(d,20480)+a|0;f=0;g=0;while(1){a=(f<<9)+c|0;b=d+(e+f<<9)|0;q[a>>2]=q[b+12456>>2];q[a+4>>2]=q[b+12460>>2];q[a+8>>2]=q[b+12464>>2];q[a+12>>2]=q[b+12468>>2];q[a+16>>2]=q[b+12472>>2];q[a+20>>2]=q[b+12476>>2];q[a+24>>2]=q[b+12480>>2];q[a+28>>2]=q[b+12484>>2];q[a+32>>2]=q[b+12488>>2];q[a+36>>2]=q[b+12492>>2];q[a+40>>2]=q[b+12496>>2];q[a+44>>2]=q[b+12500>>2];q[a+48>>2]=q[b+12504>>2];q[a+52>>2]=q[b+12508>>2];q[a+56>>2]=q[b+12512>>2];q[a+60>>2]=q[b+12516>>2];q[a+64>>2]=q[b+12520>>2];q[a+68>>2]=q[b+12524>>2];q[a+72>>2]=q[b+12528>>2];q[a+76>>2]=q[b+12532>>2];q[a+80>>2]=q[b+12536>>2];q[a+84>>2]=q[b+12540>>2];q[a+88>>2]=q[b+12544>>2];q[a+92>>2]=q[b+12548>>2];q[a+96>>2]=q[b+12552>>2];q[a+100>>2]=q[b+12556>>2];q[a+104>>2]=q[b+12560>>2];q[a+108>>2]=q[b+12564>>2];q[a+112>>2]=q[b+12568>>2];q[a+116>>2]=q[b+12572>>2];q[a+120>>2]=q[b+12576>>2];q[a+124>>2]=q[b+12580>>2];q[a+128>>2]=q[b+12584>>2];q[a+132>>2]=q[b+12588>>2];q[a+136>>2]=q[b+12592>>2];q[a+140>>2]=q[b+12596>>2];q[a+144>>2]=q[b+12600>>2];q[a+148>>2]=q[b+12604>>2];q[a+152>>2]=q[b+12608>>2];q[a+156>>2]=q[b+12612>>2];q[a+160>>2]=q[b+12616>>2];q[a+164>>2]=q[b+12620>>2];q[a+168>>2]=q[b+12624>>2];q[a+172>>2]=q[b+12628>>2];q[a+176>>2]=q[b+12632>>2];q[a+180>>2]=q[b+12636>>2];q[a+184>>2]=q[b+12640>>2];q[a+188>>2]=q[b+12644>>2];q[a+192>>2]=q[b+12648>>2];q[a+196>>2]=q[b+12652>>2];q[a+200>>2]=q[b+12656>>2];q[a+204>>2]=q[b+12660>>2];q[a+208>>2]=q[b+12664>>2];q[a+212>>2]=q[b+12668>>2];q[a+216>>2]=q[b+12672>>2];q[a+220>>2]=q[b+12676>>2];q[a+224>>2]=q[b+12680>>2];q[a+228>>2]=q[b+12684>>2];q[a+232>>2]=q[b+12688>>2];q[a+236>>2]=q[b+12692>>2];q[a+240>>2]=q[b+12696>>2];q[a+244>>2]=q[b+12700>>2];q[a+248>>2]=q[b+12704>>2];q[a+252>>2]=q[b+12708>>2];Qa(((g<<16>>16<<9)+c|0)+256|0,0,256);g=g+1|0;f=g<<16>>16;if((f|0)<(h|0)){continue}break}break b}if(!h){break b}s=w(d,6)+a|0;p=w(d,20480)+a|0;e=0;g=0;while(1){b=(e|0)>2]=q[d+12456>>2];q[k+4>>2]=q[d+12460>>2];f=f+1|0;d=f<<16>>16;if((b|0)>(d|0)){continue}break}}j=i+j|0;if(i>>>0>l>>>0){m=r[a+53419|0]+e|0;d=b;f=b;while(1){d=d<<3;k=d+((e<<9)+c|0)|0;d=d+((m<<9)+p|0)|0;q[k>>2]=q[d+12456>>2];q[k+4>>2]=q[d+12460>>2];f=f+1|0;d=f<<16>>16;if((j|0)>(d|0)){continue}break}}b=l>>>0>i>>>0?b:j;if(b>>>0<=63){b=b<<3;Qa(b+((g<<16>>16<<9)+c|0)|0,0,(504-b&524280)+8|0)}g=g+1|0;e=g<<16>>16;if((e|0)<(h|0)){continue}break}}return n}function hf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,p=0,t=0;j=xa-32|0;xa=j;i=e<<2;l=i|1;a:{if(!f){if((l|0)<1){break a}a=l<<1;Qa(g,128,(a|0)>1?a:1);break a}k=f&65536;if(k){o[g+i|0]=r[a|0];o[g+l|0]=r[a+1|0]}p=f&15;if(!(!(f&240)|(e|0)<1)){a=e<<1;t=((a|0)>2?a:2)+ -1>>>1|0;m=i+ -2|0;a=0;h=0;while(1){n=w(d,h)+c|0;o[(m-a|0)+g|0]=r[n|0];o[((a^-1)+i|0)+g|0]=r[n+1|0];a=a+2|0;n=(h|0)!=(t|0);h=h+1|0;if(n){continue}break}}t=f&3840;b:{if(!p){break b}a=e<<1;if((a|0)>=(i|0)){break b}p=i+ -2|0;h=e;while(1){m=w(d,h)+c|0;o[(p-a|0)+g|0]=r[m|0];o[((a^-1)+i|0)+g|0]=r[m+1|0];h=h+1|0;a=a+2|0;if((a|0)<(i|0)){continue}break}}if(t){bb((i|2)+g|0,b,e<<1)}if(f&61440){a=e<<1;bb((a+(i|2)|0)+g|0,a+b|0,a)}a=e+ -4|0;if(a>>>0>12){break a}c:{switch(a-1|0){default:q[j+8>>2]=k>>>16;a=1;c=f>>>12&1;q[j+16>>2]=c;d=f>>>8&1;q[j+12>>2]=d;b=f>>>7&1;q[j+4>>2]=b;e=f>>>3&1;q[j>>2]=e;if(!e){if(!b){h=2;while(1){a=h;h=a+1|0;if(!q[(a<<2)+j>>2]){continue}break}}h=a<<3;e=a<<2;f=e+ -3|0;a=a>>>0<3;mb(g,s[(a?h:f<<1)+g>>1],a?e:f)}if(!b){mb(g+8|0,s[g+6>>1],4)}if(!k){a=g+i|0;o[a|0]=r[a+ -2|0];o[g+l|0]=r[a+ -1|0]}if(!d){mb((i|2)+g|0,s[g+i>>1],4)}if(c){break a}mb(g+26|0,s[g+24>>1],4);break a;case 3:a=f>>>4|0;b=f>>>6&192|a&48;d:{e:{f:{c=f>>>2&3|a&12;if(!c){break f}a=hl(c)<<2;d=a+ -16|0;if(d>>>0>16){if(a){break e}break d}switch(d-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break e;default:break f}}a=16;if(k){break e}if(!b){a=49;break e}a=(hl(b>>>4|0)<<2)+17|0}if((a|0)<1){break d}d=a<<1;e=r[d+g|0];f=r[(d|1)+g|0];h=d+ -2|0;while(1){o[g+h|0]=e;o[(h|1)+g|0]=f;h=h+ -2|0;if((h|0)>-1){continue}break}if((a|0)>32){break a}}b=b|c|k>>>8;if(!k){while(1){c=(a|0)==16;g:{if(!c){if(b>>>(a>>2)&1){break g}d=(a<<1)+g|0;mb(d,s[d+ -2>>1],4);break g}d=r[g+30|0]|r[g+31|0]<<8;o[g+32|0]=d;o[g+33|0]=d>>>8}a=(c?1:4)+a|0;if((a|0)<33){continue}break a}}while(1){c=(a|0)==16;if(!(c|b>>>(a>>2)&1)){d=(a<<1)+g|0;mb(d,s[d+ -2>>1],4)}a=(c?1:4)+a|0;if((a|0)<33){continue}break}break a;case 0:case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:break a;case 11:break c}}a=f&255;h:{i:{if(a){a=hl(a)<<2;if(!a){break h}if((a|0)!=32){break i}}a=32;if(k){break i}a=f>>>8&255;if(!a){a=65;break i}a=(hl(a)<<2)+33|0}if((a|0)<1){break h}b=a<<1;c=r[b+g|0];d=r[(b|1)+g|0];h=b+ -2|0;while(1){o[g+h|0]=c;o[(h|1)+g|0]=d;h=h+ -2|0;if((h|0)>-1){continue}break}if((a|0)>64){break a}}if(k){while(1){b=(a|0)==32;if(!(b|f>>>(a>>2)&1)){c=(a<<1)+g|0;mb(c,s[c+ -2>>1],4)}a=(b?1:4)+a|0;if((a|0)<65){continue}break a}}while(1){j:{if((a|0)==32){b=r[g+62|0]|r[g+63|0]<<8;o[g+64|0]=b;o[g+65|0]=b>>>8;break j}if(f>>>(a>>2)&1){break j}b=(a<<1)+g|0;mb(b,s[b+ -2>>1],4)}a=((a|0)==32?1:4)+a|0;if((a|0)<65){continue}break}}xa=j+32|0}function Ah(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=xa-4096|0;xa=h;e=r[a+25|0]+a|0;j=r[e+1084|0];g=j?2:1;f=r[e+26|0];a:{if(f){if((f|0)==(g|0)){break a}o[e+74|0]=0}o[e+26|0]=g}if(!r[e+74|0]){g=r[c|0];e=r[a+4|0];if((e|0)==1){e=((g<<2)+a|0)+1136|0;f=q[e>>2];if(f){Ra(f);q[e>>2]=0}f=e;e=Ta(w(s[a+10>>1],12));q[f>>2]=e;Rc(e,s[a+10>>1]);e=r[a+4|0]}b:{if(e>>>0<=23){f=1;if(1<>2];if(f){Ra(f);q[e>>2]=0}f=e;e=Ta(s[a+10>>1]<<3);q[f>>2]=e;Qa(e,0,s[a+10>>1]<<3)}f=(g<<2)+a|0;e=q[f+328>>2];if(e){Ra(e);q[f+328>>2]=0}e=r[a+25|0]+a|0;o[e+843|0]=0;c:{if(r[a+840|0]!=1){i=4;if(r[a+841|0]!=1){break c}}o[e+843|0]=1;i=8}e=i;i=f;f=Ta(w(e,s[a+10>>1]));q[i+328>>2]=f;Qa(f,0,w(e,s[a+10>>1]));if(j){f=(g<<2)+a|0;j=q[f+332>>2];if(j){Ra(j);q[f+332>>2]=0}i=f;f=Ta(w(e,s[a+10>>1]));q[i+332>>2]=f;Qa(f,0,w(e,s[a+10>>1]))}e=(g<<2)+a|0;g=q[e+584>>2];if(g){Ra(g);q[e+584>>2]=0}f=e;e=Ta(s[a+10>>1]<<2);q[f+584>>2]=e;Qa(e,0,s[a+10>>1]<<2);o[(r[a+25|0]+a|0)+74|0]=1}d=Ec(b,d,h);d:{if(d){break d}ac(b,0,h,0,s[a+10>>1],0,a+1648|0,a+1652|0);d=r[a+4|0];if((d|0)==1){d=q[((r[c|0]<<2)+a|0)+1136>>2];if(!d){d=33;break d}Qc(b,h,d,s[a+10>>1],r[a+3|0]);Sc(b,q[((r[c|0]<<2)+a|0)+1136>>2]);d=r[a+4|0]}e=d&255;e:{if(e>>>0<=23){d=1;if(1<>1]=s[b+10278>>1]}d=r[c|0];p[b+10278>>1]=s[((d<<1)+a|0)+192>>1]}Pc(b,b+10276|0,h,q[((d<<2)+a|0)+1392>>2],q[a+320>>2],r[b+13|0],r[(a+d|0)+128|0],r[a+3|0],e,s[a+10>>1])}Bc(b,b+9053|0,r[a+3|0],r[a+4|0],h,s[a+10>>1]);d=q[a+324>>2];if(!(!r[d|0]|(r[d+3|0]?r[(d+r[c|0]|0)+56|0]:0))){Yc(d,h)}e=r[c|0];d=(e<<2)+a|0;g=a+128|0;Xc(q[a+320>>2],r[b+4|0],r[b+13|0],r[e+g|0],h,q[d+328>>2],q[d+584>>2],r[a+4|0],s[a+10>>1]);o[g+r[c|0]|0]=r[b+13|0];d=r[a+4|0];g:{if(d>>>0<=23){b=1;if(1<>2],q[b+328>>2],q[b+584>>2],s[a+10>>1],r[a+4|0])}h:{i:{if(r[a+840|0]!=1){if(r[a+841|0]!=1){break h}b=r[a+25|0];if(r[(b+a|0)+843|0]){break i}d=23;break d}b=r[a+25|0];if(r[(b+a|0)+843|0]){break i}d=23;break d}g=r[c|0];e=(b<<2)+a|0;d=q[e+892>>2];if(!d){f=s[a+10>>1];i=r[(a+b|0)+2128|0];d=r[a+3|0];if(d>>>0<=11){d=q[(d<<2)+43120>>2]}else{d=0}d=Ic(f,i,d<<1,r[a+842|0]);q[e+892>>2]=d}e=r[c+6|0];e=s[(((e>>>0>1?e+ -1|0:0)<<1)+c|0)+1942>>1];f=s[c+2046>>1];e=e>>>0>>0?e:f;q[d+4>>2]=r[c+10|0]==2?e<<3:e;e=q[((g<<2)+a|0)+328>>2];j:{if(!r[(a+b|0)+1084|0]){d=Th(d,e,r[a+12|0],r[a+842|0]);break j}d=Sh(d,e,q[((g<<2)+a|0)+332>>2],r[a+12|0],r[a+842|0])}if(d){break d}}d=0;b=r[a+25|0]+a|0;if(r[b+1084|0]|r[b+26|0]!=2){break d}c=(r[c|0]<<2)+a|0;Sa(q[c+332>>2],q[c+328>>2],w(s[a+10>>1],r[b+843|0]?2:1)<<2)}xa=h+4096|0;return d}function ni(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;i=xa+ -8192|0;xa=i;i=Qa(i,0,8192);j=h>>>3|0;l=(h-j|0)/2|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{if((b|0)!=2){j:{if((g|0)==23){g=a+16|0;d=g+(d<<2)|0;g=g+(c<<2)|0;c=0;break j}g=a+8|0;d=d<<2;n=q[g+d>>2];k=g;g=c<<2;c=q[k+g>>2];d=a+d|0;g=a+g|0}if(b>>>0>3){break a}k=q[d>>2];m=q[g>>2];k:{l:{m:{n:{o:{p:{q:{r:{switch(b-1|0){case 2:b=l&65535;if(b){c=0;g=0;while(1){q[i+(c<<2)>>2]=0;g=g+1|0;c=g<<16>>16;if((b|0)>(c|0)){continue}break}}if(j){c=0;g=0;while(1){d=b+c<<2;u[d+i>>2]=u[d+e>>2]*u[(c<<2)+n>>2];g=g+1|0;c=g<<16>>16;if((c|0)<(j|0)){continue}break}}if(b){g=b+j|0;d=0;c=0;while(1){d=d+g<<2;q[d+i>>2]=q[d+e>>2];c=c+1|0;d=c<<16>>16;if((b|0)>(d|0)){continue}break}}if(!h){break n}d=0;b=0;while(1){c=d+h<<2;u[c+i>>2]=u[c+e>>2]*u[((d^-1)+h<<2)+m>>2];b=b+1|0;d=b<<16>>16;if((d|0)<(h|0)){continue}break}e=0;d=i;b=h<<1&65534;if((b|0)>1023){break l}c=b+ -240|0;if(c>>>0<=16){break m}if((b|0)!=960){break b}break c;case 0:if(h){b=0;d=0;while(1){b=b<<2;u[b+i>>2]=u[b+e>>2]*u[b+k>>2];d=d+1|0;b=d<<16>>16;if((b|0)<(h|0)){continue}break}}g=l&65535;if(g){b=0;d=0;while(1){b=b+h<<2;q[b+i>>2]=q[b+e>>2];d=d+1|0;b=d<<16>>16;if((g|0)>(b|0)){continue}break}}if(j){l=g+h|0;b=0;d=0;while(1){k=b+l<<2;u[k+i>>2]=u[e+k>>2]*u[((b^-1)+j<<2)+c>>2];d=d+1|0;b=d<<16>>16;if((b|0)<(j|0)){continue}break}}if(g){b=(g+h|0)+j|0;e=0;d=0;while(1){q[i+(b+e<<2)>>2]=0;d=d+1|0;e=d<<16>>16;if((g|0)>(e|0)){continue}break}}e=0;b=h<<1&65534;if((b|0)>1023){break p}c=b+ -240|0;if(c>>>0<=16){break q}if((b|0)!=960){break d}break f;case 1:break a;default:break r}}c=0;g=h+ -1|0;d=g<<16>>16;if((d|0)>=0){while(1){b=d<<2;u[b+i>>2]=u[b+e>>2]*u[b+k>>2];b=d+h<<2;u[b+i>>2]=u[b+e>>2]*u[(g-d<<2)+m>>2];b=(d|0)>0;d=d+ -1|0;if(b){continue}break}}s:{b=h<<1&65534;if((b|0)<=1023){d=b+ -240|0;if(d>>>0>16){if((b|0)!=960){break g}break i}switch(d-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break g;default:break s}}if((b|0)==1024){break i}if((b|0)!=1920?(b|0)!=2048:0){break g}a=a+32|0;break h}a=a+24|0;break h}switch(c-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break d;default:break o}}if((b|0)==1024){break f}if((b|0)!=1920?(b|0)!=2048:0){break d}a=a+32|0;break e}a=a+24|0;break e}e=0;d=i;break b}switch(c-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break b;default:break k}}if((b|0)==1024){break c}if((b|0)!=1920?(b|0)!=2048:0){break b}e=q[a+32>>2];break b}e=q[a+24>>2];break b}I(43550,43670,353,70816);F()}a=a+28|0}c=q[a>>2]}Lc(c,i,f);break a}a=a+28|0}e=q[a>>2]}Lc(e,i,f);break a}e=q[a+28>>2]}Lc(e,d,f)}xa=i- -8192|0}function Td(a,b,c,d){var e=0,f=0,g=0,h=0;f=q[c+8>>2];a:{if(f){f=f+ -1|0;q[c+8>>2]=f;g=q[c>>2]>>>f&1;break a}g=q[c+4>>2]>>>31|0;if(r[c+20|0]){break a}Oa(c,1)}e=32;b:{if(g){break b}g=q[c+8>>2];c:{if(g>>>0>=2){f=q[c>>2]<<32-g>>>30|0;break c}f=q[c>>2]<<2-g&3|q[c+4>>2]>>>g+30}d:{e:{f:{if(!r[c+20|0]){if(g>>>0>=3){g=g+ -2|0;q[c+8>>2]=g;o[b+4|0]=f;h=b+4|0;break f}Oa(c,2);g=q[c+8>>2]}o[b+4|0]=f;h=b+4|0;if(!g){break e}}g=g+ -1|0;q[c+8>>2]=g;g=q[c>>2]>>>g&1;break d}g=q[c+4>>2]>>>31|0;if(r[c+20|0]){break d}Oa(c,1);f=r[b+4|0]}o[b+13|0]=g;g:{h:{if(r[a+4|0]==23){if(f&255){break b}break h}if((f&255)!=2){break h}e=q[c+8>>2];i:{if(e>>>0>=4){f=q[c>>2]<<32-e>>>28|0;break i}f=q[c>>2]<<4-e&15|q[c+4>>2]>>>e+28}j:{if(r[c+20|0]){break j}if(e>>>0>=5){e=e+ -4|0;q[c+8>>2]=e;break j}Oa(c,4);e=q[c+8>>2]}o[b|0]=f;if(e>>>0>=7){f=q[c>>2]<<32-e>>>25|0}else{f=q[c>>2]<<7-e&127|q[c+4>>2]>>>e+25}if(!r[c+20|0]){if(e>>>0>=8){q[c+8>>2]=e+ -7;o[b+14|0]=f;break g}Oa(c,7)}o[b+14|0]=f;break g}e=q[c+8>>2];k:{if(e>>>0>=6){f=q[c>>2]<<32-e>>>26|0;break k}f=q[c>>2]<<6-e&63|q[c+4>>2]>>>e+26}l:{if(r[c+20|0]){break l}if(e>>>0>=7){q[c+8>>2]=e+ -6;break l}Oa(c,6)}o[b|0]=f}e=Bh(a,b);if(e){break b}e=16;if(r[b|0]>r[b+1|0]){break b}m:{if(r[h|0]==2){break m}f=q[c+8>>2];n:{if(f){f=f+ -1|0;q[c+8>>2]=f;e=q[c>>2]>>>f&1;break n}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break n}Oa(c,1)}o[b+9042|0]=e;if(!e){break m}f=r[a+4|0];if((f|0)==1){e=b;d=r[b|0];g=r[b|0];f=r[a+3|0];if(f>>>0<=11){f=r[f+43168|0]}else{f=0}o:{if(g>>>0>>0){break o}a=r[a+3|0];if(a>>>0<=11){d=r[a+43168|0]}else{d=0}}o[e+10221|0]=d;a=q[c+8>>2];p:{if(a){a=a+ -1|0;q[c+8>>2]=a;e=q[c>>2]>>>a&1;break p}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break p}Oa(c,1)}o[b+10222|0]=e;if(e){f=q[c+8>>2];q:{if(f>>>0>=5){a=q[c>>2]<<32-f>>>27|0;break q}a=q[c>>2]<<5-f&31|q[c+4>>2]>>>f+27}r:{if(r[c+20|0]){break r}if(f>>>0>=6){q[c+8>>2]=f+ -5;break r}Oa(c,5)}o[b+10223|0]=a}e=0;a=d&255;if(!a){break b}g=0;while(1){d=q[c+8>>2];s:{if(d){d=d+ -1|0;q[c+8>>2]=d;e=q[c>>2]>>>d&1;break s}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break s}Oa(c,1)}o[(b+g|0)+10224|0]=e;e=0;g=g+1|0;if((a|0)!=(g|0)){continue}break}break b}t:{u:{if(f>>>0<=16){f=q[c+8>>2];v:{if(f){f=f+ -1|0;q[c+8>>2]=f;e=q[c>>2]>>>f&1;break v}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break v}Oa(c,1)}o[b+10277|0]=e;if(e){e=Fb(a,b,b+10276|0,c);if(e){break b}}if(!d){break u}d=q[c+8>>2];w:{if(d){d=d+ -1|0;q[c+8>>2]=d;g=q[c>>2]>>>d&1;break w}g=q[c+4>>2]>>>31|0;if(r[c+20|0]){break w}Oa(c,1)}o[b+10359|0]=g;e=0;if(!g){break b}return Fb(a,b,b+10358|0,c)}if(!d){break t}break m}if(r[a+4|0]<17){break m}}d=q[c+8>>2];x:{if(d){d=d+ -1|0;q[c+8>>2]=d;e=q[c>>2]>>>d&1;break x}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break x}Oa(c,1)}o[b+10277|0]=e;if(!e){break m}Fb(a,b,b+10276|0,c)}e=0}return e}function Ge(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;b=q[a+24>>2];u=q[a+4>>2];e=o[u+4116|0];d=(e<<1)+ -7|0;g=b<>2];c=p[u+4118>>1];h=w(f,c+1<>2]|0)+h|0;m=q[l>>2];h=h+(g+q[a+52>>2]|0)|0;x=q[h>>2];v=b+w(c,f)|0;i=r[q[a+56>>2]+(v>>3)|0];A=q[a+20>>2];B=r[q[a+16>>2]+174|0];F=q[a>>2];C=r[F+33|0];j=q[a+60>>2];d=1<>5<<1)|0);h=Qa(h,0,d);d=e+ -3|0;E=c<>>32-l|0;if(q[a+24>>2]){q[g>>2]=q[g>>2]|b&m}if(q[a+28>>2]){q[h>>2]=q[h>>2]|b&x}x=j+(c<>2]>>2]<<9>>25}a:{if((A|0)<1){break a}m=7-e|0;f=0;if((e|0)==6){while(1){j=q[a+64>>2]+(f<<2)|0;b=q[j>>2];d=b&15;c=b>>>4&15;n=4<<(b>>>8&7);i=-1431655766>>>32-(n>>>1|0)|0;k=b&1;if(!k){t=g+(d>>>m<<2)|0;q[t>>2]=q[t>>2]|i<<(c<<1)}b:{if(b&16){break b}b=h+(c>>>m<<2)|0;q[b>>2]=q[b>>2]|i<<(d<<1);if(k|v){break b}b=n>>>2|0;i=b+d|0;n=b+c|0;while(1){k=w(c>>>1|0,E);b=d;while(1){o[x+(k+(b>>>1|0)|0)|0]=q[j>>2]<<9>>25;b=b+2|0;if(b>>>0>>0){continue}break}c=c+2|0;if(c>>>0>>0){continue}break}}f=f+1|0;if((A|0)!=(f|0)){continue}break a}}i=e+ -2|0;while(1){n=q[a+64>>2]+(f<<2)|0;b=q[n>>2];d=b&15;k=b>>>4|0;c=k&15;t=4<<(b>>>8&7);j=-1431655766>>>32-(t>>>1|0)|0;y=b&1;if(!y){z=g+(d>>>m<<2)|0;q[z>>2]=q[z>>2]|j<<(c<<1)+((b&2)<>>m<<2)|0;q[b>>2]=q[b>>2]|j<<((k&2)<>>2|0;j=b+d|0;k=b+c|0;while(1){t=w(c>>>1|0,E);b=d;while(1){o[x+(t+(b>>>1|0)|0)|0]=q[n>>2]<<9>>25;b=b+2|0;if(b>>>0>>0){continue}break}c=c+2|0;if(c>>>0>>0){continue}break}}f=f+1|0;if((A|0)!=(f|0)){continue}break}}d:{if(!r[F+27|0]){if(!((q[a+32>>2]?0:!C)|(q[a+44>>2]?0:!(q[a+40>>2]|B)))){if(q[a+24>>2]){break d}}q[g>>2]=q[g>>2]&((e|0)==6?0:-1<>2]|C)){q[g>>2]=q[g>>2]&((e|0)==6?0:-1<>2];c=q[a+96>>2]+(b+w(q[a+28>>2],p[u+4118>>1])<<1)|0;d=s[c>>1];e:{if(!b){c=-1;break e}c=s[c+ -2>>1];if((d|0)!=(c|0)){break e}if(r[q[a+16>>2]+75|0]==1){break d}}f:{if(!((c|0)==(d|0)|B)){if(!q[a+32>>2]|(!q[a+44>>2]|!b)){break f}break d}if(b){break d}}q[g>>2]=q[g>>2]&((e|0)==6?0:-1<>2];c=q[a+24>>2];b=q[a+28>>2];d=p[u+4118>>1];m=s[f+(c+w(b,d)<<1)>>1];d=b?s[f+(w(d,b+ -1|0)+c<<1)>>1]:-1;if(!(!B&(d|0)!=(m|0)?0:!(!b|(q[a+36>>2]?0:!C)))){q[h>>2]=q[h>>2]&((e|0)==6?0:-1<>2];b=q[a+28>>2]}a=p[u>>1]-(c<>3;b=p[u+2>>1]-(b<>3;d=D>>3;if((b|0)<(d|0)){y=b>>6-e<<2;z=b&1;b=e+ -4|0;Qa(h+(y+((e|0)==6?0:z<>6-e<<2;d=a&1;a=e+ -4|0;Qa(g+(b+((e|0)==6?0:d<>2];h=u[a+4>>2];i=u[a+12>>2];n=(g<<3)+d|0;j=x(u[a>>2]+u[a+8>>2]);m=u[e>>2];u[n>>2]=j+m;h=x(h+i);u[n+4>>2]=h+u[e+4>>2];i=u[a+12>>2];r=u[a+4>>2];e=(b+g<<3)+d|0;k=x(k-x(h*x(.5)));h=x(x(u[a>>2]-u[a+8>>2])*x(.8660253882408142));u[e+4>>2]=k-h;j=x(m-x(j*x(.5)));i=x(x(r-i)*x(.8660253882408142));u[e>>2]=j+i;a=(f+g<<3)+d|0;u[a+4>>2]=k+h;u[a>>2]=j-i;g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if(!b){break a}f=b<<1;g=0;while(1){a=((w(g,3)+1&65535)<<3)+c|0;e=a+ -8|0;k=u[e+4>>2];h=u[a+4>>2];i=u[a+12>>2];n=(g<<3)+d|0;j=x(u[a>>2]+u[a+8>>2]);m=u[e>>2];u[n>>2]=j+m;h=x(h+i);u[n+4>>2]=h+u[e+4>>2];i=u[a+12>>2];r=u[a+4>>2];e=(b+g<<3)+d|0;k=x(k-x(h*x(.5)));h=x(x(u[a>>2]-u[a+8>>2])*x(.8660253882408142));u[e+4>>2]=k+h;j=x(m-x(j*x(.5)));i=x(x(r-i)*x(.8660253882408142));u[e>>2]=j-i;a=(f+g<<3)+d|0;u[a+4>>2]=k-h;u[a>>2]=j+i;g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if((g|0)!=1){if(!b|!a){break a}t=w(a,b);A=t<<1;while(1){B=w(a,n);C=w(w(n,3)+1|0,a);g=0;while(1){l=g+C&65535;p=(l-a<<3)+c|0;k=u[p+4>>2];o=(l<<3)+c|0;h=u[o+4>>2];l=(a+l<<3)+c|0;i=u[l+4>>2];s=g+B&65535;q=(s<<3)+d|0;j=u[p>>2];m=x(u[o>>2]+u[l>>2]);u[q>>2]=j+m;h=x(h+i);u[q+4>>2]=h+u[p+4>>2];p=(s+t<<3)+d|0;k=x(k-x(h*x(.5)));h=x(x(u[o>>2]-u[l>>2])*x(.8660253882408142));i=x(k-h);q=g<<3;v=q+e|0;r=u[v>>2];y=u[v+4>>2];j=x(j-x(m*x(.5)));m=x(x(u[o+4>>2]-u[l+4>>2])*x(.8660253882408142));z=x(j+m);u[p+4>>2]=x(i*r)-x(y*z);u[p>>2]=x(i*y)+x(r*z);o=(s+A<<3)+d|0;k=x(k+h);l=f+q|0;h=u[l>>2];i=x(j-m);j=u[l+4>>2];u[o+4>>2]=x(k*h)-x(i*j);u[o>>2]=x(i*h)+x(k*j);g=g+1|0;if((g|0)!=(a|0)){continue}break}n=n+1|0;if((n&65535)>>>0>>0){continue}break}break a}if(!b|!a){break a}t=w(a,b);A=t<<1;while(1){B=w(a,n);C=w(w(n,3)+1|0,a);g=0;while(1){l=g+C&65535;p=(l-a<<3)+c|0;k=u[p+4>>2];o=(l<<3)+c|0;h=u[o+4>>2];l=(a+l<<3)+c|0;i=u[l+4>>2];s=g+B&65535;q=(s<<3)+d|0;j=u[p>>2];m=x(u[o>>2]+u[l>>2]);u[q>>2]=j+m;h=x(h+i);u[q+4>>2]=h+u[p+4>>2];p=(s+t<<3)+d|0;q=g<<3;v=q+e|0;i=u[v>>2];j=x(j-x(m*x(.5)));m=x(x(u[o+4>>2]-u[l+4>>2])*x(.8660253882408142));r=x(j-m);k=x(k-x(h*x(.5)));h=x(x(u[o>>2]-u[l>>2])*x(.8660253882408142));y=x(k+h);z=u[v+4>>2];u[p>>2]=x(i*r)-x(y*z);u[p+4>>2]=x(y*i)+x(z*r);o=(s+A<<3)+d|0;i=x(j+m);l=f+q|0;j=u[l>>2];k=x(k-h);h=u[l+4>>2];u[o>>2]=x(i*j)-x(k*h);u[o+4>>2]=x(k*j)+x(i*h);g=g+1|0;if((g|0)!=(a|0)){continue}break}n=n+1|0;if((n&65535)>>>0>>0){continue}break}}}function Re(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;a:{if((c|0)>0){if(!(h|i)){break a}b:{s=(d+e|0)+1>>1;c=(s+(c&-2)|0)+(g<<1)|0;c=(c|0)>0?c:0;x=q[(((c|0)<53?c:53)<<2)+30416>>2];if(!x){break b}c=a-b|0;G=w(b,3);E=b<<1;e=a-E|0;u=r[c+3|0]+(r[(a-G|0)+3|0]-(r[e+3|0]<<1)|0)|0;m=u>>31;p=r[a+3|0];n=a+E|0;k=a+b|0;z=p+(r[n+3|0]-(r[k+3|0]<<1)|0)|0;j=z>>31;d=r[c|0];H=w(b,-3);c=r[H+a|0];t=r[e|0];A=d+(c-(t<<1)|0)|0;l=A>>31;g=r[a|0];e=r[n|0];n=r[k|0];v=g+(e-(n<<1)|0)|0;k=v>>31;u=m^m+u;z=j^j+z;B=u+z|0;A=l^l+A;k=k^k+v;j=A+k|0;f=s+(f<<1)|0;f=(f|0)>0?f:0;m=q[(((f|0)<51?f:51)<<2)+30208>>2];if((B+j|0)>=(m|0)){break b}f=0;s=m>>2;c:{if(j<<1>=(s|0)){break c}v=d-r[a-(b<<2)|0]|0;j=v>>31;C=r[a+G|0]-g|0;l=C>>31;if(((j^j+v)+(l^l+C)|0)>=m>>3){break c}j=g-d|0;f=j>>31;f=(f^f+j)>1}C=k+z|0;u=u+A|0;z=0-b|0;d:{if(B<<1>=(s|0)){A=0-(b<<2)|0;j=0;break d}l=b<<2;A=0-l|0;j=a+3|0;s=r[j+z|0];v=s-r[j-l|0]|0;l=v>>31;B=r[j+G|0]-p|0;k=B>>31;j=0;if(((l^l+v)+(k^k+B)|0)>=m>>3){break d}p=p-s|0;j=p>>31;j=(j^j+p)>1}v=0-E|0;p=(x|0)>1;m=m+(m>>1)>>3;K=p&(C|0)<(m|0);L=p&(u|0)<(m|0);k=x<<1;B=0-x|0;M=w(x,10);s=x>>1;u=0-s|0;N=j&(f|0)!=0;C=0;while(1){p=e&255;m=n;j=g&255;e=t&255;d=d&255;e:{if(N){g=e+k|0;n=e-k|0;l=d+j|0;y=l+e|0;f=(y+c|0)+2>>>2|0;t=(f|0)>(g|0)?g:(f|0)<(n|0)?n:f;g=k+m|0;n=m-k|0;l=m+l|0;f=(l+p|0)+2>>>2|0;n=(f|0)>(g|0)?g:(f|0)<(n|0)?n:f;g=c+k|0;D=c-k|0;f=((y+w(c,3)|0)+(r[a+A|0]<<1)|0)+4>>>3|0;f=(f|0)>(g|0)?g:(f|0)<(D|0)?D:f;y=k+p|0;D=p-k|0;g=((l+w(p,3)|0)+(r[a+G|0]<<1)|0)+4>>>3|0;l=(g|0)>(y|0)?y:(g|0)<(D|0)?D:g;g=d+k|0;y=d-k|0;J=j<<1;D=(d<<1)+4|0;c=J+(m+((D+(e<<1)|0)+c|0)|0)>>3;d=(c|0)>(g|0)?g:(c|0)<(y|0)?y:c;g=j+k|0;j=j-k|0;c=(p+(J+(e+D|0)|0)|0)+(m<<1)>>3;g=(c|0)>(g|0)?g:(c|0)<(j|0)?j:c;break e}g=(w(j-d|0,9)+w(m-e|0,-3)|0)+8|0;f=g>>4;g=g>>31;f:{if((f+g^g)>=(M|0)){t=e;g=j;break f}f=(f|0)>(x|0)?x:(f|0)<(B|0)?B:f;g=j-f|0;g=(g|0)>0?g:0;n=(g|0)<255;t=d+f|0;l=(t|0)>0?t:0;y=(l|0)<255;t=e;g:{if(!L){break g}d=f+(((c+d|0)+1>>>1|0)-e|0)>>1;d=e+((d|0)>(s|0)?s:(d|0)<(u|0)?u:d)|0;t=255;if((d|0)>255){break g}t=(d|0)>0?d:0}g=n?g:255;d=y?l:255;if(!K){n=m;break f}n=255;e=(((j+p|0)+1>>>1|0)-m|0)-f>>1;e=((e|0)>(s|0)?s:(e|0)<(u|0)?u:e)+m|0;if((e|0)<=255){n=(e|0)>0?e:0}}f=c;l=p}if(h){o[a+H|0]=f;o[a+v|0]=t;o[a+z|0]=d}if(i){o[a|0]=g;o[a+b|0]=n;o[a+E|0]=l}C=C+1|0;if((C|0)==4){break b}a=a+1|0;e=r[E+a|0];n=r[a+b|0];c=r[a+H|0];t=r[a+v|0];d=r[a+z|0];g=r[a|0];continue}}return}I(30057,3785,354,30135);F()}I(4230,3785,355,30135);F()}function ib(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=xa-25024|0;xa=e;h=r[a+24|0];a:{if(h>>>0>=63){o[b+9|0]=12;break a}d=r[a+25|0];if(d>>>0>=48){o[b+9|0]=13;break a}d=a+d|0;i=d;b:{c:{d:{f=r[d+26|0];if(f>>>0>2){break d}switch(f-1|0){case 1:break b;case 0:break d;default:break c}}o[b+9|0]=21;break a}o[i+26|0]=2}o[d+2128|0]=1;Qa(e+22976|0,0,2048);Qa(e+20928|0,0,2048);Qa(e+8|0,0,20914);o[e+8|0]=h;p[e+10>>1]=h+1;d=q[c+8>>2];e:{if(d>>>0>=4){g=q[c>>2];i=g<<32-d>>>28|0;break e}g=q[c>>2];i=g<<4-d&15|q[c+4>>2]>>>d+28}f:{g:{h:{if(!r[c+20|0]){if(d>>>0>=5){d=d+ -4|0;q[c+8>>2]=d;o[e+12|0]=i;break h}Oa(c,4);d=q[c+8>>2]}o[e+12|0]=i;if(!d){break g}g=q[c>>2]}d=d+ -1|0;q[c+8>>2]=d;d=g>>>d&1;break f}d=q[c+4>>2]>>>31|0;if(r[c+20|0]){break f}Oa(c,1)}k=e+10468|0;j=e+8|6;o[e+13|0]=d;i:{j:{if(d){d=Td(a,j,c,d);if(d){break i}f=q[c+8>>2];k:{if(f>>>0>=2){d=q[c>>2]<<32-f>>>30|0;break k}d=q[c>>2]<<2-f&3|q[c+4>>2]>>>f+30}l:{if(r[c+20|0]){break l}if(f>>>0>=3){q[c+8>>2]=f+ -2;break l}Oa(c,2)}o[e+8642|0]=d;f=(d&255)+ -1|0;m:{if(f>>>0>2){break m}d=32;n:{switch(f-1|0){case 1:break i;case 0:break m;default:break n}}g=r[e+16|0];if(!g){break m}f=r[e+14|0];d=f;while(1){o:{if(d&255){d=0;while(1){g=q[c+8>>2];p:{if(g){g=g+ -1|0;q[c+8>>2]=g;g=q[c>>2]>>>g&1;break p}g=q[c+4>>2]>>>31|0;if(r[c+20|0]){break p}Oa(c,1);f=r[e+14|0]}o[((w(l,51)+e|0)+d|0)+8643|0]=g;d=d+1|0;if(d>>>0>>0){continue}break}g=r[e+16|0];d=f;break o}d=0}l=l+1|0;if(l>>>0<(g&255)>>>0){continue}break}}q:{if(!r[e+9056|0]|r[a+4|0]<17){break q}d=q[c+8>>2];r:{if(d){d=d+ -1|0;q[c+8>>2]=d;d=q[c>>2]>>>d&1;break r}d=q[c+4>>2]>>>31|0;if(r[c+20|0]){break r}Oa(c,1)}o[e+10291|0]=d;if(!d){break q}d=Fb(a,j,e+10290|0,c);if(d){break i}}Sa(k,j,10454);break j}o[e+8642|0]=0}d=Cc(a,e+8|0,c,j,e+22976|0);if(d){break i}s:{if(!r[e+9056|0]|(!r[e+13|0]|r[a+4|0]<17)){break s}d=q[c+8>>2];t:{if(d){d=d+ -1|0;q[c+8>>2]=d;d=q[c>>2]>>>d&1;break t}d=q[c+4>>2]>>>31|0;if(r[c+20|0]){break t}Oa(c,1)}o[e+10373|0]=d;if(!d){break s}d=Fb(a,j,e+10372|0,c);if(d){break i}}d=Cc(a,e+8|0,c,k,e+20928|0);if(d){break i}d=q[c+8>>2];u:{if(d>>>0>=3){f=q[c>>2]<<32-d>>>29|0;break u}f=q[c>>2]<<3-d&7|q[c+4>>2]>>>d+29}if((f|0)==6){v:{if(r[c+20|0]){break v}if(d>>>0>=4){q[c+8>>2]=d+ -3;break v}Oa(c,3)}d=Dc(a,c,q[a+324>>2],r[a+25|0]);if(d){break i}}d=zh(a,j,k,e+8|0,e+22976|0,e+20928|0)}o[b+9|0]=d;w:{if(r[a+1656|0]){b=((i&255)+a|0)+2112|0;o[(r[b|0]+a|0)+2192|0]=h;d=r[b|0]+1|0;b=h+1|0;break w}o[(a+h|0)+2192|0]=h;d=h+1|0;b=d}o[(a+d|0)+2192|0]=b;o[a+24|0]=r[a+24|0]+2;o[a+25|0]=r[a+25|0]+1}xa=e+25024|0}function Jd(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=xa-48|0;xa=j;h(+a);d=e(1)|0;m=e(0)|0;a:{b:{i=d;d=i;k=i&2147483647;c:{if(k>>>0<=1074752122){if((d&1048575)==598523){break c}if(k>>>0<=1073928572){if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -1.5707963267341256;c=a+ -6.077100506506192e-11;v[b>>3]=c;v[b+8>>3]=a-c+ -6.077100506506192e-11;d=1;break a}a=a+1.5707963267341256;c=a+6.077100506506192e-11;v[b>>3]=c;v[b+8>>3]=a-c+6.077100506506192e-11;d=-1;break a}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -3.1415926534682512;c=a+ -1.2154201013012384e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -1.2154201013012384e-10;d=2;break a}a=a+3.1415926534682512;c=a+1.2154201013012384e-10;v[b>>3]=c;v[b+8>>3]=a-c+1.2154201013012384e-10;d=-2;break a}if(k>>>0<=1075594811){if(k>>>0<=1075183036){if((k|0)==1074977148){break c}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -4.712388980202377;c=a+ -1.8231301519518578e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -1.8231301519518578e-10;d=3;break a}a=a+4.712388980202377;c=a+1.8231301519518578e-10;v[b>>3]=c;v[b+8>>3]=a-c+1.8231301519518578e-10;d=-3;break a}if((k|0)==1075388923){break c}if((i|0)>0?1:(i|0)>=0?m>>>0<0?0:1:0){a=a+ -6.2831853069365025;c=a+ -2.430840202602477e-10;v[b>>3]=c;v[b+8>>3]=a-c+ -2.430840202602477e-10;d=4;break a}a=a+6.2831853069365025;c=a+2.430840202602477e-10;v[b>>3]=c;v[b+8>>3]=a-c+2.430840202602477e-10;d=-4;break a}if(k>>>0>1094263290){break b}}n=a*.6366197723675814+6755399441055744+ -6755399441055744;c=a+n*-1.5707963267341256;l=n*6.077100506506192e-11;a=c-l;v[b>>3]=a;h(+a);d=e(1)|0;e(0)|0;i=k>>>20|0;m=(i-(d>>>20&2047)|0)<17;if(y(n)<2147483648){d=~~n}else{d=-2147483648}d:{if(m){break d}l=c;a=n*6.077100506303966e-11;c=c-a;l=n*2.0222662487959506e-21-(l-c-a);a=c-l;v[b>>3]=a;o=i;h(+a);i=e(1)|0;e(0)|0;if((o-(i>>>20&2047)|0)<50){break d}l=c;a=n*2.0222662487111665e-21;c=c-a;l=n*8.4784276603689e-32-(l-c-a);a=c-l;v[b>>3]=a}v[b+8>>3]=c-a-l;break a}if(k>>>0>=2146435072){a=a-a;v[b>>3]=a;v[b+8>>3]=a;d=0;break a}f(0,m|0);f(1,i&1048575|1096810496);a=+g();d=0;while(1){o=d;d=(j+16|0)+(d<<3)|0;if(y(a)<2147483648){p=~~a}else{p=-2147483648}c=+(p|0);v[d>>3]=c;a=(a-c)*16777216;d=1;if(!o){continue}break}v[j+32>>3]=a;e:{if(a!=0){d=2;break e}o=1;while(1){d=o;o=d+ -1|0;if(v[(j+16|0)+(d<<3)>>3]==0){continue}break}}d=dh(j+16|0,j,(k>>>20|0)+ -1046|0,d+1|0);a=v[j>>3];if((i|0)<-1?1:(i|0)<=-1?m>>>0>4294967295?0:1:0){v[b>>3]=-a;v[b+8>>3]=-v[j+8>>3];d=0-d|0;break a}v[b>>3]=a;i=q[j+12>>2];q[b+8>>2]=q[j+8>>2];q[b+12>>2]=i}xa=j+48|0;return d}function Se(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;a:{if(c+ -1>>>0<3){if(!(h|i)){break a}b:{y=(d+e|0)+1>>1;c=(y+(c&-2)|0)+(g<<1)|0;c=(c|0)>0?c:0;z=q[(((c|0)<53?c:53)<<2)+30416>>2];if(!z){break b}j=w(b,3)+a|0;p=r[j+ -1|0];v=p+(r[j+ -3|0]-(r[j+ -2|0]<<1)|0)|0;l=v>>31;n=r[j|0];B=n+(r[j+2|0]-(r[j+1|0]<<1)|0)|0;k=B>>31;d=r[a+ -1|0];c=r[a+ -3|0];s=r[a+ -2|0];C=d+(c-(s<<1)|0)|0;t=C>>31;g=r[a|0];e=r[a+2|0];m=r[a+1|0];D=g+(e-(m<<1)|0)|0;x=D>>31;v=l^l+v;B=k^k+B;E=v+B|0;C=t^t+C;x=x^x+D;k=C+x|0;f=y+(f<<1)|0;f=(f|0)>0?f:0;l=q[(((f|0)<51?f:51)<<2)+30208>>2];if((E+k|0)>=(l|0)){break b}y=l>>2;f=0;c:{if(k<<1>=(y|0)){break c}D=d-r[a+ -4|0]|0;k=D>>31;u=r[a+3|0]-g|0;t=u>>31;f=0;if(((k^k+D)+(t^t+u)|0)>=l>>3){break c}k=g-d|0;f=k>>31;f=(f^f+k)>1}t=v+C|0;x=x+B|0;d:{if(E<<1>=(y|0)){break d}y=p-r[j+ -4|0]|0;k=y>>31;v=r[j+3|0]-n|0;j=v>>31;if(((k^k+y)+(j^j+v)|0)>=l>>3){break d}p=n-p|0;j=p>>31;A=(j^j+p)>1}j=l+(l>>1)>>3;l=(z|0)>1;B=(x|0)<(j|0)&l;C=l&(t|0)<(j|0);k=z<<1;y=0-z|0;D=w(z,10);t=z>>1;x=0-t|0;E=(f|0)!=0&A;v=0;while(1){p=e&255;j=m;l=g&255;e=s&255;d=d&255;e:{if(E){g=e+k|0;m=e-k|0;n=d+l|0;u=n+e|0;f=(u+c|0)+2>>>2|0;s=(f|0)>(g|0)?g:(f|0)<(m|0)?m:f;g=j+k|0;m=j-k|0;n=j+n|0;f=(n+p|0)+2>>>2|0;m=(f|0)>(g|0)?g:(f|0)<(m|0)?m:f;g=c+k|0;A=c-k|0;f=((u+w(c,3)|0)+(r[a+ -4|0]<<1)|0)+4>>>3|0;f=(f|0)>(g|0)?g:(f|0)<(A|0)?A:f;u=k+p|0;A=p-k|0;g=((n+w(p,3)|0)+(r[a+3|0]<<1)|0)+4>>>3|0;n=(g|0)>(u|0)?u:(g|0)<(A|0)?A:g;g=d+k|0;u=d-k|0;G=l<<1;A=(d<<1)+4|0;c=G+(j+((A+(e<<1)|0)+c|0)|0)>>3;d=(c|0)>(g|0)?g:(c|0)<(u|0)?u:c;g=k+l|0;l=l-k|0;c=(p+(G+(e+A|0)|0)|0)+(j<<1)>>3;g=(c|0)>(g|0)?g:(c|0)<(l|0)?l:c;break e}g=(w(l-d|0,9)+w(j-e|0,-3)|0)+8|0;f=g>>4;g=g>>31;f:{if((f+g^g)>=(D|0)){s=e;g=l;break f}f=(f|0)>(z|0)?z:(f|0)<(y|0)?y:f;g=l-f|0;g=(g|0)>0?g:0;m=(g|0)<255;s=d+f|0;n=(s|0)>0?s:0;u=(n|0)<255;s=e;g:{if(!C){break g}d=f+(((c+d|0)+1>>>1|0)-e|0)>>1;d=e+((d|0)>(t|0)?t:(d|0)<(x|0)?x:d)|0;s=255;if((d|0)>255){break g}s=(d|0)>0?d:0}g=m?g:255;d=u?n:255;if(!B){m=j;break f}m=255;e=(((l+p|0)+1>>>1|0)-j|0)-f>>1;e=((e|0)>(t|0)?t:(e|0)<(x|0)?x:e)+j|0;if((e|0)<=255){m=(e|0)>0?e:0}}f=c;n=p}if(h){o[a+ -3|0]=f;o[a+ -2|0]=s;o[a+ -1|0]=d}if(i){o[a+2|0]=n;o[a+1|0]=m;o[a|0]=g}v=v+1|0;if((v|0)==4){break b}a=a+b|0;c=r[a+ -3|0];s=r[a+ -2|0];d=r[a+ -1|0];e=r[a+2|0];m=r[a+1|0];g=r[a|0];continue}}return}I(3310,3785,117,30035);F()}I(4230,3785,118,30035);F()}function Uj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=xa-256|0;xa=m;q[m+208>>2]=-1;q[m+212>>2]=-1;q[m+216>>2]=-1;q[m+220>>2]=-1;q[m+224>>2]=-1;q[m+228>>2]=-1;q[m+232>>2]=-1;q[m+236>>2]=-1;q[m+240>>2]=-1;q[m+244>>2]=-1;q[m+248>>2]=-1;q[m+252>>2]=-1;q[m+192>>2]=-1;q[m+196>>2]=-1;q[m+200>>2]=-1;q[m+204>>2]=-1;p=j+ -1|0;C=r[p+d|0];if((k|0)>0){while(1){o[(m- -64|0)+l|0]=r[(w(b,l)+p|0)+a|0];l=l+1|0;if((l|0)!=(k|0)){continue}break}}if((j|0)>=1){Sa(m+128|0,w(k+ -1|0,b)+a|0,j)}x=r[a+p|0];a:{if(!r[h+5|0]){break a}l=x-r[((b+j|0)+a|0)+ -2|0]|0;f=x-r[f|0]|0;f=((l|0)>-1?(l|0)!=0:-1)+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break a}f=o[q[(f<<2)+38368>>2]+i|0]+x|0;f=(f|0)>0?f:0;x=(f|0)<255?f:255}u=k+ -1|0;f=w(u,b);v=r[f+a|0];b:{if(!r[h+6|0]){break b}g=v-r[g|0]|0;f=v-r[((f-b|0)+a|0)+1|0]|0;f=((g|0)>-1?(g|0)!=0:-1)+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break b}f=o[q[(f<<2)+38368>>2]+i|0]+v|0;v=255;if((f|0)>255){break b}v=(f|0)>0?f:0}if(!r[h|0]){o[m+192|0]=0}n=r[h+2|0];c:{if(n){if((j|0)>1){l=0;while(1){g=l+m|0;f=r[a+l|0];l=l+1|0;f=f-r[l+d|0]|0;o[g|0]=(f|0)>-1?(f|0)!=0:-1;if((l|0)!=(p|0)){continue}break}}g=c;break c}g=c+1|0;f=a+b|0;if((j|0)>=2){l=0;while(1){s=l+m|0;k=r[f+l|0];l=l+1|0;k=k-r[l+a|0]|0;o[s|0]=(k|0)>-1?(k|0)!=0:-1;if((l|0)!=(p|0)){continue}break}}k=u;a=f}if(!r[h+1|0]){o[(m+192|0)+p|0]=0}D=0-b|0;k=k-!r[h+3|0]|0;d:{if((k|0)<1){break d}y=w(b,k);z=j-b|0;A=m+p|0;if((j|0)<1){f=0;l=a;while(1){g=r[l+p|0]-r[l+z|0]|0;o[A|0]=(g|0)>-1?(g|0)!=0:-1;l=b+l|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}a=a+y|0;break d}f=a;u=0;while(1){l=r[f+p|0]-r[f+z|0]|0;o[A|0]=(l|0)>-1?(l|0)!=0:-1;l=r[f|0];u=u+1|0;n=r[u+g|0];e:{if(l>>>0>=n>>>0){l=o[m|0]+(l>>>0>n>>>0?3:2)|0;break e}l=o[m|0]+1|0}l=q[(l<<2)+38368>>2]&r[m+192|0];if(l){l=o[i+l|0]+r[f|0]|0;l=(l|0)>0?l:0;o[f|0]=(l|0)<255?l:255}l=1;if((j|0)!=1){while(1){n=f+l|0;t=r[n|0];B=l+ -1|0;s=r[(B+b|0)+f|0];f:{if(t>>>0>>0){t=255;s=o[l+m|0]+1|0;break f}t=t>>>0>s>>>0;s=o[l+m|0]+(t?3:2)|0}o[m+B|0]=0-t;t=q[(s<<2)+38368>>2]&r[(m+192|0)+l|0];if(t){s=n;n=o[i+t|0]+r[n|0]|0;n=(n|0)>0?n:0;o[s|0]=(n|0)<255?n:255}l=l+1|0;if((l|0)!=(j|0)){continue}break}}f=b+f|0;if((k|0)!=(u|0)){continue}break}a=a+y|0;n=r[h+2|0]}f=b;b=k+1|0;o[((w(f,n?k:b)^-1)+j|0)+a|0]=x;o[(r[h+3|0]?D:0)+a|0]=v;a=r[h+3|0];f=r[h+2|0];o[e|0]=C;a=!a+(f?k:b)|0;if((a|0)>=1){Sa(c,m- -64|0,a)}if((j|0)>=1){Sa(d,m+128|0,j)}xa=m+256|0}function pj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,s=0,t=0,u=0,v=0,x=0,y=0;e=xa-16|0;xa=e;f=q[a+628>>2];g=q[a+456>>2];i=q[a+624>>2];h=q[a+360>>2];j=q[a+460>>2];m=0;a:{if(!j){break a}m=r[(q[a+600>>2]+w((p[h>>1]+63|0)/64|0,(d+ -8|0)/8|0)|0)+((c|0)/64|0)|0]>>>((c|0)/8&7)&1}k=j<<1;l=g<<1;b:{c:{if(g){break c}j=0;if(!(q[a+332>>2]|q[a+336>>2])){break b}if(q[a+324>>2]){break c}j=0;break b}c=c+ -8|0;j=r[(q[a+600>>2]+w((p[h>>1]+63|0)/64|0,(d|0)/8|0)|0)+((c|0)/64|0)|0]>>>((c|0)/8&7)&1}y=f+k|0;k=i+l|0;b=1<>2];t=(u|0)==3?2:1;l=((b|0)/(t|0)|0)/4|0;v=(b|0)/8|0;while(1){s=y+w(o,v)|0;b=1;i=o<<1;h=(i<<2)+a|0;d:{e:{f:{g:{f=e;b=j?r[s|0]:b;c=m?r[k|0]:1;h:{if((b|0)!=(c|0)){q[e+8>>2]=c;q[e+4>>2]=b;if(b){d=0;if(c){break h}}d=(b|0)!=1?(c|0)!=1?1:26:26;break h}if(b>>>0<2){break g}q[e+4>>2]=b;c=(b+29&31)+2|0;q[e+8>>2]=c;d=((b+ -1|0)%32|0)+2|0}q[f+12>>2]=d;if(q[((i<<2)+a|0)+492>>2]==1){break e}i:{if((b|0)<=(c|0)){g=c;c=b;break i}q[e+4>>2]=c;q[e+8>>2]=b;g=b}j:{if((c|0)<=(d|0)){b=c;c=d;break j}q[e+4>>2]=d;q[e+12>>2]=c;b=d}if((g|0)<=(c|0)){d=c;c=g;break f}q[e+8>>2]=c;q[e+12>>2]=g;d=g;break f}d=26;q[e+12>>2]=26;q[e+4>>2]=0;q[e+8>>2]=1;c=1;b=0;if(q[((i<<2)+a|0)+492>>2]==1){break e}}g=q[((i<<2)+a|0)+524>>2];b=((g|0)>=(b|0))+g|0;b=((b|0)>=(c|0))+b|0;b=((b|0)>=(d|0))+b|0;break d}b=q[(e+4|0)+(q[((i<<2)+a|0)+508>>2]<<2)>>2]}q[h+476>>2]=b;b=b&255;n[q[a+12192>>2]](s,b,l);n[q[a+12192>>2]](k,b,l);d=1;if((u|0)==3){while(1){x=w(d,v);f=r[s|0];c=1;k:{l:{m:{n:{o:{p:{g=e;c=m?r[k+x|0]:c;q:{if((f|0)==(c|0)){if(f>>>0<2){break p}q[e+4>>2]=f;c=(f+29&31)+2|0;q[e+8>>2]=c;b=((f+ -1|0)%32|0)+2|0;break q}q[e+8>>2]=c;q[e+4>>2]=f;if(f){b=0;if(c){break q}}b=(f|0)!=1?(c|0)!=1?1:26:26}q[g+12>>2]=b;g=d+i|0;if(q[((g<<2)+a|0)+492>>2]==1){break o}if((f|0)>(c|0)){break n}h=c;c=f;break m}b=26;q[e+12>>2]=26;q[e+4>>2]=0;q[e+8>>2]=1;c=1;f=0;g=d+i|0;if(q[((g<<2)+a|0)+492>>2]!=1){break l}}b=q[(e+4|0)+(q[((g<<2)+a|0)+508>>2]<<2)>>2];break k}q[e+4>>2]=c;q[e+8>>2]=f;h=f}r:{if((c|0)<=(b|0)){f=c;c=b;break r}q[e+4>>2]=b;q[e+12>>2]=c;f=b}if((h|0)<=(c|0)){b=c;c=h;break l}q[e+8>>2]=c;q[e+12>>2]=h;b=h}h=q[((g<<2)+a|0)+524>>2];h=((h|0)>=(f|0))+h|0;c=((h|0)>=(c|0))+h|0;b=((c|0)>=(b|0))+c|0}q[((g<<2)+a|0)+476>>2]=b;b=b&255;n[q[a+12192>>2]](s,b,l);n[q[a+12192>>2]](k+x|0,b,l);d=d+1|0;if((t|0)!=(d|0)){continue}break}}m=1;o=o+1|0;if((t|0)!=(o|0)){continue}break}if(!q[a+472>>2]){b=q[a+476>>2];q[a+488>>2]=b;q[a+484>>2]=b;q[a+480>>2]=b}xa=e+16|0}function Ab(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0;l=a+660|0;m=a+376|0;a:{while(1){j=c;n=b;b=q[a+560>>2];t=q[a+356>>2];k=q[a+360>>2];c=(d|0)>o[k+4117|0];b:{if(!(c|q[a+544>>2]<=(e|0)|((d|0)<=o[k+48|0]|(b?!e:0)))){h=Wa(l,m,36-d|0);break b}i=0;i=r[k+52|0]|q[a+468>>2]?i:!e&q[a+472>>2]!=0;if(!(!e&(b|0)==1|c)){h=0;if(!i){break b}}h=1}c:{d:{e:{f:{if(!e){o[a+549|0]=0;o[a+554|0]=0;c=(d|0)>2;b=36;break f}b=a+549|0;c=e+ -1|0;p=r[b+c|0];o[b+e|0]=p;b=a+554|0;i=r[b+c|0];o[b+e|0]=i;c=0;if((d|0)<3){break c}b=e+36|0;c=1;if(!p){break e}}i=a+e|0;u=i,v=Wa(l,m,b),o[u+549|0]=v;if(!e){break d}i=r[i+553|0]}if(!(i&255)){break c}}u=a+e|0,v=Wa(l,m,b),o[u+554|0]=v}if(h){h=d+ -1|0;k=e+1|0;i=Ab(a,n,j,h,k,0,e?g:q[a+476>>2]);if(i){break a}b=1<>1;c=b+j|0;b=b+n|0;if(e){i=Ab(a,b,j,h,k,1,g);if(i){break a}f=3;d=h;e=k;i=Ab(a,n,c,h,e,2,g);if(!i){continue}break a}i=Ab(a,b,j,h,k,1,q[a+480>>2]);if(i){break a}i=Ab(a,n,c,h,k,2,q[a+484>>2]);if(i){break a}g=q[a+488>>2];f=3;d=h;e=k;continue}break}b=o[k+4116|0];p=q[a+316>>2]<>2]<>2];i=a;g:{if(!(q[a+468>>2]==1|e|(r[a+549|0]|r[a+554|0]))){s=1;break g}s=Wa(l,m,e?34:35)}o[i+548|0]=s;b=q[h>>2]&-14592|(j-b<<2&240|n-p>>>2&15);q[h>>2]=b;b=b&-48897|(q[a+464>>2]<<15&32768|(d<<8)+1536&1792);q[h>>2]=b;b=b&-536819713|(q[a+436>>2]<<16&8323072|g<<23&528482304);q[h>>2]=b;q[h>>2]=b&536856575|q[a+540>>2]<<29;h:{i:{i=r[a+548|0];j:{if(i){break j}j=a+e|0;if(r[j+549|0]){break j}if(!r[j+554|0]){break i}}if(!(q[a+368>>2]|!r[t+17|0])){j=0;b=fd(l,m,5,9,0,1);if((b|0)>=5){b=ed(l,m,0)+b|0}q[a+368>>2]=1;i=979;if(b){j=lb(l,m)?0-b|0:b}b=w(o[k+16|0],3);if((j|0)<(b+ -26|0)|(j|0)>(b+25|0)){break a}q[a+572>>2]=j;i=r[a+548|0]}if(i&255){q[h>>2]=q[h>>2]|2048;Nb(a,d,0,g)}b=q[a+540>>2];g=q[a+476>>2];k:{if((b|0)==4){break k}b=r[b+42116|0];g=(b|0)==q[a+476>>2]?34:b}b=g;if(c){c=a+e|0;if(r[c+549|0]){q[h>>2]=q[h>>2]|4096;Nb(a,d+ -1|0,1,b)}if(!r[c+554|0]){break h}q[h>>2]=q[h>>2]|8192;Nb(a,d+ -1|0,2,b);break h}if((f|0)==3){c=a+e|0;if(r[c+549|0]){q[h>>2]=q[h>>2]|4096;Nb(a,d,1,b)}if(!r[c+554|0]){break h}q[h>>2]=q[h>>2]|8192;Nb(a,d,2,b);break h}q[h>>2]=q[h>>2]|-536870912;break h}if((f|0)==3|(d|0)!=2){break h}q[h>>2]=b|-536870912}b=h;d=b;c=q[b>>2];l:{if(!((c<<2&60)!=q[a+456>>2]<<3|(c>>>2&60)!=q[a+460>>2]<<3)){b=c|16384;break l}b=c&-16385}q[d>>2]=b;q[a+408>>2]=q[a+408>>2]+4;q[a+568>>2]=q[a+568>>2]+1;q[a+428>>2]=q[a+428>>2]+1;i=0}return i}function Ui(a,b,c,d){var e=0,f=0,g=0,h=0;a:{b:{c:{e=q[a+296>>2];if(!r[e+8972|0]){if(!r[e+17948|0]){break c}e=e+8976|0;break b}if(!e){break a}break b}if(r[e+26924|0]){e=e+17952|0;break b}if(r[e+35900|0]){e=e+26928|0;break b}if(r[e+44876|0]){e=e+35904|0;break b}if(r[e+53852|0]){e=e+44880|0;break b}if(r[e+62828|0]){e=e+53856|0;break b}if(r[e+71804|0]){e=e+62832|0;break b}if(r[e+80780|0]){e=e+71808|0;break b}if(r[e+89756|0]){e=e+80784|0;break b}if(r[e+98732|0]){e=e+89760|0;break b}if(r[e+107708|0]){e=e+98736|0;break b}if(r[e+116684|0]){e=e+107712|0;break b}if(r[e+125660|0]){e=e+116688|0;break b}if(r[e+134636|0]){e=e+125664|0;break b}e=(r[e+143612|0]?134640:143616)+e|0}f=a+376|0;d:{e:{f:{if((d|0)==39){if(b>>>0<=4){break f}b=b+ -136|0;if(b>>>0>1){break e}if(b-1){o[a+1464|0]=1;Wi(a);break d}o[a+1470|0]=1;Vi(a);break d}if((b|0)!=4){if(!c){break d}a=0;while(1){pb(f,8);a=a+1|0;if((c|0)!=(a|0)){continue}break}break d}e=1;o[a+1464|0]=1;b=q[a+1472>>2];if((b|0)>=3){a=0;b=f;d=c;e=c>>>2|0;if(e){while(1){pb(f,32);a=a+1|0;if((e|0)!=(a|0)){continue}break}a=c&-4}else{a=0}pb(b,d-a<<3);break d}q[a+1472>>2]=b+1;o[a+1476|0]=1;b=w(b,268)+a|0;d=c>>>0<256?c:256;q[b+5360>>2]=d;q[b+5364>>2]=c;a=Pa(f,8);o[b+5100|0]=a;if((a&255)==255){g=b+5101|0,h=Pa(f,8),o[g|0]=h;e=2}a=0;while(1){g=(a+b|0)+5102|0,h=Pa(f,8),o[g|0]=h;a=a+1|0;e=e+1|0;if(e>>>0>>0){continue}break}break d}g:{switch(b-1|0){case 3:e=1;o[a+1464|0]=1;b=q[a+1472>>2];if((b|0)>=3){a=0;b=f;d=c;e=c>>>2|0;if(e){while(1){pb(f,32);a=a+1|0;if((e|0)!=(a|0)){continue}break}a=c&-4}else{a=0}pb(b,d-a<<3);break d}q[a+1472>>2]=b+1;o[a+1476|0]=1;b=w(b,268)+a|0;d=c>>>0<256?c:256;q[b+5360>>2]=d;q[b+5364>>2]=c;a=Pa(f,8);o[b+5100|0]=a;if((a&255)==255){g=b+5101|0,h=Pa(f,8),o[g|0]=h;e=2}a=0;while(1){g=(a+b|0)+5102|0,h=Pa(f,8),o[g|0]=h;a=a+1|0;e=e+1|0;if(e>>>0>>0){continue}break}break d;case 0:o[a+1464|0]=1;Xi(a,e);break d;case 1:case 2:break e;default:break g}}o[a+1464|0]=1;Yi(a,e);break d}if(!c){break d}a=0;while(1){pb(f,8);a=a+1|0;if((c|0)!=(a|0)){continue}break}}e=mc(f);if(!e){break a}if((e|0)>=10){while(1){Pa(f,1);a=(e|0)>10;e=e+ -1|0;if(a){continue}break}e=9}a=0;c=Ob(f,e);while(1){b=a;a=a+1|0;if(c<(b|0);a=a+ -1|0;if(c){continue}break}a=((e|0)<(b|0)?e:b)+ -1|0;if(!a){break a}while(1){Pa(f,1);a=a+ -1|0;if(a){continue}break}}}function uk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;q=w(c,3);r=c<<1;m=1<>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break a}s=w(p[a+r>>1],74);l=s+m|0;g=(q<<1)+a|0;h=p[g>>1];i=(r<<1)+a|0;k=p[i>>1];j=h+k|0;t=p[a>>1];h=t-h|0;n=(l+w(j,-29)|0)+w(h,55)>>e;n=(n|0)>-32768?n:-32768;p[b+2>>1]=(n|0)<32767?n:32767;k=k+t|0;j=(l+w(k,29)|0)+w(j,55)>>e;j=(j|0)>-32768?j:-32768;p[b>>1]=(j|0)<32767?j:32767;g=p[g>>1];i=p[i>>1];j=p[a>>1];h=((w(k,55)+m|0)+w(h,29)|0)-s>>e;h=(h|0)>-32768?h:-32768;p[b+6>>1]=(h|0)<32767?h:32767;g=w(g+(j-i|0)|0,74)+m>>e;g=(g|0)>-32768?g:-32768;p[b+4>>1]=(g|0)<32767?g:32767}b=(d<<1)+b|0;b:{if(f&2){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break b}g=a+2|0;i=w(p[g+(c<<1)>>1],74);h=i+m|0;k=g+(q<<1)|0;j=p[k>>1];s=g+(r<<1)|0;l=p[s>>1];t=j+l|0;n=p[g>>1];j=n-j|0;o=(h+w(t,-29)|0)+w(j,55)>>e;o=(o|0)>-32768?o:-32768;p[b+2>>1]=(o|0)<32767?o:32767;l=l+n|0;h=(h+w(l,29)|0)+w(t,55)>>e;h=(h|0)>-32768?h:-32768;p[b>>1]=(h|0)<32767?h:32767;h=p[k>>1];k=p[s>>1];g=p[g>>1];i=((w(l,55)+m|0)+w(j,29)|0)-i>>e;i=(i|0)>-32768?i:-32768;p[b+6>>1]=(i|0)<32767?i:32767;g=w(h+(g-k|0)|0,74)+m>>e;g=(g|0)>-32768?g:-32768;p[b+4>>1]=(g|0)<32767?g:32767}b=b+(d<<1)|0;c:{if(f&4){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break c}g=a+4|0;i=w(p[g+(c<<1)>>1],74);h=i+m|0;k=g+(q<<1)|0;j=p[k>>1];s=g+(r<<1)|0;l=p[s>>1];t=j+l|0;n=p[g>>1];j=n-j|0;o=(h+w(t,-29)|0)+w(j,55)>>e;o=(o|0)>-32768?o:-32768;p[b+2>>1]=(o|0)<32767?o:32767;l=l+n|0;h=(h+w(l,29)|0)+w(t,55)>>e;h=(h|0)>-32768?h:-32768;p[b>>1]=(h|0)<32767?h:32767;h=p[k>>1];k=p[s>>1];g=p[g>>1];i=((w(l,55)+m|0)+w(j,29)|0)-i>>e;i=(i|0)>-32768?i:-32768;p[b+6>>1]=(i|0)<32767?i:32767;g=w(h+(g-k|0)|0,74)+m>>e;g=(g|0)>-32768?g:-32768;p[b+4>>1]=(g|0)<32767?g:32767}b=b+(d<<1)|0;if(f&8){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;return}a=a+6|0;d=w(p[a+(c<<1)>>1],74);c=d+m|0;f=a+(q<<1)|0;q=p[f>>1];r=a+(r<<1)|0;g=p[r>>1];h=q+g|0;i=p[a>>1];q=i-q|0;k=(c+w(h,-29)|0)+w(q,55)>>e;k=(k|0)>-32768?k:-32768;p[b+2>>1]=(k|0)<32767?k:32767;g=g+i|0;c=(c+w(g,29)|0)+w(h,55)>>e;c=(c|0)>-32768?c:-32768;p[b>>1]=(c|0)<32767?c:32767;c=p[f>>1];f=p[r>>1];a=p[a>>1];d=((w(g,55)+m|0)+w(q,29)|0)-d>>e;d=(d|0)>-32768?d:-32768;p[b+6>>1]=(d|0)<32767?d:32767;a=w(c+(a-f|0)|0,74)+m>>e;a=(a|0)>-32768?a:-32768;p[b+4>>1]=(a|0)<32767?a:32767}function _g(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=xa-32|0;xa=f;a:{b=q[a+16>>2];b:{if(b>>>0>=170){q[a+16>>2]=b+ -170;b=q[a+4>>2];j=q[b>>2];d=b+4|0;q[a+4>>2]=d;c=q[a+8>>2];b=q[a+12>>2];c:{if((c|0)!=(b|0)){break c}i=q[a>>2];if(d>>>0>i>>>0){h=c-d|0;e=h>>2;c=((d-i>>2)+1|0)/-2<<2;g=c+d|0;b=a;if(h){nb(g,d,h);d=q[a+4>>2]}q[b+4>>2]=c+d;c=g+(e<<2)|0;q[a+8>>2]=c;break c}b=b-i|0;e=b?b>>1:1;if(e>>>0>=1073741824){break a}b=e<<2;h=Va(b);g=b+h|0;e=h+(e&-4)|0;b=e;if((c|0)!=(d|0)){b=e;while(1){q[b>>2]=q[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}i=q[a>>2]}q[a+12>>2]=g;q[a+8>>2]=b;q[a+4>>2]=e;q[a>>2]=h;if(!i){c=b;break c}Ra(i);c=q[a+8>>2]}q[c>>2]=j;q[a+8>>2]=q[a+8>>2]+4;break b}d=q[a+8>>2];b=q[a+4>>2];i=d-b>>2;c=q[a+12>>2];e=c-q[a>>2]|0;if(i>>>0>2>>>0){if((c|0)!=(d|0)){l=f,m=Va(4080),q[l+8>>2]=m;Tg(a,f+8|0);break b}l=f,m=Va(4080),q[l+8>>2]=m;Ad(a,f+8|0);b=q[a+4>>2];j=q[b>>2];d=b+4|0;q[a+4>>2]=d;c=q[a+8>>2];b=q[a+12>>2];d:{if((c|0)!=(b|0)){break d}i=q[a>>2];if(d>>>0>i>>>0){h=c-d|0;e=h>>2;c=((d-i>>2)+1|0)/-2<<2;g=c+d|0;b=a;if(h){nb(g,d,h);d=q[a+4>>2]}q[b+4>>2]=c+d;c=g+(e<<2)|0;q[a+8>>2]=c;break d}b=b-i|0;e=b?b>>1:1;if(e>>>0>=1073741824){break a}b=e<<2;h=Va(b);g=b+h|0;e=h+(e&-4)|0;b=e;if((c|0)!=(d|0)){b=e;while(1){q[b>>2]=q[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}i=q[a>>2]}q[a+12>>2]=g;q[a+8>>2]=b;q[a+4>>2]=e;q[a>>2]=h;if(!i){c=b;break d}Ra(i);c=q[a+8>>2]}q[c>>2]=j;q[a+8>>2]=q[a+8>>2]+4;break b}q[f+24>>2]=a+12;q[f+20>>2]=0;h=e?e>>1:1;if(h>>>0>=1073741824){break a}e=h<<2;g=Va(e);q[f+8>>2]=g;c=(i<<2)+g|0;q[f+16>>2]=c;k=e+g|0;q[f+20>>2]=k;q[f+12>>2]=c;j=Va(4080);e:{if((i|0)!=(h|0)){break e}if(c>>>0>g>>>0){c=(((c-g>>2)+1|0)/-2<<2)+c|0;q[f+12>>2]=c;q[f+16>>2]=c;break e}b=k-g|0;c=b?b>>1:1;if(c>>>0>=1073741824){break a}b=c<<2;e=Va(b);q[f+8>>2]=e;k=b+e|0;q[f+20>>2]=k;c=e+(c&-4)|0;q[f+16>>2]=c;q[f+12>>2]=c;Ra(g);d=q[a+8>>2];b=q[a+4>>2];g=e}q[c>>2]=j;e=c+4|0;q[f+16>>2]=e;if((b|0)!=(d|0)){while(1){d=d+ -4|0;Ad(f+8|0,d);b=q[a+4>>2];if((d|0)!=(b|0)){continue}break}d=q[a+8>>2];k=q[f+20>>2];e=q[f+16>>2];g=q[f+8>>2];c=q[f+12>>2]}j=q[a>>2];q[a>>2]=g;q[f+8>>2]=j;q[a+4>>2]=c;q[f+12>>2]=b;q[a+8>>2]=e;q[f+16>>2]=d;c=q[a+12>>2];q[a+12>>2]=k;q[f+20>>2]=c;if((b|0)!=(d|0)){q[f+16>>2]=(((d-b|0)+ -4>>>2^-1)<<2)+d}if(!j){break b}Ra(j)}xa=f+32|0;return}sb(1504);F()}function Bh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=32;d=r[b+4|0];a:{if(d>>>0>3){break a}e=r[a+3|0];b:{if(d-2){o[b+5|0]=1;p[b+2>>1]=257;g=s[a+10>>1];f=b;h=r[a+4|0];c:{if((h|0)==23){d=e+112570|0;if((g|0)==512){break c}d=e+112582|0;break c}d=e+112594|0;if((g|0)==1024){break c}d=e+112606|0}d=r[d|0];o[f+1|0]=d;if(r[b|0]>d>>>0){break a}if((h|0)!=23){c=0;f=b;if(d){e=q[(e<<2)+112720>>2];while(1){g=c<<1;h=g+b|0;g=e+g|0;p[h+16>>1]=s[g>>1];p[h+1936>>1]=s[g>>1];c=c+1|0;if((d|0)!=(c|0)){continue}break}g=s[a+10>>1]}else{d=0}c=(d<<1)+f|0;p[c+16>>1]=g;p[c+1936>>1]=s[a+10>>1];p[b+2040>>1]=s[a+10>>1];return 0}d:{if((g|0)!=512){if(!d){break d}f=q[(e<<2)+112672>>2];c=0;while(1){e=c<<1;g=e+b|0;e=e+f|0;p[g+16>>1]=s[e>>1];p[g+1936>>1]=s[e>>1];c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}f=q[(e<<2)+112624>>2];c=0;while(1){e=c<<1;g=e+b|0;e=e+f|0;p[g+16>>1]=s[e>>1];p[g+1936>>1]=s[e>>1];c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=(d<<1)+b|0;p[c+16>>1]=s[a+10>>1];p[c+1936>>1]=s[a+10>>1];p[b+2040>>1]=s[a+10>>1];break b}o[b+5|0]=1;p[b+2>>1]=2049;g=r[e+112768|0];o[b+1|0]=g;if(r[b|0]>g>>>0){break a}h=g>>>0>1?g:1;j=q[(e<<2)+112784>>2];c=0;while(1){d=c<<1;p[(d+b|0)+1936>>1]=s[d+j>>1];c=c+1|0;if((h|0)!=(c|0)){continue}break}f=3;c=1;p[((g<<1)+b|0)+1936>>1]=s[a+10>>1]>>>3;p[b+2040>>1]=s[a+10>>1]>>>3;d=r[b+14|0];e:{if(!(d&64)){f=2;o[b+2|0]=2;o[b+6|0]=1;c=2;break e}o[b+5|0]=2}f:{if(d&32){d=c+ -1|0;break f}f=1;e=c+1|0;o[b+2|0]=e;d=c;c=e}o[(b+d|0)+5|0]=f;g:{if(r[b+14|0]&16){o[(b+c|0)+4|0]=f+1;f=f+2|0;break g}d=c+1|0;o[b+2|0]=d;o[(b+c|0)+5|0]=1;c=d;f=2}h:{if(r[b+14|0]&8){d=c+ -1|0;break h}f=1;e=c+1|0;o[b+2|0]=e;d=c;c=e}o[(b+d|0)+5|0]=f;i:{if(r[b+14|0]&4){o[(b+c|0)+4|0]=f+1;f=f+2|0;break i}d=c+1|0;o[b+2|0]=d;o[(b+c|0)+5|0]=1;c=d;f=2}j:{if(r[b+14|0]&2){d=c+ -1|0;break j}f=1;e=c+1|0;o[b+2|0]=e;d=c;c=e}o[(b+d|0)+5|0]=f;k:{if(o[b+14|0]&1){o[(b+c|0)+4|0]=f+1;break k}d=c+1|0;o[b+2|0]=d;o[(b+c|0)+5|0]=1;c=d}l=c>>>0>1?c:1;while(1){m=r[(b+i|0)+5|0];d=0;f=0;while(1){c=d+1|0;l:{if((c|0)!=(g|0)){e=s[(c<<1)+j>>1];break l}e=s[a+10>>1]>>>3|0}d=d<<1;n=s[d+j>>1];k=w(i,240)+b|0;p[(k+d|0)+16>>1]=f;f=w(m,e-n|0)+f|0;d=c;if((c|0)!=(h|0)){continue}break}p[(k+(h<<1)|0)+16>>1]=f;i=i+1|0;if((l|0)!=(i|0)){continue}break}}c=0}return c}function Wj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;l=xa-352|0;xa=l;q[l+304>>2]=-1;q[l+308>>2]=-1;q[l+312>>2]=-1;q[l+316>>2]=-1;q[l+320>>2]=-1;q[l+324>>2]=-1;q[l+328>>2]=-1;q[l+332>>2]=-1;q[l+336>>2]=-1;q[l+340>>2]=-1;q[l+344>>2]=-1;q[l+348>>2]=-1;q[l+288>>2]=-1;q[l+292>>2]=-1;q[l+296>>2]=-1;q[l+300>>2]=-1;f=0;u=j+ -1|0;B=r[u+d|0];if((k|0)>0){while(1){o[(l+224|0)+f|0]=r[(w(b,f)+u|0)+a|0];f=f+1|0;if((k|0)!=(f|0)){continue}break}}if((j|0)>=1){Sa(l+160|0,w(k+ -1|0,b)+a|0,j)}v=r[a|0];a:{if(!r[h+4|0]){break a}f=v-r[(a+b|0)+1|0]|0;g=(f|0)>-1?(f|0)!=0:-1;f=v-r[e|0]|0;f=g+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break a}f=o[q[(f<<2)+38368>>2]+i|0]+v|0;f=(f|0)>0?f:0;v=(f|0)<255?f:255}g=k+ -1|0;f=w(g,b);m=f+u|0;t=r[m+a|0];b:{if(!r[h+7|0]){break b}f=t-r[(f+(b+j|0)|0)+a|0]|0;n=(f|0)>-1?(f|0)!=0:-1;f=t-r[(m+(b^-1)|0)+a|0]|0;f=n+((f|0)>-1?f?3:2:1)|0;if((f|0)==2){break b}f=o[q[(f<<2)+38368>>2]+i|0]+t|0;t=255;if((f|0)>255){break b}t=(f|0)>0?f:0}if(!r[h|0]){o[l+288|0]=0}c:{if(r[h+2|0]){f=1;if((j|0)>1){while(1){g=r[a+f|0]-r[(d+f|0)+ -1|0]|0;o[(l+80|0)+f|0]=(g|0)>-1?(g|0)!=0:-1;f=f+1|0;if((j|0)!=(f|0)){continue}break}}y=c;break c}y=c+1|0;a=a+b|0;if((j|0)>=2){k=b^-1;f=1;while(1){m=r[a+f|0]-r[(f+k|0)+a|0]|0;o[(l+80|0)+f|0]=(m|0)>-1?(m|0)!=0:-1;f=f+1|0;if((j|0)!=(f|0)){continue}break}}k=g}if(!r[h+1|0]){o[(l+288|0)+u|0]=0}p=k-!r[h+3|0]|0;if((p|0)>=1){C=w(b,p);g=l+80|0;f=l;d:{if((j|0)>=1){n=a;while(1){m=f;f=r[n|0]-r[(s+y|0)+ -1|0]|0;z=(f|0)>-1?(f|0)!=0:-1;o[g|0]=z;k=0;while(1){A=k+n|0;f=k+1|0;x=r[A|0]-r[(f+b|0)+n|0]|0;x=(x|0)>-1?(x|0)!=0:-1;o[f+m|0]=0-x;k=q[(x+(z<<24>>24)<<2)+38376>>2]&r[(l+288|0)+k|0];if(k){k=o[i+k|0]+r[A|0]|0;k=(k|0)>0?k:0;o[A|0]=(k|0)<255?k:255}if((f|0)!=(j|0)){z=o[f+g|0];k=f;continue}break}n=b+n|0;f=g;g=m;s=s+1|0;if((s|0)!=(p|0)){continue}break}break d}k=a;while(1){i=f;f=r[k|0]-r[(s+y|0)+ -1|0]|0;o[g|0]=(f|0)>-1?(f|0)!=0:-1;k=b+k|0;f=g;g=i;s=s+1|0;if((s|0)!=(p|0)){continue}break}}a=a+C|0}f=p+1|0;o[a-w(r[h+2|0]?p:f,b)|0]=v;o[(u-(r[h+3|0]?b:0)|0)+a|0]=t;a=r[h+3|0];b=r[h+2|0];o[e|0]=B;a=!a+(b?p:f)|0;if((a|0)>=1){Sa(c,l+224|0,a)}if((j|0)>=1){Sa(d,l+160|0,j)}xa=l+352|0}function tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;n=c<<1;r=w(c,3);k=1<>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break a}l=p[(n<<1)+a>>1];o=p[a>>1];q=w(l,m)+w(o,u)|0;g=p[(r<<1)+a>>1];i=p[a+n>>1];h=w(g,y)+w(i,z)|0;j=q+(k-h|0)>>e;j=(j|0)>-32768?j:-32768;p[b+6>>1]=(j|0)<32767?j:32767;g=w(g,v)+w(i,x)|0;i=w(l,s)+w(o,t)|0;l=(k-g|0)+i>>e;l=(l|0)>-32768?l:-32768;p[b+4>>1]=(l|0)<32767?l:32767;g=i+(g+k|0)>>e;g=(g|0)>-32768?g:-32768;p[b+2>>1]=(g|0)<32767?g:32767;g=q+(k+h|0)>>e;g=(g|0)>-32768?g:-32768;p[b>>1]=(g|0)<32767?g:32767}b=(d<<1)+b|0;b:{if(f&2){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break b}g=a+2|0;i=p[g+(r<<1)>>1];h=p[g+(c<<1)>>1];l=w(i,y)+w(h,z)|0;o=p[g+(n<<1)>>1];g=p[g>>1];q=w(o,m)+w(g,u)|0;j=(k-l|0)+q>>e;j=(j|0)>-32768?j:-32768;p[b+6>>1]=(j|0)<32767?j:32767;g=w(o,s)+w(g,t)|0;i=w(i,v)+w(h,x)|0;h=g+(k-i|0)>>e;h=(h|0)>-32768?h:-32768;p[b+4>>1]=(h|0)<32767?h:32767;g=g+(k+i|0)>>e;g=(g|0)>-32768?g:-32768;p[b+2>>1]=(g|0)<32767?g:32767;g=q+(k+l|0)>>e;g=(g|0)>-32768?g:-32768;p[b>>1]=(g|0)<32767?g:32767}b=b+(d<<1)|0;c:{if(f&4){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;break c}g=a+4|0;i=p[g+(r<<1)>>1];h=p[g+(c<<1)>>1];l=w(i,y)+w(h,z)|0;o=p[g+(n<<1)>>1];g=p[g>>1];q=w(o,m)+w(g,u)|0;j=(k-l|0)+q>>e;j=(j|0)>-32768?j:-32768;p[b+6>>1]=(j|0)<32767?j:32767;g=w(o,s)+w(g,t)|0;i=w(i,v)+w(h,x)|0;h=g+(k-i|0)>>e;h=(h|0)>-32768?h:-32768;p[b+4>>1]=(h|0)<32767?h:32767;g=g+(k+i|0)>>e;g=(g|0)>-32768?g:-32768;p[b+2>>1]=(g|0)<32767?g:32767;g=q+(k+l|0)>>e;g=(g|0)>-32768?g:-32768;p[b>>1]=(g|0)<32767?g:32767}b=b+(d<<1)|0;if(f&8){p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;return}a=a+6|0;d=p[a+(r<<1)>>1];c=p[a+(c<<1)>>1];f=w(d,y)+w(c,z)|0;n=p[a+(n<<1)>>1];a=p[a>>1];r=w(n,m)+w(a,u)|0;m=(k-f|0)+r>>e;m=(m|0)>-32768?m:-32768;p[b+6>>1]=(m|0)<32767?m:32767;a=w(n,s)+w(a,t)|0;c=w(d,v)+w(c,x)|0;d=a+(k-c|0)>>e;d=(d|0)>-32768?d:-32768;p[b+4>>1]=(d|0)<32767?d:32767;a=a+(c+k|0)>>e;a=(a|0)>-32768?a:-32768;p[b+2>>1]=(a|0)<32767?a:32767;a=r+(f+k|0)>>e;a=(a|0)>-32768?a:-32768;p[b>>1]=(a|0)<32767?a:32767}function yh(a,b,c,d,e){var f=0,g=0,h=0,i=0;p[a+22>>1]=25;p[a+24>>1]=0;a:{b:{if(r[a+4|0]<=16){while(1){f=q[c+8>>2];c:{if(f>>>0>=3){g=q[c>>2]<<32-f>>>29|0;break c}g=q[c>>2]<<3-f&7|q[c+4>>2]>>>f+29}d:{if(r[c+20|0]){break d}if(f>>>0>=4){q[c+8>>2]=f+ -3;break d}Oa(c,3)}g=g&255;if((g|0)==7){break b}if(g>>>0>6){continue}e:{f:{g:{switch(g-1|0){default:if(r[a+22|0]==25){o[a+22|0]=0}h=h+1|0;jb(a,b,c,0);if(!r[b+9|0]){continue}break a;case 0:if(r[a+22|0]==25){o[a+22|0]=1}h=h+1|0;ib(a,b,c);if(!r[b+9|0]){continue}break a;case 2:o[a+23|0]=r[a+23|0]+1;jb(a,b,c,3);h=h+1|0;if(!r[b+9|0]){continue}break a;case 1:o[b+9|0]=6;return;case 3:f=q[c+8>>2];h:{i:{j:{k:{if(!r[c+20|0]){if(f>>>0>=5){f=f+ -4|0;q[c+8>>2]=f;break k}Oa(c,4);f=q[c+8>>2]}if(!f){break j}}f=f+ -1|0;q[c+8>>2]=f;i=q[c>>2]>>>f&1;break i}g=q[c+4>>2];i=g>>>31|0;f=0;if(r[c+20|0]){break h}Oa(c,1);f=q[c+8>>2]}if(f>>>0>7){break f}g=q[c+4>>2]}g=q[c>>2]<<8-f&255|g>>>f+24;break e;case 4:if(h&255){o[b+9|0]=31;return}Vd(d,c);h=1;continue;case 5:break g}}g=Dc(a,c,e,255);o[b+9|0]=g;h=h+1|0;if(!g){continue}break a}g=q[c>>2]<<32-f>>>24|0}l:{if(r[c+20|0]){break l}if(f>>>0>=9){q[c+8>>2]=f+ -8;break l}Oa(c,8)}if((g&65535)==255){f=q[c+8>>2];m:{if(f>>>0>=8){g=q[c>>2]<<32-f>>>24|0;break m}g=q[c>>2]<<8-f&255|q[c+4>>2]>>>f+24}n:{if(r[c+20|0]){break n}if(f>>>0>=9){q[c+8>>2]=f+ -8;break n}Oa(c,8)}g=(g&65535)+255|0}if(i){dc(c)}h=h+1|0;f=0;g=g&65535;if(!g){continue}while(1){o:{if(r[c+20|0]){break o}i=q[c+8>>2];if(i>>>0>=9){q[c+8>>2]=i+ -8;break o}Oa(c,8)}f=f+1|0;if(g>>>0>(f&65535)>>>0){continue}break}continue}}p:{d=r[a+5|0]+ -1|0;if(d>>>0<=6){q:{switch(d-1|0){case 0:ib(a,b,c);if(!r[b+9|0]){break b}break a;case 1:jb(a,b,c,0);ib(a,b,c);if(!r[b+9|0]){break b}break a;case 2:jb(a,b,c,0);ib(a,b,c);jb(a,b,c,0);if(!r[b+9|0]){break b}break a;case 3:jb(a,b,c,0);ib(a,b,c);ib(a,b,c);if(!r[b+9|0]){break b}break a;case 4:jb(a,b,c,0);ib(a,b,c);ib(a,b,c);jb(a,b,c,3);if(!r[b+9|0]){break b}break a;case 5:break q;default:break p}}jb(a,b,c,0);ib(a,b,c);ib(a,b,c);ib(a,b,c);jb(a,b,c,3);if(!r[b+9|0]){break b}break a}o[b+9|0]=7;return}jb(a,b,c,0);if(r[b+9|0]){break a}}dc(c)}}function Mb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0;j=q[a+360>>2];f=o[j+4116|0];q[a+976>>2]=e;q[a+452>>2]=d;g=c-(q[a+320>>2]<>3;q[a+460>>2]=g;l=b-(q[a+316>>2]<>3;q[a+456>>2]=l;k=(b|0)/8|0;f=q[a+616>>2]+(k>>>2&1073741820)|0;n=(c|0)/8|0;i=q[a+356>>2];m=1<p[j>>1]|(c+m|0)>p[j+2>>1]|o[j+46|0]>=(d|0))){s=q[a+620>>2];c:{if(!g){h=2;if(!q[a+336>>2]|!q[a+328>>2]){break c}}h=(q[f>>2]>>>(k<<1&30)&3)>(e|0)?3:2}g=a+660|0;t=a+376|0;if(!(!q[a+324>>2]|(q[a+336>>2]?0:!q[a+332>>2])?!l:0)){h=((s>>>(n<<1&30)&3)>(e|0))+h|0}l=0;if(Wa(g,t,h)){break a}break b}l=0;if(o[j+46|0]<(d|0)){break a}}h=-1>>>32-((m|0)/8<<1)|0;k=k<<1&30;g=q[f>>2]&(h<>2])<>2]=g;k=n<<1&30;f=q[a+620>>2]&(h<>2])<>2]=f;l=1}g=l;if(!(!r[i+17|0]|o[i+66|0]>(d|0))){q[a+368>>2]=0;q[a+372>>2]=0}d:{e:{if(!g){f=d+ -1|0;e=e+1|0;d=Mb(a,b,c,f,e);if(d){break d}i=m>>1;g=i+b|0;if((g|0)>1]){d=Mb(a,g,c,f,e);if(d){break d}}c=c+i|0;if((c|0)>1]){d=Mb(a,b,c,f,e);if(d){break d}}if((g|0)>=p[j>>1]|(c|0)>=p[j+2>>1]){break e}d=Mb(a,g,c,f,e);if(!d){break e}break d}e=q[a+456>>2]<<3;f=-1<>2]<<3;if((e&f)!=(e|0)){break f}q[a+572>>2]=0;q[a+440>>2]=q[a+436>>2]}d=Pi(a,b,c,d);if(d){break d}if(!r[i+17|0]){break e}b=-1<>2]<<3;d=b&g;i=q[a+456>>2]<<3;h=i&b;f=h>>3;m=q[a+452>>2];c=q[a+408>>2];b=q[a+440>>2];e=b;e=(h|0)>=1?o[((d+f|0)+a|0)+1379|0]:e;h=q[a+572>>2];if((d|0)>=1){b=o[((d+f|0)+a|0)+1372|0]}b=((((b+e|0)+1>>1)+h|0)+52|0)%52|0;d=1<=8){d=d>>3;e=(d|0)>1?d:1;f=g+(i>>3)|0;d=0;while(1){Qa(((f+(d<<3)|0)+a|0)+1380|0,b,e);d=d+1|0;if((e|0)!=(d|0)){continue}break}}q[a+564>>2]=b;q[a+436>>2]=b;d=q[a+568>>2];q[c>>2]=q[c>>2]&-8323073|b<<16&8323072;if(d){d=c-(d<<2)|0;while(1){q[d>>2]=q[d>>2]&-8323073|q[a+436>>2]<<16&8323072;d=d+4|0;if((c|0)!=(d|0)){continue}break}}if(!q[a+572>>2]){break e}b=q[a+1044>>2];a=q[a+316>>2]+w(q[a+320>>2],p[j+4118>>1])|0;b=b+(a>>3)|0;c=r[b|0];u=b,v=kl(-2,a&7)&c,o[u|0]=v}d=0}return d}function Lh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=0,n=x(0),p=x(0),s=0,t=0,u=x(0);f=xa-1024|0;xa=f;Qa(f+768|0,0,256);Qa(f+512|0,0,256);Qa(f+256|0,0,256);e=Qa(f,0,256);a:{if(c>>>0<=b>>>0){o[a+16|0]=0;h=1;break a}h=1;p=x(c>>>0);l=x(b>>>0);j=+x(p/l);s=j>2.2449?b<<1:c;n=x((s&255)>>>0);i=+x(n/l);m=xc(i);t=+r[d+104375|0];m=m*t/.6931471824645996+.5;b:{if(y(m)<2147483648){c=~~m;break b}c=-2147483648}c=c<<1&254;f=c>>>0<63?c:63;if((f|0)<1){break a}m=+l+.5;c:{if(y(m)<2147483648){d=~~m;break c}d=-2147483648}u=x(Gd(i,1/+x(f>>>0)));h=0;while(1){g=(e+768|0)+(g<<2)|0;l=x(l*u);i=+l+.5;d:{if(y(i)<2147483648){c=~~i;break d}c=-2147483648}q[g>>2]=c-d;d=c;h=h+1|0;g=h&255;if((f|0)>=(g|0)){continue}break}yb(e+768|0,f);q[e+256>>2]=b;h=1;c=1;g=1;while(1){c=c<<2;d=c+ -4|0;b=q[d+(e+768|0)>>2];q[c+(e+256|0)>>2]=b+q[d+(e+256|0)>>2];if(!b){break a}g=g+1|0;c=g&255;if((f|0)>=(c|0)){continue}break}if(!(j>2.2449)){c=0;d=0;while(1){o[(a+c|0)+26|0]=q[(e+256|0)+(c<<2)>>2];d=d+1|0;c=d&255;if((f|0)>=(c|0)){continue}break}o[a+16|0]=f;h=0;break a}j=+x(p/n);i=xc(j)*t/.9010912775993347+.5;e:{if(y(i)<2147483648){b=~~i;break e}b=-2147483648}b=b<<1&254;k=b>>>0<63?b:63;j=Gd(j,1/+x(k>>>0));if((k|0)<1){c=0}else{i=+n+.5;f:{if(y(i)<2147483648){d=~~i;break f}d=-2147483648}l=x(j);g=0;h=0;while(1){c=(e+512|0)+(g<<2)|0;n=x(n*l);j=+n+.5;g:{if(y(j)<2147483648){b=~~j;break g}b=-2147483648}q[c>>2]=b-d;d=b;h=h+1|0;g=h&255;if((k|0)>(g|0)){continue}break}c=q[e+512>>2]}b=(f<<2)+e|0;if((c|0)>2]){yb(e+512|0,k+1|0);c=q[e+512>>2];b=q[b+764>>2];q[e+512>>2]=b;d=(k<<2)+e|0;q[d+508>>2]=q[d+508>>2]+(c-b|0)}yb(e+512|0,k);q[e>>2]=s&255;c=1;if((k|0)>=1){g=1;while(1){c=c<<2;d=c+ -4|0;b=q[d+(e+512|0)>>2];q[c+e>>2]=b+q[d+e>>2];h=1;if(!b){break a}g=g+1|0;c=g&255;if((k|0)>=(c|0)){continue}break}}b=f+k|0;b=b>>>0<64?b:64;o[a+16|0]=b;c=0;d=0;while(1){o[(a+c|0)+26|0]=q[(e+256|0)+(c<<2)>>2];d=d+1|0;c=d&255;if((f|0)>=(c|0)){continue}break}h=0;b=b&255;if(f>>>0>=b>>>0){break a}d=f+1|0;c=f;while(1){c=c+1|0;o[(c+a|0)+26|0]=q[(c-f<<2)+e>>2];d=d+1|0;if((d&255)>>>0<=b>>>0){continue}break}}xa=e+1024|0;return h}function dk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;O=w(f,15);i=w(e,15);j=w(f,14);k=w(e,14);l=w(f,13);m=w(e,13);n=w(f,12);q=w(e,12);s=w(f,11);t=w(e,11);u=w(f,10);v=w(e,10);x=w(f,9);y=w(e,9);z=f<<3;A=e<<3;B=w(f,7);C=w(e,7);D=w(f,6);E=w(e,6);F=w(f,5);G=w(e,5);H=f<<2;I=e<<2;J=w(f,3);K=w(e,3);L=f<<1;M=e<<1;N=d<<1;P=N<<1;Q=w(d,3)<<1;R=d<<3;S=w(d,5)<<1;T=w(d,6)<<1;U=w(d,7)<<1;V=d<<4;W=w(d,9)<<1;X=w(d,10)<<1;Y=w(d,11)<<1;Z=w(d,12)<<1;_=w(d,13)<<1;$=w(d,14)<<1;aa=w(d,15)<<1;d=0;while(1){ba=c+O|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+L|0]=r[b+M|0];o[c+J|0]=r[b+K|0];o[c+H|0]=r[b+I|0];o[c+F|0]=r[b+G|0];o[c+D|0]=r[b+E|0];o[c+B|0]=r[b+C|0];o[c+z|0]=r[b+A|0];o[c+x|0]=r[b+y|0];o[c+u|0]=r[b+v|0];o[c+s|0]=r[b+t|0];o[c+n|0]=r[b+q|0];o[c+l|0]=r[b+m|0];o[c+j|0]=r[b+k|0];h=r[b+i|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[a+N>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[b+M|0]+p[a+P>>1]|0;h=(h|0)>0?h:0;o[c+L|0]=(h|0)<255?h:255;h=r[b+K|0]+p[a+Q>>1]|0;h=(h|0)>0?h:0;o[c+J|0]=(h|0)<255?h:255;h=r[b+I|0]+p[a+R>>1]|0;h=(h|0)>0?h:0;o[c+H|0]=(h|0)<255?h:255;h=r[b+G|0]+p[a+S>>1]|0;h=(h|0)>0?h:0;o[c+F|0]=(h|0)<255?h:255;h=r[b+E|0]+p[a+T>>1]|0;h=(h|0)>0?h:0;o[c+D|0]=(h|0)<255?h:255;h=r[b+C|0]+p[a+U>>1]|0;h=(h|0)>0?h:0;o[c+B|0]=(h|0)<255?h:255;h=r[b+A|0]+p[a+V>>1]|0;h=(h|0)>0?h:0;o[c+z|0]=(h|0)<255?h:255;h=r[b+y|0]+p[a+W>>1]|0;h=(h|0)>0?h:0;o[c+x|0]=(h|0)<255?h:255;h=r[b+v|0]+p[a+X>>1]|0;h=(h|0)>0?h:0;o[c+u|0]=(h|0)<255?h:255;h=r[b+t|0]+p[a+Y>>1]|0;h=(h|0)>0?h:0;o[c+s|0]=(h|0)<255?h:255;h=r[b+q|0]+p[a+Z>>1]|0;h=(h|0)>0?h:0;o[c+n|0]=(h|0)<255?h:255;h=r[b+m|0]+p[a+_>>1]|0;h=(h|0)>0?h:0;o[c+l|0]=(h|0)<255?h:255;h=r[b+k|0]+p[a+$>>1]|0;h=(h|0)>0?h:0;o[c+j|0]=(h|0)<255?h:255;h=r[b+i|0]+p[a+aa>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[ba|0]=h;g=g>>1;b=b+1|0;c=c+1|0;a=a+2|0;d=d+1|0;if((d|0)!=16){continue}break}}function Te(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;O=w(f,15);i=w(e,15);j=w(f,14);k=w(e,14);l=w(f,13);m=w(e,13);n=w(f,12);q=w(e,12);s=w(f,11);t=w(e,11);u=w(f,10);v=w(e,10);x=w(f,9);y=w(e,9);z=f<<3;A=e<<3;B=w(f,7);C=w(e,7);D=w(f,6);E=w(e,6);F=w(f,5);G=w(e,5);H=f<<2;I=e<<2;J=w(f,3);K=w(e,3);L=f<<1;M=e<<1;N=d<<1;P=N<<1;Q=w(d,3)<<1;R=d<<3;S=w(d,5)<<1;T=w(d,6)<<1;U=w(d,7)<<1;V=d<<4;W=w(d,9)<<1;X=w(d,10)<<1;Y=w(d,11)<<1;Z=w(d,12)<<1;_=w(d,13)<<1;$=w(d,14)<<1;aa=w(d,15)<<1;d=0;while(1){ba=c+O|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+L|0]=r[b+M|0];o[c+J|0]=r[b+K|0];o[c+H|0]=r[b+I|0];o[c+F|0]=r[b+G|0];o[c+D|0]=r[b+E|0];o[c+B|0]=r[b+C|0];o[c+z|0]=r[b+A|0];o[c+x|0]=r[b+y|0];o[c+u|0]=r[b+v|0];o[c+s|0]=r[b+t|0];o[c+n|0]=r[b+q|0];o[c+l|0]=r[b+m|0];o[c+j|0]=r[b+k|0];h=r[b+i|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[a+N>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[b+M|0]+p[a+P>>1]|0;h=(h|0)>0?h:0;o[c+L|0]=(h|0)<255?h:255;h=r[b+K|0]+p[a+Q>>1]|0;h=(h|0)>0?h:0;o[c+J|0]=(h|0)<255?h:255;h=r[b+I|0]+p[a+R>>1]|0;h=(h|0)>0?h:0;o[c+H|0]=(h|0)<255?h:255;h=r[b+G|0]+p[a+S>>1]|0;h=(h|0)>0?h:0;o[c+F|0]=(h|0)<255?h:255;h=r[b+E|0]+p[a+T>>1]|0;h=(h|0)>0?h:0;o[c+D|0]=(h|0)<255?h:255;h=r[b+C|0]+p[a+U>>1]|0;h=(h|0)>0?h:0;o[c+B|0]=(h|0)<255?h:255;h=r[b+A|0]+p[a+V>>1]|0;h=(h|0)>0?h:0;o[c+z|0]=(h|0)<255?h:255;h=r[b+y|0]+p[a+W>>1]|0;h=(h|0)>0?h:0;o[c+x|0]=(h|0)<255?h:255;h=r[b+v|0]+p[a+X>>1]|0;h=(h|0)>0?h:0;o[c+u|0]=(h|0)<255?h:255;h=r[b+t|0]+p[a+Y>>1]|0;h=(h|0)>0?h:0;o[c+s|0]=(h|0)<255?h:255;h=r[b+q|0]+p[a+Z>>1]|0;h=(h|0)>0?h:0;o[c+n|0]=(h|0)<255?h:255;h=r[b+m|0]+p[a+_>>1]|0;h=(h|0)>0?h:0;o[c+l|0]=(h|0)<255?h:255;h=r[b+k|0]+p[a+$>>1]|0;h=(h|0)>0?h:0;o[c+j|0]=(h|0)<255?h:255;h=r[b+i|0]+p[a+aa>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[ba|0]=h;g=g>>1;b=b+2|0;c=c+2|0;a=a+2|0;d=d+1|0;if((d|0)!=16){continue}break}}function cj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c,j=Ua(a),o[i+258|0]=j;if(r[b+15|0]){i=c,j=Xa(a)+r[c+258|0]|0,o[i+259|0]=j}f=o[c+160|0];if((f|0)>=1){while(1){i=c+e|0,j=Pa(a,1),o[i+260|0]=j;e=e+1|0;f=o[c+160|0];if((e|0)<(f|0)){continue}break}}a:{b:{if(r[b+15|0]){e=0;if((f|0)<=0){break a}while(1){i=c+e|0,j=Pa(a,1),o[i+276|0]=j;e=e+1|0;f=o[c+160|0];if((e|0)<(f|0)){continue}break}if((f|0)>=1){break b}break a}if((f|0)<1){break a}Qa(c+276|0,0,f)}e=0;f=c+258|0;while(1){d=e<<1;g=d+f|0;c:{if(r[(c+e|0)+260|0]){i=f+(e<<1)|0,j=Xa(a)+(1<>1]=j;h=Xa(a);break c}p[(f+(e<<1)|0)+34>>1]=1<>1]=h;h=c+d|0;d:{if(r[(e+f|0)+18|0]){d=c+d|0;i=d,j=Xa(a)+(1<>1]=j;g=Xa(a)-(p[d+356>>1]<<7>>r[c+259|0])|0;g=(g|0)>-256?g:-256;p[d+388>>1]=((g|0)<-1?g:-1)+128;i=d,j=Xa(a)+(1<>1]=j;d=Xa(a)-(p[d+420>>1]<<7>>r[c+259|0])|0;d=(d|0)>-256?d:-256;d=((d|0)<-1?d:-1)+128|0;break d}d=c+d|0;g=1<>1]=g;p[d+356>>1]=g;p[d+388>>1]=0;d=0}p[h+452>>1]=d;e=e+1|0;if((e|0)=1){e=0;while(1){i=c+e|0,j=Pa(a,1),o[i+484|0]=j;e=e+1|0;f=o[c+161|0];if((e|0)<(f|0)){continue}break}}f:{if(r[b+15|0]){e=0;if((f|0)<=0){break e}while(1){i=c+e|0,j=Pa(a,1),o[i+500|0]=j;e=e+1|0;b=o[c+161|0];if((e|0)<(b|0)){continue}break}if((b|0)>=1){break f}break e}if((f|0)<1){break e}Qa(c+500|0,0,f)}e=0;while(1){d=c+258|0;b=e<<1;f=d+b|0;g:{if(r[(c+e|0)+484|0]){i=(e<<1)+c|0,j=Xa(a)+(1<>1]=j;g=Xa(a);break g}p[((e<<1)+c|0)+516>>1]=1<>1]=g;f=b+c|0;h:{if(r[(e+d|0)+242|0]){b=b+c|0;d=b;i=d,j=Xa(a)+(1<>1]=j;d=Xa(a)-(p[d+580>>1]<<7>>r[c+259|0])|0;d=(d|0)>-256?d:-256;p[b+612>>1]=((d|0)<-1?d:-1)+128;i=b,j=Xa(a)+(1<>1]=j;b=Xa(a)-(p[b+644>>1]<<7>>r[c+259|0])|0;b=(b|0)>-256?b:-256;b=((b|0)<-1?b:-1)+128|0;break h}b=b+c|0;d=1<>1]=d;p[b+580>>1]=d;p[b+612>>1]=0;b=0}p[f+676>>1]=b;e=e+1|0;if((e|0)>1]>>g;b:{if(e>>>0>24){c=x(0);break b}c=x(0);h=(p[h+730>>1]>>j<<16)+65536|0;if(h>>>0>4128768){break b}f=u[(h>>>14|0)+96960>>2];c=x(u[(e<<2)+97216>>2]*f);f=x(f*u[(0-e<<2)+97312>>2])}e=(w(b,20)+a|0)+(d<<2)|0;u[e+2268>>2]=c;u[e+3548>>2]=f;b=b+1|0;if(b>>>0>1]>>g;c:{if(e>>>0<=24){h=p[h+730>>1];i=(h>>j<<16)+65536|0;c=x(0);if(i>>>0>4128768){break c}f=u[(i>>>14|0)+96960>>2];c=h&1?x(f*x(1.4142135381698608)):f;f=x(c*u[(0-e<<2)+97312>>2]);c=x(u[(e<<2)+97216>>2]*c);break c}c=x(0)}e=(w(b,20)+a|0)+(d<<2)|0;u[e+2268>>2]=c;u[e+3548>>2]=f;b=b+1|0;if(b>>>0>>0>1?e:1;k=0;while(1){d:{if(!e){break d}d=0;if(!r[a+53450|0]){while(1){c=x(0);b=((d<<3)+a|0)+(k<<2)|0;j=q[b+7388>>2];i=j>>>0>30;if(!i){c=u[(j<<2)+100560>>2]}u[b+8412>>2]=c;n=b+8924|0;g=q[b+7900>>2];m=g>>>0>30;if(m){c=x(0)}else{c=u[(g<<2)+100560>>2]}u[n>>2]=c;u[b+9436>>2]=i?x(0):u[(j<<2)+103920>>2];u[b+9948>>2]=m?x(0):u[(g<<2)+103920>>2];d=d+1|0;if((l|0)!=(d|0)){continue}break d}}while(1){b=((d<<3)+a|0)+(k<<2)|0;j=q[b+7388>>2];e:{if(j>>>0<=30){f=x(0);m=b+8412|0;g=b+7900|0;i=q[g>>2];if(i>>>0<=24){c=u[(w(j,52)+(i<<1&-4)|0)+97328>>2]}else{c=x(0)}u[m>>2]=c;m=b+8924|0;i=q[g>>2];if(i>>>0<=24){c=u[(w(j,52)+(i<<1&-4)|0)+98944>>2]}else{c=x(0)}u[m>>2]=c;m=b+9436|0;i=q[g>>2];if(i>>>0<=24){c=u[(w(j,52)+(i<<1&-4)|0)+100688>>2]}else{c=x(0)}u[m>>2]=c;g=q[g>>2];if(g>>>0>24){break e}f=u[(w(j,52)+(g<<1&-4)|0)+102304>>2];break e}q[b+8924>>2]=0;q[b+8412>>2]=0;q[b+9436>>2]=0;f=x(0)}u[b+9948>>2]=f;d=d+1|0;if((l|0)!=(d|0)){continue}break}}k=k+1|0;if(k>>>0>>0){continue}break}}}function $b(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;o[a+12420|0]=r[a+14|0];o[a+12423|0]=r[a+15|0];o[a+12422|0]=r[a+12421|0];e=a+b|0;f=r[e+610|0];o[e+612|0]=f;if(!f){return 19}d=f+ -1|0;o[e+646|0]=r[(d+(w(b,6)+a|0)|0)+634|0];g=(b<<7)+a|0;h=w(b,640)+a|0;i=(b<<8)+a|0;j=(b<<9)+a|0;k=r[e+614|0]+ -1<<2;while(1){p[((c<<1)+g|0)+2010>>1]=s[((w(c,10)+h|0)+(d<<1)|0)+730>>1];q[((c<<2)+i|0)+10460>>2]=q[(((c<<3)+j|0)+k|0)+7388>>2];c=c+1|0;if((c|0)!=49){continue}break}a=(b<<6)+a|0;o[a+12277|0]=r[a+12149|0];c=a+12150|0;d=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);b=a+12278|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[b|0]=c;o[b+1|0]=c>>>8;o[b+2|0]=c>>>16;o[b+3|0]=c>>>24;o[b+4|0]=d;o[b+5|0]=d>>>8;o[b+6|0]=d>>>16;o[b+7|0]=d>>>24;c=a+12158|0;d=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);b=a+12286|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[b|0]=c;o[b+1|0]=c>>>8;o[b+2|0]=c>>>16;o[b+3|0]=c>>>24;o[b+4|0]=d;o[b+5|0]=d>>>8;o[b+6|0]=d>>>16;o[b+7|0]=d>>>24;c=a+12166|0;d=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);b=a+12294|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[b|0]=c;o[b+1|0]=c>>>8;o[b+2|0]=c>>>16;o[b+3|0]=c>>>24;o[b+4|0]=d;o[b+5|0]=d>>>8;o[b+6|0]=d>>>16;o[b+7|0]=d>>>24;c=a+12174|0;d=r[c+4|0]|r[c+5|0]<<8|(r[c+6|0]<<16|r[c+7|0]<<24);b=a+12302|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[b|0]=c;o[b+1|0]=c>>>8;o[b+2|0]=c>>>16;o[b+3|0]=c>>>24;o[b+4|0]=d;o[b+5|0]=d>>>8;o[b+6|0]=d>>>16;o[b+7|0]=d>>>24;b=a+12310|0;c=a+12182|0;c=r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24);o[b|0]=c;o[b+1|0]=c>>>8;o[b+2|0]=c>>>16;o[b+3|0]=c>>>24;b=a+12314|0;c=a+12186|0;c=r[c|0]|r[c+1|0]<<8;o[b|0]=c;o[b+1|0]=c>>>8;o[a+12316|0]=r[a+12188|0];o[a+12317|0]=r[a+12189|0];o[a+12318|0]=r[a+12190|0];o[a+12319|0]=r[a+12191|0];b=a+12320|0;c=a+12192|0;c=r[c|0]|r[c+1|0]<<8;o[b|0]=c;o[b+1|0]=c>>>8;b=a+12322|0;a=a+12194|0;a=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);o[b|0]=a;o[b+1|0]=a>>>8;o[b+2|0]=a>>>16;o[b+3|0]=a>>>24;o[e+53445|0]=r[e+53443|0];o[e+12418|0]=o[e+10972|0]!=(f|0)?-1:0;return 0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=xa-80|0;xa=e;q[e+72>>2]=q[733];d=q[732];c=e- -64|0;q[c>>2]=q[731];q[c+4>>2]=d;c=q[730];q[e+56>>2]=q[729];q[e+60>>2]=c;c=q[728];q[e+48>>2]=q[727];q[e+52>>2]=c;q[e+40>>2]=8;q[e+44>>2]=0;c=gb(q[a+48>>2],e+48|0,e+40|0);q[a+1064>>2]=c;if(c){cb(2936,0)}q[a+1076>>2]=536;q[a+1080>>2]=8;q[a+1612>>2]=112;q[a+1084>>2]=q[a+1056>>2];d=a;c=q[b+4>>2];a:{if(o[c+11|0]<=-1){f=q[c>>2];break a}f=c}g=q[b+8>>2];q[d+32>>2]=r[(f+g|0)+22|0]&3;i=g+26|0;q[b+8>>2]=i;f=q[b+12>>2];q[b+12>>2]=f+ -26;if(o[c+11|0]<=-1){d=q[c>>2]}else{d=c}d=d+i|0;i=r[d|0];d=r[d+1|0];q[b+12>>2]=f+ -28;g=g+28|0;q[b+8>>2]=g;f=a+1092|0;if(o[c+11|0]<=-1){c=q[c>>2]}q[f>>2]=c+g;c=d|i<<8;q[a+1088>>2]=c;g=a+1076|0;i=a+1612|0;d=gb(q[a+48>>2],g,i);q[a+1064>>2]=d;if(d){q[e+32>>2]=q[a+1616>>2];cb(2986,e+32|0)}f=q[b+12>>2]-c|0;q[b+12>>2]=f+ -3;j=c+q[b+8>>2]|0;h=j+3|0;q[b+8>>2]=h;c=q[b+4>>2];b:{if(o[c+11|0]<=-1){d=q[c>>2];break b}d=c}d=d+h|0;h=r[d|0];k=r[d+1|0];q[b+12>>2]=f+ -5;f=j+5|0;q[b+8>>2]=f;d=a;if(o[c+11|0]<=-1){c=q[c>>2]}q[d+1092>>2]=c+f;c=k|h<<8;q[a+1088>>2]=c;d=gb(q[a+48>>2],g,i);q[a+1064>>2]=d;if(d){q[e+16>>2]=q[a+1616>>2];cb(3017,e+16|0)}f=q[b+12>>2]-c|0;q[b+12>>2]=f+ -3;j=c+q[b+8>>2]|0;h=j+3|0;q[b+8>>2]=h;c=q[b+4>>2];c:{if(o[c+11|0]<=-1){d=q[c>>2];break c}d=c}d=d+h|0;h=r[d|0];d=r[d+1|0];q[b+12>>2]=f+ -5;f=j+5|0;q[b+8>>2]=f;b=a;if(o[c+11|0]<=-1){c=q[c>>2]}q[b+1092>>2]=c+f;q[a+1088>>2]=d|h<<8;b=gb(q[a+48>>2],g,i);q[a+1064>>2]=b;if(b){q[e>>2]=q[a+1616>>2];cb(3048,e)}tf(a,q[a+1624>>2],q[a+1628>>2]);q[e+72>>2]=q[776];c=q[775];b=e- -64|0;q[b>>2]=q[774];q[b+4>>2]=c;b=q[773];q[e+56>>2]=q[772];q[e+60>>2]=b;b=q[771];q[e+48>>2]=q[770];q[e+52>>2]=b;q[e+40>>2]=8;q[e+44>>2]=0;b=gb(q[a+48>>2],e+48|0,e+40|0);q[a+1064>>2]=b;if(b){cb(3108,0)}q[a+1096>>2]=3;c=w(q[a+16>>2],q[a+12>>2]);q[a+1356>>2]=c;b=c>>>2|0;q[a+1364>>2]=b;q[a+1360>>2]=b;d=Ta(w(b,6));q[a+20>>2]=d;q[a+1100>>2]=d;c=c+d|0;q[a+1104>>2]=c;q[a+24>>2]=c;b=b+c|0;q[a+1108>>2]=b;q[a+28>>2]=b;xa=e+80|0}function jd(a){var b=0,c=0;id(a);q[a+100>>2]=0;q[a+52>>2]=1;q[a+11632>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+24>>2]=1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+364>>2]=0;q[a+120>>2]=1;q[a+124>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+11564>>2]=-1;q[a+11568>>2]=0;q[a+28>>2]=0;q[a+32>>2]=1;q[a+11572>>2]=-1;q[a+1448>>2]=-1;q[a+88>>2]=0;q[a+64>>2]=q[a+60>>2]==12?12:11;q[a+36>>2]=0;q[a+44>>2]=0;q[a+48>>2]=0;q[a+11604>>2]=0;q[a+45340>>2]=0;q[a+92>>2]=0;q[a+96>>2]=0;b=q[a+300>>2];c=q[a+296>>2];o[c+8972|0]=0;o[c+152588|0]=0;o[c+143612|0]=0;o[c+134636|0]=0;o[c+125660|0]=0;o[c+116684|0]=0;o[c+107708|0]=0;o[c+98732|0]=0;o[c+89756|0]=0;o[c+80780|0]=0;o[c+71804|0]=0;o[c+62828|0]=0;o[c+53852|0]=0;o[c+44876|0]=0;o[c+35900|0]=0;o[c+26924|0]=0;o[c+17948|0]=0;o[b+4419|0]=0;o[b+4351|0]=0;o[b+4283|0]=0;o[b+4215|0]=0;o[b+4147|0]=0;o[b+4079|0]=0;o[b+4011|0]=0;o[b+3943|0]=0;o[b+3875|0]=0;o[b+3807|0]=0;o[b+3739|0]=0;o[b+3671|0]=0;o[b+3603|0]=0;o[b+3535|0]=0;o[b+3467|0]=0;o[b+3399|0]=0;o[b+3331|0]=0;o[b+3263|0]=0;o[b+3195|0]=0;o[b+3127|0]=0;o[b+3059|0]=0;o[b+2991|0]=0;o[b+2923|0]=0;o[b+2855|0]=0;o[b+2787|0]=0;o[b+2719|0]=0;o[b+2651|0]=0;o[b+2583|0]=0;o[b+2515|0]=0;o[b+2447|0]=0;o[b+2379|0]=0;o[b+2311|0]=0;o[b+2243|0]=0;o[b+2175|0]=0;o[b+2107|0]=0;o[b+2039|0]=0;o[b+1971|0]=0;o[b+1903|0]=0;o[b+1835|0]=0;o[b+1767|0]=0;o[b+1699|0]=0;o[b+1631|0]=0;o[b+1563|0]=0;o[b+1495|0]=0;o[b+1427|0]=0;o[b+1359|0]=0;o[b+1291|0]=0;o[b+1223|0]=0;o[b+1155|0]=0;o[b+1087|0]=0;o[b+1019|0]=0;o[b+951|0]=0;o[b+883|0]=0;o[b+815|0]=0;o[b+747|0]=0;o[b+679|0]=0;o[b+611|0]=0;o[b+543|0]=0;o[b+475|0]=0;o[b+407|0]=0;o[b+339|0]=0;o[b+271|0]=0;o[b+203|0]=0;o[b+135|0]=0;o[b+67|0]=0;q[a+68>>2]=2147483647;q[a+72>>2]=0;q[a+104>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;nd(q[a+224>>2]);nd(q[a+244>>2]);b=q[a+252>>2];q[a+248>>2]=b;Qa(b,0,542464);$k(q[a+264>>2]);Qa(q[a+276>>2],0,517);q[a+11600>>2]=2147483647;q[a+12312>>2]=0;q[a+12308>>2]=513;ne(a);Je(a)}function Qi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;f=q[a+472>>2];i=q[a+320>>2];l=q[a+360>>2];g=o[l+4116|0];j=q[a+316>>2];e=q[a+416>>2];q[e+8>>2]=0;q[e>>2]=0;q[e+4>>2]=0;k=e;u=c-(i<>>2&15;x=u|v;m=1<>>2|0)+ -1&15;q[k+12>>2]=x|e<<8|e<<12|65536;i=a+376|0;j=a+660|0;a:{b:{c:{d:{if(!r[l+20|0]|f){break d}e=o[l+50|0];if((e|0)>(d|0)){break d}if((e+o[l+51|0]|0)>=(d|0)){break c}}q[a+448>>2]=0;break b}e=gd(j,i);q[a+448>>2]=e;if(!e){break b}if(r[a+380|0]&7){hd(i)}s=q[a+360>>2];e=q[a+404>>2];o[e|0]=257;o[e+1|0]=1;q[a+404>>2]=e+2;p[e+2>>1]=-65536;p[e+4>>1]=65535;k=1<<(d<<1);g=(k|0)>1?k:1;f=e+6|0;t=o[s+21|0];y=8-t|0;while(1){z=f,A=Pa(i,t)<=2){f=k>>1;k=(f|0)>1?f:1;s=o[s+22|0];t=8-s|0;h=0;f=e;while(1){z=f,A=Pa(i,s)<>2]=e;Ee(j,i);e=q[a+408>>2];d=q[e>>2]&-49152|((d<<8)+1536&1792|x)|47104;q[e>>2]=d;d=d&65535|q[a+436>>2]<<16;f=d|-8388608;q[e>>2]=f;if(q[a+456>>2]<<3!=v<<2|q[a+460>>2]<<3!=(u>>>2|0)){d=f&-16385}else{d=d|-8372224}q[e>>2]=d;d=q[a+624>>2];e=q[a+456>>2];f=(m|0)/4|0;g=a+12192|0;n[q[g>>2]](q[a+628>>2]+(q[a+460>>2]<<1)|0,1,f);n[q[g>>2]](d+(e<<1)|0,1,f);if(!(r[l+58|0]!=1|(m|0)<8)){d=(m|0)/8|0;e=-1>>>32-(m>>>3|0)<<((b|0)/8&7);f=(c|0)/8|0;c=(p[l>>1]+63|0)/64|0;f=(q[a+604>>2]+w(f,c)|0)+((b|0)/64|0)|0;h=0;while(1){o[f|0]=e|r[f|0];f=c+f|0;h=h+1|0;if((d|0)!=(h|0)){continue}break}}q[a+408>>2]=q[a+408>>2]+4;q[a+568>>2]=q[a+568>>2]+1;q[a+428>>2]=q[a+428>>2]+1;break a}e=(f|0)==3?4:1;f=0;while(1){z=(h<<2)+a|0,A=Wa(j,i,16),q[z+492>>2]=A;h=h+1|0;if((e|0)!=(h|0)){continue}break}while(1){g=(f<<2)+a|0;e:{if(q[g+492>>2]){z=g,A=fb(j,i,2),q[z+508>>2]=A;break e}z=g,A=ub(j,i,5),q[z+524>>2]=A}f=f+1|0;if((e|0)!=(f|0)){continue}break}e=Wa(j,i,17);q[a+540>>2]=4;if(e){z=a,A=ub(j,i,2),q[z+540>>2]=A}pj(a,d,b,c)}q[a+416>>2]=q[a+416>>2]+16;q[a+424>>2]=q[a+424>>2]+1}function Je(a){var b=0,c=0,d=0;q[a+11640>>2]=0;q[a+11684>>2]=0;q[a+11644>>2]=q[a+11984>>2];q[a+11648>>2]=q[a+11972>>2];q[a+11652>>2]=q[a+11968>>2];b=q[a+11992>>2];q[a+11656>>2]=b;q[a+11660>>2]=q[a+11988>>2];q[a+11672>>2]=b;q[a+11668>>2]=b;q[a+11664>>2]=q[a+11976>>2];q[a+11676>>2]=q[a+11980>>2];q[a+11680>>2]=q[a+11996>>2];q[a+11728>>2]=0;q[a+11688>>2]=q[a+11936>>2];q[a+11692>>2]=q[a+11952>>2];q[a+11696>>2]=q[a+11944>>2];b=q[a+11948>>2];q[a+11700>>2]=b;q[a+11704>>2]=q[a+11940>>2];q[a+11716>>2]=b;q[a+11712>>2]=b;q[a+11708>>2]=q[a+11964>>2];c=a+11956|0;d=q[c+4>>2];b=a+11720|0;q[b>>2]=q[c>>2];q[b+4>>2]=d;q[a+11732>>2]=q[a+12088>>2];q[a+11736>>2]=q[a+12064>>2];q[a+11740>>2]=q[a+12072>>2];q[a+11744>>2]=q[a+12084>>2];q[a+11748>>2]=q[a+12068>>2];q[a+11752>>2]=q[a+12056>>2];q[a+11756>>2]=q[a+12076>>2];q[a+11760>>2]=q[a+12060>>2];q[a+11764>>2]=q[a+12092>>2];b=q[a+12080>>2];q[a+11772>>2]=0;q[a+11768>>2]=b;q[a+11776>>2]=q[a+12040>>2];q[a+11780>>2]=q[a+12016>>2];q[a+11784>>2]=q[a+12024>>2];q[a+11788>>2]=q[a+12036>>2];q[a+11792>>2]=q[a+12020>>2];q[a+11796>>2]=q[a+12048>>2];q[a+11800>>2]=q[a+12028>>2];q[a+11804>>2]=q[a+12052>>2];q[a+11808>>2]=q[a+12044>>2];q[a+11812>>2]=q[a+12032>>2];q[a+11816>>2]=q[a+12116>>2];q[a+11820>>2]=q[a+12120>>2];q[a+11824>>2]=q[a+12124>>2];q[a+11828>>2]=q[a+12128>>2];q[a+11832>>2]=q[a+12132>>2];q[a+11836>>2]=q[a+12136>>2];q[a+11840>>2]=q[a+12140>>2];q[a+11844>>2]=q[a+12144>>2];q[a+11848>>2]=q[a+12148>>2];q[a+11852>>2]=q[a+12152>>2];q[a+11856>>2]=q[a+12156>>2];q[a+11860>>2]=q[a+12160>>2];q[a+11864>>2]=q[a+12164>>2];q[a+11868>>2]=q[a+12168>>2];q[a+11872>>2]=q[a+12172>>2];q[a+11876>>2]=q[a+12176>>2];q[a+11880>>2]=q[a+12300>>2];q[a+11884>>2]=q[a+12304>>2];q[a+11888>>2]=q[a+12252>>2];q[a+11892>>2]=q[a+12260>>2];q[a+11896>>2]=q[a+12268>>2];q[a+11900>>2]=q[a+12276>>2];q[a+11904>>2]=q[a+12256>>2];q[a+11908>>2]=q[a+12264>>2];q[a+11912>>2]=q[a+12272>>2];q[a+11916>>2]=q[a+12280>>2]}function De(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=c;d=q[a+144>>2];e=d+ -208|0;if(!(d+ -981>>>0>=2?!((e|0)!=1?e>>>0<=5:0):0)){d=d|16384}q[h+4>>2]=d;q[c+8>>2]=q[b+12>>2]-q[a+164>>2];h=c;f=q[a+112>>2];a:{if(!f){d=0;j=0;break a}d=q[a+8>>2];j=q[a+12>>2]}q[h+16>>2]=j;q[c+12>>2]=d;q[c+20>>2]=q[a+76>>2];e=q[a+84>>2];q[c+36>>2]=1;q[c+28>>2]=0;q[c+32>>2]=0;q[c+24>>2]=e;b:{if(!f){break b}e=q[a+636>>2]+w(q[a+11596>>2],8976)|0;if(r[e+4167|0]|r[e+4168|0]!=1){break b}q[c+36>>2]=0}f=q[a+60>>2];q[c+100>>2]=0;q[c+104>>2]=-1;q[c+40>>2]=1;q[c+44>>2]=f;q[c+108>>2]=q[a+268>>2];h=c;c:{d:{e:{f:{g:{e=q[a+100>>2];h:{if(!e){d=q[a+272>>2];if(d){break h}break c}q[c+40>>2]=0;q[c+8>>2]=0;q[c+20>>2]=2147483647;q[c+24>>2]=0;d=q[a+272>>2];if(!d){break g}}i:{if(!r[d+28|0]|!r[d+31|0]){break i}g=q[d+1112>>2]+ -1|0;if(g>>>0<=1){if(g-1){q[c+36>>2]=0;q[c+100>>2]=0;break i}q[c+36>>2]=0;q[c+100>>2]=1;break i}q[c+36>>2]=1;q[c+100>>2]=0}q[c+32>>2]=1;q[c+104>>2]=q[d+16>>2];if(!(q[a+980>>2]|e)){q[c+32>>2]=0}e=q[a+8>>2];q[c- -64>>2]=e;g=q[a+12>>2];q[c+68>>2]=g;if(q[a+56>>2]){b=q[d>>2];q[c+52>>2]=b;if((f|0)!=1){break f}j=c;i=q[a+45340>>2];j:{if((i|0)>=1){k=q[a+20>>2];l=w(k,80)+80|0;d=0;while(1){if((b-q[(w(d,516)+a|0)+12320>>2]|0)==(l|0)){i=w(k,20)+40|0;b=w(d,516)+a|0;d=i+q[b+12328>>2]|0;b=i+q[b+12324>>2]|0;break j}d=d+1|0;if((d|0)<(i|0)){continue}break}}d=0;b=0}q[j+56>>2]=b;break e}q[c+52>>2]=q[b+24>>2];q[c+56>>2]=q[b+28>>2];q[c+60>>2]=q[b+32>>2];a=a+16|0;break d}q[c+4>>2]=215;q[a+100>>2]=0;break c}q[c+56>>2]=q[d+4>>2];d=0}q[c+60>>2]=d;a=a+20|0}a=q[a>>2];q[h+72>>2]=a;b=f+ -1|0;if(b>>>0>11){break c}k:{switch(b-1|0){case 9:case 10:q[c+96>>2]=0;q[c+84>>2]=a;q[c+76>>2]=e;q[c+88>>2]=0;q[c+92>>2]=0;q[c+80>>2]=g>>>1;return;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break c;default:break k}}a=a>>>1|0;q[c+96>>2]=a;q[c+84>>2]=a;a=e>>>1|0;q[c+88>>2]=a;q[c+76>>2]=a;a=g>>>1|0;q[c+92>>2]=a;q[c+80>>2]=a}}function ic(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0,t=0,u=0,v=0,x=0;k=q[a+8>>2];h=r[k+76|0];u=(h|0)==1?k+876|0:k+1068|0;j=q[a+4>>2];i=o[j+4116|0];s=1<>2]>>>2&60;if(r[k+164|0]|h){h=(k+w(o[k+165|0],12)|0)+880|0}else{h=(w(o[k+165|0],12)+u|0)+4|0}n=(s|0)/4|0;a:{b:{if((l>>>i|0)!=g>>i){break b}m=q[a+12>>2];if(((m<=p[j>>1]){break b}t=q[a+16>>2];if(((t<=p[j+2>>1]){break b}l=q[h>>2];a=q[l+4>>2];f=f&-16;m=m+(f>>i)|0;g=g&-16;t=w(p[j+4118>>1],t+(g>>i)|0);h=m+t|0;f=q[q[l>>2]+(h<<2)>>2]+r[q[l+8>>2]+w(h,w(n,n))+(w(n,g>>2)+((f|0)==(s|0)?0:f>>2))|0]|0;g=a+(f<<4)|0;h=q[g+12>>2];if(h&65536){break b}if(r[k+158|0]){break a}}q[d>>2]=0;q[d+4>>2]=0;p[c>>1]=0;p[c+2>>1]=0;p[c+4>>1]=0;p[c+6>>1]=0;return}h=h>>>17&3;c:{d:{if(h>>>0<=1){if(!(h-1)){g=a+(f<<4)|0;a=g+9|0;f=1;i=q[g+4>>2];j=i;g=1;break d}a=(a+(f<<4)|0)+8|0;f=0;i=q[g>>2];j=i;g=0;break d}if(r[k+1261|0]==1){f=a+(f<<4)|0;a=f+9|0;h=f+8|0;i=q[f+4>>2];j=q[g>>2];g=0;f=1;break c}h=a+(f<<4)|0;f=o[k+164|0];a=f?h+9|0:h+8|0;i=q[(f?h+4|0:g)>>2];j=i;g=f}h=a}n=o[a|0];h=o[h|0];e:{if(!e){s=0;e=0;break e}s=o[b+9|0];e=o[b+8|0]}b=q[k+84>>2];a=q[l+16>>2];v=q[(k+w(e,12)|0)+876>>2];x=r[v+20|0]==1;e=r[(q[l+12>>2]+(m<<1)|0)+(t<<1)|0];m=h+(l+(e<<4)|0)|0;f:{if(!(x^r[(g?m+36884|0:m+16404|0)|0]==1)){h=(l+(e<<6)|0)+(h<<2)|0;g=q[(g?h+20500|0:h+20|0)>>2];h=q[v+8>>2];q[d>>2]=1;if(!((a-g|0)!=(b-h|0)?!x:0)){p[c>>1]=j;p[c+2>>1]=j>>>16;break f}p[c>>1]=j;p[c+2>>1]=j>>>16;if((a|0)==(g|0)){break f}Be(c,h,g,a,b);break f}q[d>>2]=0;p[c>>1]=0;p[c+2>>1]=0}g:{if(!r[k+76|0]){g=n+(l+(e<<4)|0)|0;j=r[(f?g+36884|0:g+16404|0)|0]==1;g=q[w(s,12)+u>>2];h=r[g+20|0]==1;if(!(j^h)){e=(l+(e<<6)|0)+(n<<2)|0;e=q[(f?e+20500|0:e+20|0)>>2];f=q[g+8>>2];q[d+4>>2]=1;if(!((a-e|0)!=(b-f|0)?!h:0)){p[c+4>>1]=i;p[c+6>>1]=i>>>16;return}p[c+4>>1]=i;p[c+6>>1]=i>>>16;if((a|0)==(e|0)){break g}Be(c+4|0,f,e,a,b);return}q[d+4>>2]=0;p[c+4>>1]=0;p[c+6>>1]=0;return}q[d+4>>2]=0}}function Kb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,s=0;h=b+c|0;m=h;d=r[h+610|0];a:{if(!(r[h+53451|0]|(d|0)!=1)){e=0;break a}e=r[b+53431|0]}o[h+11|0]=e;b:{if(!(!r[b+53450|0]|(c|0)!=1)){e=r[b+12|0];k=e?108592:108736;l=e?108544:108640;j=1;break b}e=e&255;k=e?108960:109328;l=e?108832:109088;j=0}if(d){n=w(c,9)+b|0;s=(c|0)!=1;while(1){c:{if(r[(g+n|0)+53517|0]){f=0;i=(w(c,6)+b|0)+g|0;if(!r[(r[i+634|0]+b|0)+24|0]){break c}while(1){e=0;while(1){d=q[a+8>>2];d:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break d}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break d}Oa(a,1)}e=o[((e<<1)+l|0)+d|0];if((e|0)>-1){continue}break}p[(((w(c,640)+b|0)+w(f,10)|0)+(g<<1)|0)+730>>1]=e- -64<>>0>2];if(r[b+12|0]){if(f>>>0>=5){e=q[a>>2]<<32-f>>>27|0}else{e=q[a>>2]<<5-f&31|q[a+4>>2]>>>f+27}d=1;if(r[a+20|0]){break e}if(f>>>0>=6){q[a+8>>2]=f+ -5;break e}Oa(a,5);break e}if(f>>>0>=6){e=q[a>>2]<<32-f>>>26|0}else{e=q[a>>2]<<6-f&63|q[a+4>>2]>>>f+26}d=1;if(r[a+20|0]){break e}if(f>>>0>=7){q[a+8>>2]=f+ -6;break e}Oa(a,6);break e}d=q[a+8>>2];f:{if(r[h+11|0]){if(d>>>0>=6){e=q[a>>2]<<32-d>>>26|0}else{e=q[a>>2]<<6-d&63|q[a+4>>2]>>>d+26}if(r[a+20|0]){break f}if(d>>>0>=7){q[a+8>>2]=d+ -6;break f}Oa(a,6);break f}if(d>>>0>=7){e=q[a>>2]<<32-d>>>25|0}else{e=q[a>>2]<<7-d&127|q[a+4>>2]>>>d+25}if(r[a+20|0]){break f}if(d>>>0>=8){q[a+8>>2]=d+ -7;break f}Oa(a,7)}d=c}f=1;p[((w(d,640)+b|0)+(g<<1)|0)+730>>1]=e<>2];g:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break g}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break g}Oa(a,1)}e=o[((e<<1)+k|0)+d|0];if((e|0)>-1){continue}break}p[(((w(c,640)+b|0)+w(f,10)|0)+(g<<1)|0)+730>>1]=e- -64<>>0>>0>1]=a;b=a<<3;C=h,D=Ta(b),q[C+32>>2]=D;i=Ta(b);q[h+36>>2]=i;r=h+2|0;b=0;d=a;a:while(1){c=b;n=n+1|0;e=n&65535;b:{if(e>>>0<=4){g=s[(e<<1)+43106>>1];break b}g=g+2|0}e=g&65535;c:{if((e|0)!=2){while(1){f=d&65535;c=(f>>>0)/(e>>>0)|0;if((w(c,g)&65535)!=(f|0)){continue a}b=b+1|0;p[(((b&65535)<<1)+r|0)+2>>1]=g;d=c;if((c|0)!=1){continue}break c}}while(1){b=d&65535;e=b>>>1|0;if((b|0)!=(d&65534)){b=c;continue a}b=c+1|0;f=b&65535;p[((f<<1)+r|0)+2>>1]=2;if(c&65535){if(f>>>0>=2){c=c+3|0;d=2;while(1){l=((c-d&65535)<<1)+r|0;p[l+2>>1]=s[l>>1];d=d+1|0;if(f>>>0>=(d&65535)>>>0){continue}break}}p[h+6>>1]=2}c=b;d=e;if((d|0)!=1){continue}break}}break}p[h+4>>1]=b;p[h+2>>1]=a;v=b&65535;if(v){y=x(x(6.2831854820251465)/x(a>>>0));d=0;e=1;g=1;while(1){f=g&65535;c=s[(((e&65535)<<1)+r|0)+2>>1];g=w(f,c);b=g&65535;n=(a>>>0)/(b>>>0)|0;l=c+ -1&65535;d:{if(!l){break d}if(b>>>0<=a>>>0){b=0;m=0;j=0;if(c>>>0>=6){while(1){j=((d&65535)<<3)+i|0;c=j;q[c>>2]=1065353216;q[c+4>>2]=0;m=f+(m&65535)|0;t=x(y*x(m&65535));k=x(0);c=0;while(1){d=d+1|0;z=((d&65535)<<3)+i|0;k=x(k+x(1));o=+x(t*k);A=x(Hd(o));u[z+4>>2]=A;B=x(Id(o));u[z>>2]=B;c=c+1|0;if(n>>>0>(c&65535)>>>0){continue}break}u[j>>2]=B;u[j+4>>2]=A;b=b+1|0;if((b&65535)>>>0>>0){continue}break d}}while(1){c=((d&65535)<<3)+i|0;q[c>>2]=1065353216;q[c+4>>2]=0;j=f+(j&65535)|0;t=x(y*x(j&65535));k=x(0);c=0;while(1){d=d+1|0;m=((d&65535)<<3)+i|0;k=x(k+x(1));o=+x(t*k);C=m,E=x(Hd(o)),u[C+4>>2]=E;C=m,E=x(Id(o)),u[C>>2]=E;c=c+1|0;if(n>>>0>(c&65535)>>>0){continue}break}b=b+1|0;if((b&65535)>>>0>>0){continue}break}break d}b=d&65535;if(c>>>0<=5){b=(b<<3)+i|0;q[b>>2]=1065353216;q[b+4>>2]=0;break d}b=(b<<3)+i|0;q[b>>2]=1065353216;q[b+4>>2]=0}e=e+1|0;if((e&65535)>>>0<=v>>>0){continue}break}}return h}function cd(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=0,o=0,t=0,u=0,v=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;y=r[c|0];u=r[c+1|0];q[i>>2]=-1;q[j>>2]=-1;o=1<>1]|s[c+4>>1]!=1))){q[k>>2]=1;a:{if(h){if((b|0)!=31){d=(o|0)>1?o:1;e=0;while(1){p[(e<>1]=0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=s[c+6>>1];break a}g=m-f|0;h=(g|0)<1?1>>>1-g|0:1<>2],p[d>>1]);b=(m|0)<(f|0)?512:32768;e=0-b|0;d=p[c+6>>1];b=w(k,(b|0)>(d|0)?(d|0)<(e|0)?e:d:b+ -1|0);break b}b=w(q[(e<<2)+38400>>2],w(p[d>>1],p[c+6>>1]))}b=b+h|0;b=(g|0)>0?b>>g:b<<0-g;b=(b|0)>-32768?b:-32768;d=(b|0)<32767?b:32767;b=d;if(!x){break a}b=d+16>>5}p[l>>1]=b;p[a>>1]=b;q[i>>2]=q[i>>2]&-2;q[j>>2]=q[j>>2]&-2;return c+8|0}q[k>>2]=0;if(!x){Qa(a,0,o<>>1|0;g=m-f|0;F=(g|0)<1?1>>>1-g|0:1<>1];l=c>>>6&1020;o=c<<2&1020;D=((l<>1];f=31;c=0;c:{if(!h){while(1){k=z(e);v=f-k|0;m=r[(v+(u<<4)|0)+29472|0];f=m>>>2|0;m=m&3;I=e<>1];d:{if((b|0)!=2){n=m|o;k=f+l|0;e=w(q[B>>2],w(e,p[(n+(k<>1]));break d}n=m|o;k=f+l|0;e=w(w(q[B>>2],p[(n+(k<<2)<<1)+d>>1]),(A|0)>(e|0)?(e|0)<(C|0)?C:e:H)}J=i,K=q[i>>2]&kl(-2,n),q[J>>2]=K;J=j,K=q[j>>2]&kl(-2,k),q[J>>2]=K;e=e+F|0;e=(g|0)>0?e>>g:e<-32768?e:-32768;e=(e|0)<32767?e:32767;p[((m<<1)+D|0)+(f<>1]=x?e+16>>>5|0:e;f=v+ -1|0;c=c+1|0;e=I<<1;if(e){continue}break c}}while(1){k=s[((c<<1)+t|0)+4>>1];m=z(e);f=f-m|0;n=r[(f+(u<<4)|0)+29472|0];v=n&3;J=i,K=q[i>>2]&kl(-2,v|o),q[J>>2]=K;n=n>>>2|0;J=j,K=q[j>>2]&kl(-2,n+l|0),q[J>>2]=K;p[((v<<1)+D|0)+(n<>1]=k;c=c+1|0;f=f+ -1|0;e=e<>2];j=q[a+316>>2];m=q[a+320>>2];h=q[a+360>>2];d=(q[a+1444>>2]+w(j,12)|0)+w(w(m,p[h+4118>>1]),12)|0;q[d>>2]=q[d>>2]&-8;q[d+4>>2]=q[d+4>>2]&-8;q[d+8>>2]=q[d+8>>2]&-8;e=a+660|0;f=a+376|0;b=0;a:{if((j|0)<1){break a}if(!q[a+332>>2]){b=0;if(!q[a+336>>2]){break a}}b=0;if(!q[a+324>>2]){break a}b=(Wa(e,f,0)|0)!=0}if(!(b|(m|0)<1|(q[a+336>>2]<1|q[a+328>>2]<1))){g=Wa(e,f,0)}a=d;j=a;b:{if(b){b=-1}else{if(!g){m=d+8|0;n=c+w(i,1272)|0;o=n;a=0;while(1){b=d;c:{d:{e:{f:{g:{if(!(r[n+156|0]?!a:0)){if(!a|!r[o+157|0]){break c}k=0;if((a|0)!=1){break d}g=Wa(e,f,1);if(g){break g}l=0;break f}k=0;l=0;b=Wa(e,f,1);if(b){l=lb(e,f)+b|0}g=l&7;b=d;break e}l=lb(e,f)+g|0}g=l&7;q[b+4>>2]=g|q[d+4>>2]&-8;k=1;b=m}q[b>>2]=q[b>>2]&-8|g}h:{i:{j:{k:{l:{m:{if(l>>>0>2){break m}switch(l-1|0){case 1:break l;case 0:break m;default:break c}}b=fb(e,f,7);i=fb(e,f,7);c=fb(e,f,7);h=fb(e,f,7);if((l|0)!=1){g=b;j=i;i=c;b=h;break k}j=0;g=0;if(b){g=lb(e,f)?0-b|0:b}if(i){j=lb(e,f)?0-i|0:i}b=0;i=0;if(c){i=lb(e,f)?0-c|0:c}if(h){b=lb(e,f)?0-h|0:h}c=ub(e,f,5);if(!a){break j}if(!k){break i}k=q[d+4>>2];break h}g=fb(e,f,7);j=fb(e,f,7);i=0-fb(e,f,7)|0;b=0-fb(e,f,7)|0}n:{if(!a){h=ub(e,f,2);c=q[d>>2];q[d>>2]=h+c&7|c&-8;c=0;if(k){break n}break j}c=0;if(!k){break i}}c=ub(e,f,2);h=q[d+4>>2];k=c+h&7|h&-8;q[d+4>>2]=k;h=c;c=q[d+8>>2];q[d+8>>2]=h+c&7|c&-8;c=0;if(a){break h}}q[d>>2]=b<<15&491520|c<<19&16252928|(i<<11&30720|(j<<7&1920|(q[d>>2]&-16777209|g<<3&120)));break c}q[m>>2]=b<<15&491520|c<<19&16252928|(i<<11&30720|(j<<7&1920|(q[m>>2]&-16777209|g<<3&120)));break c}q[d+4>>2]=b<<15&491520|c<<19&16252928|(i<<11&30720|(j<<7&1920|(k&-16777209|g<<3&120)))}a=a+1|0;if((a|0)!=3){continue}break}break b}b=0-p[h+4118>>1]|0}b=w(b,12)+j|0;g=q[b+4>>2];q[a>>2]=q[b>>2];q[a+4>>2]=g;q[d+8>>2]=q[b+8>>2]}}function Kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=q[a+8>>2];a:{b:{if(g){e=a+20|0;c=q[a>>2]<<32-g>>>31|0;if(r[a+20|0]){break a}if(g>>>0<2){break b}q[a+8>>2]=g+ -1;break a}e=a+20|0;c=q[a+4>>2]>>>31|0;if(r[a+20|0]){break a}}Oa(a,1)}c:{if(!c){f=95392;break c}g=95392;i=1;c=1;d=1;while(1){h=r[g+9|0]-c&255;d:{if(!h){c=0;break d}f=q[a+8>>2];e:{if(f>>>0>=h>>>0){c=q[a>>2]<<32-f>>>32-h|0;break e}c=h-f|0;c=(q[a>>2]&(-1<>2]>>>32-c}if(r[e|0]){break d}if(f>>>0>h>>>0){q[a+8>>2]=f-h;break d}Oa(a,h)}f=g+8|0;d=d<>2]){break c}g=f;c=h+i|0;i=c&255;if(i>>>0<10){continue}break}}c=r[f|0];f:{if((c|0)==7){a=q[b+8>>2];g:{if(a>>>0>=2){f=q[b>>2]<<32-a>>>30|0;break g}f=q[b>>2]<<2-a&3|q[b+4>>2]>>>a+30}h:{if(r[b+20|0]){break h}if(a>>>0>=3){q[b+8>>2]=a+ -2;break h}Oa(b,2)}i:{if(!f){d=95584;break i}g=95584;i=2;a=2;while(1){e=r[g+9|0]-a&255;a=e+i|0;j:{if(!e){c=0;break j}d=q[b+8>>2];k:{if(d>>>0>=e>>>0){c=q[b>>2]<<32-d>>>32-e|0;break k}c=e-d|0;c=(q[b>>2]&(-1<>2]>>>32-c}if(r[b+20|0]){break j}if(d>>>0>e>>>0){q[b+8>>2]=d-e;break j}Oa(b,e)}d=g+8|0;i=a&255;if(i>>>0>20){break i}h=g;g=d;f=f<>2]){continue}break}}c=99;a=r[d|0];if((a|0)==99){break f}c=a+7|0}if((c&255)!=249){break f}a=q[b+8>>2];l:{if(a>>>0>=2){f=q[b>>2]<<32-a>>>30|0;break l}f=q[b>>2]<<2-a&3|q[b+4>>2]>>>a+30}m:{if(r[b+20|0]){break m}if(a>>>0>=3){q[b+8>>2]=a+ -2;break m}Oa(b,2)}n:{if(!f){d=95584;break n}g=95584;i=2;a=2;while(1){e=r[g+9|0]-a&255;a=e+i|0;o:{if(!e){c=0;break o}d=q[b+8>>2];p:{if(d>>>0>=e>>>0){c=q[b>>2]<<32-d>>>32-e|0;break p}c=e-d|0;c=(q[b>>2]&(-1<>2]>>>32-c}if(r[b+20|0]){break o}if(d>>>0>e>>>0){q[b+8>>2]=d-e;break o}Oa(b,e)}d=g+8|0;i=a&255;if(i>>>0>20){break n}h=g;g=d;f=f<>2]){continue}break}}c=99;a=r[d|0];if((a|0)==99){break f}c=-7-a|0}return c<<24>>24}function Ih(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=x(0),k=0,l=0,m=x(0);c=xa-464|0;xa=c;b=r[a+14|0];o[a+282|0]=r[a+90|0]-b;d=r[r[a+18|0]+(a+90|0)|0];o[a+20|0]=1;o[a+283|0]=d-b;h=1;while(1){Qa(c- -64|0,0,400);q[c+56>>2]=0;q[c+60>>2]=0;q[c+48>>2]=0;q[c+52>>2]=0;q[c+40>>2]=0;q[c+44>>2]=0;q[c+32>>2]=0;q[c+36>>2]=0;q[c+24>>2]=0;q[c+28>>2]=0;q[c+16>>2]=0;q[c+20>>2]=0;q[c>>2]=0;q[c+4>>2]=0;q[c+8>>2]=0;q[c+12>>2]=0;o[c|0]=b;b=1;d=1;e=r[a+12020|0];if(e){while(1){f=b+c|0;b=b+ -1|0;o[f|0]=r[(b+a|0)+12021|0]+r[b+c|0];d=d+1|0;b=d&255;if(b>>>0<=e>>>0){continue}break}}f=r[a+18|0];b=0;d=0;while(1){q[(c- -64|0)+(b<<2)>>2]=r[(a+b|0)+90|0];d=d+1|0;b=d&255;if(b>>>0<=f>>>0){continue}break}if(e>>>0>1){b=1;while(1){q[(c- -64|0)+(b+f<<2)>>2]=r[b+c|0];b=b+1|0;if((e|0)!=(b|0)){continue}break}}yb(c- -64|0,e+f|0);a:{e=(r[a+12020|0]+r[a+18|0]<<24)+ -16777216>>24;if((e|0)<0){break a}b:{c:{if(!e){g=0;o[(a+h|0)+20|0]=0;break c}m=u[(h<<2)+104376>>2];b=1;f=1;while(1){d:{e:{b=b<<2;l=b+c|0;g=q[l+60>>2];j=x(0);f:{if(!g){break f}j=x(x(q[b+(c- -64|0)>>2])/x(g|0))}if(!(j>2];if((i|0)==(g|0)){break g}k=r[a+12020|0];d=0;b=0;while(1){d=(i|0)==r[(b&255)+c|0]?1:d;b=b+1|0;if((b&255)>>>0<=k>>>0){continue}break}i=0;b=0;if(!(d&255)){break g}while(1){i=(g|0)==r[(b&255)+c|0]?1:i;b=b+1|0;if((b&255)>>>0<=k>>>0){continue}break}if(i&255){break e}b=r[a+18|0];q[l+60>>2]=r[(b+a|0)+90|0];yb(c- -64|0,b+k|0);e=e+ -1|0;break d}q[(c- -64|0)+((f&255)<<2)>>2]=r[(r[a+18|0]+a|0)+90|0];yb(c- -64|0,e<<24>>24);e=e+ -1|0;break d}f=f+1|0}b=f&255;d=e<<24;g=d>>24;if((b|0)<=(g|0)){continue}break}o[(a+h|0)+20|0]=e;if(d>>24<0){break b}}e=r[a+14|0];b=0;d=0;while(1){o[(((h<<6)+a|0)+b|0)+282|0]=r[(c- -64|0)+(b<<2)|0]-e;d=d+1|0;b=d&255;if((g|0)>=(b|0)){continue}break}}h=h+1|0;if((h|0)==4){break a}b=r[a+14|0];continue}break}xa=c+464|0}function pf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(f){t=e<<2;u=w(t,f)+d|0;A=(e+ -1>>>1|0)+1|0;while(1){if(e){D=v+A|0;x=0;y=B;while(1){j=r[(e+p|0)+a|0];n=r[c+y|0];m=r[b+v|0];k=n|m<<8;h=r[a+p|0];i=(k|h<<16)+u|0;g=q[i>>2];if(!g){o=i;h=w(h,1192)+ -19072|0;i=m+ -128|0;g=h+w(i,2066)>>10;l=(g|0)>0?g:0;z=(g>>>0>255?(l|0)<255?l:255:g)<<8;g=h+w(i,-400)|0;i=n+ -128|0;g=g+w(i,-832)>>10;l=(g|0)>0?g:0;l=z+(g>>>0>255?(l|0)<255?l:255:g)<<8;g=h+w(i,1634)>>10;h=(g|0)>0?g:0;g=(l+(g>>>0>255?(h|0)<255?h:255:g)|0)+ -16777216|0;q[o>>2]=g}q[d+s>>2]=g;h=(k|j<<16)+u|0;g=q[h>>2];if(!g){o=h;j=w(j,1192)+ -19072|0;h=m+ -128|0;g=j+w(h,2066)>>10;i=(g|0)>0?g:0;l=(g>>>0>255?(i|0)<255?i:255:g)<<8;i=j+w(h,-400)|0;h=n+ -128|0;g=i+w(h,-832)>>10;i=(g|0)>0?g:0;i=l+(g>>>0>255?(i|0)<255?i:255:g)<<8;g=j+w(h,1634)>>10;j=(g|0)>0?g:0;g=(i+(g>>>0>255?(j|0)<255?j:255:g)|0)+ -16777216|0;q[o>>2]=g}q[(s+t|0)+d>>2]=g;g=p+1|0;j=r[(g+e|0)+a|0];h=r[a+g|0];i=(k|h<<16)+u|0;g=q[i>>2];if(!g){o=i;h=w(h,1192)+ -19072|0;i=m+ -128|0;g=h+w(i,2066)>>10;l=(g|0)>0?g:0;z=(g>>>0>255?(l|0)<255?l:255:g)<<8;l=n+ -128|0;g=h+(w(l,-832)+w(i,-400)|0)>>10;i=(g|0)>0?g:0;i=z+(g>>>0>255?(i|0)<255?i:255:g)<<8;g=h+w(l,1634)>>10;h=(g|0)>0?g:0;g=(i+(g>>>0>255?(h|0)<255?h:255:g)|0)+ -16777216|0;q[o>>2]=g}h=s+4|0;q[h+d>>2]=g;k=(k|j<<16)+u|0;g=q[k>>2];if(!g){i=k;k=m+ -128|0;m=w(j,1192)+ -19072|0;g=w(k,2066)+m>>10;j=(g|0)>0?g:0;o=(g>>>0>255?(j|0)<255?j:255:g)<<8;n=n+ -128|0;g=m+(w(n,-832)+w(k,-400)|0)>>10;k=(g|0)>0?g:0;k=o+(g>>>0>255?(k|0)<255?k:255:g)<<8;g=m+w(n,1634)>>10;m=(g|0)>0?g:0;g=(k+(g>>>0>255?(m|0)<255?m:255:g)|0)+ -16777216|0;q[i>>2]=g}q[(h+t|0)+d>>2]=g;y=y+1|0;v=v+1|0;p=p+2|0;s=s+8|0;x=x+2|0;if(x>>>0>>0){continue}break}B=A+B|0;v=D}p=e+p|0;s=s+t|0;C=C+2|0;if(C>>>0>>0){continue}break}}}function Dj(a,b,c){var d=0,e=0,f=0;d=q[a+8>>2];if(q[d+120>>2]!=1){q[c+4>>2]=q[c+4>>2]|16592;return 1}a:{e=q[b+8>>2];if(e>>>0>8){f=e+ -263|0;if(f>>>0>2){if((e|0)!=775){break a}q[d+44>>2]=q[b+20>>2];q[d+40>>2]=q[b+16>>2];q[d+36>>2]=q[b+12>>2];q[c+4>>2]=0;q[d+48>>2]=0;break a}b:{switch(f-1|0){default:Fj(a,c);break a;case 0:return Ej(a,c);case 1:break b}}a=q[d+272>>2];if(!a){q[c+4>>2]=992;return 1}if(!(!r[a+34|0]|!r[a+28|0])){p[c+8>>1]=s[a+3640>>1];p[c+14>>1]=s[a+3646>>1];p[c+10>>1]=s[a+3642>>1];p[c+16>>1]=s[a+3648>>1];p[c+12>>1]=s[a+3644>>1];p[c+18>>1]=s[a+3650>>1];p[c+20>>1]=s[a+3652>>1];p[c+22>>1]=s[a+3654>>1];q[c+24>>2]=q[a+3656>>2];q[c+28>>2]=q[a+3660>>2];break a}q[c+4>>2]=992;return 1}c:{d:{e:{f:{g:{switch(e-1|0){case 7:q[d+12308>>2]=q[b+12>>2];q[d+12312>>2]=q[b+16>>2];ne(d);Je(d);a=q[d+12312>>2];if(a+ -1>>>0>255){break f}if(a&128){q[d+11604>>2]=1}a=a&127;q[d+12312>>2]=a;if(!a){break f}q[d+11600>>2]=a;break f;case 6:q[d+24>>2]=1;break f;case 5:q[c+4>>2]=0;a=q[b+16>>2];if((a|0)<=0){q[c+4>>2]=217;break a}if(!Bi(q[b+12>>2],a)){break a}q[c+4>>2]=217;break a;case 4:Gj(a,c);break a;case 3:q[d+100>>2]=1;q[c+4>>2]=0;q[d+136>>2]=0;q[d+140>>2]=0;break a;case 0:break d;case 1:break e;case 2:break g;default:break c}}q[d+68>>2]=2147483647;q[d+72>>2]=0;q[d+104>>2]=0;q[d+16>>2]=0;q[d+20>>2]=0}q[c+4>>2]=0;break a}if(d){jd(d);break a}q[c+4>>2]=208;break a}a=0;q[c+4>>2]=0;e=q[b+20>>2];q[d+68>>2]=e;if(!((e|0)==2147483647|(1<>>0<=6:0))){q[c+4>>2]=8192;a=1}f=q[d+56>>2];e=q[b+16>>2];h:{if(!q[d+112>>2]|(e|0)>=q[d+8>>2]){break h}if(!e){e=q[d+16>>2];break h}q[c+4>>2]=8406;a=1;e=0}q[d+16>>2]=e;if((f|0)==1){q[d+20>>2]=e}e=q[b+12>>2];if(e>>>0>=2){q[c+4>>2]=8192;e=1;a=1}q[d+11636>>2]=0;q[d+104>>2]=e;b=q[b+24>>2];if(b>>>0>=2){q[c+4>>2]=8192;a=1}q[d+11636>>2]=b;return a}Hj(a,c);return 0}return 0}function kc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,o=0,s=0,t=0,u=0,v=0,x=0;a:{b:{if(!g){break b}k=q[a+20>>2];j=q[b+44>>2];o=p[j+8>>1];i=r[j+15|0]==1;s=q[a+272>>2];t=q[s>>2];u=q[a+56>>2];c:{if((u|0)!=1|q[a+60>>2]!=1){break c}l=q[a+45340>>2];if((l|0)<1){break c}m=w(k,80)+80|0;while(1){if((m|0)==(t-q[(w(h,516)+a|0)+12320>>2]|0)){d=w(h,516)+a|0;h=w(k,20)+40|0;e=q[d+12328>>2]+h|0;d=h+q[d+12324>>2]|0;break c}h=h+1|0;if((h|0)<(l|0)){continue}break}}l=i?2:1;d:{if(q[a+100>>2]|q[a+268>>2]!=q[b+228>>2]|q[a+24>>2]<2){break d}h=p[j+4118>>1];if((h|0)<1){break d}b=r[j+4116|0];i=1<>b;while(1){b=1;m=h<<16>>16;h=i+1|0;i=p[j+4120>>1]+ -1|0;i=q[a+208>>2]+w(m,(h|0)<(i|0)?h:i)|0;h=0;while(1){b=r[h+i|0]&b;h=h+1|0;if((m|0)!=(h|0)){continue}break}if(b){break d}b=r[j+4116|0];h=1<>1])+f|0)+((h|0)<(g|0)?g:h)>>b;h=p[j+4118>>1];if((h|0)>0){continue}break}}m=q[a+60>>2]+ -1|0;if(m>>>0>12){break b}b=(f|0)/2|0;v=q[a+16>>2];x=w(b,v);i=(x|0)/2|0;o=w(k,o);h=p[j+4>>1];j=(q[s+4>>2]+(o+(h<<1)|0)|0)+w(b,k)|0;h=(w(l,h+o|0)+t|0)+w(f,k)|0;l=q[a+64>>2];k=(l|0)==11;f=w(f,v);b=f+c|0;e:{switch(m-1|0){case 9:case 10:c=b;b=q[a+20>>2];e=b;b=q[a+16>>2];n[q[a+12292>>2]](h,j,c,d+x|0,q[a+8>>2],g,e,e,b,b);return 0;default:c=e+i|0;d=d+i|0;if(!((u|0)==1|(g|0)<1)){e=q[a+8>>2];i=0;while(1){b=Sa(b,h,e);h=q[a+20>>2]+h|0;b=b+q[a+16>>2]|0;i=i+1|0;if((i|0)!=(g|0)){continue}break}}e=b;b=q[a+20>>2];f=b;b=q[a+16>>2];n[q[a+12296>>2]](h,j,e,d,c,q[a+8>>2],g,f,f,b,(b|0)/2|0,k,1);return 0;case 7:b=q[a+20>>2];n[q[a+12288>>2]](h,j,(f<<1)+c|0,q[a+8>>2],g,b,b,q[a+16>>2],k);return 0;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 8:break b;case 11:break e}}if((l|0)!=11){break a}b=q[a+20>>2];n[q[a+12284>>2]](h,j,(f<<2)+c|0,q[a+8>>2],g,b,b,q[a+16>>2],k)}return 0}I(3520,3949,889,42151);F()}function Rh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0;c=a+b|0;m=r[c+610|0];if(m){o=c+646|0;q=w(b,9)+a|0;n=w(b,6)+a|0;g=w(b,640)+a|0;l=(b<<7)+a|0;while(1){a:{if(!r[(e+q|0)+53517|0]){d=r[(e+n|0)+634|0]+a|0;if(r[d+24|0]<2){break a}b=1;c=s[((e<<1)+g|0)+730>>1];while(1){f=(w(b,10)+g|0)+(e<<1)|0;c=s[f+730>>1]+c|0;c=c<<16>>16>0?c:0;p[f+730>>1]=c;b=b+1|0;if(b>>>0>1]=s[d+730>>1]+s[((b<<1)+l|0)+2010>>1];b=b+1|0;if(b>>>0>1]=s[f+730>>1]+s[((w(b,10)+g|0)+(k<<1)|0)+730>>1]}b=b+1|0;if((h|0)!=(b|0)){continue}break d}}while(1){if((i|0)==r[(a+c|0)+154|0]){p[f+730>>1]=s[f+730>>1]+s[((c<<1)+l|0)+2010>>1]}c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=d+1|0;if(d>>>0>>0){continue}break}break a}while(1){d=(w(b,10)+g|0)+730|0;f=d+(e<<1)|0;p[f>>1]=s[f>>1]+s[d+(k<<1)>>1];b=b+1|0;if(b>>>0h>>>0|h>>>0>=r[(b+a|0)+90|0])){p[f+730>>1]=s[f+730>>1]+s[((w(c,10)+g|0)+(k<<1)|0)+730>>1]}if((b|0)!=(i|0)){continue}break e}}while(1){b=c;c=b+1|0;if(!(r[(a+b|0)+90|0]>h>>>0|h>>>0>=r[(a+c|0)+90|0])){p[f+730>>1]=s[f+730>>1]+s[((b<<1)+l|0)+2010>>1]}if((c|0)!=(i|0)){continue}break}}d=d+1|0;if(d>>>0>>0){continue}break}}e=e+1|0;if((m|0)!=(e|0)){continue}break}}}function Sd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0,t=0,u=0,v=0;if(r[a+3|0]){d=r[a+4|0]==2;f=d?3:5;p=32-f|0;g=d?4:6;s=32-g|0;h=d?1:2;t=32-h|0;while(1){e=q[c+8>>2];a:{if(e>>>0>=h>>>0){d=q[c>>2]<<32-e>>>t|0;break a}d=h-e|0;d=(q[c>>2]&(-1<>2]>>>32-d}b:{if(r[c+20|0]){break b}if(e>>>0>h>>>0){q[c+8>>2]=e-h;break b}Oa(c,h)}n=b+i|0;o[n|0]=d;c:{if(!(d&255)){break c}d=q[c+8>>2];d:{if(d){d=d+ -1|0;q[c+8>>2]=d;e=q[c>>2]>>>d&1;break d}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break d}Oa(c,1)}o[n+8|0]=e;if(!r[n|0]){break c}u=e?4:3;j=0;while(1){e=q[c+8>>2];e:{if(e>>>0>=g>>>0){d=q[c>>2]<<32-e>>>s|0;break e}d=g-e|0;d=(q[c>>2]&(-1<>2]>>>32-d}f:{if(r[c+20|0]){break f}if(e>>>0>g>>>0){q[c+8>>2]=e-g;break f}Oa(c,g)}k=((i<<2)+b|0)+j|0;o[k+16|0]=d;e=q[c+8>>2];g:{if(e>>>0>=f>>>0){d=q[c>>2]<<32-e>>>p|0;break g}d=f-e|0;d=(q[c>>2]&(-1<>2]>>>32-d}h:{if(r[c+20|0]){break h}if(e>>>0>f>>>0){q[c+8>>2]=e-f;break h}Oa(c,f)}o[k+48|0]=d;i:{if(!(d&255)){break i}d=q[c+8>>2];j:{if(d){d=d+ -1|0;q[c+8>>2]=d;e=q[c>>2]>>>d&1;break j}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break j}Oa(c,1)}o[k+80|0]=e;d=q[c+8>>2];k:{if(d){d=d+ -1|0;q[c+8>>2]=d;e=q[c>>2]>>>d&1;break k}e=q[c+4>>2]>>>31|0;if(r[c+20|0]){break k}Oa(c,1)}o[k+112|0]=e;d=r[k+48|0];if(!d){break i}e=u-e|0;if(e){l=e&255;v=32-l|0;e=0;while(1){m=q[c+8>>2];l:{if(m>>>0>=l>>>0){d=q[c>>2]<<32-m>>>v|0;break l}d=l-m|0;d=(q[c>>2]&(-1<>2]>>>32-d}m:{if(r[c+20|0]){break m}if(m>>>0>l>>>0){q[c+8>>2]=m-l;break m}Oa(c,l)}o[((((i<<7)+b|0)+(j<<5)|0)+e|0)+144|0]=d;e=e+1|0;if(e>>>0>>0>>0){continue}break}}j=j+1|0;if(j>>>0>>0>2];v=q[l+304>>2];x=r[a+32|0];e=v+w(x,1272)|0;q[a+48>>2]=e;g=q[l+300>>2]+w(o[e+73|0],68)|0;q[a+40>>2]=g;c=o[g+9|0];d=q[l+296>>2];f=1;q[a+276>>2]=1;c=d+w(c,8976)|0;q[a+44>>2]=c;y=p[c+4118>>1];h=r[c+4116|0];q[a+660>>2]=q[a+672>>2];_c(g,c,q[a+4>>2],q[a+8>>2],a+12|0,a+16|0,m+12|0);n=q[g+4>>2];j=q[m+12>>2];q[a+36>>2]=j;d=w(j,6)+n|0;q[a+28>>2]=d;i=c+4118|0;z=c+4116|0;c=(1<>1];k=p[e+874>>1];t=w(c,k);i=r[d+1|0];u=w(i,c);h=p[e+872>>1];g=r[d|0];e=(h|0)!=(g|0);b:{if((i|0)!=(k|0)?!e:0){break b}d=h+s[(j?d+ -6|0:d)+2>>1]|0;if((d|0)>=(c|0)){f=0;if((g|0)==((d|0)%(c|0)|0)){break b}}f=e}t=h+t|0;u=g+u|0;d=w(x,1272)+v|0;k=p[d+1264>>1];e=a;h=q[a+4>>2];d=p[d+1262>>1];c:{if((h|0)>=(d|0)){c=h-d|0;break c}c=(h-d|0)+((f?(t|0)<(u|0):0)?c:s[(w(j,6)+n|0)+2>>1])|0;if(f){break c}c=h-g|0}q[e+20>>2]=c;e=q[a+8>>2];c=e-k|0;q[a+24>>2]=c;d:{if(q[a+12>>2]|q[a+16>>2]){break d}if(r[(w(x,1272)+v|0)+75|0]){q[a+20>>2]=0;q[a+24>>2]=0;c=0;break d}if((t|0)>=(u|0)){break d}c=i-k|0;q[a+24>>2]=c;if(!f|(d|0)<=(g|0)|(i|0)<(k|0)){break d}c=c+ -1|0;q[a+24>>2]=c}if((d|0)==(g|0)|(d|0)<(g|0)|(!c|(g+s[(w(j,6)+n|0)+2>>1]|0)<=(d|0))){break a}q[a+24>>2]=c+ -1;break a}c=p[e+1264>>1];h=q[a+4>>2];f=h-p[e+1262>>1]|0;q[a+20>>2]=f;e=q[a+8>>2];c=e-c|0;q[a+24>>2]=c;if((f|0)>-1){break a}g=p[i>>1];q[a+24>>2]=c+ -1;q[a+20>>2]=g+f}c=(1<>2]=q[a+88>>2]+w(w(c,f),c);e=q[q[a+80>>2]+((q[l+24>>2]==1?(f|0)%142560|0:f)<<2)>>2];q[a+64>>2]=q[a+60>>2]+b;q[a+68>>2]=q[a+116>>2]+(e<<2);b=q[q[a+84>>2]+(f<<2)>>2];q[a+120>>2]=q[a+92>>2]+w(f,A);q[a+76>>2]=q[a+96>>2]+(b<<4);f=a;a=q[l+11600>>2];b=s[(w(j,6)+n|0)+2>>1];q[f+688>>2]=a>>>0>>0?a:b;xa=m+16|0}function Qc(a,b,c,d,g){var h=0,i=0,l=x(0),m=x(0),n=0,o=0,q=x(0),t=0,v=0,y=x(0),z=x(0),A=0,B=0,C=0,D=x(0),E=x(0),F=0,G=0,H=x(0),I=x(0),J=x(0);a:{if(r[a+4|0]!=2){if(g>>>0<=11?r[g+43168|0]:0){A=a+1936|0;while(1){o=s[(h<<1)+A>>1];B=h+1|0;t=s[(B<<1)+A>>1];i=s[a+2040>>1];C=t>>>0>>0?t:i;if(o>>>0>>0){F=(a+h|0)+10224|0;G=r[a+9042|0];while(1){t=(o<<2)+b|0;l=u[t>>2];h=G?r[F|0]!=0:0;i=w(o,12)+c|0;n=s[i+8>>1];D=(f(0,s[i+4>>1]<<16),j());v=s[i+10>>1];m=x(0);m=n>>>0>=16384?x(x(u[(n>>>5&2044)+71728>>2]*D)*u[((n&127)<<2)+72752>>2]):m;H=(f(0,n<<16),j());y=(f(0,s[i+2>>1]<<16),j());q=(f(0,s[i>>1]<<16),j());I=(f(0,v<<16),j());E=(f(0,s[i+6>>1]<<16),j());b:{if(!h){z=x(m*q);break b}z=x(m*q);n=(k(x(z+x((v>>>0>=16384?x(x(u[((v&65408)>>>5|0)+71728>>2]*E)*u[((v&127)<<2)+72752>>2]):x(0))*y))),e(0));h=n&-65536;if(n&32768){J=(f(0,h),j());h=n&-8388608;h=(k(x(x(J+(f(0,h|65536),j()))-(f(0,h),j()))),e(0))}l=x(l+(f(0,h),j()));u[t>>2]=l}p[i>>1]=(k(x(l*x(.953125))),e(0))>>>16;p[i+2>>1]=(k(x(x(q-x(m*l))*x(.953125))),e(0))>>>16;p[i+4>>1]=(k(x(x(D*x(.90625))+x(l*q))),e(0))>>>16;m=x(l-z);p[i+6>>1]=(k(x(x(E*x(.90625))+x(m*y))),e(0))>>>16;p[i+8>>1]=(k(x(x(H*x(.90625))+x(x(x(q*q)+x(l*l))*x(.5)))),e(0))>>>16;p[i+10>>1]=(k(x(x(I*x(.90625))+x(x(x(y*y)+x(m*m))*x(.5)))),e(0))>>>16;o=o+1|0;if((C|0)!=(o|0)){continue}break}}h=B;if(h>>>0<(g>>>0<=11?r[g+43168|0]:0)>>>0){continue}break}}if(!r[a+9042|0]|!r[a+10222|0]){break a}h=r[a+10223|0]+ -1&65535;if(h>>>0>=d>>>0){break a}while(1){a=w(h,12)+c|0;p[a+8>>1]=1065369472;p[a+10>>1]=16256;p[a>>1]=0;p[a+2>>1]=0;p[a+4>>1]=0;p[a+6>>1]=0;h=h+30&65535;if(h>>>0>>0){continue}break}break a}if(!d){break a}while(1){a=w(h,12)+c|0;p[a+8>>1]=1065369472;p[a+10>>1]=16256;p[a>>1]=0;p[a+2>>1]=0;p[a+4>>1]=0;p[a+6>>1]=0;h=h+1|0;if((h|0)!=(d|0)){continue}break}}}function bk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;k=w(f,31);l=w(e,31);m=w(f,30);n=w(e,30);q=w(f,29);s=w(e,29);t=w(f,28);u=w(e,28);v=w(f,27);x=w(e,27);y=w(f,26);z=w(e,26);A=w(f,25);B=w(e,25);C=w(f,24);D=w(e,24);E=w(f,23);F=w(e,23);G=w(f,22);H=w(e,22);I=w(f,21);J=w(e,21);K=w(f,20);L=w(e,20);M=w(f,19);N=w(e,19);O=w(f,18);P=w(e,18);Q=w(f,17);R=w(e,17);S=f<<4;T=e<<4;U=w(f,15);V=w(e,15);W=w(f,14);X=w(e,14);Y=w(f,13);Z=w(e,13);_=w(f,12);$=w(e,12);aa=w(f,11);ba=w(e,11);ca=w(f,10);da=w(e,10);ea=w(f,9);fa=w(e,9);ga=f<<3;ha=e<<3;ia=w(f,7);ja=w(e,7);ka=w(f,6);la=w(e,6);ma=w(f,5);na=w(e,5);oa=f<<2;pa=e<<2;qa=w(f,3);ra=w(e,3);sa=f<<1;ta=e<<1;while(1){h=0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+sa|0]=r[b+ta|0];o[c+qa|0]=r[b+ra|0];o[c+oa|0]=r[b+pa|0];o[c+ma|0]=r[b+na|0];o[c+ka|0]=r[b+la|0];o[c+ia|0]=r[b+ja|0];o[c+ga|0]=r[b+ha|0];o[c+ea|0]=r[b+fa|0];o[c+ca|0]=r[b+da|0];o[c+aa|0]=r[b+ba|0];o[c+_|0]=r[b+$|0];o[c+Y|0]=r[b+Z|0];o[c+W|0]=r[b+X|0];o[c+U|0]=r[b+V|0];o[c+S|0]=r[b+T|0];o[c+Q|0]=r[b+R|0];o[c+O|0]=r[b+P|0];o[c+M|0]=r[b+N|0];o[c+K|0]=r[b+L|0];o[c+I|0]=r[b+J|0];o[c+G|0]=r[b+H|0];o[c+E|0]=r[b+F|0];o[c+C|0]=r[b+D|0];o[c+A|0]=r[b+B|0];o[c+y|0]=r[b+z|0];o[c+v|0]=r[b+x|0];o[c+t|0]=r[b+u|0];o[c+q|0]=r[b+s|0];o[c+m|0]=r[b+n|0];o[c+k|0]=r[b+l|0];break a}while(1){i=r[w(e,h)+b|0]+p[(w(d,h)<<1)+a>>1]|0;i=(i|0)>0?i:0;o[w(f,h)+c|0]=(i|0)<255?i:255;h=h+1|0;if((h|0)!=32){continue}break}}g=g>>1;b=b+1|0;c=c+1|0;a=a+2|0;j=j+1|0;if((j|0)!=32){continue}break}}function rk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;k=xa-16|0;m=1<>1];d=p[a+o>>1];g=p[a+W>>1];i=p[a+X>>1];r=((w(c,H)+w(d,I)|0)+w(g,G)|0)+w(i,F)|0;q[k+4>>2]=r;n=((w(c,D)+w(d,E)|0)+w(g,C)|0)+w(i,B)|0;q[k+8>>2]=n;h=((w(c,L)+w(d,M)|0)+w(g,K)|0)+w(i,J)|0;q[k>>2]=h;c=((w(c,z)+w(d,A)|0)+w(g,y)|0)+w(i,x)|0;q[k+12>>2]=c;d=p[a+_>>1];g=p[a>>1];i=w(d,P)+w(g,Q)|0;j=p[a+Z>>1];s=p[a+Y>>1];t=w(j,T)+w(s,U)|0;u=(i-t|0)+m|0;l=u-c>>e;l=(l|0)>-32768?l:-32768;p[b+8>>1]=(l|0)<32767?l:32767;i=(i+t|0)+m|0;h=i+h>>e;h=(h|0)>-32768?h:-32768;p[b>>1]=(h|0)<32767?h:32767;d=w(d,N)+w(g,O)|0;g=w(j,R)+w(S,s)|0;h=(d-g|0)+m|0;j=h-n>>e;j=(j|0)>-32768?j:-32768;p[b+10>>1]=(j|0)<32767?j:32767;d=(d+g|0)+m|0;g=d+r>>e;g=(g|0)>-32768?g:-32768;p[b+2>>1]=(g|0)<32767?g:32767;g=h+n>>e;g=(g|0)>-32768?g:-32768;p[b+4>>1]=(g|0)<32767?g:32767;g=q[k+4>>2];c=c+u>>e;c=(c|0)>-32768?c:-32768;p[b+6>>1]=(c|0)<32767?c:32767;c=d-g>>e;c=(c|0)>-32768?c:-32768;p[b+12>>1]=(c|0)<32767?c:32767;c=i-q[k>>2]>>e;c=(c|0)>-32768?c:-32768;p[b+14>>1]=(c|0)<32767?c:32767;break a}p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;p[b+8>>1]=0;p[b+10>>1]=0;p[b+12>>1]=0;p[b+14>>1]=0}f=f>>1;a=a+2|0;b=b+$|0;v=v+1|0;if((v|0)!=8){continue}break}}function ac(a,b,c,d,e,f,g,h){var i=0,j=0,k=x(0),l=0,m=0,n=0,t=0,v=x(0),y=0,z=0,A=x(0),B=0,C=0,D=0,F=0,G=0;if(r[a+2|0]){G=e>>>3|0;while(1){C=a+n|0;j=r[C+5|0];if(j){e=r[a|0];y=0;while(1){i=e&255;e=0;if(i){z=w(D&255,G);j=0;while(1){l=w(n,120);a:{if(r[((l+a|0)+j|0)+6842|0]!=13){break a}e=a+j|0;o[e+10364|0]=0;o[e+10282|0]=0;o[e+10224|0]=0;e=j<<1;t=p[(e+(w(n,102)+a|0)|0)+7812>>1];e=a+e|0;i=s[e+1936>>1];m=(i+z<<2)+c|0;e=s[e+1938>>1];F=s[a+2040>>1];i=(e>>>0>>0?e:F)-i&65535;b:{if(!i){k=x(0);break b}A=x(x(1)/x(i>>>0));k=x(0);e=0;while(1){v=x(A*x(fe(g,h)|0));u[m+(e<<2)>>2]=v;k=x(k+x(v*v));e=e+1|0;if((i|0)!=(e|0)){continue}break}}B=Rb(+(t|0)*.25);if(!i){break a}k=x(x(x(1)/x(E(k)))*x(B));e=0;while(1){t=m+(e<<2)|0;u[t>>2]=k*u[t>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}c:{if(!f|r[((b+l|0)+j|0)+6842|0]!=13){break c}e=r[a+8628|0]+ -1|0;if(!(e>>>0>1|(r[((w(n,51)+a|0)+j|0)+8629|0]?0:e-1|0))){e=(j<<1)+b|0;i=s[e+1938>>1];m=s[b+2040>>1];e=s[e+1936>>1];i=(i>>>0>>0?i:m)-e&65535;if(!i){break c}m=e+z|0;e=0;while(1){l=e+m<<2;q[l+d>>2]=q[c+l>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}break c}e=b+j|0;o[e+10364|0]=0;o[e+10282|0]=0;o[e+10224|0]=0;e=j<<1;l=p[(e+(w(n,102)+b|0)|0)+7812>>1];e=b+e|0;i=s[e+1936>>1];m=(i+z<<2)+d|0;e=s[e+1938>>1];t=s[b+2040>>1];i=(e>>>0>>0?e:t)-i&65535;d:{if(!i){k=x(0);break d}A=x(x(1)/x(i>>>0));k=x(0);e=0;while(1){v=x(A*x(fe(g,h)|0));u[m+(e<<2)>>2]=v;k=x(k+x(v*v));e=e+1|0;if((i|0)!=(e|0)){continue}break}}B=Rb(+(l|0)*.25);if(!i){break c}k=x(x(x(1)/x(E(k)))*x(B));e=0;while(1){l=m+(e<<2)|0;u[l>>2]=k*u[l>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}j=j+1|0;e=r[a|0];if(j>>>0>>0){continue}break}j=r[C+5|0]}D=D+1|0;y=y+1|0;if((y&255)>>>0>>0){continue}break}}n=n+1|0;if(n>>>0>2]=66;q[a+12304>>2]=67;q[a+12300>>2]=68;q[a+12296>>2]=69;q[a+12292>>2]=70;q[a+12288>>2]=71;q[a+12284>>2]=72;q[a+12280>>2]=73;q[a+12276>>2]=74;q[a+12272>>2]=75;q[a+12268>>2]=76;q[a+12264>>2]=77;q[a+12260>>2]=78;q[a+12256>>2]=79;q[a+12252>>2]=80;q[a+12248>>2]=81;q[a+12244>>2]=82;q[a+12240>>2]=83;q[a+12236>>2]=84;q[a+12232>>2]=85;q[a+12228>>2]=86;q[a+12224>>2]=87;q[a+12220>>2]=88;q[a+12216>>2]=89;q[a+12212>>2]=90;q[a+12208>>2]=91;q[a+12204>>2]=92;q[a+12200>>2]=93;q[a+12196>>2]=94;q[a+12192>>2]=95;q[a+12188>>2]=96;q[a+12184>>2]=97;q[a+12180>>2]=98;q[a+12176>>2]=99;q[a+12172>>2]=100;q[a+12168>>2]=101;q[a+12164>>2]=102;q[a+12160>>2]=103;q[a+12156>>2]=104;q[a+12152>>2]=105;q[a+12148>>2]=106;q[a+12144>>2]=107;q[a+12140>>2]=108;q[a+12136>>2]=109;q[a+12132>>2]=110;q[a+12128>>2]=111;q[a+12124>>2]=112;q[a+12120>>2]=113;q[a+12116>>2]=114;q[a+12112>>2]=115;q[a+12108>>2]=116;q[a+12104>>2]=117;q[a+12100>>2]=118;q[a+12096>>2]=119;q[a+12092>>2]=120;q[a+12088>>2]=121;q[a+12084>>2]=122;q[a+12080>>2]=123;q[a+12076>>2]=124;q[a+12072>>2]=125;q[a+12068>>2]=126;q[a+12064>>2]=127;q[a+12060>>2]=128;q[a+12056>>2]=129;q[a+12052>>2]=130;q[a+12048>>2]=131;q[a+12044>>2]=132;q[a+12040>>2]=133;q[a+12036>>2]=134;q[a+12032>>2]=135;q[a+12028>>2]=136;q[a+12024>>2]=137;q[a+12020>>2]=138;q[a+12016>>2]=139;q[a+12012>>2]=140;q[a+12008>>2]=141;q[a+12004>>2]=142;q[a+12e3>>2]=143;q[a+11996>>2]=144;q[a+11992>>2]=145;q[a+11988>>2]=146;q[a+11984>>2]=147;q[a+11980>>2]=148;q[a+11976>>2]=149;q[a+11972>>2]=150;q[a+11968>>2]=151;q[a+11964>>2]=152;q[a+11960>>2]=153;q[a+11956>>2]=154;q[a+11952>>2]=155;q[a+11948>>2]=156;q[a+11944>>2]=157;q[a+11940>>2]=158;q[a+11936>>2]=159;q[a+11932>>2]=160;q[a+11928>>2]=161;q[a+11924>>2]=162}function Ve(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=w(f,3)+c|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[(f<<1)+c|0]=r[(e<<1)+b|0];h=r[w(e,3)+b|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[(d<<1)+a>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[(e<<1)+b|0]+p[(d<<2)+a>>1]|0;h=(h|0)>0?h:0;o[(f<<1)+c|0]=(h|0)<255?h:255;h=r[w(e,3)+b|0]+p[w(d,6)+a>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[i|0]=h;h=b+2|0;i=c+2|0;l=i+w(f,3)|0;b:{if(g&2){o[i|0]=r[h|0];o[f+i|0]=r[e+h|0];o[i+(f<<1)|0]=r[h+(e<<1)|0];h=r[h+w(e,3)|0];break b}k=a+2|0;j=r[h|0]+p[k>>1]|0;j=(j|0)>0?j:0;o[i|0]=(j|0)<255?j:255;j=r[e+h|0]+p[k+(d<<1)>>1]|0;j=(j|0)>0?j:0;o[f+i|0]=(j|0)<255?j:255;j=i+(f<<1)|0;i=r[h+(e<<1)|0]+p[k+(d<<2)>>1]|0;i=(i|0)>0?i:0;o[j|0]=(i|0)<255?i:255;h=r[h+w(e,3)|0]+p[k+w(d,6)>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[l|0]=h;h=b+4|0;i=c+4|0;l=i+w(f,3)|0;c:{if(g&4){o[i|0]=r[h|0];o[f+i|0]=r[e+h|0];o[i+(f<<1)|0]=r[h+(e<<1)|0];h=r[h+w(e,3)|0];break c}k=a+4|0;j=r[h|0]+p[k>>1]|0;j=(j|0)>0?j:0;o[i|0]=(j|0)<255?j:255;j=r[e+h|0]+p[k+(d<<1)>>1]|0;j=(j|0)>0?j:0;o[f+i|0]=(j|0)<255?j:255;j=i+(f<<1)|0;i=r[h+(e<<1)|0]+p[k+(d<<2)>>1]|0;i=(i|0)>0?i:0;o[j|0]=(i|0)<255?i:255;h=r[h+w(e,3)|0]+p[k+w(d,6)>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[l|0]=h;b=b+6|0;c=c+6|0;h=c+w(f,3)|0;d:{if(g&8){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+(f<<1)|0]=r[b+(e<<1)|0];a=r[b+w(e,3)|0];break d}a=a+6|0;g=r[b|0]+p[a>>1]|0;g=(g|0)>0?g:0;o[c|0]=(g|0)<255?g:255;g=r[b+e|0]+p[a+(d<<1)>>1]|0;g=(g|0)>0?g:0;o[c+f|0]=(g|0)<255?g:255;f=c+(f<<1)|0;c=r[b+(e<<1)|0]+p[a+(d<<2)>>1]|0;c=(c|0)>0?c:0;o[f|0]=(c|0)<255?c:255;a=r[b+w(e,3)|0]+p[a+w(d,6)>>1]|0;a=(a|0)>0?a:0;a=(a|0)<255?a:255}o[h|0]=a}function Ke(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=w(f,3)+c|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[(f<<1)+c|0]=r[(e<<1)+b|0];h=r[w(e,3)+b|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[(d<<1)+a>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[(e<<1)+b|0]+p[(d<<2)+a>>1]|0;h=(h|0)>0?h:0;o[(f<<1)+c|0]=(h|0)<255?h:255;h=r[w(e,3)+b|0]+p[w(d,6)+a>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[i|0]=h;h=b+1|0;i=c+1|0;l=i+w(f,3)|0;b:{if(g&2){o[i|0]=r[h|0];o[f+i|0]=r[e+h|0];o[i+(f<<1)|0]=r[h+(e<<1)|0];h=r[h+w(e,3)|0];break b}k=a+2|0;j=r[h|0]+p[k>>1]|0;j=(j|0)>0?j:0;o[i|0]=(j|0)<255?j:255;j=r[e+h|0]+p[k+(d<<1)>>1]|0;j=(j|0)>0?j:0;o[f+i|0]=(j|0)<255?j:255;j=i+(f<<1)|0;i=r[h+(e<<1)|0]+p[k+(d<<2)>>1]|0;i=(i|0)>0?i:0;o[j|0]=(i|0)<255?i:255;h=r[h+w(e,3)|0]+p[k+w(d,6)>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[l|0]=h;h=b+2|0;i=c+2|0;l=i+w(f,3)|0;c:{if(g&4){o[i|0]=r[h|0];o[f+i|0]=r[e+h|0];o[i+(f<<1)|0]=r[h+(e<<1)|0];h=r[h+w(e,3)|0];break c}k=a+4|0;j=r[h|0]+p[k>>1]|0;j=(j|0)>0?j:0;o[i|0]=(j|0)<255?j:255;j=r[e+h|0]+p[k+(d<<1)>>1]|0;j=(j|0)>0?j:0;o[f+i|0]=(j|0)<255?j:255;j=i+(f<<1)|0;i=r[h+(e<<1)|0]+p[k+(d<<2)>>1]|0;i=(i|0)>0?i:0;o[j|0]=(i|0)<255?i:255;h=r[h+w(e,3)|0]+p[k+w(d,6)>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[l|0]=h;b=b+3|0;c=c+3|0;h=c+w(f,3)|0;d:{if(g&8){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+(f<<1)|0]=r[b+(e<<1)|0];a=r[b+w(e,3)|0];break d}a=a+6|0;g=r[b|0]+p[a>>1]|0;g=(g|0)>0?g:0;o[c|0]=(g|0)<255?g:255;g=r[b+e|0]+p[a+(d<<1)>>1]|0;g=(g|0)>0?g:0;o[c+f|0]=(g|0)<255?g:255;f=c+(f<<1)|0;c=r[b+(e<<1)|0]+p[a+(d<<2)>>1]|0;c=(c|0)>0?c:0;o[f|0]=(c|0)<255?c:255;a=r[b+w(e,3)|0]+p[a+w(d,6)>>1]|0;a=(a|0)>0?a:0;a=(a|0)<255?a:255}o[h|0]=a}function Ae(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{if((d|0)<=0){o[e+32|0]=0;break b}f=Pa(a,1);o[e+32|0]=f;if(!(f&255)){break b}if((c|0)!=(d|0)){c=((d|0)>1?d:1)+ -1|0}else{f=d+ -1|0;c=Ua(a);d=(c^-1)+d|0;c=(c|0)<0?f:(d|0)>0?d:0}d=Pa(a,1);f=Ua(a);j=e;g=w(c,70)+b|0;i=o[g+67|0];c:{d:{if((i|0)<0){f=0;break d}l=w(f+1|0,1-(d<<1)|0);d=0;c=0;f=0;while(1){b=Pa(a,1);o[(c+e|0)+35|0]=b;if(!b){b=Pa(a,1)<<1}if(b+ -1>>>0<=1){i=l+((d|0)>1]:0)|0;p[(c<<1)+e>>1]=i;i=i>>>31|0;f=i+f|0;h=(i^1)+h|0;c=c+1|0}o[(d+e|0)+51|0]=b;i=o[g+67|0];b=(d|0)<(i|0);d=d+1|0;if(b){continue}break}if((f|0)<1){f=0;break d}b=15;if((f|0)>14){break c}}b=f}o[j+33|0]=b;f=1;o[e+68|0]=i+1;d=0;a=b^15;a=(h|0)>(a|0)?a:(h|0)>0?h:0;o[e+34|0]=a;k=a+b|0;o[e+67|0]=k;if(k>>>0>1){while(1){i=r[(e+f|0)+35|0];h=p[(f<<1)+e>>1];a=f;while(1){c=a+ -1|0;l=(c<<1)+e|0;g=p[l>>1];if((h|0)<(g|0)){p[(a<<1)+e>>1]=g;j=e+35|0;g=j+c|0;o[a+j|0]=r[g|0];p[l>>1]=h;o[g|0]=i}g=(a|0)>1;a=c;if(g){continue}break}f=f+1|0;if((k|0)!=(f|0)){continue}break}}c=b>>>1|0;if(!c){break a}a=e+35|0;while(1){f=a+d|0;k=r[f|0];h=(d<<1)+e|0;g=s[h>>1];j=h;b=b+ -1|0;h=(b<<1)+e|0;p[j>>1]=s[h>>1];j=f;f=a+b|0;o[j|0]=r[f|0];p[h>>1]=g;o[f|0]=k;d=d+1|0;if((c|0)!=(d|0)){continue}break}break a}c=0;d=Ua(a);b=d<<24;o[e+33|0]=(b|0)>251658240?15:(b|0)<0?0:d;b=Ua(a);d=o[e+33|0];f=15-d|0;b=b<<24;k=b>>24;b=(k|0)>(f|0)?f:(b|0)<0?0:k;o[e+34|0]=b;b=b+d|0;o[e+67|0]=b;if((d|0)>0){b=0;while(1){c=(Ua(a)^-1)+c|0;p[(b<<1)+e>>1]=c;m=b+e|0,n=Pa(a,1),o[m+35|0]=n;b=b+1|0;d=o[e+33|0];if((b|0)<(d|0)){continue}break}b=r[e+67|0]}if((d|0)>=b<<24>>24){break a}b=0;while(1){b=(Ua(a)+b|0)+1|0;p[(d<<1)+e>>1]=b;m=d+e|0,n=Pa(a,1),o[m+35|0]=n;d=d+1|0;if((d|0)>1]=0;f=q[d+8>>2];a:{b:{if(r[a+4|0]==23){c:{d:{if(f){g=d+20|0;e=q[d>>2]<<32-f>>>31|0;if(r[d+20|0]){break c}if(f>>>0<2){break d}q[d+8>>2]=f+ -1;break c}g=d+20|0;e=q[d+4>>2]>>>31|0;if(r[d+20|0]){break c}}Oa(d,1)}o[c+4|0]=e;if(!e){e=s[c+2>>1];break a}f=q[d+8>>2];e:{if(f>>>0>=10){e=q[d>>2]<<32-f>>>22|0;break e}e=q[d>>2]<<10-f&1023|q[d+4>>2]>>>f+22}if(r[g|0]){break b}if(f>>>0>=11){q[d+8>>2]=f+ -10;break b}Oa(d,10);break b}if(f>>>0>=11){e=q[d>>2]<<32-f>>>21|0}else{e=q[d>>2]<<11-f&2047|q[d+4>>2]>>>f+21}if(r[d+20|0]){break b}if(f>>>0>=12){q[d+8>>2]=f+ -11;break b}Oa(d,11)}p[c+2>>1]=e}if(s[a+10>>1]<<1>>>0>=(e&65535)>>>0){e=q[d+8>>2];f:{if(e>>>0>=3){a=q[d>>2]<<32-e>>>29|0;break f}a=q[d>>2]<<3-e&7|q[d+4>>2]>>>e+29}g:{if(r[d+20|0]){break g}if(e>>>0>=4){q[d+8>>2]=e+ -3;break g}Oa(d,3)}o[c+5|0]=a;h:{if(r[b+4|0]==2){if(!r[b+3|0]){break h}f=0;while(1){a=q[d+8>>2];i:{if(a){a=a+ -1|0;q[d+8>>2]=a;a=q[d>>2]>>>a&1;break i}a=q[d+4>>2]>>>31|0;if(r[d+20|0]){break i}Oa(d,1)}g=c+f|0;o[g+57|0]=a;j:{if(!a){break j}a=q[d+8>>2];k:{if(a){a=a+ -1|0;q[d+8>>2]=a;a=q[d>>2]>>>a&1;break k}a=q[d+4>>2]>>>31|0;if(r[d+20|0]){break k}Oa(d,1)}o[g+65|0]=a;if(!a){break j}e=q[d+8>>2];l:{if(e>>>0>=4){a=q[d>>2]<<32-e>>>28|0;break l}a=q[d>>2]<<4-e&15|q[d+4>>2]>>>e+28}m:{if(r[d+20|0]){break m}if(e>>>0>=5){q[d+8>>2]=e+ -4;break m}Oa(d,4)}o[g+73|0]=a}f=f+1|0;if(f>>>0>>0<40?a:40;o[c|0]=e;if(!e){break h}f=0;while(1){a=q[d+8>>2];n:{if(a){a=a+ -1|0;q[d+8>>2]=a;a=q[d>>2]>>>a&1;break n}a=q[d+4>>2]>>>31|0;if(r[d+20|0]){break n}Oa(d,1);e=r[c|0]}o[(c+f|0)+6|0]=a;f=f+1|0;if(f>>>0<(e&255)>>>0){continue}break}}a=0}else{a=18}return a}function Hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=0,k=0,l=0,m=0,n=0,o=0,s=0,t=0;f=xa-1024|0;xa=f;if(r[a+53416|0]){while(1){e=(s<<9)+c|0;u[f+892>>2]=u[e+8>>2]*x(.015625);u[f+896>>2]=u[e>>2]*x(.015625);u[f+380>>2]=u[e+500>>2]*x(.015625);u[f+384>>2]=u[e+508>>2]*x(.015625);h=1;while(1){g=31-h<<2;j=h<<1;m=j|1;u[g+(f+768|0)>>2]=u[e+(m<<3)>>2]*x(.015625);n=h<<2;u[n+(f+896|0)>>2]=u[e+(h<<4)>>2]*x(.015625);u[g+(f+256|0)>>2]=u[(e+(63-m<<3)|0)+4>>2]*x(.015625);u[n+(f+384|0)>>2]=u[(e+(63-j<<3)|0)+4>>2]*x(.015625);h=h+1|0;if((h|0)!=31){continue}break}u[f+768>>2]=u[e+504>>2]*x(.015625);u[f+1020>>2]=u[e+496>>2]*x(.015625);u[f+256>>2]=u[e+4>>2]*x(.015625);u[f+508>>2]=u[e+12>>2]*x(.015625);Jc(f+896|0,f+768|0,f+640|0,f+512|0);Jc(f+384|0,f+256|0,f+128|0,f);n=p[b+4>>1];j=q[b>>2]+(n<<2)|0;e=j+5120|0;m=0;h=0;while(1){g=h<<3;k=h<<2;l=k+(f+128|0)|0;k=k+(f+640|0)|0;i=x(u[l>>2]-u[k>>2]);u[g+e>>2]=i;u[g+j>>2]=i;g=h<<1;o=127-g<<2;i=x(u[l>>2]+u[k>>2]);u[o+e>>2]=i;u[j+o>>2]=i;g=g|1;k=g<<2;l=31-h<<2;o=l+f|0;l=l+(f+512|0)|0;i=x(u[o>>2]+u[l>>2]);u[k+e>>2]=i;u[j+k>>2]=i;g=127-g<<2;i=x(u[o>>2]-u[l>>2]);u[g+e>>2]=i;u[g+j>>2]=i;h=h+1|0;if((h|0)!=32){continue}break}h=t;while(1){e=m<<2;g=e+j|0;u[(h<<2)+d>>2]=x(x(x(x(x(x(x(x(x(u[g>>2]*u[e+109744>>2])+x(u[g+768>>2]*u[e+11e4>>2]))+x(u[g+1024>>2]*u[e+110256>>2]))+x(u[g+1792>>2]*u[e+110512>>2]))+x(u[g+2048>>2]*u[e+110768>>2]))+x(u[g+2816>>2]*u[e+111024>>2]))+x(u[g+3072>>2]*u[e+111280>>2]))+x(u[g+3840>>2]*u[e+111536>>2]))+x(u[g+4096>>2]*u[e+111792>>2]))+x(u[g+4864>>2]*u[e+112048>>2]);h=h+1|0;m=m+1|0;if((m|0)!=64){continue}break}h=n+ -128|0;p[b+4>>1]=h<<16>>16<0?1152:h;t=t- -64|0;s=s+1|0;if(s>>>0>>0>3){break a}b:{switch(f-1|0){default:c=c+ -2|0;if(c>>>0>2){break a}c:{switch(c-1|0){case 1:c=w(r[a+53417|0]>>>2|0,j);o[d+11|0]=c;o[d+12|0]=c<<1;o[d+13|0]=w(c,3);break a;case 0:break a;default:break c}}o[d+11|0]=w(r[a+53417|0]>>>1|0,j);break a;case 0:if(c>>>0<2){break a}h=c+ -1|0;e=0;i=w(b,9)+a|0;f=0;while(1){e=r[(e+i|0)+53453|0];if((g&255)>>>0>>0){return 1}c=c+ -1|0;g=g-e|0;o[(d+10|0)+(c<<24>>24)|0]=w(j,g);f=f+1|0;e=f&255;if((h|0)>(e|0)){continue}break}break a;case 1:if(c>>>0<2){break a}h=c+ -1|0;i=r[a+53418|0]+r[a+53416|0]|0;k=r[a+53419|0];c=0;l=w(b,9)+a|0;g=1;f=0;while(1){e=r[(c+l|0)+53453|0]+e|0;c=w(e&255,j);if(c+k>>>0>i>>>0){return 1}o[(d+10|0)+(g<<24>>24)|0]=c;g=g+1|0;f=f+1|0;c=f&255;if((h|0)>(c|0)){continue}break}break a;case 2:break b}}k=r[h+53513|0];if(k){l=r[a+53418|0]+r[a+53416|0]|0;n=r[a+53419|0];f=0;p=w(b,9)+a|0;i=1;while(1){e=r[(f+p|0)+53471|0]+e|0;m=w(e&255,j);if(m+n>>>0>l>>>0){return 1}o[(d+10|0)+(i<<24>>24)|0]=m;i=i+1|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}f=r[h+53515|0];if(!f){break a}e=0;h=w(b,9)+a|0;while(1){i=r[(e+h|0)+53489|0];if((g&255)>>>0>>0){return 1}c=c+ -1|0;g=g-i|0;o[(d+10|0)+(c<<24>>24)|0]=w(j,g);e=e+1|0;if((f|0)!=(e|0)){continue}break}}a=w(b,6)+a|0;b=r[d+14|0]|r[d+15|0]<<8;o[a+620|0]=b;o[a+621|0]=b>>>8;b=r[d+10|0]|r[d+11|0]<<8|(r[d+12|0]<<16|r[d+13|0]<<24);o[a+616|0]=b;o[a+617|0]=b>>>8;o[a+618|0]=b>>>16;o[a+619|0]=b>>>24;return 0}function Ic(a,b,c,d){var e=0,f=0,g=0;e=Ta(53544);Qa(e+4|0,0,53540);q[e>>2]=c;o[e+12436|0]=b;o[e+53435|0]=33685762;o[e+53436|0]=131585;o[e+53437|0]=514;o[e+53438|0]=2;o[e+53439|0]=16843010;o[e+53440|0]=65793;o[e+53441|0]=257;o[e+53442|0]=1;o[e+53431|0]=1281;o[e+53432|0]=5;q[e+12432>>2]=0;p[e+12418>>1]=65535;p[e+53418>>1]=520;o[e+12426|0]=1;p[e+12424>>1]=a;o[e+12423|0]=0;o[e+12421|0]=0;o[e+12422|0]=0;o[e+12412|0]=255;a=(a|0)==960;o[e+53416|0]=a?30:32;o[e+53417|0]=a?15:16;p[e+728>>1]=0;f=e,g=Zd(),q[f+12440>>2]=g;a:{if((b|0)==1){f=e,g=Zd(),q[f+12444>>2]=g;a=d?32:64;f=e,g=Zb(a),q[f+12448>>2]=g;f=e,g=Zb(a),q[f+12452>>2]=g;f=e,g=Ta(256),q[f+648>>2]=g;f=e,g=Ta(256),q[f+668>>2]=g;f=e,g=Ta(256),q[f+688>>2]=g;f=e,g=Ta(256),q[f+708>>2]=g;f=e,g=Ta(256),q[f+652>>2]=g;f=e,g=Ta(256),q[f+672>>2]=g;f=e,g=Ta(256),q[f+692>>2]=g;f=e,g=Ta(256),q[f+712>>2]=g;f=e,g=Ta(256),q[f+656>>2]=g;f=e,g=Ta(256),q[f+676>>2]=g;f=e,g=Ta(256),q[f+696>>2]=g;f=e,g=Ta(256),q[f+716>>2]=g;f=e,g=Ta(256),q[f+660>>2]=g;f=e,g=Ta(256),q[f+680>>2]=g;f=e,g=Ta(256),q[f+700>>2]=g;f=e,g=Ta(256),q[f+720>>2]=g;f=e,g=Ta(256),q[f+664>>2]=g;f=e,g=Ta(256),q[f+684>>2]=g;f=e,g=Ta(256),q[f+704>>2]=g;f=e,g=Ta(256),q[f+724>>2]=g;Qa(e+12456|0,0,r[e+53418|0]+r[e+53416|0]<<9);a=32936;break a}a=Zb(d?32:64);q[e+12452>>2]=0;q[e+12448>>2]=a;f=e,g=Ta(256),q[f+648>>2]=g;f=e,g=Ta(256),q[f+688>>2]=g;f=e,g=Ta(256),q[f+652>>2]=g;f=e,g=Ta(256),q[f+692>>2]=g;f=e,g=Ta(256),q[f+656>>2]=g;f=e,g=Ta(256),q[f+696>>2]=g;f=e,g=Ta(256),q[f+660>>2]=g;f=e,g=Ta(256),q[f+700>>2]=g;f=e,g=Ta(256),q[f+664>>2]=g;f=e,g=Ta(256),q[f+704>>2]=g;a=12456}Qa(a+e|0,0,r[e+53418|0]+r[e+53416|0]<<9);return e}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=xa-48|0;xa=f;h=a;c=q[b+4>>2];a:{if(o[c+11|0]<=-1){d=q[c>>2];break a}d=c}e=q[b+8>>2];q[h+32>>2]=r[(d+e|0)+22|0]&3;g=e+26|0;q[b+8>>2]=g;i=q[b+12>>2];q[b+12>>2]=i+ -26;if(o[c+11|0]<=-1){h=q[c>>2]}else{h=c}d=h+g|0;g=r[d+1|0];d=r[d|0];q[b+12>>2]=i+ -28;e=e+28|0;q[b+8>>2]=e;i=q[c+12>>2];g=g|d<<8;q[f+44>>2]=g;q[f+40>>2]=e;q[f+36>>2]=c;q[c+12>>2]=i+2;q[f+32>>2]=1580;n[q[q[a>>2]+28>>2]](a,f+32|0);q[f+32>>2]=1636;d=q[f+36>>2];e=q[d+12>>2]+ -1|0;q[d+12>>2]=e;if(!(e|!d)){if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!d){if(o[c+11|0]<=-1){Ra(q[c>>2])}Ra(c)}c=g+3|0;e=c+q[b+8>>2]|0;q[b+8>>2]=e;g=q[b+12>>2]-c|0;q[b+12>>2]=g;c=q[b+4>>2];b:{if(o[c+11|0]<=-1){h=q[c>>2];break b}h=c}d=h+e|0;i=r[d+1|0];d=r[d|0];q[b+12>>2]=g+ -2;e=e+2|0;q[b+8>>2]=e;g=q[c+12>>2];i=i|d<<8;q[f+28>>2]=i;q[f+24>>2]=e;q[f+20>>2]=c;q[c+12>>2]=g+2;q[f+16>>2]=1580;n[q[q[a>>2]+28>>2]](a,f+16|0);q[f+16>>2]=1636;d=q[f+20>>2];e=q[d+12>>2]+ -1|0;q[d+12>>2]=e;if(!(e|!d)){if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!d){if(o[c+11|0]<=-1){Ra(q[c>>2])}Ra(c)}c=i+3|0;e=c+q[b+8>>2]|0;q[b+8>>2]=e;g=q[b+12>>2]-c|0;q[b+12>>2]=g;c=q[b+4>>2];c:{if(o[c+11|0]<=-1){h=q[c>>2];break c}h=c}d=h+e|0;i=r[d+1|0];d=r[d|0];q[b+12>>2]=g+ -2;h=b;b=e+2|0;q[h+8>>2]=b;e=q[c+12>>2];q[f+12>>2]=i|d<<8;q[f+8>>2]=b;q[f+4>>2]=c;q[c+12>>2]=e+2;q[f>>2]=1580;n[q[q[a>>2]+28>>2]](a,f);q[f>>2]=1636;a=q[f+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ra(q[a>>2])}Ra(a)}a=q[c+12>>2]+ -1|0;q[c+12>>2]=a;if(!a){if(o[c+11|0]<=-1){Ra(q[c>>2])}Ra(c)}xa=f+48|0}function Ec(a,b,c){var d=0,e=x(0),f=0,g=0,h=0,i=x(0),j=0,k=0,l=0,m=0,n=x(0),o=0,q=0,t=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;A=r[a+2|0];if(A){q=r[a+1|0];E=s[((q<<1)+a|0)+1936>>1];while(1){a:{if(!q){k=0;break a}B=a+l|0;f=r[B+5|0];t=s[a+1936>>1];m=0;k=0;h=0;while(1){d=t;F=h&65535;g=m;m=g+1|0;t=s[((m<<1)+a|0)+1936>>1];d=t-d|0;v=d&65535;b:{if(!(f&255)){f=0;break b}if(!(d&65535)){v=0;break b}d=p[((w(l,102)+a|0)+(g<<1)|0)+7812>>1];g=d>>>0>255;n=x(u[((g?0:d>>>2|0)<<2)+146960>>2]*u[((g?0:d&3)<<2)+114176>>2]);y=h+C|0;z=0;while(1){h=0;f=0;while(1){g=((f+y&65535)<<2)+c|0;j=g;i=n;c:{d:{f=((D&65535)<<1)+b|0;d=p[f>>1];if((d|0)>=0){if((d|0)>8191){break d}e=u[(d<<2)+114192>>2];break c}if((d|0)<-8191){break d}e=x(-u[114192-(d<<2)>>2]);break c}o=17;e=x(0)}u[j>>2]=i*e;j=g;i=n;e:{f:{d=p[f+2>>1];if((d|0)>=0){if((d|0)>8191){break f}e=u[(d<<2)+114192>>2];break e}if((d|0)<-8191){break f}e=x(-u[114192-(d<<2)>>2]);break e}o=17;e=x(0)}u[j+4>>2]=i*e;j=g;i=n;g:{h:{d=p[f+4>>1];if((d|0)>=0){if((d|0)>8191){break h}e=u[(d<<2)+114192>>2];break g}if((d|0)<-8191){break h}e=x(-u[114192-(d<<2)>>2]);break g}o=17;e=x(0)}u[j+8>>2]=i*e;i=n;i:{j:{d=p[f+6>>1];if((d|0)>=0){if((d|0)>8191){break j}e=u[(d<<2)+114192>>2];break i}if((d|0)<-8191){break j}e=x(-u[114192-(d<<2)>>2]);break i}o=17;e=x(0)}u[g+12>>2]=i*e;D=D+4|0;k=k+4|0;f=h+4|0;h=f&65535;if(h>>>0>>0){continue}break}y=y+E|0;z=z+1|0;f=r[B+5|0];if((z&255)>>>0>>0){continue}break}}h=v+F|0;if((m|0)!=(q|0)){continue}break}}C=k+C|0;l=l+1|0;if((A|0)!=(l|0)){continue}break}}return o}function Vh(a){var b=0,c=0;b=q[a+12440>>2];if(b){Qa(q[b>>2],0,w(r[b+6|0],80))}b=q[a+12444>>2];if(b){Qa(q[b>>2],0,w(r[b+6|0],80))}b=q[a+12448>>2];if(b){Qa(q[b>>2],0,w(r[b+6|0],160))}b=q[a+12452>>2];if(b){Qa(q[b>>2],0,w(r[b+6|0],160))}b=q[a+648>>2];if(b){Qa(b,0,256)}b=q[a+668>>2];if(b){Qa(b,0,256)}b=q[a+688>>2];if(b){Qa(b,0,256)}b=q[a+708>>2];if(b){Qa(b,0,256)}b=q[a+652>>2];if(b){Qa(b,0,256)}b=q[a+672>>2];if(b){Qa(b,0,256)}b=q[a+692>>2];if(b){Qa(b,0,256)}b=q[a+712>>2];if(b){Qa(b,0,256)}b=q[a+656>>2];if(b){Qa(b,0,256)}b=q[a+676>>2];if(b){Qa(b,0,256)}b=q[a+696>>2];if(b){Qa(b,0,256)}b=q[a+716>>2];if(b){Qa(b,0,256)}b=q[a+660>>2];if(b){Qa(b,0,256)}b=q[a+680>>2];if(b){Qa(b,0,256)}b=q[a+700>>2];if(b){Qa(b,0,256)}b=q[a+720>>2];if(b){Qa(b,0,256)}b=q[a+664>>2];if(b){Qa(b,0,256)}b=q[a+684>>2];if(b){Qa(b,0,256)}b=q[a+704>>2];if(b){Qa(b,0,256)}b=q[a+724>>2];if(b){Qa(b,0,256)}Qa(a+12456|0,0,r[a+53418|0]+r[a+53416|0]<<9);Qa(a+32936|0,0,r[a+53418|0]+r[a+53416|0]<<9);q[a+12432>>2]=0;p[a+728>>1]=0;o[a+12426|0]=1;p[a+612>>1]=0;o[a+53435|0]=33685762;o[a+53436|0]=131585;o[a+53437|0]=514;o[a+53438|0]=2;o[a+53439|0]=16843010;o[a+53440|0]=65793;o[a+53441|0]=257;o[a+53442|0]=1;o[a+53431|0]=1281;o[a+53432|0]=5;o[a+12423|0]=0;o[a+12421|0]=0;o[a+12422|0]=0;p[a+12418>>1]=65535;o[a+12412|0]=255;p[a+646>>1]=0;Qa(a+2010|0,0,98);Qa(a+2138|0,0,98);b=0;while(1){c=(b<<2)+a|0;q[c+10716>>2]=0;q[c+10460>>2]=0;c=a+b|0;o[c+12341|0]=0;o[c+12277|0]=0;b=b+1|0;if((b|0)!=49){continue}break}o[a+53445|0]=0;o[a+53446|0]=0}function Bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=xa-16|0;xa=e;if(r[a+1840|0]){d=q[a+4>>2];a:{if(o[165960]&1){break a}if(!eb(165960)){break a}i=165956,j=M(1,1236)|0,q[i>>2]=j;db(165960)}N(q[41489],d|0,1149,e+8|0)}o[a+1840|0]=1;d=q[a+4>>2];c=L(1155)|0;d=U(d|0,c|0)|0;J(c|0);h=+S(d|0,151832,e+8|0);P(q[e+8>>2]);J(d|0);d=h!=0;q[e+4>>2]=d?1172:1177;q[e>>2]=1163;K(0,e|0);o[a+88|0]=d;d=r[b+11|0];c=d<<24>>24<0;f=c?q[b>>2]:b;c=c?q[b+4>>2]:d;g=f+c|0;b:{c:{if((c|0)<4){break c}d=f;while(1){c=c+ -3|0;if(!c){break c}c=Tb(d,46,c);if(!c){break c}if((r[c|0]|r[c+1|0]<<8|(r[c+2|0]<<16|r[c+3|0]<<24))==1986815534){break b}d=c+1|0;c=g-d|0;if((c|0)>3){continue}break}}c=g}o[a+1841|0]=(c|0)!=(g|0)&(c-f|0)!=-1;i=a,j=Z()|0,q[i+1812>>2]=j;c=r[b+11|0];d=c<<24>>24<0;d:{e:{c=d?q[b+4>>2]:c;if((c|0)<4){break e}f=d?q[b>>2]:b;g=f+c|0;d=f;while(1){c=c+ -3|0;if(!c){break e}d=Tb(d,104,c);if(!d){break e}if((r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24))!=1886680168){d=d+1|0;c=g-d|0;if((c|0)>=4){continue}break e}break}if((d|0)==(g|0)|(d|0)!=(f|0)){break e}ii(q[a+4>>2],b);break d}d=a+4|0;f=Y(1189)|0;a=o[b+11|0];f:{if((a|0)<=-1){c=q[b+4>>2];a=Ta(c+4|0);q[a>>2]=c;b=q[b>>2];break f}c=a&255;a=Ta(c+4|0);q[a>>2]=c}Sa(a+4|0,b,c);q[e+8>>2]=a;a=va(f|0,1,1384,e+8|0)|0;J(f|0);b=L(1199)|0;c=L(1210)|0;X(a|0,b|0,c|0);J(c|0);J(b|0);b=q[d>>2];c=L(1050)|0;b=U(b|0,c|0)|0;J(c|0);ce(e+8|0,b,d);J(b|0);b=L(1222)|0;X(a|0,b|0,q[e+8>>2]);J(b|0);J(q[e+8>>2]);d=q[d>>2];b=L(1232)|0;X(d|0,b|0,a|0);J(b|0);J(a|0)}xa=e+16|0}function ke(a,b,c,d,e,f,g){var h=0,i=0,j=x(0),k=x(0),l=x(0),m=x(0),n=0,o=x(0),p=x(0),q=x(0),r=x(0),s=0,t=0,v=x(0),y=x(0),z=0,A=0,B=0,C=0,D=0,E=x(0),F=x(0),G=0,H=0,I=0,J=0,K=0,L=0;a:{if((a|0)!=1){if(!b|!a){break a}G=a<<1;H=a<<2;A=w(a,3);I=w(A,b);B=w(a,b);J=B<<1;while(1){K=w(a,z)&65535;L=w(z,H)&65535;i=0;while(1){h=i+L|0;n=(h<<3)+c|0;j=u[n>>2];s=(h+G<<3)+c|0;k=u[s>>2];t=(h+A<<3)+c|0;l=u[t>>2];C=(a+h<<3)+c|0;m=u[C>>2];h=i+K|0;D=(h<<3)+d|0;o=u[n+4>>2];p=u[s+4>>2];q=x(o+p);r=u[t+4>>2];v=u[C+4>>2];y=x(r+v);u[D+4>>2]=q+y;E=x(j+k);F=x(m+l);u[D>>2]=E+F;s=(h+B<<3)+d|0;o=x(o-p);l=x(m-l);m=x(o-l);n=i<<3;t=n+e|0;p=u[t>>2];j=x(j-k);k=x(r-v);r=x(j-k);v=u[t+4>>2];u[s+4>>2]=x(m*p)-x(r*v);u[s>>2]=x(r*p)+x(m*v);s=(h+J<<3)+d|0;m=x(q-y);t=f+n|0;p=u[t>>2];q=x(E-F);r=u[t+4>>2];u[s+4>>2]=x(m*p)-x(q*r);u[s>>2]=x(q*p)+x(m*r);h=(h+I<<3)+d|0;l=x(o+l);n=g+n|0;m=u[n>>2];j=x(j+k);k=u[n+4>>2];u[h+4>>2]=x(l*m)-x(j*k);u[h>>2]=x(j*m)+x(l*k);i=i+1|0;if((i|0)!=(a|0)){continue}break}z=z+1|0;if((z|0)!=(b|0)){continue}break}break a}if(!b){break a}e=w(b,3);f=b<<1;while(1){a=i<<5&524256;g=a+c|0;j=u[g+4>>2];z=(a|16)+c|0;k=u[z+4>>2];h=(a|8)+c|0;l=u[h+4>>2];a=(a|24)+c|0;m=u[a+4>>2];n=(i<<3)+d|0;o=u[g>>2];p=u[z>>2];q=x(o+p);r=u[h>>2];v=u[a>>2];y=x(r+v);u[n>>2]=q+y;a=(f+i<<3)+d|0;u[a>>2]=q-y;q=x(j+k);y=x(m+l);u[n+4>>2]=q+y;u[a+4>>2]=q-y;a=(b+i<<3)+d|0;o=x(o-p);l=x(m-l);u[a>>2]=o-l;g=(e+i<<3)+d|0;u[g>>2]=o+l;j=x(j-k);k=x(r-v);u[a+4>>2]=j-k;u[g+4>>2]=j+k;i=i+1|0;if((i|0)!=(b|0)){continue}break}}}function he(a,b,c,d,e,f,g){var h=0,i=0,j=x(0),k=x(0),l=x(0),m=x(0),n=0,o=x(0),p=x(0),q=x(0),r=x(0),s=0,t=0,v=x(0),y=x(0),z=0,A=0,B=0,C=0,D=0,E=x(0),F=x(0),G=0,H=0,I=0,J=0,K=0,L=0;a:{if((a|0)!=1){if(!b|!a){break a}G=a<<1;H=a<<2;A=w(a,3);I=w(A,b);B=w(a,b);J=B<<1;while(1){K=w(a,z)&65535;L=w(z,H)&65535;i=0;while(1){h=i+L|0;n=(h<<3)+c|0;j=u[n>>2];s=(h+G<<3)+c|0;k=u[s>>2];t=(h+A<<3)+c|0;l=u[t>>2];C=(a+h<<3)+c|0;m=u[C>>2];h=i+K|0;D=(h<<3)+d|0;o=u[n+4>>2];p=u[s+4>>2];q=x(o+p);r=u[t+4>>2];v=u[C+4>>2];y=x(r+v);u[D+4>>2]=q+y;E=x(j+k);F=x(m+l);u[D>>2]=E+F;s=(h+B<<3)+d|0;j=x(j-k);k=x(r-v);r=x(j+k);n=i<<3;t=n+e|0;v=u[t>>2];o=x(o-p);l=x(m-l);m=x(o+l);p=u[t+4>>2];u[s>>2]=x(r*v)-x(m*p);u[s+4>>2]=x(m*v)+x(r*p);s=(h+J<<3)+d|0;m=x(E-F);t=f+n|0;p=u[t>>2];q=x(q-y);r=u[t+4>>2];u[s>>2]=x(m*p)-x(q*r);u[s+4>>2]=x(q*p)+x(m*r);h=(h+I<<3)+d|0;j=x(j-k);n=g+n|0;k=u[n>>2];l=x(o-l);m=u[n+4>>2];u[h>>2]=x(j*k)-x(l*m);u[h+4>>2]=x(l*k)+x(j*m);i=i+1|0;if((i|0)!=(a|0)){continue}break}z=z+1|0;if((z|0)!=(b|0)){continue}break}break a}if(!b){break a}e=w(b,3);f=b<<1;while(1){a=i<<5&524256;g=a+c|0;j=u[g+4>>2];z=(a|16)+c|0;k=u[z+4>>2];h=(a|8)+c|0;l=u[h+4>>2];a=(a|24)+c|0;m=u[a+4>>2];n=(i<<3)+d|0;o=u[g>>2];p=u[z>>2];q=x(o+p);r=u[h>>2];v=u[a>>2];y=x(r+v);u[n>>2]=q+y;a=(f+i<<3)+d|0;u[a>>2]=q-y;q=x(j+k);y=x(m+l);u[n+4>>2]=q+y;u[a+4>>2]=q-y;a=(b+i<<3)+d|0;o=x(o-p);l=x(m-l);u[a>>2]=o+l;g=(e+i<<3)+d|0;u[g>>2]=o-l;j=x(j-k);k=x(r-v);u[a+4>>2]=j+k;u[g+4>>2]=j-k;i=i+1|0;if((i|0)!=(b|0)){continue}break}}}function id(a){var b=0,c=0;b=q[a+11556>>2];if(b){q[b+20>>2]=0;c=q[b>>2];q[b+8>>2]=c;q[b+4>>2]=c;q[a+11556>>2]=0}b=q[a+284>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+284>>2]=0}b=q[a+308>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+308>>2]=0}b=q[a+608>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+608>>2]=0}b=q[a+616>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+616>>2]=0}b=q[a+212>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+212>>2]=0}b=q[a+216>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+216>>2]=0}b=q[a+196>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+196>>2]=0}b=q[a+204>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+204>>2]=0}b=q[a+208>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+208>>2]=0}b=q[a+6064>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+6064>>2]=0}b=q[a+6556>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+6556>>2]=0}b=q[a+6284>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+6284>>2]=0}b=q[a+11612>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+11612>>2]=0}b=q[a+1444>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+1444>>2]=0}b=q[a+176>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+176>>2]=0}b=q[a+192>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+192>>2]=0}b=q[a+236>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+236>>2]=0}b=q[a+11628>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+11628>>2]=0}b=q[a+260>>2];if(b){n[q[a+11620>>2]](q[a+11624>>2],b);q[a+260>>2]=0}q[a+11632>>2]=0}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=xa-32|0;xa=c;b=Y(1836)|0;q[c+8>>2]=q[a+1804>>2];J($(b|0,1,1852,c+8|0)|0);J(b|0);q[c+24>>2]=0;q[c+28>>2]=0;q[c+16>>2]=0;q[c+20>>2]=0;q[c+8>>2]=0;q[c+12>>2]=0;b=a+1776|0;Gc(b);Fh(b);d=q[a+1780>>2];f=q[a+1784>>2];if((d|0)!=(f|0)){f=(((f-d|0)+ -4>>>2^-1)<<2)+f|0;q[a+1784>>2]=f}a:{h=q[a+1776>>2];g=f-d|0;e=g>>2;b=0;b:{if(q[a+1788>>2]-h>>2>>>0<=e>>>0){break b}if(g){if(e>>>0>=1073741824){break a}b=Va(g)}else{b=0}g=b+(e<<2)|0;if((d|0)!=(f|0)){e=b;while(1){q[e>>2]=q[d>>2];e=e+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}h=q[a+1776>>2];e=q[a+1784>>2]-q[a+1780>>2]>>2}q[a+1788>>2]=g;q[a+1780>>2]=b;q[a+1776>>2]=b;q[a+1784>>2]=b+(e<<2);if(!h){b=0;break b}Ra(h);i=q[c+24>>2];b=q[c+28>>2]}q[a+1776>>2]=q[c+8>>2];q[a+1780>>2]=q[c+12>>2];q[a+1784>>2]=q[c+16>>2];q[a+1788>>2]=q[c+20>>2];q[c+16>>2]=0;q[c+20>>2]=0;q[c+8>>2]=0;q[c+12>>2]=0;q[a+1796>>2]=b;q[a+1792>>2]=i;q[c+24>>2]=0;q[c+28>>2]=0;Gc(c+8|0);d=q[c+12>>2];b=q[c+16>>2];c:{if((d|0)==(b|0)){break c}while(1){Ra(q[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}b=q[c+16>>2];e=q[c+12>>2];if((b|0)==(e|0)){break c}q[c+16>>2]=b+(((b-e|0)+ -4>>>2^-1)<<2)}b=q[c+8>>2];if(b){Ra(b)}d:{if(r[a+88|0]){break d}b=q[a+60>>2];if(!b){break d}Ra(b)}p[a+1808>>1]=257;q[a+1804>>2]=0;q[a+1816>>2]=0;o[a+1800|0]=0;e:{if(o[a+23|0]<=-1){o[q[a+12>>2]]=0;q[a+16>>2]=0;break e}o[a+23|0]=0;o[a+12|0]=0}o[a+8|0]=0;xa=c+32|0;return}sb(1504);F()}function Yd(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=x(0),l=0,m=0,n=0,o=0,s=0,t=0;h=xa-768|0;xa=h;if(r[a+53416|0]){o=32;while(1){m=p[b+4>>1];n=q[b>>2];g=31;j=t;while(1){i=n+(g+m<<2)|0;l=q[(j<<2)+c>>2];q[i>>2]=l;q[i+1280>>2]=l;g=g+ -1|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}g=0;while(1){j=n+(g+m<<2)|0;i=g<<3;u[(h+512|0)+(g<<2)>>2]=x(x(x(x(u[j>>2]*u[i+109744>>2])+x(u[j+256>>2]*u[i+110256>>2]))+x(u[j+512>>2]*u[i+110768>>2]))+x(u[j+768>>2]*u[i+111280>>2]))+x(u[j+1024>>2]*u[i+111792>>2]);g=g+1|0;if((g|0)!=64){continue}break}g=m+ -32|0;p[b+4>>1]=g<<16>>16<0?288:g;q[h+380>>2]=q[h+516>>2];q[h+384>>2]=q[h+512>>2];g=1;while(1){j=g+1|0;q[((0-g<<2)+h|0)+380>>2]=q[(h+512|0)+(j<<2)>>2];u[(h+384|0)+(g<<2)>>2]=-u[((0-g<<2)+h|0)+768>>2];g=j;if((g|0)!=31){continue}break}q[h+256>>2]=q[h+640>>2];u[h+508>>2]=-u[h+644>>2];j=e+s|0;Jc(h+384|0,h+256|0,h+128|0,h);g=0;while(1){i=g<<1;m=i|1;a:{if(m>>>0>>0){l=i<<3;i=(j<<9)+d|0;n=l+i|0;l=g<<2;k=u[l+(h+128|0)>>2];u[n>>2]=k+k;k=u[h+l>>2];u[n+4>>2]=k+k;l=i+(m<<3)|0;i=31-g<<2;u[l>>2]=u[i+h>>2]*x(-2);k=x(u[i+(h+128|0)>>2]*x(-2));break a}b:{if(i>>>0>>0){n=g<<2;k=u[n+(h+128|0)>>2];u[((j<<9)+d|0)+(i<<3)>>2]=k+k;k=u[h+n>>2];k=x(k+k);break b}q[((j<<9)+d|0)+(i<<3)>>2]=0;k=x(0)}l=i<<3;i=(j<<9)+d|0;u[(l+i|0)+4>>2]=k;q[i+(m<<3)>>2]=0;k=x(0)}u[(((j<<9)+d|0)+(m<<3)|0)+4>>2]=k;g=g+1|0;if((g|0)!=16){continue}break}o=o+32|0;t=t+32|0;s=s+1|0;if(s>>>0>2];u=q[a+8>>2];n=q[b>>2];m=n>>>4&15;j=m<<2;b=q[j+c>>2];h=n&15;i=h^31;v=b>>>i&1;k=(f|0)/4|0;x=b>>>30-(k+h|0)&1;y=b>>>30-h&1;b=m+1|0;s=q[(b<<2)+c>>2]>>>i&1;c=q[(b+k<<2)+c>>2]>>>i&1;d=(d+63|0)/64|0;m=q[a+44>>2];a:{if(e){b=(f|0)>4?l:1;l=-1<>2];j=0;k=0;if(c){a=e+ -1|0;c=(a|0)/64|0;k=(f+h|0)/8|0;b:{if((b|0)<1){c=0;break b}k=c+(i+w(d,k)|0)|0;z=(a|0)/8&7;c=0;a=0;while(1){c=(r[k+w(a,d)|0]>>>z&1)<>>s&1)<>>((e|0)/8&7):b;if(x){a=e+f|0;a=l&r[(i+w(d,(h+ -1|0)/8|0)|0)+((a|0)/64|0)|0]>>>((a|0)/8&7)}c=0;if(!v){break a}c=e+ -1|0;c=r[(i+w(d,(h+ -1|0)/8|0)|0)+((c|0)/64|0)|0]>>>((c|0)/8&7)<<16&65536;break a}j=s?15:0;k=c?15:0;a=x?15:0;b=y?15:0;c=v<<16}d=-4<<(n>>>8&7);e=o[m+4116|0];h=p[m+2>>1]+((d-(n>>>2&60)|0)-(u<>1]+(d-(n<<2&60)|0)|0)-(t<(g|0)?g:h)|0)/(f|0)^-1)&k&255)<<2)+42192>>2]|(c|b<<8|q[((j&255)<<2)+42192>>2]<<4)|(i&(-1<<(((a|0)>(g|0)?g:a)|0)/(f|0)^-1))<<12}function _h(a,b){var c=0,d=0,e=0;a:{b:{d=q[b+8>>2];c:{if(d){c=d+ -1|0;q[b+8>>2]=c;d=q[b>>2]>>>c&1;break c}d=q[b+4>>2]>>>31|0;if(r[b+20|0]){o[a+10443|0]=d;break b}Oa(b,1);c=q[b+8>>2]}o[a+10443|0]=d;if(c>>>0<8){break b}d=q[b>>2]<<32-c>>>24|0;break a}d=q[b>>2]<<8-c&255|q[b+4>>2]>>>c+24}d:{if(r[b+20|0]){break d}if(c>>>0>=9){c=c+ -8|0;q[b+8>>2]=c;break d}Oa(b,8);c=q[b+8>>2]}o[a+10444|0]=d;e=r[a+4|0]==2?11:9;e:{if(c>>>0>=e>>>0){d=q[b>>2]<<32-c>>>32-e|0;break e}d=e-c|0;d=(q[b>>2]&(-1<>2]>>>32-d}f:{if(r[b+20|0]){break f}if(c>>>0>e>>>0){q[b+8>>2]=c-e;break f}Oa(b,e)}p[a+10446>>1]=d;if(r[a+9037|0]){e=q[b+8>>2];g:{if(e>>>0>=9){c=q[b>>2]<<32-e>>>23|0;break g}c=q[b>>2]<<9-e&511|q[b+4>>2]>>>e+23}h:{if(r[b+20|0]){break h}if(e>>>0>=10){q[b+8>>2]=e+ -9;break h}Oa(b,9);d=s[a+10446>>1]}p[a+10448>>1]=c;p[a+10446>>1]=d+ -9}d=q[b+8>>2];i:{if(d){d=d+ -1|0;q[b+8>>2]=d;c=q[b>>2]>>>d&1;break i}c=q[b+4>>2]>>>31|0;if(r[b+20|0]){break i}Oa(b,1)}o[a+10450|0]=c;if(c){c=q[b+8>>2];j:{if(c>>>0>=8){d=q[b>>2]<<32-c>>>24|0;break j}d=q[b>>2]<<8-c&255|q[b+4>>2]>>>c+24}k:{if(r[b+20|0]){break k}if(c>>>0>=9){q[b+8>>2]=c+ -8;break k}Oa(b,8)}o[a+10451|0]=d}if(r[a+9037|0]){c=q[b+8>>2];l:{if(c>>>0>=9){d=q[b>>2]<<32-c>>>23|0;break l}d=q[b>>2]<<9-c&511|q[b+4>>2]>>>c+23}m:{if(r[b+20|0]){break m}if(c>>>0>=10){q[b+8>>2]=c+ -9;break m}Oa(b,9)}p[a+10452>>1]=d}return 0}function wh(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=x(0),t=x(0),v=0,y=0,z=0,A=0,B=0,C=x(0);i=xa-256|0;xa=i;if(!(!r[a+9040|0]|!r[a+3|0])){y=f>>>3|0;while(1){o=b+l|0;if(r[o|0]){z=w(l,y);p=r[a+1|0];m=0;while(1){f=p&65535;j=((l<<2)+b|0)+m|0;g=f-r[j+16|0]|0;p=(g|0)>0?g:0;g=r[j+48|0];n=g>>>0<20?g:20;a:{if(!n){break a}Rd(n,r[o+8|0]+3&255,r[j+112|0],(((l<<7)+b|0)+(m<<5)|0)+144|0,i);g=p;k=(r[a+4|0]==2|0)!=0;if(g>>>0>=r[(c<<2|((d|0)==3?k|2:k))+43184|0]){g=(r[a+4|0]==2|0)!=0;g=r[(c<<2|((d|0)==3?g|2:g))+43184|0]}h=r[a|0];g=s[(((g>>>0>>0?g:h)<<1)+a|0)+1936>>1];h=s[a+2040>>1];k=g>>>0>>0?g:h;h=(r[a+4|0]==2|0)!=0;if(f>>>0>=r[(c<<2|((d|0)==3?h|2:h))+43184|0]){f=(r[a+4|0]==2|0)!=0;f=r[(c<<2|((d|0)==3?f|2:f))+43184|0]}g=r[a|0];f=s[(((f>>>0>>0?f:g)<<1)+a|0)+1936>>1];g=s[a+2040>>1];g=f>>>0>>0?f:g;v=g-k|0;if(v<<16>>16<1){break a}f=r[j+80|0];h=0;Qa(i+96|0,0,160);g=(((f?g+ -1|0:k)&65535)+z<<2)+e|0;k=f?-1:1;A=n+ -1|0;j=0;while(1){B=h<<24>>24;f=0;q=u[g>>2];t=q;while(1){C=u[(i+96|0)+(f+B<<2)>>2];f=f+1|0;t=x(t+x(C*u[(f<<2)+i>>2]));if((f|0)!=(n|0)){continue}break}f=h+ -1|0;h=f<<24>>24<0?A:f;f=h<<24>>24;u[(i+96|0)+(f+n<<2)>>2]=q;u[(i+96|0)+(f<<2)>>2]=q;u[g>>2]=t;g=(k<<2)+g|0;j=j+1|0;if((j&65535)>>>0<(v&65535)>>>0){continue}break}}m=m+1|0;if(m>>>0>>0>2];c:{if(d){d=d+ -1|0;q[a+8>>2]=d;e=q[a>>2]>>>d&1;break c}e=q[a+4>>2]>>>31|0;if(r[a+20|0]){o[b+9|0]=e;break b}Oa(a,1);d=q[a+8>>2]}o[b+9|0]=e;if(!d){break b}d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break a}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break a}Oa(a,1)}o[b+10|0]=d;if(d){e=q[a+8>>2];d:{if(e>>>0>=14){d=q[a>>2]<<32-e>>>18|0;break d}d=q[a>>2]<<14-e&16383|q[a+4>>2]>>>e+18}e:{if(r[a+20|0]){break e}if(e>>>0>=15){q[a+8>>2]=e+ -14;break e}Oa(a,14)}p[b+12>>1]=d}d=q[a+8>>2];f:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break f}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break f}Oa(a,1)}o[b+14|0]=d;g:{if(!r[b+8|0]){e=253;if(Vd(f+8|0,a)){break g}if(c){Sa(c,f+8|0,471)}d=r[b+14|0]}e=0;if((d&255)!=1){break g}if(r[b|0]>=17){h:{i:{j:{k:{c=q[a+8>>2];l:{if(c){d=c+ -1|0;q[a+8>>2]=d;c=q[a>>2]>>>d&1;break l}c=q[a+4>>2]>>>31|0;if(r[a+20|0]){o[b+15|0]=c;break k}Oa(a,1);d=q[a+8>>2]}o[b+15|0]=c;if(!d){break k}d=d+ -1|0;q[a+8>>2]=d;c=q[a>>2]>>>d&1;break j}c=q[a+4>>2]>>>31|0;if(r[a+20|0]){o[b+16|0]=c;break i}Oa(a,1);d=q[a+8>>2]}o[b+16|0]=c;if(!d){break i}c=d+ -1|0;q[a+8>>2]=c;d=q[a>>2]>>>c&1;break h}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break h}Oa(a,1)}o[b+17|0]=d}b=r[a+20|0];c=q[a+8>>2];m:{if(c){if(b){break g}if(c>>>0<2){break m}q[a+8>>2]=c+ -1;break g}if(b){break g}}Oa(a,1)}xa=f+480|0;return e<<24>>24}function Bc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=x(0),p=0,q=0,t=0,v=0,y=0,z=0,A=0,B=x(0);i=xa-256|0;xa=i;if(!(!r[a+9040|0]|!r[a+3|0])){v=f>>>3|0;while(1){p=b+l|0;if(r[p|0]){y=w(l,v);q=r[a+1|0];m=0;while(1){f=q&65535;j=((l<<2)+b|0)+m|0;g=f-r[j+16|0]|0;q=(g|0)>0?g:0;g=r[j+48|0];n=g>>>0<20?g:20;a:{if(!n){break a}Rd(n,r[p+8|0]+3&255,r[j+112|0],(((l<<7)+b|0)+(m<<5)|0)+144|0,i);g=q;k=(r[a+4|0]==2|0)!=0;if(g>>>0>=r[(c<<2|((d|0)==3?k|2:k))+43184|0]){g=(r[a+4|0]==2|0)!=0;g=r[(c<<2|((d|0)==3?g|2:g))+43184|0]}h=r[a|0];g=s[(((g>>>0>>0?g:h)<<1)+a|0)+1936>>1];h=s[a+2040>>1];k=g>>>0>>0?g:h;h=(r[a+4|0]==2|0)!=0;if(f>>>0>=r[(c<<2|((d|0)==3?h|2:h))+43184|0]){f=(r[a+4|0]==2|0)!=0;f=r[(c<<2|((d|0)==3?f|2:f))+43184|0]}g=r[a|0];f=s[(((f>>>0>>0?f:g)<<1)+a|0)+1936>>1];g=s[a+2040>>1];g=f>>>0>>0?f:g;t=g-k|0;if(t<<16>>16<1){break a}f=r[j+80|0];h=0;Qa(i+96|0,0,160);g=(((f?g+ -1|0:k)&65535)+y<<2)+e|0;k=f?-1:1;z=n+ -1|0;j=0;while(1){A=h<<24>>24;o=u[g>>2];f=0;while(1){B=u[(i+96|0)+(f+A<<2)>>2];f=f+1|0;o=x(o-x(B*u[(f<<2)+i>>2]));if((f|0)!=(n|0)){continue}break}f=h+ -1|0;h=f<<24>>24<0?z:f;f=h<<24>>24;u[(i+96|0)+(f+n<<2)>>2]=o;u[(i+96|0)+(f<<2)>>2]=o;u[g>>2]=o;g=(k<<2)+g|0;j=j+1|0;if((j&65535)>>>0<(t&65535)>>>0){continue}break}}m=m+1|0;if(m>>>0>>0>2]=-1;q[g+148>>2]=-1;q[g+152>>2]=-1;q[g+156>>2]=-1;q[g+160>>2]=-1;q[g+164>>2]=-1;q[g+168>>2]=-1;q[g+172>>2]=-1;q[g+176>>2]=-1;q[g+180>>2]=-1;q[g+184>>2]=-1;q[g+188>>2]=-1;q[g+128>>2]=-1;q[g+132>>2]=-1;q[g+136>>2]=-1;q[g+140>>2]=-1;f=d+k|0;o[e|0]=r[f+ -2|0];o[e+1|0]=r[f+ -1|0];e=0;if((l|0)>0){while(1){f=e<<1;m=(w(b,e)+k|0)+a|0;o[f+c|0]=r[m+ -2|0];o[(f|1)+c|0]=r[m+ -1|0];e=e+1|0;if((l|0)!=(e|0)){continue}break}}e=0;a:{b:{if((k|0)>0){f=l+ -1|0;Sa(g- -64|0,w(f,b)+a|0,k);if(!r[h+2|0]){break b}while(1){c=r[a+e|0]-r[d+e|0]|0;o[e+g|0]=(c|0)>-1?(c|0)!=0:-1;e=e+1|0;if((k|0)!=(e|0)){continue}break}break a}if(r[h+2|0]){break a}l=l+ -1|0;a=a+b|0;break a}c=a+b|0;while(1){l=r[c+e|0]-r[a+e|0]|0;o[e+g|0]=(l|0)>-1?(l|0)!=0:-1;e=e+1|0;if((k|0)!=(e|0)){continue}break}l=f;a=c}f=l-!r[h+3|0]|0;c:{if((f|0)>=1){if((k|0)<1){break c}h=0;while(1){e=0;while(1){c=e+g|0;l=o[c|0];n=c;c=a+e|0;m=r[c|0]-r[(b+e|0)+a|0]|0;m=(m|0)>-1?(m|0)!=0:-1;o[n|0]=0-m;l=q[(l+m<<2)+38376>>2]&r[g+128+(e>>>1)|0];if(l){n=c;c=o[l+(e&1?j:i)|0]+r[c|0]|0;c=(c|0)>0?c:0;o[n|0]=(c|0)<255?c:255}e=e+1|0;if((k|0)!=(e|0)){continue}break}a=a+b|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}if((k|0)<1){break c}Sa(d,g- -64|0,k)}xa=g+192|0}function Sh(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=xa-38912|0;xa=g;Qa(g+19456|0,0,19456);h=Qa(g,0,19456);a:{if(!a){f=20;break a}f=21;g=r[a+12436|0];if(g>>>0>3){break a}b:{switch(g-1|0){case 0:case 1:break a;default:break b}}c:{if(!r[a+10|0]){f=!q[a+12432>>2];break c}f=1;if(!r[a+12426|0]){break c}o[a+12412|0]=255}o[a+9|0]=(d|0)!=0;if(!q[a+12452>>2]){k=a,l=Zb(e?32:64),q[k+12452>>2]=l}k=a,l=Lb(a,b,h+19456|0,0,f)+r[a+10|0]|0,o[k+10|0]=l;d=r[a+53416|0];i=d+6|0;j=r[a+53419|0];g=d;while(1){f=(h+19456|0)+(d<<9)|0;d=(d+j<<9)+a|0;q[f>>2]=q[d+12456>>2];q[f+4>>2]=q[d+12460>>2];q[f+8>>2]=q[d+12464>>2];q[f+12>>2]=q[d+12468>>2];q[f+16>>2]=q[d+12472>>2];q[f+20>>2]=q[d+12476>>2];q[f+24>>2]=q[d+12480>>2];q[f+28>>2]=q[d+12484>>2];q[f+32>>2]=q[d+12488>>2];q[f+36>>2]=q[d+12492>>2];g=g+1|0;d=g&255;if(i>>>0>d>>>0){continue}break}bi(q[a+53420>>2],h+19456|0,h);d=q[a+12448>>2];d:{if(e){Ib(a,d,h+19456|0,b);Ib(a,q[a+12452>>2],h,c);break d}Hb(a,d,h+19456|0,b);Hb(a,q[a+12452>>2],h,c)}if(r[a+53426|0]){o[a+9|0]=0}if(!(r[a+10|0]|!q[a+12432>>2])){f=$b(a,0);if(f){break a}}g=0;e:{if(r[a+53418|0]){b=a+12456|0;f=0;while(1){nb(b+(f<<9)|0,b+(r[a+53416|0]+f<<9)|0,512);f=f+1|0;g=r[a+53418|0];if(f>>>0>>0){continue}break}if(g>>>0>39){break e}}Qa(((g<<9)+a|0)+12456|0,0,((39-g&255)<<9)+512|0)}q[a+12428>>2]=q[a+12428>>2]+1;f=0}xa=h+38912|0;return f}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=x(0),l=0,m=0,n=0,o=0;a:{if(r[a+53450|0]){break a}f=a+b|0;g=r[f+610|0];b:{if(!g){break b}c=r[f+11|0];e=!c;c:{if(!c){l=w(b,6)+a|0;m=w(b,640)+a|0;h=w(b,1280)+a|0;break c}l=w(b,6)+a|0;m=w(b,640)+a|0;h=w(b,1280)+a|0;while(1){c=0;i=r[(d+l|0)+634|0]+a|0;if(r[i+24|0]){while(1){j=p[((m+w(c,10)|0)+(d<<1)|0)+730>>1]>>e;d:{if(j>>>0<=63){q[((h+w(c,20)|0)+(d<<2)|0)+2268>>2]=q[(j<<2)+96960>>2];break d}q[((h+w(c,20)|0)+(d<<2)|0)+2268>>2]=0}c=c+1|0;if(c>>>0>1];n=j>>e;e:{if(n>>>0>=64){q[((h+w(c,20)|0)+(d<<2)|0)+2268>>2]=0;break e}o=((h+w(c,20)|0)+(d<<2)|0)+2268|0;k=u[(n<<2)+96960>>2];u[o>>2]=k;if(!(j&1)){break e}u[o>>2]=k*x(1.4142135381698608)}c=c+1|0;if(c>>>0>>0>1?c:1;g=(b<<9)+a|0;a=0;while(1){c=0;while(1){b=(g+(c<<3)|0)+(a<<2)|0;e=q[b+7388>>2];f:{if(e>>>0>=31){q[b+8412>>2]=0;k=x(0);break f}e=e<<2;q[b+8412>>2]=q[e+100560>>2];k=u[e+103920>>2]}u[b+9436>>2]=k;c=c+1|0;if((d|0)!=(c|0)){continue}break}a=a+1|0;if((f|0)!=(a|0)){continue}break}}}function vj(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0;if((e|0)>=2){x=e>>1;e=b+1|0;o=i?b:e;i=i?e:b;u=f<<1;q=0-d|0;d=d>>>1|0;e=a+f|0;t=h<<1;b=t+c|0;while(1){h=d;if(h<<16>>16>=1){while(1){j=r[i|0]+ -128|0;f=w(j,13073)>>13;m=r[a|0];l=f+m|0;l=(l|0)>0?l:0;y=((l|0)<255?l:255)<<8&63488;k=r[o|0]+ -128|0;l=w(k,16530)>>13;s=l+m|0;s=(s|0)>0?s:0;n=m;m=w(j,-6664)+w(k,-3207)>>13;j=n+m|0;j=(j|0)>0?j:0;p[c>>1]=y|((s|0)<255?s:255)>>>3|((j|0)<255?j:255)<<3&65504;j=r[a+1|0];k=j+f|0;k=(k|0)>0?k:0;n=((k|0)<255?k:255)<<8&63488;k=j+l|0;k=(k|0)>0?k:0;j=j+m|0;j=(j|0)>0?j:0;p[c+2>>1]=n|((k|0)<255?k:255)>>>3|((j|0)<255?j:255)<<3&65504;j=r[e|0];k=j+m|0;k=(k|0)>0?k:0;n=((k|0)<255?k:255)<<3&65504;k=j+l|0;k=(k|0)>0?k:0;j=f+j|0;j=(j|0)>0?j:0;p[b>>1]=n|((k|0)<255?k:255)>>>3|((j|0)<255?j:255)<<8&63488;n=m;m=r[e+1|0];j=n+m|0;j=(j|0)>0?j:0;l=l+m|0;l=(l|0)>0?l:0;f=f+m|0;f=(f|0)>0?f:0;p[b+2>>1]=((j|0)<255?j:255)<<3&65504|((l|0)<255?l:255)>>>3|((f|0)<255?f:255)<<8&63488;b=b+4|0;e=e+2|0;c=c+4|0;a=a+2|0;i=i+2|0;o=o+2|0;f=h<<16;h=h+ -1|0;if(f>>16>1){continue}break}}f=q<<1;c=f+(b+t|0)|0;e=(e+u|0)+q|0;a=(a+u|0)+q|0;i=(g+i|0)+q|0;o=(g+o|0)+q|0;b=f+((t<<1)+b|0)|0;v=v+1|0;if((x|0)>v<<16>>16){continue}break}}}function re(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=q[a+44>>2];e=q[a+48>>2];c=p[e+872>>1];d=c;f=q[a+28>>2];b=f;i=r[b|0];if(i){b=r[f+1|0]?f+ -6|0:f}g=s[b+2>>1]+d|0;d=p[j+4118>>1];a:{if((g|0)>=(d|0)){b=0;if(((g|0)%(d|0)|0)==(i|0)){break a}}b=(c|0)!=(i|0)}g=r[f+1|0];b:{if(b){b=d;if((c+w(d,p[e+874>>1])|0)<(w(d,g)+i|0)){break b}}b=s[f+2>>1]}q[a+248>>2]=16843009;c=q[a+4>>2];e=q[a+8>>2];if(!(q[a+16>>2]?e:0)){o[a+250|0]=0;p[a+248>>1]=0}e=w(d,e);c:{if(!(q[a+12>>2]?c:0)){p[a+250>>1]=0;if(q[a+16>>2]?q[a+24>>2]:0){break c}o[a+248|0]=0;if(q[a+20>>2]==((b<<16>>16)+ -1|0)){break c}o[a+249|0]=0;break c}if((c|0)<1){break c}h=q[a+24>>2];if(!(q[a+16>>2]?h:0)){o[a+250|0]=0;o[a+248|0]=0;h=q[a+20>>2];if(!h){o[a+251|0]=0}if((h|0)==((b<<16>>16)+ -1|0)){break c}o[a+249|0]=0;break c}if(q[a+20>>2]|(h|0)!=1){break c}o[a+250|0]=0}h=c+e|0;e=s[f+2>>1];d:{e:{if((c|0)==(d+ -1|0)){b=q[a+12>>2];break e}c=q[a+12>>2];b=e+ -1|0;if((c|0)!=(b|0)){break d}}o[a+249|0]=0;c=b}b=h+1|0;f:{if((e|0)!=(c+1|0)){break f}c=g;g=q[a+16>>2]+1|0;c=c+g|0;if((g|0)==s[f+4>>1]){if((c|0)==p[j+4120>>1]?(d|0)==(e+i|0):0){break f}b=r[f+6|0]+w(d,r[f+7|0])|0;break f}b=w(c,d)+i|0}q[a+680>>2]=b;c=q[a+84>>2];d=c+(h<<2)|0;q[a+264>>2]=q[c+(b<<2)>>2]-q[d>>2];b=q[d>>2];q[a+268>>2]=b;q[a+76>>2]=q[a+96>>2]+(b<<4)}function Yj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;g=xa-192|0;xa=g;q[g+144>>2]=-1;q[g+148>>2]=-1;q[g+152>>2]=-1;q[g+156>>2]=-1;q[g+160>>2]=-1;q[g+164>>2]=-1;q[g+168>>2]=-1;q[g+172>>2]=-1;q[g+176>>2]=-1;q[g+180>>2]=-1;q[g+184>>2]=-1;q[g+188>>2]=-1;q[g+128>>2]=-1;q[g+132>>2]=-1;q[g+136>>2]=-1;q[g+140>>2]=-1;f=j+ -1|0;o[e|0]=r[f+d|0];e=0;if((k|0)>0){while(1){o[c+e|0]=r[(f+w(b,e)|0)+a|0];e=e+1|0;if((k|0)!=(e|0)){continue}break}}e=0;a:{b:{if((j|0)>0){f=k+ -1|0;Sa(g- -64|0,w(f,b)+a|0,j);if(!r[h+2|0]){break b}while(1){c=r[a+e|0]-r[d+e|0]|0;o[e+g|0]=(c|0)>-1?(c|0)!=0:-1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break a}if(r[h+2|0]){break a}k=k+ -1|0;a=a+b|0;break a}c=a+b|0;while(1){k=r[c+e|0]-r[a+e|0]|0;o[e+g|0]=(k|0)>-1?(k|0)!=0:-1;e=e+1|0;if((j|0)!=(e|0)){continue}break}k=f;a=c}h=k-!r[h+3|0]|0;c:{if((h|0)>=1){if((j|0)<1){break c}c=0;while(1){e=0;while(1){f=e+g|0;k=o[f|0];m=f;f=a+e|0;l=r[f|0]-r[(b+e|0)+a|0]|0;l=(l|0)>-1?(l|0)!=0:-1;o[m|0]=0-l;k=q[(k+l<<2)+38376>>2]&r[(g+128|0)+e|0];if(k){m=f;f=o[i+k|0]+r[f|0]|0;f=(f|0)>0?f:0;o[m|0]=(f|0)<255?f:255}e=e+1|0;if((j|0)!=(e|0)){continue}break}a=a+b|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}if((j|0)<1){break c}Sa(d,g- -64|0,j)}xa=g+192|0}function ej(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=xa-16|0;xa=c;b=a+376|0;Pa(b,1);d=Pa(b,6);o[c+8|0]=d;Pa(b,6);f=c,g=Pa(b,3)+ -1|0,o[f+9|0]=g;if(q[a+128>>2]){d=r[q[a+648>>2]+1260|0];o[c+8|0]=d}b=0;d=d<<24>>24;a:{if(d>>>0>40){break a}b:{c:{d:{e:{f:{g:{switch(d-10|0){case 11:q[a+28>>2]=!q[a+32>>2];break f;case 9:case 10:e=1;break;case 0:case 1:case 2:case 3:case 4:case 5:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 25:case 27:case 28:break a;case 26:break b;case 29:case 30:break c;case 24:break d;case 23:break e;case 6:case 7:case 8:break g;default:break f}}q[a+28>>2]=e;if(d+ -16>>>0>4){break a}}b=986;if(q[a+104>>2]){break a}b=980;if(!q[a+112>>2]|!q[a+116>>2]){break a}q[a+32>>2]=0;q[a+108>>2]=0;b=Li(a,c+8|0);if(b){break a}if(!(q[a+128>>2]|(q[a+28>>2]|(r[c+8|0]&254)!=8))){b=0;break a}b=se(a);break a}h:{if(q[a+104>>2]){break h}q[a+108>>2]=1;if(!q[a+112>>2]){break h}if(q[a+84>>2]){break a}}b=aj(a);if(!b){$i(a,o[q[a+296>>2]+143628|0])}q[a+144>>2]=b;break a}i:{if(q[a+104>>2]){break i}q[a+108>>2]=1;if(!q[a+116>>2]){break i}if(q[a+84>>2]){break a}}b=_i(a);if(!b){we(a,o[q[a+300>>2]+4360|0],64)}q[a+144>>2]=b;break a}b=986;if(q[a+104>>2]==1){break a}b=Ti(a,c+8|0);break a}q[a+32>>2]=1}xa=c+16|0;return b}function Zj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,p=0,s=0,t=0;f=xa-192|0;xa=f;q[f+144>>2]=-1;q[f+148>>2]=-1;q[f+152>>2]=-1;q[f+156>>2]=-1;q[f+160>>2]=-1;q[f+164>>2]=-1;q[f+168>>2]=-1;q[f+172>>2]=-1;q[f+176>>2]=-1;q[f+180>>2]=-1;q[f+184>>2]=-1;q[f+188>>2]=-1;q[f+128>>2]=-1;q[f+132>>2]=-1;q[f+136>>2]=-1;q[f+140>>2]=-1;o[e|0]=r[(d+k|0)+ -2|0];g=k+ -1|0;o[e+1|0]=r[g+d|0];e=0;if((l|0)>0){while(1){n=e<<1;m=(w(b,e)+k|0)+a|0;o[n+f|0]=r[m+ -2|0];o[(n|1)+f|0]=r[m+ -1|0];e=e+1|0;if((l|0)!=(e|0)){continue}break}}if((k|0)>=1){n=w(l+ -1|0,b);e=0;while(1){o[d+e|0]=r[(e+n|0)+a|0];e=e+1|0;if((k|0)!=(e|0)){continue}break}}if(!r[h|0]){o[f+128|0]=0}if(!r[h+1|0]){o[(f+128|0)+(g>>1)|0]=0}if((l|0)>=1){if((k|0)>=1){g=0;while(1){h=r[a|0];d=g<<1;e=h-r[d+c|0]|0;n=(e|0)>-1?(e|0)!=0:-1;d=r[a+1|0]-r[(d|1)+c|0]|0;d=(d|0)>-1?(d|0)!=0:-1;e=0;while(1){m=h&255;p=a+e|0;h=m-r[p+2|0]|0;s=(h|0)>-1?(h|0)!=0:-1;h=e&1;t=q[(s+((h?d:n)<<24>>24)<<2)+38376>>2]&r[f+128+(e>>>1)|0];if(t){m=m+o[(h?j:i)+t|0]|0;m=(m|0)>0?m:0;o[p|0]=(m|0)<255?m:255}e=e+1|0;if((k|0)!=(e|0)){m=0-s|0;d=h?m:d;n=h?n:m;h=r[a+e|0];continue}break}a=a+b|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}}a=l<<1;Sa(c,f,(a|0)>1?a:1)}xa=f+192|0}function ae(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=xa-16|0;xa=f;a:{b:{c:{e=q[c+4>>2];d:{if(o[e+11|0]<=-1){g=q[c+8>>2];d=q[e>>2];h=g+d|0;if(r[h|0]!=255|r[h+1|0]<=239){break c}e=d;break d}g=q[c+8>>2];d=g+e|0;if(r[d|0]!=255|r[d+1|0]<240){break b}}d=e+g|0;b=q[a+4>>2];e:{if(o[165984]&1){break e}if(!eb(165984)){break e}i=165980,j=M(3,1656)|0,q[i>>2]=j;db(165984)}a=q[41495];q[f>>2]=d;q[f+8>>2]=q[c+12>>2];N(a|0,b|0,1644,f|0);break a}e=q[e>>2]}e=r[e+g|0];q[c+8>>2]=g+1;q[c+12>>2]=q[c+12>>2]+ -1;if(r[a+1809|0]){h=0;d=(e>>>2&3)+ -1|0;if(d>>>0<=2){h=q[(d<<2)+3264>>2]}d=(e>>>4|0)+ -2|0;f:{if(d>>>0>9){break f}e=(e&1)+1|0;g:{switch(d-1|0){case 7:b=n[q[q[a+24>>2]+12>>2]](a+24|0,c)|0;if(b){b=b+q[a+32>>2]|0;q[a+32>>2]=(b|0)==q[a+28>>2]?0:b}zc(a,q[a+1844>>2]<<10,q[a+40>>2],r[a+44|0]);break a;case 8:zc(a,16e3,16e3,e);break f;case 0:case 1:case 2:case 3:case 4:case 5:case 6:break f;default:break g}}zc(a,w(q[a+1844>>2],576),h,e)}if(r[a+1809|0]){break a}}c=n[q[q[a+24>>2]+12>>2]](a+24|0,c)|0;if(!c){break a}d=c+q[a+32>>2]|0;c=q[a+28>>2];q[a+32>>2]=(c|0)==(d|0)?0:d;if((c|0)!=(d|0)){break a}c=q[a+4>>2];h:{if(o[166e3]&1){break h}if(!eb(166e3)){break h}i=165996,j=M(2,1732)|0,q[i>>2]=j;db(166e3)}a=q[41499];q[f>>2]=b;N(a|0,c|0,1644,f|0)}xa=f+16|0}function uj(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;if((e|0)>=2){v=e>>1;e=b+1|0;n=i?b:e;i=i?e:b;s=f<<1;o=0-d|0;x=d>>>1|0;e=a+f|0;t=h<<2;b=t+c|0;y=h<<3;while(1){d=x;if(d<<16>>16>=1){while(1){j=r[i|0]+ -128|0;f=w(j,13073)>>13;l=r[a|0];h=f+l|0;h=(h|0)>0?h:0;z=((h|0)<255?h:255)<<16;k=r[n|0]+ -128|0;h=w(k,16530)>>13;p=h+l|0;p=(p|0)>0?p:0;m=l;l=w(j,-6664)+w(k,-3207)>>13;j=m+l|0;j=(j|0)>0?j:0;q[c>>2]=z|((p|0)<255?p:255)|((j|0)<255?j:255)<<8;j=r[a+1|0];k=j+f|0;k=(k|0)>0?k:0;m=((k|0)<255?k:255)<<16;k=h+j|0;k=(k|0)>0?k:0;j=j+l|0;j=(j|0)>0?j:0;q[c+4>>2]=m|((k|0)<255?k:255)|((j|0)<255?j:255)<<8;j=r[e|0];k=j+l|0;k=(k|0)>0?k:0;m=((k|0)<255?k:255)<<8;k=h+j|0;k=(k|0)>0?k:0;j=f+j|0;j=(j|0)>0?j:0;q[b>>2]=m|((k|0)<255?k:255)|((j|0)<255?j:255)<<16;m=l;l=r[e+1|0];j=m+l|0;j=(j|0)>0?j:0;h=h+l|0;h=(h|0)>0?h:0;f=f+l|0;f=(f|0)>0?f:0;q[b+4>>2]=((j|0)<255?j:255)<<8|((h|0)<255?h:255)|((f|0)<255?f:255)<<16;b=b+8|0;e=e+2|0;c=c+8|0;a=a+2|0;i=i+2|0;n=n+2|0;f=d<<16;d=d+ -1|0;if(f>>16>1){continue}break}}d=o<<2;c=d+(b+t|0)|0;e=(e+s|0)+o|0;a=(a+s|0)+o|0;i=(g+i|0)+o|0;n=(g+n|0)+o|0;b=d+(b+y|0)|0;u=u+1|0;if((v|0)>u<<16>>16){continue}break}}}function xi(){var a=0,b=0;ga(1972,1992,2020,0,2036,1,2039,0,2039,0,1024,2041,2);a=Va(8);q[a>>2]=3;q[a+4>>2]=0;W(1972,1032,3,2044,2056,4,a|0,0);a=Va(8);q[a>>2]=5;q[a+4>>2]=0;W(1972,1038,3,2064,2056,6,a|0,0);a=Va(8);q[a>>2]=7;q[a+4>>2]=0;W(1972,1050,3,2064,2056,6,a|0,0);a=Va(8);q[a>>2]=8;q[a+4>>2]=0;W(1972,1057,2,2076,2084,9,a|0,0);a=Va(8);q[a>>2]=10;q[a+4>>2]=0;W(1972,1064,2,2076,2084,9,a|0,0);b=Va(8);a=b;q[a>>2]=11;q[a+4>>2]=0;a=Va(8);q[a>>2]=12;q[a+4>>2]=0;V(1972,1082,1424,2088,13,b|0,1424,2056,14,a|0);b=Va(8);a=b;q[a>>2]=15;q[a+4>>2]=0;a=Va(8);q[a>>2]=16;q[a+4>>2]=0;V(1972,1092,1424,2088,13,b|0,1424,2056,14,a|0);b=Va(8);a=b;q[a>>2]=17;q[a+4>>2]=0;a=Va(8);q[a>>2]=18;q[a+4>>2]=0;V(1972,1100,1424,2088,13,b|0,1424,2056,14,a|0);b=Va(8);a=b;q[a>>2]=19;q[a+4>>2]=0;a=Va(8);q[a>>2]=20;q[a+4>>2]=0;V(1972,1112,1424,2088,13,b|0,1424,2056,14,a|0);b=Va(8);a=b;q[a>>2]=21;q[a+4>>2]=0;a=Va(8);q[a>>2]=22;q[a+4>>2]=0;V(1972,1124,1424,2088,13,b|0,1424,2056,14,a|0);a=Va(8);q[a>>2]=23;q[a+4>>2]=0;V(1972,1128,1424,2088,13,a|0,0,0,0,0);ga(2252,2276,2308,1972,2036,24,2036,25,2036,26,1139,2041,27);a=Va(4);q[a>>2]=28;W(2252,2092,2,2324,2084,29,a|0,0);aa(1972,2112,3,2332,2344,30,31);aa(1972,2122,3,3252,2344,32,33)}function Hj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;q[b+4>>2]=0;c=q[a+8>>2];q[b+36>>2]=1;i=q[c+60>>2];a=i+ -1|0;if(!(a>>>0>12|!(7441>>>(a&65535)&1))){q[b+40>>2]=q[(a<<2)+41152>>2]}q[b+8>>2]=1;a=w(q[c+4>>2]+63&-64,q[c>>2]+63&-64);q[b+44>>2]=(a|0)>1048576?a:1048576;d=q[c+56>>2];f=q[c+4>>2];g=b;a:{b:{if(q[c+112>>2]){if(d){break b}a=q[c+16>>2];d=q[c+8>>2];e=(a|0)>(d|0)?a:d;f=q[c+12>>2];a=1;break a}a=q[c+16>>2];e=q[c>>2];e=(a|0)>(e|0)?a:e;a=1;if(!d){break a}q[b+8>>2]=32;a=32;break a}d=q[c+636>>2]+w(q[c+11596>>2],8976)|0;h=o[d+14|0]+ -1|0;e=q[c+16>>2];f=f+160|0;a=o[(d+h|0)+25|0]+(q[c+11636>>2]!=1?o[(d+h|0)+32|0]+1|0:1)|0;q[b+8>>2]=a;a=a>>>0<32?a:32}d=a;q[g+8>>2]=a;a=i+ -1|0;c:{if(a>>>0>12){break c}d:{e:{f:{switch(a-1|0){default:g=w(e,f);q[b+300>>2]=g;g=g>>2;j=g;h=304;a=308;break d;case 3:q[b+300>>2]=w(e,f)<<1;break e;case 7:q[b+300>>2]=w(e,f)<<1;break e;case 11:q[b+300>>2]=w(e,f)<<2;break e;case 9:case 10:break f;case 0:case 1:case 2:case 4:case 5:case 6:case 8:break c}}a=w(e,f);q[b+300>>2]=a;g=a>>1;h=304;a=308;break d}g=0;h=308;a=304}q[b+h>>2]=g;q[a+b>>2]=j}q[b+32>>2]=i;q[b+28>>2]=0;q[b+20>>2]=3e4;q[b+24>>2]=1e6;q[b+16>>2]=e;q[b+12>>2]=f;q[c+52>>2]=d;if(q[b>>2]==564){q[b+560>>2]=q[c+4>>2]}}function ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,s=0,t=0,u=0;h=a+376|0;while(1){k=(i<<1)+4|0;a=1<1?a:1;o=(i|0)==3?2:6;s=w(i,6);t=2<>2]<<1)+b|0;a:{if(!Pa(h,1)){f=Ua(h);f=(f|0)>(j|0)?j:(f|0)>0?f:0;if(!f){break a}Sa(e,e-(f<>>0<=1){f=q[u>>2];c=8;d=0;while(1){c=((Xa(h)+c|0)+256|0)%256|0;p[(r[d+f|0]<<1)+e>>1]=c;d=d+1|0;if((l|0)!=(d|0)){continue}break}break a}f=Xa(h);g=0;n=q[39498];f=f+8|0;d=f;if((i|0)!=2){d=f;while(1){m=Xa(h);c=r[g+n|0];c=c<<5&7936|c<<3&56;d=((d+m|0)+256|0)%256|0;p[c+e>>1]=d;p[(c|2)+e>>1]=d;p[(c|4)+e>>1]=d;p[(c|6)+e>>1]=d;p[(c|64)+e>>1]=d;p[(c|66)+e>>1]=d;p[(c|68)+e>>1]=d;p[(c|70)+e>>1]=d;p[(c|128)+e>>1]=d;p[(c|130)+e>>1]=d;p[(c|132)+e>>1]=d;p[(c|134)+e>>1]=d;p[(c|192)+e>>1]=d;p[(c|194)+e>>1]=d;p[(c|196)+e>>1]=d;p[(c|198)+e>>1]=d;p[e>>1]=f;g=g+1|0;if((l|0)!=(g|0)){continue}break}break a}while(1){m=Xa(h);c=r[g+n|0];c=c<<3&1984|c<<2&28;d=((d+m|0)+256|0)%256|0;p[c+e>>1]=d;p[(c|2)+e>>1]=d;p[(c|32)+e>>1]=d;p[(c|34)+e>>1]=d;g=g+1|0;if((l|0)!=(g|0)){continue}break}p[e>>1]=f}j=j+1|0;if((o|0)!=(j|0)){continue}break}i=a;if((a|0)!=4){continue}break}}function Ei(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,r=0,s=0,t=0;c=q[a+360>>2];b=(o[c+14|0]+ -1|0)+c|0;i=o[b+25|0];i=q[a+11636>>2]!=1?o[b+32|0]+i|0:i;a:{if(q[a+56>>2]){while(1){g=q[(q[a+244>>2]+(d<<2)|0)+264>>2];if(!g){break a}e=q[g>>2];if(!e){break a}c=q[g+4>>2];if(!c){break a}b=q[a+20>>2];q[g+4>>2]=(c+w(b,40)|0)+80;q[g>>2]=(e+w(b,80)|0)+80;d=d+1|0;if((d|0)!=64){continue}break}break a}if((i|0)<0){break a}k=w(q[a+20>>2],p[c+2>>1]+160|0);r=(k|0)/2|0;t=k+r|0;d=q[a+248>>2];b=q[a+11628>>2];l=q[a+256>>2];while(1){l=l-t|0;if((l|0)<=-1){q[a+652>>2]=982;return 982}s=b+k|0;f=q[a+20>>2];q[d+4>>2]=(s+w(f,40)|0)+80;b=(w(f,80)+b|0)+80|0;q[d>>2]=b;j=q[a>>2];h=0;e=q[a+4>>2];if((e|0)>=1){while(1){o[b+ -1|0]=0;o[b+j|0]=0;b=b+f|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}b=q[d>>2]}c=b+ -1|0;b=j+2|0;Qa(c-f|0,0,b);Qa(c+w(e,f)|0,0,b);m=e>>1;if((e|0)>=2){g=(m|0)>1?m:1;e=j+1|0;b=q[d+4>>2];h=0;while(1){c=b+ -2|0;o[c|0]=0;o[c+1|0]=0;o[b+j|0]=0;o[b+e|0]=0;b=b+f|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}c=q[d+4>>2]+ -2|0;b=j+4|0;Qa(c-f|0,0,b);Qa(c+w(f,m)|0,0,b);if(nc(q[a+244>>2],d,n)){q[a+652>>2]=983;return 983}b=r+s|0;d=d+8476|0;c=(i|0)==(n|0);n=n+1|0;if(!c){continue}break}}return 0}function Fg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(Za(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(Za(a,q[b>>2],e)){if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+32>>2]=d;if(q[b+44>>2]!=4){f=a+16|0;i=f+(q[a+12>>2]<<3)|0;j=b;b:{c:{while(1){d:{if(f>>>0>=i>>>0){break d}p[b+52>>1]=0;sc(f,b,c,c,1,e);if(r[b+54|0]){break d}e:{if(!r[b+53|0]){break e}if(r[b+52|0]){d=1;if(q[b+24>>2]==1){break c}h=1;g=1;if(r[a+8|0]&2){break e}break c}h=1;d=g;if(!(o[a+8|0]&1)){break c}}f=f+8|0;continue}break}d=g;a=4;if(!h){break b}}a=3}q[j+44>>2]=a;if(d&1){break a}}q[b+20>>2]=c;q[b+40>>2]=q[b+40>>2]+1;if(q[b+36>>2]!=1|q[b+24>>2]!=2){break a}o[b+54|0]=1;return}g=q[a+12>>2];f=a+16|0;Sb(f,b,c,d,e);if((g|0)<2){break a}g=f+(g<<3)|0;f=a+24|0;a=q[a+8>>2];if(!(q[b+36>>2]!=1?!(a&2):0)){while(1){if(r[b+54|0]){break a}Sb(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break}break a}if(!(a&1)){while(1){if(r[b+54|0]|q[b+36>>2]==1){break a}Sb(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break a}}while(1){if(r[b+54|0]|(q[b+24>>2]==1?q[b+36>>2]==1:0)){break a}Sb(f,b,c,d,e);f=f+8|0;if(f>>>0>>0){continue}break}}}function Oc(a,b,c,d,e){var f=x(0),g=0,h=0,i=0,j=0,k=0;a:{if((e|0)!=23){if(!d){break a}j=d<<1;e=0;while(1){i=(d+e<<1)+a|0;p[(e<<1)+a>>1]=s[i>>1];h=e<<2;f=u[h+b>>2];b:{c:{if(!!(f>=x(0))){g=32767;f=x(f+x(.5));if(!(f>=x(32768))){break c}break b}g=32768;f=x(f+x(-.5));if(f<=x(-32768)){break b}}if(x(y(f))>1]=g;f=u[c+h>>2];d:{e:{if(!!(f>=x(0))){g=32767;f=x(f+x(.5));if(!(f>=x(32768))){break e}break d}g=32768;f=x(f+x(-.5));if(f<=x(-32768)){break d}}if(x(y(f))>1]=g;e=e+1|0;if((e|0)!=(d|0)){continue}break}break a}if(!d){break a}j=w(d,3);i=d<<1;e=0;while(1){g=(d+e<<1)+a|0;p[(e<<1)+a>>1]=s[g>>1];h=(e+i<<1)+a|0;p[g>>1]=s[h>>1];k=e<<2;f=u[k+b>>2];f:{g:{if(!!(f>=x(0))){g=32767;f=x(f+x(.5));if(!(f>=x(32768))){break g}break f}g=32768;f=x(f+x(-.5));if(f<=x(-32768)){break f}}if(x(y(f))>1]=g;f=u[c+k>>2];h:{i:{if(!!(f>=x(0))){g=32767;f=x(f+x(.5));if(!(f>=x(32768))){break i}break h}g=32768;f=x(f+x(-.5));if(f<=x(-32768)){break h}}if(x(y(f))>1]=g;e=e+1|0;if((e|0)!=(d|0)){continue}break}}}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=xa-32|0;xa=e;h=a;d=q[b+4>>2];a:{if(o[d+11|0]<=-1){c=q[d>>2];break a}c=d}f=q[b+8>>2];q[h+32>>2]=r[(c+f|0)+4|0]&3;i=f+6|0;q[b+8>>2]=i;g=q[b+12>>2];q[b+12>>2]=g+ -6;if(o[d+11|0]<=-1){h=q[d>>2]}else{h=d}c=h+i|0;h=r[c+1|0];c=r[c|0];i=g+ -8|0;q[b+12>>2]=i;f=f+8|0;q[b+8>>2]=f;g=h|c<<8;if(g){c=q[d+12>>2];q[e+28>>2]=g;q[e+24>>2]=f;q[e+20>>2]=d;q[d+12>>2]=c+2;q[e+16>>2]=1580;n[q[q[a>>2]+28>>2]](a,e+16|0);q[e+16>>2]=1636;c=q[e+20>>2];f=q[c+12>>2]+ -1|0;q[c+12>>2]=f;if(!(f|!c)){if(o[c+11|0]<=-1){Ra(q[c>>2])}Ra(c)}c=q[d+12>>2]+ -1|0;q[d+12>>2]=c;if(!c){if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}f=g+q[b+8>>2]|0;q[b+8>>2]=f;i=q[b+12>>2]-g|0;q[b+12>>2]=i;d=q[b+4>>2]}q[b+12>>2]=i+ -1;g=f+1|0;q[b+8>>2]=g;if(o[d+11|0]<=-1){h=q[d>>2]}else{h=d}c=h+g|0;g=r[c+1|0];c=r[c|0];q[b+12>>2]=i+ -3;h=b;b=f+3|0;q[h+8>>2]=b;c=g|c<<8;b:{if(!c){break b}f=q[d+12>>2];q[e+12>>2]=c;q[e+8>>2]=b;q[e+4>>2]=d;q[d+12>>2]=f+2;q[e>>2]=1580;n[q[q[a>>2]+28>>2]](a,e);q[e>>2]=1636;a=q[e+4>>2];b=q[a+12>>2]+ -1|0;q[a+12>>2]=b;if(!(b|!a)){if(o[a+11|0]<=-1){Ra(q[a>>2])}Ra(a)}a=q[d+12>>2]+ -1|0;q[d+12>>2]=a;if(a){break b}if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}xa=e+32|0}function kb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=x(0),l=x(0),m=x(0),n=x(0),o=0,p=0,r=0,t=0,v=0,w=0,y=0,z=0;f=xa-4096|0;xa=f;d=s[a>>1];j=d>>>3|0;r=d>>>1|0;h=d>>>2|0;a:{if(h){e=q[a+8>>2];d=0;while(1){g=d<<3;i=g+f|0;k=u[((d<<1^-1)+r<<2)+b>>2];p=e+g|0;l=u[p>>2];m=u[b+g>>2];n=u[p+4>>2];u[i>>2]=x(k*l)-x(m*n);u[i+4>>2]=x(m*l)+x(k*n);d=d+1|0;if((h|0)!=(d|0)){continue}break}ie(q[a+4>>2],f);a=0;while(1){d=a<<3;b=d+f|0;k=u[b+4>>2];d=d+e|0;l=u[d>>2];m=u[b>>2];n=u[d+4>>2];u[b+4>>2]=x(k*l)+x(m*n);u[b>>2]=x(m*l)-x(k*n);a=a+1|0;if((h|0)!=(a|0)){continue}break}break a}ie(q[a+4>>2],f)}if(j){p=h+r|0;w=h+ -2|0;y=j+ -2|0;a=0;d=0;while(1){g=d<<3;e=g+c|0;b=(d+j<<3)+f|0;q[e>>2]=q[b+4>>2];q[e+8>>2]=q[b+12>>2];o=d^-1;t=(o+j<<3)+f|0;u[(g|4)+c>>2]=-u[t>>2];v=(a+y<<3)+f|0;u[e+12>>2]=-u[v>>2];i=d<<1;e=(i+h<<2)+c|0;g=f+g|0;q[e>>2]=q[g>>2];q[e+8>>2]=q[g+8>>2];o=(h+o<<3)+f|0;u[e+4>>2]=-u[o+4>>2];z=e;e=(a+w<<3)+f|0;u[z+12>>2]=-u[e+4>>2];a=(i+r<<2)+c|0;q[a>>2]=q[b>>2];q[a+8>>2]=q[b+8>>2];u[a+4>>2]=-u[t+4>>2];u[a+12>>2]=-u[v+4>>2];a=(i+p<<2)+c|0;u[a>>2]=-u[g+4>>2];u[a+8>>2]=-u[g+12>>2];q[a+4>>2]=q[o>>2];q[a+12>>2]=q[e>>2];d=d+2&65535;a=0-d|0;if(d>>>0>>0){continue}break}}xa=f+4096|0}function fh(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;i=xa-32|0;xa=i;e=d&2147483647;k=e;e=e+ -1006698496|0;j=c;h=c;if(c>>>0<0){e=e+1|0}l=h;h=e;e=k+ -1140785152|0;m=j;if(j>>>0<0){e=e+1|0}a:{if((e|0)==(h|0)&l>>>0>>0|h>>>0>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;j=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}h=c;e=e-((c>>>0<0)+ -1073741824|0)|0;if(a|j^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a;break a}if(!(!j&(k|0)==2147418112?!(a|b):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){e=d<<4|c>>>28;h=c<<4|b>>>28;e=e&524287|2146959360;break a}h=0;e=2146435072;if((k|0)==1140785151&j>>>0>4294967295|k>>>0>1140785151){break a}e=0;j=k>>>16|0;if(j>>>0<15249){break a}e=d&65535|65536;hh(i+16|0,a,b,c,e,j+ -15233|0);gh(i,a,b,c,e,15361-j|0);c=q[i+4>>2];a=q[i+8>>2];e=q[i+12>>2]<<4|a>>>28;h=a<<4|c>>>28;a=c&268435455;c=a;b=q[i>>2]|((q[i+16>>2]|q[i+24>>2])!=0|(q[i+20>>2]|q[i+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=h+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}if(b|c^134217728){break a}a=h+(h&1)|0;if(a>>>0>>0){e=e+1|0}h=a}xa=i+32|0;f(0,h|0);f(1,d&-2147483648|e);return+g()}function ed(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{if((c|0)>=0){e:{if((c|0)>16){f=c;break e}g=q[a>>2];if(g>>>0<256){break d}e=q[b+4>>2];h=q[b+12>>2];j=q[a+4>>2];while(1){d=e+1|0;q[b+4>>2]=d;e=h<>>31|0;if((d|0)==32){h=q[b+16>>2];q[b+12>>2]=h;f=q[b+8>>2];q[b+8>>2]=f+4;f=q[f>>2];q[b+4>>2]=0;q[b+16>>2]=f<<8&16711680|f<<24|(f>>>8&65280|f>>>24);d=0}e=e|j<<1;j=e-(e>>>0>>0?0:g)|0;q[a+4>>2]=j;f=c+1|0;k=e>>>0>=g>>>0;i=(k<15){break e}e=d;c=f;if(k){continue}break}}c=f+ -1|0;if(c){g=q[a>>2];if(g>>>0<=255){break c}if((f|0)<=1){break b}if((f|0)>=18){break a}h=q[a+4>>2];d=q[b+4>>2];e=d+c|0;q[b+4>>2]=e;f=q[b+12>>2]<>>33-f|0;f:{g:{if(e>>>0>=33){d=64-e|0;if(d>>>0<=31){d=q[b+16>>2]>>>d|0}else{d=0}f=d|f;break g}if((e|0)!=32){break f}}q[b+12>>2]=q[b+16>>2];d=q[b+8>>2];q[b+8>>2]=d+4;d=q[d>>2];q[b+4>>2]=e+ -32;q[b+16>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}e=0;while(1){c=c+ -1|0;b=f>>>c&1|h<<1;h=b-(b>>>0>>0?0:g)|0;e=e<<1|b>>>0>=g>>>0;if(c){continue}break}q[a+4>>2]=h;i=e+i|0}return i}I(41912,3879,676,41923);F()}I(41329,3879,683,41923);F()}I(41329,3879,693,41923);F()}I(41959,3879,693,41923);F()}I(41973,3879,693,41923);F()}function Ib(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=0,k=0,l=0,m=0,n=0,o=x(0),s=x(0),t=x(0),v=0,w=0,y=0;h=xa-256|0;xa=h;if(r[a+53416|0]){while(1){e=0;while(1){g=e<<2;j=e<<3;o=u[j+112304>>2];f=j+((m<<9)+c|0)|0;s=u[f+4>>2];t=u[f>>2];i=u[j+112308>>2];u[g+h>>2]=x(x(o*s)+x(t*i))*x(.015625);u[g+(h+128|0)>>2]=x(x(t*o)-x(s*i))*x(.015625);e=e+1|0;if((e|0)!=32){continue}break}Yh(h+128|0,h+128|0);Xh(h,h);l=p[b+4>>1];n=q[b>>2];k=0;v=0;e=0;while(1){w=(e+l<<2)+n|0;f=e<<2;j=f+h|0;g=f+(h+128|0)|0;i=x(u[j>>2]-u[g>>2]);u[w>>2]=i;u[w+2560>>2]=i;f=(l+v<<2)+n|0;i=x(u[g>>2]+u[j>>2]);u[f+252>>2]=i;u[f+2812>>2]=i;v=e^-1;e=e+1|0;if((e|0)!=32){continue}break}e=y;while(1){g=(l+k<<2)+n|0;f=k<<3;u[(e<<2)+d>>2]=x(x(x(x(x(x(x(x(x(u[g>>2]*u[f+109744>>2])+x(u[g+384>>2]*u[f+11e4>>2]))+x(u[g+512>>2]*u[f+110256>>2]))+x(u[g+896>>2]*u[f+110512>>2]))+x(u[g+1024>>2]*u[f+110768>>2]))+x(u[g+1408>>2]*u[f+111024>>2]))+x(u[g+1536>>2]*u[f+111280>>2]))+x(u[g+1920>>2]*u[f+111536>>2]))+x(u[g+2048>>2]*u[f+111792>>2]))+x(u[g+2432>>2]*u[f+112048>>2]);e=e+1|0;k=k+1|0;if((k|0)!=32){continue}break}e=l+ -64|0;p[b+4>>1]=e<<16>>16<0?576:e;y=y+32|0;m=m+1|0;if(m>>>0>2]&393216;e=p[b+6>>1];k=p[a+6>>1];d=p[b+4>>1];l=p[b+2>>1];f=p[b>>1];g=p[a+4>>1];h=p[a+2>>1];i=p[a>>1];o=r[b+11|0];m=r[b+10|0];n=r[a+11|0];b=r[a+10|0];a:{j=q[a+12>>2]>>>17&3;b:{if(!((j|0)!=2|(c|0)!=262144)){if(!((n|0)==(o|0)?(b|0)==(m|0):0)){a=1;if((m|0)!=(n|0)|(b|0)!=(o|0)){break b}}if((b|0)!=(n|0)){if((b|0)==(m|0)){a=1;c=i-f|0;b=c>>31;if((b^b+c)>3){break b}c=h-l|0;b=c>>31;if((b^b+c)>3){break b}c=g-d|0;b=c>>31;if((b^b+c)>3){break b}b=k-e|0;a=b>>31;return(a^a+b)>3}a=1;c=i-d|0;b=c>>31;if((b^b+c)>3){break b}c=h-e|0;b=c>>31;if((b^b+c)>3){break b}c=g-f|0;b=c>>31;if((b^b+c)>3){break b}break a}b=i-f|0;a=b>>31;c:{if((a^a+b)>3){break c}b=h-l|0;a=b>>31;if((a^a+b)>3){break c}b=g-d|0;a=b>>31;if((a^a+b)>3){break c}a=0;c=k-e|0;b=c>>31;if((b^b+c)<4){break b}}a=1;c=i-d|0;b=c>>31;if((b^b+c)>3){break b}c=h-e|0;b=c>>31;if((b^b+c)>3){break b}c=g-f|0;b=c>>31;if((b^b+c)>3){break b}break a}a=1;if((j|0)==2|(c|0)==262144|((j?n:b)&255)!=((c?o:m)&255)){break b}d=(j?g:i)-(c?d:f)|0;b=d>>31;if((b^b+d)>3){break b}b=(j?k:h)-(c?e:l)|0;a=b>>31;a=(a^a+b)>3}return a}b=k-l|0;a=b>>31;return(a^a+b)>3}function Jh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=1;d=r[a+16|0];a:{if(d>>>0<=b>>>0){break a}f=d-b|0;o[a+25|0]=f;o[a+17|0]=f;g=f&1;h=g+((f&254)>>>1|0)|0;o[a+24|0]=h;o[a+18|0]=h;d=0;while(1){o[(a+e|0)+154|0]=r[((b+e|0)+a|0)+26|0];d=d+1|0;e=d&255;if(e>>>0<=(f&255)>>>0){continue}break}b=r[(a+154|0)+(f&255)|0];f=r[a+154|0];o[a+14|0]=f;b=b-f|0;o[a+15|0]=b;if(f>>>0>32|f+(b&255)>>>0>64){break a}d=h+1&255;b=a+90|0;e=0;while(1){o[b+e|0]=r[(b+(e?(e<<1)-g&255:0)|0)- -64|0];e=e+1|0;if((d|0)!=(e|0)){continue}break}i=0;o[a+19|0]=0;e=1;d=a;g=r[a+53437|0];b=1;b:{if(!g){break b}j=xc(+x(x(c>>>0)/x(f>>>0)))*+(g>>>0)/.6931471824645996+.5;c:{if(y(j)<2147483648){b=~~j;break c}b=-2147483648}if((b|0)<=0){o[a+19|0]=1;b=1;break b}o[a+19|0]=b;b=(b&255)>>>0<5?b:5}o[d+19|0]=b;o[a+218|0]=r[a+90|0];if(!(b&255)){break a}c=b+1&255;d=0;while(1){d=((h-(d&255)|0)/(c-e|0)|0)+d|0;o[(a+e|0)+218|0]=r[((d&255)+a|0)+90|0];e=e+1|0;if((c|0)!=(e|0)){continue}break}e=b&255;if(!e){break a}b=0;while(1){d=0;while(1){d:{c=d+1|0;if(!(b>>>0>>0>=r[(c+a|0)+218|0])){o[(a+b|0)+538|0]=d;break d}d=c;if((e|0)!=(d|0)){continue}}break}b=b+1|0;if((b|0)!=64){continue}break}}return i}function Bk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=e<<1;a:{if((e|0)!=32){if((e|0)<1){break a}h=a+f|0;i=f|1;j=i+a|0;b=0;while(1){g=r[j|0]+(r[(f+(b^-1)|0)+a|0]-r[h|0]>>1)|0;g=(g|0)>0?g:0;o[w(b,d)+c|0]=(g|0)<255?g:255;b=b+1|0;if((e|0)!=(b|0)){continue}break}if((e|0)==1){break a}f=0;while(1){h=w(d,f);b=1;while(1){o[(b+h|0)+c|0]=r[(b+i|0)+a|0];b=b+1|0;if((e|0)!=(b|0)){continue}break}f=f+1|0;if((f|0)!=(e|0)){continue}break}break a}a=(f|1)+a|0;f=a;e=0;while(1){b=w(d,e)+c|0;o[b|0]=r[a|0];o[b+1|0]=r[a+1|0];o[b+2|0]=r[a+2|0];o[b+3|0]=r[a+3|0];o[b+4|0]=r[a+4|0];o[b+5|0]=r[a+5|0];o[b+6|0]=r[a+6|0];o[b+7|0]=r[a+7|0];o[b+8|0]=r[a+8|0];o[b+9|0]=r[a+9|0];o[b+10|0]=r[a+10|0];o[b+11|0]=r[a+11|0];o[b+12|0]=r[a+12|0];o[b+13|0]=r[a+13|0];o[b+14|0]=r[a+14|0];o[b+15|0]=r[a+15|0];o[b+16|0]=r[a+16|0];o[b+17|0]=r[a+17|0];o[b+18|0]=r[a+18|0];o[b+19|0]=r[a+19|0];o[b+20|0]=r[a+20|0];o[b+21|0]=r[a+21|0];o[b+22|0]=r[a+22|0];o[b+23|0]=r[a+23|0];o[b+24|0]=r[a+24|0];o[b+25|0]=r[a+25|0];o[b+26|0]=r[a+26|0];o[b+27|0]=r[a+27|0];o[b+28|0]=r[a+28|0];o[b+29|0]=r[a+29|0];o[b+30|0]=r[a+30|0];o[b+31|0]=r[f+31|0];e=e+1|0;if((e|0)!=32){continue}break}}}function Ie(a){var b=0,c=0,d=0,e=0;b=q[a+8>>2];d=q[b+11624>>2];e=q[b+11620>>2];c=q[b+11492>>2];if(c){n[e](d,c);q[b+11492>>2]=0}c=q[b+172>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+172>>2]=0}c=q[b+264>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+264>>2]=0}c=q[b+276>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+276>>2]=0}c=q[b+244>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+244>>2]=0}c=q[b+224>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+224>>2]=0}c=q[b+292>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+292>>2]=0}c=q[b+296>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+296>>2]=0}c=q[b+300>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+300>>2]=0}c=q[b+304>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+304>>2]=0}c=q[b+280>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+280>>2]=0}c=q[b+252>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+252>>2]=0}c=q[b+628>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+628>>2]=0}c=q[b+6548>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+6548>>2]=0}c=q[b+6144>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[b+6144>>2]=0}c=q[a+8>>2];if(c){n[q[b+11620>>2]](q[b+11624>>2],c);q[a+8>>2]=0}n[e](d,a)}function fi(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=x(0),l=x(0),m=0,n=0,o=0,p=0,q=0,t=0,v=0,y=0,z=0;a:{h=r[a+8628|0];if(!h){break a}o=r[a+2|0];if(!o){break a}y=e>>>3|0;z=(h|0)!=2;while(1){p=a+i|0;if(r[p+5|0]){m=r[a|0];q=m>>>0>1?m:1;n=0;while(1){b:{if(!m){break b}v=w(t&255,y);h=0;if(!z){while(1){e=w(i,120);c:{if((r[((e+b|0)+h|0)+6842|0]|1)==15|r[((a+e|0)+h|0)+6842|0]==13){break c}f=(h<<1)+a|0;e=s[f+1936>>1];f=s[f+1938>>1];g=s[a+2040>>1];f=f>>>0>>0?f:g;if(e>>>0>=f>>>0){break c}while(1){g=(e+v&65535)<<2;j=g+c|0;k=u[j>>2];g=d+g|0;l=u[g>>2];u[j>>2]=k+l;u[g>>2]=k-l;e=e+1|0;if(e>>>0>>0){continue}break}}h=h+1|0;if((q|0)!=(h|0)){continue}break b}}while(1){d:{if(!r[((w(i,51)+a|0)+h|0)+8629|0]){break d}e=w(i,120);if((r[((e+b|0)+h|0)+6842|0]|1)==15|r[((a+e|0)+h|0)+6842|0]==13){break d}f=(h<<1)+a|0;e=s[f+1936>>1];f=s[f+1938>>1];g=s[a+2040>>1];f=f>>>0>>0?f:g;if(e>>>0>=f>>>0){break d}while(1){g=(e+v&65535)<<2;j=g+c|0;k=u[j>>2];g=d+g|0;l=u[g>>2];u[j>>2]=k+l;u[g>>2]=k-l;e=e+1|0;if(e>>>0>>0){continue}break}}h=h+1|0;if((q|0)!=(h|0)){continue}break}}t=t+1|0;n=n+1|0;if((n&255)>>>0>2]=0;e=q[a+8>>2];q[b+12>>2]=1;h=q[e+60>>2];a=h+ -1|0;if(!(a>>>0>12|!(7441>>>(a&65535)&1))){q[b+16>>2]=q[(a<<2)+41152>>2]}q[b+8>>2]=1;a=b+20|0;while(1){d=w(q[e+4>>2]+63&-64,q[e>>2]+63&-64);q[a+(c<<2)>>2]=(d|0)>1048576?d:1048576;c=c+1|0;if(c>>>0>2]){continue}break}f=q[e+56>>2];d=b;a:{b:{if(q[e+112>>2]){if(f){break b}a=q[e+16>>2];c=q[e+8>>2];g=(a|0)>(c|0)?a:c;c=q[e+12>>2];a=1;break a}a=q[e+16>>2];c=(f|0)==1?160:0;g=(a|0)>(c|0)?a:c;a=1;if(!f){break a}q[b+8>>2]=32;a=32;break a}f=q[e+636>>2]+w(q[e+11596>>2],8976)|0;a=o[f+14|0]+ -1|0;g=q[e+16>>2];c=q[e+4>>2]+160|0;a=o[(a+f|0)+25|0]+(q[e+11636>>2]!=1?o[(a+f|0)+32|0]+1|0:1)|0;q[b+8>>2]=a;a=a>>>0<32?a:32}q[d+8>>2]=a;d=h+ -1|0;c:{if(d>>>0>12){break c}d:{e:{f:{switch(d-1|0){default:d=w(c,g);q[b+276>>2]=d;d=d>>2;g=d;f=280;c=284;break d;case 3:q[b+276>>2]=w(c,g)<<1;break e;case 7:q[b+276>>2]=w(c,g)<<1;break e;case 11:q[b+276>>2]=w(c,g)<<2;break e;case 9:case 10:break f;case 0:case 1:case 2:case 4:case 5:case 6:case 8:break c}}d=w(c,g);q[b+276>>2]=d;d=d>>1;g=0;f=280;c=284;break d}d=0;g=0;f=284;c=280}q[b+f>>2]=d;q[b+c>>2]=g}q[e+52>>2]=a}function $d(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=xa-48|0;xa=e;q[e+32>>2]=b;a:{b:{if(r[a+1808|0]){b=q[c+4>>2];c:{if(o[b+11|0]<=-1){b=q[b>>2];d=q[c+8>>2];if((r[b+d|0]&240)==16){break c}break b}d=q[c+8>>2];if((r[d+b|0]&240)!=16){break b}}if(r[(b+d|0)+1|0]){break b}Xb(a+52|0,c);o[a+1808|0]=0;q[e+20>>2]=q[a+1848>>2];q[e+16>>2]=1740;K(0,e+16|0);break b}d=q[c+4>>2];d:{e:{if(o[d+11|0]<=-1){d=r[(q[c+8>>2]+q[d>>2]|0)+1|0];if((d|0)!=1){break e}break d}d=r[(d+q[c+8>>2]|0)+1|0];if((d|0)==1){break d}}if(d){break b}}if(q[a+1816>>2]?!b:0){break a}d=q[a+4>>2];f:{if(o[166008]&1){break f}if(!eb(166008)){break f}h=166004,i=M(2,1820)|0,q[h>>2]=i;db(166008)}g=q[41501];q[e+40>>2]=b;f=+fa(g|0,d|0,1775,e+36|0,e+40|0);P(q[e+36>>2]);d=a;if(y(f)<2147483648){b=~~f}else{b=-2147483648}q[d+1836>>2]=b;if(!q[a+1848>>2]){if((b|0)>=3001){q[e+4>>2]=b;q[e>>2]=1784;K(0,e|0);break a}q[a+96>>2]=q[e+32>>2];Xb(a+52|0,c);break b}eh(a+1776|0,e+32|0,c);b=q[a+1792>>2];c=(b>>>0)/170|0;if(r[a+1800|0]|((q[a+1816>>2]+q[a+1836>>2]|0)-q[q[q[a+1780>>2]+(c<<2)>>2]+w(b-w(c,170)|0,24)>>2]|0)<=q[a+1848>>2]){break b}o[a+1800|0]=1;kd(a)}q[a+1816>>2]=q[e+32>>2]}xa=e+48|0}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=b+c|0;if(r[i+614|0]){j=(c|0)==1;g=j&r[b+53450|0]==1;l=g?108592:108960;m=g?109568:109616;n=w(c,3)+b|0;while(1){a:{if(r[(h+n|0)+53535|0]){e=0;if(!r[b+19|0]){break a}while(1){f=0;while(1){d=q[a+8>>2];b:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break b}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break b}Oa(a,1)}f=o[((f<<1)+m|0)+d|0];if((f|0)>-1){continue}break}q[((((c<<9)+b|0)+(e<<3)|0)+(h<<2)|0)+7388>>2]=f- -64<>>0>2];c:{if(e>>>0>=5){f=q[a>>2]<<32-e>>>27|0;break c}f=q[a>>2]<<5-e&31|q[a+4>>2]>>>e+27}d=d&j;d:{if(r[a+20|0]){break d}if(e>>>0>=6){q[a+8>>2]=e+ -5;break d}Oa(a,5)}e=1;k=h<<2;q[(k+(((d?1:c)<<9)+b|0)|0)+7388>>2]=f<>2];e:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break e}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break e}Oa(a,1)}f=o[((f<<1)+l|0)+d|0];if((f|0)>-1){continue}break}q[((((c<<9)+b|0)+(e<<3)|0)+k|0)+7388>>2]=f- -64<>>0>>0>>0>=512){ja(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){o[c|0]=r[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=e>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(c>>>0>f>>>0){break c}while(1){q[c>>2]=q[b>>2];q[c+4>>2]=q[b+4>>2];q[c+8>>2]=q[b+8>>2];q[c+12>>2]=q[b+12>>2];q[c+16>>2]=q[b+16>>2];q[c+20>>2]=q[b+20>>2];q[c+24>>2]=q[b+24>>2];q[c+28>>2]=q[b+28>>2];q[c+32>>2]=q[b+32>>2];q[c+36>>2]=q[b+36>>2];q[c+40>>2]=q[b+40>>2];q[c+44>>2]=q[b+44>>2];q[c+48>>2]=q[b+48>>2];q[c+52>>2]=q[b+52>>2];q[c+56>>2]=q[b+56>>2];q[c+60>>2]=q[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=f>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){q[c>>2]=q[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e+ -4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){o[c|0]=r[b|0];o[c+1|0]=r[b+1|0];o[c+2|0]=r[b+2|0];o[c+3|0]=r[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=d>>>0){continue}break}}if(c>>>0>>0){while(1){o[c|0]=r[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=xa-16|0;xa=f;h=q[b+12>>2];if((h|0)>=5){while(1){e=q[a+32>>2]+ -1|0;a:{if(e>>>0<=2){b:{switch(e-1|0){case 1:c=q[b+8>>2];g=c+4|0;e=q[b+4>>2];c:{if(o[e+11|0]<=-1){d=q[e>>2];break c}d=e}c=d+c|0;d=c+3|0;k=r[c|0];j=r[c+1|0];i=r[c+2|0];c=-4;break a;case 0:c=q[b+8>>2];g=c+3|0;e=q[b+4>>2];d:{if(o[e+11|0]<=-1){d=q[e>>2];break d}d=e}c=d+c|0;d=c+2|0;j=r[c|0];i=r[c+1|0];c=-3;break a;default:break b}}c=q[b+8>>2];g=c+2|0;e=q[b+4>>2];e:{if(o[e+11|0]<=-1){d=q[e>>2];break e}d=e}c=d+c|0;d=c+1|0;i=r[c|0];c=-2;break a}c=q[b+8>>2];g=c+1|0;e=q[b+4>>2];f:{if(o[e+11|0]<=-1){d=q[e>>2];break f}d=e}d=d+c|0;c=-1}d=r[d|0];q[b+12>>2]=c+h;q[b+8>>2]=g;c=q[e+12>>2];q[f+8>>2]=g;q[f+4>>2]=e;g=d|i<<8|j<<16|k<<24;q[f+12>>2]=g;q[e+12>>2]=c+2;q[f>>2]=1580;n[q[q[a>>2]+28>>2]](a,f);q[f>>2]=1636;d=q[f+4>>2];c=q[d+12>>2]+ -1|0;q[d+12>>2]=c;if(!(c|!d)){if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}d=q[e+12>>2]+ -1|0;q[e+12>>2]=d;if(!(d|!e)){if(o[e+11|0]<=-1){Ra(q[e>>2])}Ra(e)}q[b+8>>2]=g+q[b+8>>2];h=q[b+12>>2]-g|0;q[b+12>>2]=h;if((h|0)>4){continue}break}}xa=f+16|0}function yi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0;a:{c=s[a+4>>1];if(!c){break a}k=1;r=c+1|0;g=q[a+36>>2];h=q[a+32>>2];n=s[a>>1];c=2;o=2;while(1){p=s[((c<<1)+a|0)+2>>1];c=k;k=w(p,c);d=(n>>>0)/((k&65535)>>>0)|0;e=p+ -2|0;if(e>>>0<=3){b:{c:{switch(e-1|0){case 1:e=((i&65535)<<3)+g|0;f=d+i|0;j=((f&65535)<<3)+g|0;f=((d+f&65535)<<3)+g|0;if(!(l&65535)){ke(d,c&65535,b,h,e,j,f);break b}ke(d,c&65535,h,b,e,j,f);break b;default:e=((i&65535)<<3)+g|0;if(!(l&65535)){je(d,c&65535,b,h,e);break b}je(d,c&65535,h,b,e);break b;case 0:e=((i&65535)<<3)+g|0;j=((d+i&65535)<<3)+g|0;if(!(l&65535)){cc(d,c&65535,b,h,e,j,-1);break b}cc(d,c&65535,h,b,e,j,-1);break b;case 2:break c}}e=((i&65535)<<3)+g|0;f=d+i|0;j=((f&65535)<<3)+g|0;m=d+f|0;f=((m&65535)<<3)+g|0;m=((d+m&65535)<<3)+g|0;if(!(l&65535)){bc(d,c&65535,b,h,e,j,f,m,-1);break b}bc(d,c&65535,h,b,e,j,f,m,-1)}l=1-l|0}i=w(p+ -1|0,d)+i|0;o=o+1|0;c=o&65535;if(r>>>0>=c>>>0){continue}break}if(!n|!(l&65535)){break a}c=0;while(1){a=c<<3;k=a+b|0;a=a+h|0;q[k>>2]=q[a>>2];q[k+4>>2]=q[a+4>>2];c=c+1|0;if((n|0)!=(c|0)){continue}break}}}function ie(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,r=0;a:{c=s[a+4>>1];if(!c){break a}k=1;r=c+1|0;g=q[a+36>>2];h=q[a+32>>2];n=s[a>>1];c=2;o=2;while(1){p=s[((c<<1)+a|0)+2>>1];c=k;k=w(p,c);d=(n>>>0)/((k&65535)>>>0)|0;e=p+ -2|0;if(e>>>0<=3){b:{c:{switch(e-1|0){case 1:e=((i&65535)<<3)+g|0;f=d+i|0;j=((f&65535)<<3)+g|0;f=((d+f&65535)<<3)+g|0;if(!(l&65535)){he(d,c&65535,b,h,e,j,f);break b}he(d,c&65535,h,b,e,j,f);break b;default:e=((i&65535)<<3)+g|0;if(!(l&65535)){ge(d,c&65535,b,h,e);break b}ge(d,c&65535,h,b,e);break b;case 0:e=((i&65535)<<3)+g|0;j=((d+i&65535)<<3)+g|0;if(!(l&65535)){cc(d,c&65535,b,h,e,j,1);break b}cc(d,c&65535,h,b,e,j,1);break b;case 2:break c}}e=((i&65535)<<3)+g|0;f=d+i|0;j=((f&65535)<<3)+g|0;m=d+f|0;f=((m&65535)<<3)+g|0;m=((d+m&65535)<<3)+g|0;if(!(l&65535)){bc(d,c&65535,b,h,e,j,f,m,1);break b}bc(d,c&65535,h,b,e,j,f,m,1)}l=1-l|0}i=w(p+ -1|0,d)+i|0;o=o+1|0;c=o&65535;if(r>>>0>=c>>>0){continue}break}if(!n|!(l&65535)){break a}c=0;while(1){a=c<<3;k=a+b|0;a=a+h|0;q[k>>2]=q[a>>2];q[k+4>>2]=q[a+4>>2];c=c+1|0;if((n|0)!=(c|0)){continue}break}}}function hc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;a:{b:{if(h){if((g|0)<1){break b}l=q[a+4>>2];h=0;while(1){c:{j=q[(h<<2)+e>>2];k=q[j+12>>2]&393216;if(!k){break c}i=q[l+w(o[j+9|0],12)>>2];if((r[i+20|0]==1|0)==(r[d+20|0]!=1|0)){break c}q[c>>2]=1;a=q[j+4>>2];p[f>>1]=a;p[f+2>>1]=a>>>16;if(r[i+20|0]!=2){break b}break a}d:{if((k|0)==131072){break d}i=q[q[a>>2]+w(o[j+8|0],12)>>2];if((r[i+20|0]==1|0)==(r[d+20|0]!=1|0)){break d}q[c>>2]=1;a=q[j>>2];p[f>>1]=a;p[f+2>>1]=a>>>16;if(r[i+20|0]!=2){break b}break a}h=h+1|0;if((h|0)!=(g|0)){continue}break}break b}if((g|0)<1){break b}l=q[a>>2];h=0;while(1){e:{j=q[(h<<2)+e>>2];k=q[j+12>>2]&393216;if((k|0)==131072){break e}i=q[l+w(o[j+8|0],12)>>2];if((r[i+20|0]==1|0)==(r[d+20|0]!=1|0)){break e}q[c>>2]=1;a=q[j>>2];p[f>>1]=a;p[f+2>>1]=a>>>16;if(r[i+20|0]!=2){break b}break a}f:{if(!k){break f}i=q[q[a+4>>2]+w(o[j+9|0],12)>>2];if((r[i+20|0]==1|0)==(r[d+20|0]!=1|0)){break f}q[c>>2]=1;a=q[j+4>>2];p[f>>1]=a;p[f+2>>1]=a>>>16;if(r[i+20|0]!=2){break b}break a}h=h+1|0;if((h|0)!=(g|0)){continue}break}}return}hj(f,q[d+8>>2],q[i+8>>2],q[b+84>>2])}function Uh(a,b,c,d,e){var f=0,g=0,h=0,i=0;g=xa-16384|0;xa=g;a:{if(!a){f=20;break a}f=21;if(r[a+12436|0]!=1){break a}b:{if(!r[a+10|0]){f=!q[a+12432>>2];break b}f=1;if(!r[a+12426|0]){break b}o[a+12412|0]=255}o[a+9|0]=(d|0)!=0;h=a,i=Lb(a,b,g,0,f)+r[a+10|0]|0,o[h+10|0]=i;d=q[a+12448>>2];c:{if(e){Ib(a,d,g,b);h=a,i=Lb(a,c,g,1,f)+r[a+10|0]|0,o[h+10|0]=i;Ib(a,q[a+12452>>2],g,c);break c}Hb(a,d,g,b);h=a,i=Lb(a,c,g,1,f)+r[a+10|0]|0,o[h+10|0]=i;Hb(a,q[a+12452>>2],g,c)}if(r[a+53426|0]){o[a+9|0]=0}if(!(r[a+10|0]|!q[a+12432>>2])){f=$b(a,0);if(f){break a}f=$b(a,1);if(f){break a}}c=0;d=0;d:{e:{f:{if(r[a+53418|0]){f=0;b=a+12456|0;while(1){nb(b+(f<<9)|0,b+(r[a+53416|0]+f<<9)|0,512);f=f+1|0;d=r[a+53418|0];if(f>>>0>>0){continue}break}if(d>>>0>=40){break f}}Qa(((d<<9)+a|0)+12456|0,0,((39-d&255)<<9)+512|0);if(!r[a+53418|0]){break e}}f=0;b=a+32936|0;while(1){nb(b+(f<<9)|0,b+(r[a+53416|0]+f<<9)|0,512);f=f+1|0;c=r[a+53418|0];if(f>>>0>>0){continue}break}if(c>>>0>39){break d}}Qa(((c<<9)+a|0)+32936|0,0,((39-c&255)<<9)+512|0)}q[a+12428>>2]=q[a+12428>>2]+1;f=0}xa=g+16384|0;return f}function Ck(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;f=e<<1;a:{if((e|0)==32){while(1){b=w(d,g)+c|0;e=((g^-1)+f|0)+a|0;o[b|0]=r[e|0];o[b+1|0]=r[e|0];o[b+2|0]=r[e|0];o[b+3|0]=r[e|0];o[b+4|0]=r[e|0];o[b+5|0]=r[e|0];o[b+6|0]=r[e|0];o[b+7|0]=r[e|0];o[b+8|0]=r[e|0];o[b+9|0]=r[e|0];o[b+10|0]=r[e|0];o[b+11|0]=r[e|0];o[b+12|0]=r[e|0];o[b+13|0]=r[e|0];o[b+14|0]=r[e|0];o[b+15|0]=r[e|0];o[b+16|0]=r[e|0];o[b+17|0]=r[e|0];o[b+18|0]=r[e|0];o[b+19|0]=r[e|0];o[b+20|0]=r[e|0];o[b+21|0]=r[e|0];o[b+22|0]=r[e|0];o[b+23|0]=r[e|0];o[b+24|0]=r[e|0];o[b+25|0]=r[e|0];o[b+26|0]=r[e|0];o[b+27|0]=r[e|0];o[b+28|0]=r[e|0];o[b+29|0]=r[e|0];o[b+30|0]=r[e|0];o[b+31|0]=r[e|0];g=g+1|0;if((g|0)!=32){continue}break}break a}if((e|0)<1){break a}g=f|1;i=a+f|0;j=i+ -1|0;b=0;while(1){h=r[j|0]+(r[(b+g|0)+a|0]-r[i|0]>>1)|0;h=(h|0)>0?h:0;o[b+c|0]=(h|0)<255?h:255;b=b+1|0;if((e|0)!=(b|0)){continue}break}if((e|0)<2){break a}g=1;while(1){i=w(d,g);j=((g^-1)+f|0)+a|0;b=0;while(1){o[(b+i|0)+c|0]=r[j|0];b=b+1|0;if((e|0)!=(b|0)){continue}break}g=g+1|0;if((g|0)!=(e|0)){continue}break}}}function oe(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=xa-256|0;xa=b;a:{if(q[a+56>>2]){break a}h=q[a+11584>>2];e=q[a+16>>2];d=q[a+8>>2];f=(e|0)>(d|0)?e:d;g=q[a+12>>2];b:{c:{d:{e:{f:{g:{h:{i:{j:{i=q[a+60>>2];c=i+ -1|0;if(c>>>0>12){break j}d=2;a=1;e=3;switch(c-1|0){case 9:case 10:break i;case 0:case 1:case 2:case 4:case 5:case 6:case 8:break j;case 11:break e;case 7:break f;case 3:break g;default:break h}}d=0}e=d;d=i+ -1|0;if(d>>>0>12){break b}a=e;switch(d-1|0){case 0:case 1:case 2:case 4:case 5:case 6:case 8:break b;case 9:case 10:break d;case 11:break e;case 7:break f;case 3:break g;default:break h}}c=w(f,g);q[b>>2]=c;a=c>>>2|0;q[b+8>>2]=a;q[b+4>>2]=a;break b}q[b+4>>2]=0;q[b+8>>2]=0;c=w(f,g)<<1;break c}q[b+4>>2]=0;q[b+8>>2]=0;c=w(f,g)<<1;break c}q[b+4>>2]=0;q[b+8>>2]=0;c=w(f,g)<<2;break c}q[b+8>>2]=0;c=w(f,g);q[b>>2]=c;q[b+4>>2]=c>>>1;break b}q[b>>2]=c;e=a}d=1;if(t[h>>2]>>0){break a}if(!e){d=0;break a}a=1;if(t[h+260>>2]>>0){break a}while(1){if((a|0)==(e|0)){d=0;break a}c=a<<2;a=a+1|0;if(t[(c+h|0)+260>>2]>=t[b+c>>2]){continue}break}}xa=b+256|0;return d}function ek(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;y=w(f,7);i=w(e,7);j=w(f,6);k=w(e,6);l=w(f,5);m=w(e,5);n=f<<2;q=e<<2;s=w(f,3);t=w(e,3);u=f<<1;v=e<<1;x=d<<1;z=x<<1;A=w(d,3)<<1;B=d<<3;C=w(d,5)<<1;D=w(d,6)<<1;E=w(d,7)<<1;d=0;while(1){F=c+y|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+u|0]=r[b+v|0];o[c+s|0]=r[b+t|0];o[c+n|0]=r[b+q|0];o[c+l|0]=r[b+m|0];o[c+j|0]=r[b+k|0];h=r[b+i|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[a+x>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[b+v|0]+p[a+z>>1]|0;h=(h|0)>0?h:0;o[c+u|0]=(h|0)<255?h:255;h=r[b+t|0]+p[a+A>>1]|0;h=(h|0)>0?h:0;o[c+s|0]=(h|0)<255?h:255;h=r[b+q|0]+p[a+B>>1]|0;h=(h|0)>0?h:0;o[c+n|0]=(h|0)<255?h:255;h=r[b+m|0]+p[a+C>>1]|0;h=(h|0)>0?h:0;o[c+l|0]=(h|0)<255?h:255;h=r[b+k|0]+p[a+D>>1]|0;h=(h|0)>0?h:0;o[c+j|0]=(h|0)<255?h:255;h=r[b+i|0]+p[a+E>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[F|0]=h;g=g>>1;b=b+1|0;c=c+1|0;a=a+2|0;d=d+1|0;if((d|0)!=8){continue}break}}function Ue(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;y=w(f,7);i=w(e,7);j=w(f,6);k=w(e,6);l=w(f,5);m=w(e,5);n=f<<2;q=e<<2;s=w(f,3);t=w(e,3);u=f<<1;v=e<<1;x=d<<1;z=x<<1;A=w(d,3)<<1;B=d<<3;C=w(d,5)<<1;D=w(d,6)<<1;E=w(d,7)<<1;d=0;while(1){F=c+y|0;a:{if(g&1){o[c|0]=r[b|0];o[c+f|0]=r[b+e|0];o[c+u|0]=r[b+v|0];o[c+s|0]=r[b+t|0];o[c+n|0]=r[b+q|0];o[c+l|0]=r[b+m|0];o[c+j|0]=r[b+k|0];h=r[b+i|0];break a}h=r[b|0]+p[a>>1]|0;h=(h|0)>0?h:0;o[c|0]=(h|0)<255?h:255;h=r[b+e|0]+p[a+x>>1]|0;h=(h|0)>0?h:0;o[c+f|0]=(h|0)<255?h:255;h=r[b+v|0]+p[a+z>>1]|0;h=(h|0)>0?h:0;o[c+u|0]=(h|0)<255?h:255;h=r[b+t|0]+p[a+A>>1]|0;h=(h|0)>0?h:0;o[c+s|0]=(h|0)<255?h:255;h=r[b+q|0]+p[a+B>>1]|0;h=(h|0)>0?h:0;o[c+n|0]=(h|0)<255?h:255;h=r[b+m|0]+p[a+C>>1]|0;h=(h|0)>0?h:0;o[c+l|0]=(h|0)<255?h:255;h=r[b+k|0]+p[a+D>>1]|0;h=(h|0)>0?h:0;o[c+j|0]=(h|0)<255?h:255;h=r[b+i|0]+p[a+E>>1]|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}o[F|0]=h;g=g>>1;b=b+2|0;c=c+2|0;a=a+2|0;d=d+1|0;if((d|0)!=8){continue}break}}function ye(a,b){var c=0,d=0;c=b,d=Pa(a,2),o[c|0]=d;c=b,d=Pa(a,1),o[c+1|0]=d;c=b,d=Pa(a,5),o[c+2|0]=d;c=b,d=Pa(a,1),o[c+3|0]=d;c=b,d=Pa(a,1),o[c+4|0]=d;c=b,d=Pa(a,1),o[c+5|0]=d;c=b,d=Pa(a,1),o[c+6|0]=d;c=b,d=Pa(a,1),o[c+7|0]=d;c=b,d=Pa(a,1),o[c+8|0]=d;c=b,d=Pa(a,1),o[c+9|0]=d;c=b,d=Pa(a,1),o[c+10|0]=d;c=b,d=Pa(a,1),o[c+11|0]=d;c=b,d=Pa(a,1),o[c+12|0]=d;c=b,d=Pa(a,1),o[c+13|0]=d;c=b,d=Pa(a,1),o[c+14|0]=d;c=b,d=Pa(a,1),o[c+15|0]=d;c=b,d=Pa(a,1),o[c+16|0]=d;c=b,d=Pa(a,1),o[c+17|0]=d;c=b,d=Pa(a,1),o[c+18|0]=d;c=b,d=Pa(a,1),o[c+19|0]=d;c=b,d=Pa(a,1),o[c+20|0]=d;c=b,d=Pa(a,1),o[c+21|0]=d;c=b,d=Pa(a,1),o[c+22|0]=d;c=b,d=Pa(a,1),o[c+23|0]=d;c=b,d=Pa(a,1),o[c+24|0]=d;c=b,d=Pa(a,1),o[c+25|0]=d;c=b,d=Pa(a,1),o[c+26|0]=d;c=b,d=Pa(a,1),o[c+27|0]=d;c=b,d=Pa(a,1),o[c+28|0]=d;c=b,d=Pa(a,1),o[c+29|0]=d;c=b,d=Pa(a,1),o[c+30|0]=d;c=b,d=Pa(a,1),o[c+31|0]=d;c=b,d=Pa(a,1),o[c+32|0]=d;c=b,d=Pa(a,1),o[c+33|0]=d;c=b,d=Pa(a,1),o[c+34|0]=d;c=b,d=Pa(a,1),o[c+35|0]=d;c=b,d=Pa(a,1),o[c+36|0]=d;c=b,d=Pa(a,1),o[c+37|0]=d;c=b,d=Pa(a,1),o[c+38|0]=d;Pa(a,16);Pa(a,16);Pa(a,12)}function fd(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;a:{b:{c:{d:{e:{if((c|0)>0){if(d>>>0>=154){break e}if(((c>>>e|0)+d|0)>153){break d}j=q[a+4>>2];i=q[a>>2];while(1){p=g;if(i>>>0<=255){break c}g=p>>>e|0;g=(g>>>0>>0?g:f)+d|0;if(g>>>0>=154){break b}h=a+g|0;g=r[h+8|0];if(g<<24>>24<=-1){break a}l=h;m=g&1;n=i;h=g<<1;g=z(i);i=r[(h&508|i<>>28&3)+4512|0]<<23-g;g=n-i|0;m=m^j>>>0>=g>>>0;o[l+8|0]=r[(m|h)+4768|0];h=j>>>0>>0;j=j-(h?0:g)|0;i=h?g:i;if(i>>>0<=255){h=z(i);l=h+ -1|0;k=q[b+4>>2];g=l+k|0;q[b+4>>2]=g;k=q[b+12>>2]<>>33-h|0;f:{g:{if(g>>>0>=33){h=64-g|0;if(h>>>0<=31){n=q[b+16>>2]>>>h|0}else{n=0}k=n|k;break g}if((g|0)!=32){break f}}q[b+12>>2]=q[b+16>>2];h=q[b+8>>2];q[b+8>>2]=h+4;h=q[h>>2];q[b+4>>2]=g+ -32;q[b+16>>2]=h<<8&16711680|h<<24|(h>>>8&65280|h>>>24)}j=j<>2]=j;q[a>>2]=i;g=p+1|0;if(m?(g|0)<(c|0):0){continue}break}return p+m|0}I(41696,3879,561,41708);F()}I(41410,3879,562,41708);F()}I(41740,3879,563,41708);F()}I(41329,3879,570,41708);F()}I(41818,3879,570,41708);F()}I(41498,3879,570,41708);F()}function _j(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0;l=xa-128|0;xa=l;f=l;q[f+80>>2]=-1;q[f+84>>2]=-1;q[f+88>>2]=-1;q[f+92>>2]=-1;q[f+96>>2]=-1;q[f+100>>2]=-1;q[f+104>>2]=-1;q[f+108>>2]=-1;q[f+112>>2]=-1;q[f+116>>2]=-1;q[f+120>>2]=-1;q[f+124>>2]=-1;q[f+64>>2]=-1;q[f+68>>2]=-1;q[f+72>>2]=-1;q[f+76>>2]=-1;g=j+ -1|0;o[e|0]=r[g+d|0];e=0;if((k|0)>0){while(1){o[e+l|0]=r[(g+w(b,e)|0)+a|0];e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((j|0)>=1){f=w(k+ -1|0,b);e=0;while(1){o[d+e|0]=r[(e+f|0)+a|0];e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(!r[h|0]){o[l+64|0]=0}if(!r[h+1|0]){o[g+(l- -64|0)|0]=0}if((k|0)>=1){if((j|0)>=1){h=0;while(1){d=r[a|0];e=d-r[c+h|0]|0;g=(e|0)>-1?(e|0)!=0:-1;e=0;while(1){n=g;g=d;f=e+1|0;d=r[f+a|0];m=g-d|0;p=(m|0)>-1?(m|0)!=0:-1;m=q[(n+p<<2)+38376>>2]&r[(l- -64|0)+e|0];if(m){n=a+e|0;e=g+o[i+m|0]|0;e=(e|0)>0?e:0;o[n|0]=(e|0)<255?e:255}g=0-p|0;e=f;if((j|0)!=(f|0)){continue}break}a=a+b|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}}Sa(c,l,k)}xa=l+128|0}function Zh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,t=0,u=0;d=xa-80|0;xa=d;c=s[a+10446>>1];if(c){h=me(b,c);ec(d+40|0,h,s[a+10446>>1]+7>>>3|0)}if(r[a+10450|0]){i=me(b,r[a+10451|0]);ec(d,i,r[a+10451|0]+7>>>3|0)}j=r[a+2|0];a:{if(j){k=r[a+7810|0];m=k+ -346|0;c=r[a|0];e=c;n=1;while(1){q=e&255;b=0;l=0;e=0;if(q){while(1){b:{if(t){p[((w(g,102)+a|0)+(b<<1)|0)+7812>>1]=0;break b}c:{d:{e:{e=r[((w(g,120)+a|0)+b|0)+6842|0];if(e>>>0>15){break e}c=0;f:{switch(e-1|0){case 13:case 14:break d;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:break e;case 12:break f;default:break c}}if(n){c=s[a+10448>>1]}else{f=Kc(d+40|0,d);c=f}n=0;c=c+m|0;m=c;break c}f=Kc(d+40|0,d);c=k+f<<16>>16;k=c;if((c|0)>=0){break c}b=4;break a}f=Kc(d+40|0,d);c=u+f|0;u=c}p[((w(g,102)+a|0)+(b<<1)|0)+7812>>1]=c;t=(f&255)==99;c=r[a|0]}l=l+1|0;b=l<<24>>24;if((b|0)<(c&255)){continue}break}j=r[a+2|0];e=c}o=o+1|0;g=o<<24>>24;if((g|0)<(j|0)){continue}break}}b=0}if(i){Ra(i)}if(h){Ra(h)}xa=d+80|0;return b}function yb(a,b){var c=0,d=0,e=0,f=0,g=0;c=xa-208|0;xa=c;q[c+8>>2]=1;q[c+12>>2]=0;a:{g=b<<2;if(!g){break a}q[c+16>>2]=4;q[c+20>>2]=4;b=4;f=4;e=2;while(1){d=b;b=(f+4|0)+b|0;q[(c+16|0)+(e<<2)>>2]=b;e=e+1|0;f=d;if(b>>>0>>0){continue}break}d=(a+g|0)+ -4|0;b:{if(d>>>0<=a>>>0){e=1;b=1;break b}e=1;b=1;while(1){c:{if((e&3)==3){yc(a,b,c+16|0);Wb(c+8|0,2);b=b+2|0;break c}f=b+ -1|0;d:{if(t[(c+16|0)+(f<<2)>>2]>=d-a>>>0){Vb(a,c+8|0,b,0,c+16|0);break d}yc(a,b,c+16|0)}if((b|0)==1){Ub(c+8|0,1);b=0;break c}Ub(c+8|0,f);b=1}e=q[c+8>>2]|1;q[c+8>>2]=e;a=a+4|0;if(a>>>0>>0){continue}break}}Vb(a,c+8|0,b,0,c+16|0);while(1){e:{f:{g:{if(!((b|0)!=1|(e|0)!=1)){if(q[c+12>>2]){break g}break a}if((b|0)>1){break f}}f=c+8|0;d=hl(q[c+8>>2]+ -1|0);if(!d){d=hl(q[c+12>>2]);d=d?d+32|0:0}Wb(f,d);e=q[c+8>>2];b=b+d|0;break e}Ub(c+8|0,2);q[c+8>>2]=q[c+8>>2]^7;Wb(c+8|0,1);f=a+ -4|0;d=b+ -2|0;Vb(f-q[(c+16|0)+(d<<2)>>2]|0,c+8|0,b+ -1|0,1,c+16|0);Ub(c+8|0,1);e=q[c+8>>2]|1;q[c+8>>2]=e;Vb(f,c+8|0,d,1,c+16|0);b=d}a=a+ -4|0;continue}}xa=c+208|0}function ji(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=0,n=0,q=0,t=0,v=0,y=0,z=x(0),A=0,B=0;f=r[b+2|0];if(f){A=e>>>3|0;q=b+1936|0;while(1){t=b+h|0;e=r[t+5|0];if(e){f=r[b|0];m=0;while(1){j=f&255;f=0;if(j){y=w(v&255,A);e=0;while(1){j=e+1|0;n=((w(h,120)+b|0)+e|0)+6842|0;if((r[n|0]|1)==15){o[(a+e|0)+10224|0]=0;o[(b+e|0)+10224|0]=0;j=e+1|0;i=s[(j<<1)+q>>1];g=s[a+2040>>1];k=e<<1;f=s[k+q>>1];B=Rb(+p[(k+(w(h,102)+b|0)|0)+7812>>1]*-.25);i=i>>>0>>0?i:g;a:{if(f>>>0>=i>>>0){break a}z=x(B);if(r[a+8628|0]==1){e=((w(h,51)+a|0)+e|0)+8629|0;while(1){g=f+y<<2;k=g+d|0;l=x(u[c+g>>2]*z);u[k>>2]=l;g=r[n|0];if((((g|0)==15?1:(g|0)==14?-1:0)&255)!=(1-(r[e|0]<<1)&255)){u[k>>2]=-l}f=f+1|0;if(f>>>0>>0){continue}break}break a}while(1){e=f+y<<2;g=e+d|0;l=x(u[c+e>>2]*z);u[g>>2]=l;if(r[n|0]!=15){u[g>>2]=-l}f=f+1|0;if(f>>>0>>0){continue}break}}}e=j;f=r[b|0];if(e>>>0>>0){continue}break}e=r[t+5|0]}v=v+1|0;m=m+1|0;if((m&255)>>>0>>0){continue}break}f=r[b+2|0]}h=h+1|0;if(h>>>0<(f&255)>>>0){continue}break}}}function Ri(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+660|0;g=a+376|0;a:{b:{c:{d:{j=q[a+648>>2];if(!r[j+76|0]){c=q[b+12>>2];if(((c>>>6&60)+(c>>>10&60)|0)==4){break d}e=2;if(!Wa(f,g,q[a+976>>2]+20|0)){break d}}p[b+8>>1]=0;h=b+9|0;break c}e=Wa(f,g,24);p[b+8>>1]=0;d=1;h=b+9|0;if((e|0)==1){break b}}c=0;k=b;i=o[j+160|0];e:{f:{if((i|0)<2){break f}d=Wa(f,g,25);g:{if(!d|(i|0)==2){break g}l=Wa(f,g,26);d=l+d|0;if(!l|(i|0)<4){break g}d=fb(f,g,i+ -3|0)+2|0}if((d|0)<1){break f}c=d;d=15;if((c|0)>14){break e}}d=c}o[k+8|0]=d;ue(a,b);c=Wa(f,g,29);c=q[b+12>>2]&-8388609|c<<23&8388608;q[b+12>>2]=c;d=e;if(d){break b}d=0;break a}c=0;k=h;h=o[j+161|0];h:{i:{if((h|0)<2){break i}e=Wa(f,g,25);j:{if(!e|(h|0)==2){break j}i=Wa(f,g,26);e=i+e|0;if(!i|(h|0)<4){break j}e=fb(f,g,h+ -3|0)+2|0}if((e|0)<1){break i}c=e;e=15;if((c|0)>14){break h}}e=c}o[k|0]=e;k:{if(!(!r[j+162|0]|(d|0)!=2)){q[b+4>>2]=0;break k}ue(a,b+4|0)}a=Wa(f,g,29);c=q[b+12>>2]&-16777217|a<<24&16777216;q[b+12>>2]=c}q[b+12>>2]=c&-393217|d<<17&393216}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=xa+ -64|0;xa=e;a:{b:{c:{if(Za(b,151820,0)){q[c>>2]=0;break c}if(Ig(a,b)){f=1;a=q[c>>2];if(!a){break a}q[c>>2]=q[a>>2];break a}if(!b){break b}b=hb(b,151600);if(!b){break a}d=q[c>>2];if(d){q[c>>2]=q[d>>2]}g=q[b+8>>2];d=q[a+8>>2];if(g&(d^-1)&7|(g^-1)&d&96){break a}f=1;if(Za(q[a+12>>2],q[b+12>>2],0)){break a}if(Za(q[a+12>>2],151808,0)){a=q[b+12>>2];if(!a){break a}f=!hb(a,151652);break a}d=q[a+12>>2];if(!d){break b}f=0;d=hb(d,151600);if(d){if(!(o[a+8|0]&1)){break a}f=Gg(d,q[b+12>>2]);break a}d=q[a+12>>2];if(!d){break a}d=hb(d,151712);if(d){if(!(o[a+8|0]&1)){break a}f=yd(d,q[b+12>>2]);break a}a=q[a+12>>2];if(!a){break a}d=hb(a,151504);if(!d){break a}a=q[b+12>>2];if(!a){break a}a=hb(a,151504);if(!a){break a}q[e+20>>2]=-1;q[e+16>>2]=d;q[e+12>>2]=0;q[e+8>>2]=a;Qa(e+24|0,0,39);q[e+56>>2]=1;n[q[q[a>>2]+28>>2]](a,e+8|0,q[c>>2],1);if(q[e+32>>2]!=1){break a}if(!q[c>>2]){break c}q[c>>2]=q[e+24>>2]}f=1;break a}f=0}xa=e- -64|0;return f|0}function jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=xa-22976|0;xa=h;g=r[a+24|0];a:{if(g>>>0>=64){o[b+9|0]=12;break a}f=r[a+25|0];if(f>>>0>=48){o[b+9|0]=13;break a}o[(a+f|0)+2128|0]=d;Qa(h+2056|0,0,20914);f=Qa(h,0,2048);e=q[c+8>>2];b:{if(e>>>0>=4){d=q[c>>2]<<32-e>>>28|0;break b}d=q[c>>2]<<4-e&15|q[c+4>>2]>>>e+28}i=f+2056|6;c:{if(r[c+20|0]){break c}if(e>>>0>=5){q[c+8>>2]=e+ -4;break c}Oa(c,4)}p[f+2058>>1]=65535;o[f+2056|0]=g;o[f+2060|0]=d;e=Cc(a,f+2056|0,c,i,f);d:{if(e){break d}e=32;if(r[f+11100|0]){break d}e=q[c+8>>2];e:{if(e>>>0>=3){j=q[c>>2]<<32-e>>>29|0;break e}j=q[c>>2]<<3-e&7|q[c+4>>2]>>>e+29}if((j|0)==6){f:{if(r[c+20|0]){break f}if(e>>>0>=4){q[c+8>>2]=e+ -3;break f}Oa(c,3)}e=Dc(a,c,q[a+324>>2],r[a+25|0]);if(e){break d}}e=Ah(a,i,f+2056|0,f)}o[b+9|0]=e;b=r[a+25|0];c=b+a|0;g:{if(r[c+26|0]==2){o[(a+g|0)+2192|0]=g;d=g+1|0;g=d;break g}if(!r[a+1656|0]){d=g;break g}d=r[((d&255)+a|0)+2096|0]}o[(a+d|0)+2192|0]=g;c=r[c+26|0];o[a+25|0]=b+1;o[a+24|0]=c+r[a+24|0]}xa=h+22976|0}function Yi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;o[a+1466|0]=1;e=a+376|0;g=a+1480|0,h=Ua(e),o[g|0]=h;a:{if(r[b+223|0]){c=r[a+1482|0];break a}c=Pa(e,1);o[a+1482|0]=c}d=a+1488|0;b:{if(c&255){g=a+1484|0,h=Pa(e,r[b+241|0]+1|0),q[g>>2]=h;c=Pa(e,r[b+242|0]+1|0);break b}q[a+1484>>2]=0;c=0}q[d>>2]=c;g=a+1492|0,h=Pa(e,1),o[g|0]=h;g=a+1496|0,h=Pa(e,r[b+241|0]+1|0),q[g>>2]=h;if(r[b+220|0]){f=r[b+271|0];c=0;while(1){d=(c<<2)+a|0;g=d+1500|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;g=d+1756|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;if(!(r[a+1482|0]?0:!r[b+223|0])){g=d+1628|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;g=d+1884|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h}d=(c|0)!=(f|0);c=c+1|0;if(d){continue}break}}if(r[b+221|0]){f=r[b+271|0];c=0;while(1){d=(c<<2)+a|0;g=d+2012|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;g=d+2268|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;if(!(r[a+1482|0]?0:!r[b+223|0])){g=d+2140|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h;g=d+2396|0,h=Pa(e,r[b+240|0]+1|0),q[g>>2]=h}d=(c|0)!=(f|0);c=c+1|0;if(d){continue}break}}}function Fk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=xa-272|0;xa=f;g=b<<2;a:{if(!(r[d+3e4|0]&(k=1<>31;if((b^b+i)>7){break c}e=(d+h|0)-(e<<1)|0;b=e>>31;if((b^b+e)>=8){break c}o[f+64|0]=h;b=1;e=1;while(1){o[e+f|0]=(w(e,h)+w(64-e|0,d)|0)+32>>>6;e=e+1|0;if((e|0)!=64){continue}break}while(1){o[(b+f|0)- -64|0]=(w(b,j)+w(h,64-b|0)|0)+32>>>6;b=b+1|0;if((b|0)!=64){continue}break}break b}d=r[a|0];o[f|0]=d;o[f+g|0]=r[a+g|0];if((b|0)<1){break b}}b=g+ -1|0;h=(b|0)>1?b:1;e=r[a+1|0];b=0;while(1){j=a+b|0;i=d&255;d=e;i=((e&255)<<1)+i|0;b=b+1|0;e=r[j+2|0];o[f+b|0]=(i+e|0)+2>>>2;if((b|0)!=(h|0)){continue}break}}a=g|1;if((a|0)<1){break a}Sa(c,f,a)}xa=f+272|0}function be(a,b,c,d,e,f,g,h){var i=0,j=0;a:{if((a|0)!=1){if(!e){break a}g=0;h=0;while(1){o[b+g|0]=0;h=h+1|0;g=h<<24>>24;if((g|0)<(e|0)){continue}break}break a}if(d){if(!e){break a}a=0;d=0;while(1){i=a+b|0;j=r[i|0]+r[w(a,f)+c|0]|0;a=j<<24>>24;o[i|0]=(a|0)<(g|0)?g:(a|0)>(h|0)?h:j;d=d+1|0;a=d<<24>>24;if((a|0)<(e|0)){continue}break}break a}a=o[b|0];o[b|0]=(a|0)<(g|0)?g:(a|0)>(h|0)?h:a;if(e>>>0<2){break a}b:{c:{a=e<<24;if(a>>24<2){break c}c=e+ -2|0;if(a+ -16777216>>24<1|c>>>0>255){break c}d=1;a=d;if(c>>>0>=256){break b}a=r[b|0];c=1;while(1){d=b+d|0;i=r[d|0]+a|0;a=i<<24>>24;a=(a|0)<(g|0)?g:(a|0)>(h|0)?h:i;o[d|0]=a;c=c+1|0;d=c<<24>>24;if((d|0)<(e|0)){continue}break}break a}a=1}d=a;a=1;while(1){a=a+b|0;i=r[a|0]+r[a+ -1|0]|0;c=i<<24>>24;o[a|0]=(c|0)<(g|0)?g:(c|0)>(h|0)?h:i;d=d+1|0;a=d<<24>>24;if((a|0)<(e|0)){continue}break}}if(!((f|0)!=2|(e<<25)+ -16777216>>24<1)){e=(e<<25)+ -33554432>>24|1;while(1){o[b+e|0]=r[(e>>1)+b|0];a=(e|0)>1;e=e+ -1|0;if(a){continue}break}}}function gl(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{d=b;if(d){e=c;if(!e){break i}break h}b=a;a=(a>>>0)/(c>>>0)|0;el(b-w(a,c)|0,0);ya=0;return a}if(!a){break g}break f}g=e+ -1|0;if(!(g&e)){break e}g=(z(e)+33|0)-z(d)|0;h=0-g|0;break c}a=(d>>>0)/0|0;el(0,d-w(a,0)|0);ya=0;return a}d=32-z(d)|0;if(d>>>0<31){break d}break b}el(a&g,0);if((e|0)==1){break a}d=hl(e);c=d&31;if(32<=(d&63)>>>0){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ya=e;return a}g=d+1|0;h=63-d|0}d=b;e=g&63;f=e&31;if(32<=e>>>0){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}h=h&63;d=h&31;if(32<=h>>>0){b=a<>>32-d|b<>>0<4294967295){h=0}while(1){i=f<<1|b>>>31;j=i;e=e<<1|f>>>31;i=h-(e+(d>>>0>>0)|0)>>31;k=c&i;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;i=i&1;l=i;g=g+ -1|0;if(g){continue}break}}el(f,e);ya=b<<1|a>>>31;return i|a<<1}el(a,b);a=0;b=0}ya=b;return a}function $j(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,s=0,t=0;m=xa-256|0;xa=m;n=j+ -1|0;p=j+ -2|0;if((k|0)>=1){while(1){s=l<<1;t=w(b,l);o[s+c|0]=r[(t+p|0)+a|0];o[(s|1)+c|0]=r[(n+t|0)+a|0];l=l+1|0;if((l|0)!=(k|0)){continue}break}}o[e|0]=r[d+p|0];o[e+1|0]=r[d+n|0];if((j|0)>=1){c=w(k+ -1|0,b);l=0;while(1){o[d+l|0]=r[(c+l|0)+a|0];l=l+1|0;if((l|0)!=(j|0)){continue}break}}d=0;Qa(m+128|0,0,128);c=Qa(m,0,128);q[c+((g&31)<<2)>>2]=1;q[(c+128|0)+((f&31)<<2)>>2]=1;q[c+((g+1&31)<<2)>>2]=2;q[(c+128|0)+((f+1&31)<<2)>>2]=2;q[c+((g+2&31)<<2)>>2]=3;q[(c+128|0)+((f+2&31)<<2)>>2]=3;q[c+((g+3&31)<<2)>>2]=4;q[(c+128|0)+((f+3&31)<<2)>>2]=4;if(!((k|0)<1|(j|0)<=0)){while(1){l=0;while(1){e=l&1;f=a+l|0;g=r[f|0];e=o[(e?i:h)+q[(g>>>1&124)+(e?c:c+128|0)>>2]|0]+g|0;e=(e|0)>0?e:0;o[f|0]=(e|0)<255?e:255;l=l+1|0;if((l|0)!=(j|0)){continue}break}a=a+b|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}xa=c+256|0}function Lc(a,b,c){var d=0,e=x(0),f=0,g=x(0),h=x(0),i=x(0),j=x(0),k=0,l=0,m=0,n=0,o=0,p=0,r=0,t=0,v=0,w=0,y=0;l=xa-4096|0;xa=l;k=s[a>>1];m=k>>>2|0;p=k>>>1|0;t=q[a+8>>2];v=k>>>3|0;if(v){e=x(k>>>0);y=k-m|0;while(1){f=d<<1;r=f^-1;w=d<<3;n=w+l|0;g=x(u[(m+f<<2)+b>>2]-u[(m+r<<2)+b>>2]);o=t+w|0;h=u[o>>2];i=x(u[(r+y<<2)+b>>2]+u[(f+y<<2)+b>>2]);j=u[o+4>>2];u[n+4>>2]=x(x(g*h)-x(i*j))*e;u[n>>2]=x(x(i*h)+x(g*j))*e;n=d+v<<3;o=n+l|0;g=x(u[(f+p<<2)+b>>2]+u[(k+r<<2)+b>>2]);f=t+n|0;h=u[f>>2];i=x(u[(p+r<<2)+b>>2]-u[b+w>>2]);j=u[f+4>>2];u[o+4>>2]=x(x(g*h)-x(i*j))*e;u[o>>2]=x(x(i*h)+x(g*j))*e;d=d+1|0;if((v|0)!=(d|0)){continue}break}}yi(q[a+4>>2],l);if(m){b=0;while(1){a=b<<3;d=a+l|0;e=u[d>>2];f=a+c|0;a=a+t|0;g=u[a>>2];h=u[d+4>>2];i=u[a+4>>2];j=x(x(e*g)+x(h*i));u[f>>2]=-j;a=b<<1;d=a^-1;e=x(x(h*g)-x(e*i));u[(d+p<<2)+c>>2]=e;u[(a+p<<2)+c>>2]=-e;u[(d+k<<2)+c>>2]=j;b=b+1|0;if((m|0)!=(b|0)){continue}break}}xa=l+4096|0}function Rd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=x(0);f=xa-192|0;xa=f;a:{if(!a){q[e>>2]=1065353216;break a}b:{if(!c){c=0;if((b|0)==3){while(1){q[(f+96|0)+(c<<2)>>2]=q[(r[c+d|0]<<2)+147216>>2];c=c+1|0;if((c|0)!=(a|0)){continue}break b}}while(1){q[(f+96|0)+(c<<2)>>2]=q[(r[c+d|0]<<2)+147280>>2];c=c+1|0;if((c|0)!=(a|0)){continue}break}break b}c=0;if((b|0)==3){while(1){q[(f+96|0)+(c<<2)>>2]=q[(r[c+d|0]<<2)+147344>>2];c=c+1|0;if((c|0)!=(a|0)){continue}break b}}while(1){q[(f+96|0)+(c<<2)>>2]=q[(r[c+d|0]<<2)+147408>>2];c=c+1|0;if((c|0)!=(a|0)){continue}break}}q[e>>2]=1065353216;j=e+4|0;k=f|4;d=0;b=1;g=1;while(1){h=g&255;if(h>>>0>=2){l=((d+ -1&255)<<2)+4|0;m=u[((b<<2)+f|0)+92>>2];c=1;while(1){i=c<<2;u[i+f>>2]=u[e+i>>2]+x(m*u[(b-c<<2)+e>>2]);c=c+1|0;if((h|0)!=(c|0)){continue}break}Sa(j,k,l)}b=b<<2;q[b+e>>2]=q[(b+f|0)+92>>2];d=d+1|0;g=g+1|0;b=g&255;if(b>>>0<=a>>>0){continue}break}}xa=f+192|0}function te(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=q[a+360>>2];d=p[g+2>>1];b=p[g>>1];c=o[g+4116|0];q[a+468>>2]=2;q[a+472>>2]=0;j=(b+63|0)/64|0;e=1<>2]<>2]<>2];d=e>>>2&14|k;q[b>>2]=d|q[b>>2]&-49152|256;q[b>>2]=d|q[a+436>>2]<<16|-8371968;q[a+408>>2]=q[a+408>>2]+4;q[a+568>>2]=q[a+568>>2]+1;q[a+428>>2]=q[a+428>>2]+1;f=o[g+4116|0];b=(q[a+316>>2]<>2]+w((q[a+320>>2]<>3,j)|0)+(b>>6)|0;l=r[f|0];m=f,n=kl(-2,(b|0)/8&7)&l,o[m|0]=n;b=q[a+416>>2];d=d|q[b+12>>2]&-805437440|4352;q[b+12>>2]=d;q[b+12>>2]=q[a+472>>2]<<25&234881024|d&-1048178194|524288;q[a+416>>2]=q[a+416>>2]+16;q[a+424>>2]=q[a+424>>2]+1;e=e+8|0;if((e|0)<(i|0)){continue}break}c=c+8|0;if((c|0)<(h|0)){continue}break}}}function Hk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if(!((f|0)!=131071?!((f|0)==70024|(f|0)==78796):0)){a:{b:{f=kl(e+ -4|0,30);if(f>>>0>7){break b}h=e<<1;c:{switch(f-1|0){case 0:case 2:case 6:break a;case 1:case 3:case 4:case 5:break b;default:break c}}f=g+h|0;o[f|0]=r[a|0];o[f+ -1|0]=r[c|0];o[f+ -2|0]=r[c+d|0];o[f+ -3|0]=r[(d<<1)+c|0];o[f+ -4|0]=r[w(d,3)+c|0];if((e|0)>=3){a=(h|0)>5?h:5;f=4;while(1){o[((f^-1)+h|0)+g|0]=r[w(d,f)+c|0];f=f+1|0;if((a|0)!=(f|0)){continue}break}}a=(h|1)+g|0;bb(a,b,4);bb(a+4|0,b+4|0,4);return}I(4263,3818,183,30872);F()}o[g+h|0]=r[a|0];f=0;if((e|0)>0){while(1){o[((f^-1)+h|0)+g|0]=r[w(d,f)+c|0];f=f+1|0;if((f|0)!=(e|0)){continue}break}}if((h|0)>(e|0)){f=e;while(1){o[((f^-1)+h|0)+g|0]=r[w(d,f)+c|0];f=f+1|0;if((h|0)!=(f|0)){continue}break}}a=h|1;bb(a+g|0,b,e);bb((a+e|0)+g|0,b+e|0,e);return}I(3334,3818,147,30872);F()}function _e(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;l=xa-144|0;xa=l;b=0;g=f<<2;p=q[g+29792>>2];m=e<<1;h=m+2|0;a:{if((h|0)<=0){f=m+ -2|0;break a}f=m+ -2|0;k=e<<2;while(1){i=b+k|0;o[(b+f|0)+l|0]=r[i+a|0];o[((b|1)+f|0)+l|0]=r[(i|1)+a|0];b=b+2|0;if((b|0)<(h|0)){continue}break}}f=f+l|0;b=w(e,p);if((b|0)<=-33){h=q[g+29888>>2];k=b>>5<<1;i=e<<2;j=i|1;g=128;b=-2;while(1){g=g+h|0;n=g>>8<<1;o[b+f|0]=r[(i-n|0)+a|0];o[f+(b|1)|0]=r[(j-n|0)+a|0];b=b+ -2|0;if((b|0)>(k|0)){continue}break}}if(!((e|0)<1|(m|0)<1)){a=0;while(1){g=w(a,d);a=a+1|0;b=w(p,a);h=b&31;k=32-h|0;i=b>>5<<1;b=0;while(1){j=f+(b+i|0)|0;o[(b+g|0)+c|0]=(w(k,r[j+2|0])+w(h,r[j+4|0])|0)+16>>>5;n=b|1;j=f+(n+i|0)|0;o[(g+n|0)+c|0]=(w(k,r[j+2|0])+w(h,r[j+4|0])|0)+16>>>5;b=b+2|0;if((b|0)<(m|0)){continue}break}if((a|0)!=(e|0)){continue}break}}xa=l+144|0}function Fh(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=q[a+20>>2];a:{if(!d){b=q[a+8>>2];if((b|0)!=q[a+4>>2]){while(1){Ra(q[b+ -4>>2]);b=q[a+8>>2]+ -4|0;q[a+8>>2]=b;if(q[a+4>>2]!=(b|0)){continue}break}}q[a+16>>2]=0;e=b;break a}c=q[a+16>>2];b:{if(c>>>0<=169){b=q[a+4>>2];break b}Ra(q[q[a+4>>2]>>2]);b=q[a+4>>2]+4|0;q[a+4>>2]=b;c=q[a+16>>2]+ -170|0;q[a+16>>2]=c;d=q[a+20>>2]}e=q[a+8>>2];f=e-b|0;if((f?w(f>>2,170)+ -1|0:0)-(d+c|0)>>>0<170){break a}Ra(q[e+ -4>>2]);e=q[a+8>>2]+ -4|0;q[a+8>>2]=e;b=q[a+4>>2]}c:{f=q[a>>2];c=e-b|0;d=c>>2;d:{if(q[a+12>>2]-f>>2>>>0<=d>>>0){break d}if(c){if(d>>>0>=1073741824){break c}c=Va(c)}else{c=0}g=c+(d<<2)|0;if((b|0)!=(e|0)){d=c;while(1){q[d>>2]=q[b>>2];d=d+4|0;b=b+4|0;if((e|0)!=(b|0)){continue}break}f=q[a>>2];d=q[a+8>>2]-q[a+4>>2]>>2}q[a+12>>2]=g;q[a+4>>2]=c;q[a>>2]=c;q[a+8>>2]=c+(d<<2);if(!f){break d}Ra(f)}return}sb(1504);F()}function $a(a,b,c,d,e){var f=0,g=0,h=0;g=q[a+648>>2];f=q[a+416>>2];q[f>>2]=0;q[f+4>>2]=0;q[f+8>>2]=0;q[f+12>>2]=0;h=b;b=o[q[a+360>>2]+4116|0];b=h-(q[a+316>>2]<>>2&15|((e<<10&61440)+61440&61440|(d<<6&3840)+3840&3840)|c-(q[a+320>>2]<>2]=b;q[f+12>>2]=b|q[a+472>>2]<<25&234881024;b=a+660|0;c=a+376|0;a:{if(q[a+468>>2]==2){d=524288;b:{if(o[g+166|0]<2){break b}if(!Wa(b,c,19)){break b}d=1572864;e=o[g+166|0];if((e|0)<3){break b}d=(fb(b,c,(e&255)+ -2|0)<<20)- -1048576&7340032|524288}q[f+12>>2]=q[f+12>>2]&-7864321|d;break a}d=Wa(b,c,18);q[f+12>>2]=q[f+12>>2]&-524289|d<<19&524288;if(d){d=0;c:{if(o[g+166|0]<2){break c}if(!Wa(b,c,19)){break c}d=1048576;e=o[g+166|0];if((e|0)<3){break c}d=(fb(b,c,(e&255)+ -2|0)<<20)- -1048576&7340032}q[f+12>>2]=q[f+12>>2]&-7340033|d;break a}Ri(a,f)}q[a+416>>2]=q[a+416>>2]+16;q[a+424>>2]=q[a+424>>2]+1}function zi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b>>5;e=f<<2;c=q[a+12>>2]-e|0;q[a+16>>2]=c;i=b&31;g=q[a+28>>2];d=e+g|0;a:{b:{if(c>>>0<=3){h=c+ -1|0;c:{if(h>>>0>2){c=0;e=0;b=0;break c}b=0;c=0;e=0;d:{switch(h-1|0){case 1:b=r[d+2|0];case 0:c=r[d+1|0];e=b;break;default:break d}}b=r[d|0]<<24}q[a+16>>2]=0;q[a>>2]=b|(c&255)<<16|(e&255)<<8;b=0;c=0;break b}b=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);e=c+ -4|0;q[a+16>>2]=e;q[a>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);if(e>>>0>=4){b=r[d+4|0]|r[d+5|0]<<8|(r[d+6|0]<<16|r[d+7|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);c=c+ -8|0;break a}b=0;e=c+ -5|0;if(e>>>0>2){c=0;break b}c=0;e:{switch(e-1|0){case 1:b=r[d+6|0];case 0:c=b;b=r[d+5|0];break;default:break e}}j=r[d+4|0]<<24}b=(b&255)<<16|j|(c&255)<<8;c=0}q[a+4>>2]=b;q[a+16>>2]=c;o[a+20|0]=0;q[a+8>>2]=32-i;q[a+24>>2]=((f<<2)+g|0)+8}function $e(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;k=xa-144|0;xa=k;b=0;g=f<<2;p=q[g+29072>>2];l=e<<1;i=l+2|0;a:{if((i|0)<=0){f=l+ -2|0;break a}f=l+ -2|0;j=e<<2;while(1){h=j-b|0;o[(b+f|0)+k|0]=r[h+a|0];o[((b|1)+f|0)+k|0]=r[(h|1)+a|0];b=b+2|0;if((b|0)<(i|0)){continue}break}}i=f+k|0;b=w(e,p);if((b|0)<=-33){g=q[g+29172>>2];j=b>>5<<1;h=e<<2;n=h|1;f=128;b=-2;while(1){f=f+g|0;m=f>>8<<1;o[b+i|0]=r[(m+h|0)+a|0];o[i+(b|1)|0]=r[(n+m|0)+a|0];b=b+ -2|0;if((b|0)>(j|0)){continue}break}}if(!((l|0)<1|(e|0)<1)){a=0;while(1){h=a|1;b=w((a>>>1|0)+1|0,p);n=b>>5;g=b&31;j=32-g|0;b=0;while(1){m=w(b,d);f=i+(b+n<<1)|0;o[(m+a|0)+c|0]=(w(j,r[f+2|0])+w(g,r[f+4|0])|0)+16>>>5;o[(h+m|0)+c|0]=(w(j,r[f+3|0])+w(g,r[f+5|0])|0)+16>>>5;b=b+1|0;if((e|0)!=(b|0)){continue}break}a=a+2|0;if((a|0)<(l|0)){continue}break}}xa=k+144|0}function mg(a){var b=0,c=0,d=0;b=xa-112|0;xa=b;o[a+36|0]=0;q[a+32>>2]=0;q[a+16>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+1072>>2]=0;q[a+1060>>2]=0;q[a+1052>>2]=0;q[a+1056>>2]=0;q[a+48>>2]=0;q[a>>2]=2596;q[b+104>>2]=0;q[b+100>>2]=35;q[b+96>>2]=36;q[b+88>>2]=1;q[b+92>>2]=0;q[b+80>>2]=28;q[b+84>>2]=5;q[b+64>>2]=12;c=gb(0,b+80|0,b- -64|0);q[a+1064>>2]=c;if(c){q[b+16>>2]=q[b+68>>2];cb(2628,b+16|0)}c=q[b+72>>2];q[a+48>>2]=c;q[c>>2]=12;q[c+4>>2]=37;d=q[666];q[b+40>>2]=q[665];q[b+44>>2]=d;d=q[664];q[b+32>>2]=q[663];q[b+36>>2]=d;q[b+56>>2]=8;q[b+60>>2]=0;c=gb(c,b+32|0,b+56|0);q[a+1064>>2]=c;if(c){cb(2668,0)}c=q[681];q[b+48>>2]=q[680];q[b+52>>2]=c;c=q[679];q[b+40>>2]=q[678];q[b+44>>2]=c;c=q[677];q[b+32>>2]=q[676];q[b+36>>2]=c;q[b+56>>2]=8;q[b+60>>2]=0;c=a;a=gb(q[a+48>>2],b+32|0,b+56|0);q[c+1064>>2]=a;if(a){cb(2728,0)}q[b>>2]=2761;K(0,b|0);xa=b+112|0}function ec(a,b,c){var d=0,e=0,f=0,g=0,h=0;if(a){d=1;g=a;if(!(!b|!c)){q[a+16>>2]=c;q[a+12>>2]=c;q[a+32>>2]=b;a:{b:{if(c>>>0<=3){f=c+ -1|0;c:{if(f>>>0>2){c=0;d=0;e=0;break c}c=0;d=0;d:{switch(f-1|0){case 1:e=r[b+2|0];case 0:c=r[b+1|0];d=e;break;default:break d}}e=r[b|0]<<24}q[a+16>>2]=0;q[a>>2]=e|(c&255)<<16|(d&255)<<8;d=0;c=0;break b}d=r[b|0]|r[b+1|0]<<8|(r[b+2|0]<<16|r[b+3|0]<<24);e=c+ -4|0;q[a+16>>2]=e;q[a>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24);if(e>>>0>=4){d=r[b+4|0]|r[b+5|0]<<8|(r[b+6|0]<<16|r[b+7|0]<<24);d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);c=c+ -8|0;break a}d=0;e=c+ -5|0;if(e>>>0>2){c=0;break b}c=0;e:{switch(e-1|0){case 1:d=r[b+6|0];case 0:c=d;d=r[b+5|0];break;default:break e}}h=r[b+4|0]<<24}d=(d&255)<<16|h|(c&255)<<8;c=0}q[a+28>>2]=b;q[a+4>>2]=d;q[a+16>>2]=c;q[a+8>>2]=32;q[a+24>>2]=b+8;d=0}o[g+20|0]=d}}function ee(a,b,c){var d=0,e=0,f=0,g=0,h=0;h=a<<2;g=q[h+158784>>2];e=q[b+8>>2];d=r[a+165232|0];a:{if(e>>>0>=d>>>0){f=q[b>>2]<<32-e>>>32-d|0;break a}f=d-e|0;f=(q[b>>2]&(-1<>2]>>>32-f}g=g+(f<<1)|0;f=r[g|0];g=r[g+1|0];b:{if(g){c:{if(r[b+20|0]){break c}if(e>>>0>d>>>0){e=e-d|0;q[b+8>>2]=e;break c}Oa(b,d);e=q[b+8>>2]}if(e>>>0>=g>>>0){d=q[b>>2]<<32-e>>>32-g|0}else{d=g-e|0;d=(q[b>>2]&(-1<>2]>>>32-d}f=d+f|0;if(r[b+20|0]){break b}d=r[q[(a<<2)+160768>>2]+w(f&65535,5)|0]-r[a+165232|0]|0;if(e>>>0>d>>>0){q[b+8>>2]=e-d;break b}Oa(b,d);break b}if(r[b+20|0]){break b}d=r[q[h+160768>>2]+w(f,5)|0];if(e>>>0>d>>>0){q[b+8>>2]=e-d;break b}Oa(b,d)}a=a<<2;b=f&65535;if(q[a+165280>>2]>=(b|0)){a=q[a+160768>>2]+w(b,5)|0;p[c>>1]=o[a+1|0];p[c+2>>1]=o[a+2|0];p[c+4>>1]=o[a+3|0];p[c+6>>1]=o[a+4|0];a=0}else{a=10}return a}function oc(a){a=a|0;var b=0,c=0,d=0,e=0;c=xa+ -64|0;xa=c;q[a>>2]=2392;b=Y(1836)|0;q[c+56>>2]=q[a+1804>>2];J($(b|0,1,1852,c+56|0)|0);J(b|0);q[c+32>>2]=3220;K(0,c+32|0);e=a+1776|0;Gc(e);b=q[a+1780>>2];d=q[a+1784>>2];a:{if((b|0)==(d|0)){break a}while(1){Ra(q[b>>2]);b=b+4|0;if((d|0)!=(b|0)){continue}break}b=q[a+1784>>2];d=q[a+1780>>2];if((b|0)==(d|0)){break a}q[a+1784>>2]=b+(((b-d|0)+ -4>>>2^-1)<<2)}b=q[e>>2];if(b){Ra(b)}q[a+52>>2]=2596;q[c+56>>2]=8;q[c+60>>2]=6;q[c+48>>2]=8;q[c+52>>2]=0;b=gb(q[a+100>>2],c+56|0,c+48|0);q[a+1116>>2]=b;if(b){cb(2884,0)}Ra(q[a+72>>2]);q[a+52>>2]=2828;b:{if(r[a+88|0]){break b}b=q[a+60>>2];if(!b){break b}Ra(b)}q[c+16>>2]=2860;K(0,c+16|0);q[a+24>>2]=2408;Zc(q[a+48>>2]);q[a+24>>2]=2496;Ra(q[a+36>>2]);q[c>>2]=2527;K(0,c|0);if(o[a+23|0]<=-1){Ra(q[a+12>>2])}J(q[a+4>>2]);xa=c- -64|0;return a|0}function Wi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;o[a+1477|0]=1;f=a+5904|0;c=a+376|0;d=Pa(c,2);o[f|0]=d;if(d&255){while(1){d=a+e|0;b=Pa(c,1);o[d+5905|0]=b;if(b&255){b=e+f|0;h=b,i=Pa(c,1),o[h+4|0]=i;h=b,i=Pa(c,5),o[h+7|0]=i;h=b,i=Pa(c,1),o[h+10|0]=i;h=b,i=Pa(c,1),o[h+13|0]=i;h=b,i=Pa(c,1),o[h+16|0]=i;h=(e<<1)+f|0,i=Pa(c,9),p[h+20>>1]=i;a:{if(r[b+10|0]){h=d+5939|0,i=Pa(c,6),o[h|0]=i;h=d+5942|0,i=Pa(c,6),o[h|0]=i;h=d+5945|0,i=Pa(c,5),o[h|0]=i;break a}b=Pa(c,1);o[d+5930|0]=b;if(!(b&255)){break a}h=d+5939|0,i=Pa(c,6),o[h|0]=i;b=Pa(c,1);o[d+5933|0]=b;if(!(b&255)){break a}h=d+5942|0,i=Pa(c,6),o[h|0]=i;b=Pa(c,1);o[d+5936|0]=b;if(!(b&255)){break a}h=d+5945|0,i=Pa(c,5),o[h|0]=i}b=Pa(c,5);o[d+5948|0]=b;d=d+5951|0;b=b&255;g=0;b:{if(!b){break b}g=Pa(c,b)}o[d|0]=g}e=e+1|0;if(e>>>0>>0>12){break c}g=5;d:{switch(b-1|0){case 3:g=4;break b;case 11:break b;case 0:case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:break c;default:break d}}g=3;break b}g=6;if((e|0)<1){break a}}j=e<<1;q=e<<2|2;k=w(e,6)+a|0;s=k;i=e+ -1|0;b=i<<1;t=b+a|0;u=(b|1)+a|0;b=0;while(1){v=w(b,d);f=b+1|0;l=i-b|0;b=(b^-1)+j<<1;x=b+a|0;y=(b|1)+a|0;b=0;while(1){m=(b+v|0)+c|0;h=b>>>1|0;n=i-h|0;h=h+1|0;p=b+q|0;o[m|0]=(((w(n,r[x|0])+e|0)+w(h,r[k+2|0])|0)+w(r[p+a|0],l)|0)+w(r[t|0],f)>>g;o[m+1|0]=(((w(r[y|0],n)+e|0)+w(h,r[s+3|0])|0)+w(r[(p|1)+a|0],l)|0)+w(r[u|0],f)>>g;b=b+2|0;if((b|0)<(j|0)){continue}break}b=f;if((e|0)!=(b|0)){continue}break}}}function je(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=x(0),l=x(0),m=0,n=x(0),o=x(0),p=0,q=0,r=0,s=0;a:{if((a|0)!=1){if(!b|!a){break a}p=w(a,b);q=a<<1;while(1){r=w(a,g)&65535;s=w(g,q)&65535;f=0;while(1){j=f+r|0;m=(j<<3)+d|0;i=f+s|0;h=(i<<3)+c|0;i=(a+i<<3)+c|0;u[m>>2]=u[h>>2]+u[i>>2];k=u[i>>2];l=u[h>>2];u[m+4>>2]=u[h+4>>2]+u[i+4>>2];j=(j+p<<3)+d|0;n=x(u[h+4>>2]-u[i+4>>2]);h=(f<<3)+e|0;o=u[h>>2];k=x(l-k);l=u[h+4>>2];u[j+4>>2]=x(n*o)-x(k*l);u[j>>2]=x(k*o)+x(n*l);f=f+1|0;if((f|0)!=(a|0)){continue}break}g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if(!b){break a}while(1){g=f<<1&65534;h=(g<<3)+d|0;e=f<<5&524256;a=e+c|0;e=(e|8)+c|0;u[h>>2]=u[a>>2]+u[e>>2];g=(b+g<<3)+d|0;u[g>>2]=u[a>>2]-u[e>>2];u[h+4>>2]=u[a+4>>2]+u[e+4>>2];u[g+4>>2]=u[a+4>>2]-u[e+4>>2];f=f+1|0;if((f|0)!=(b|0)){continue}break}}}function ge(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=x(0),m=x(0),n=x(0),o=x(0),p=0,q=0,r=0,s=0;a:{if((a|0)!=1){if(!b|!a){break a}p=w(a,b);q=a<<1;while(1){r=w(a,g)&65535;s=w(g,q)&65535;f=0;while(1){j=f+r|0;k=(j<<3)+d|0;h=f+s|0;i=(h<<3)+c|0;h=(a+h<<3)+c|0;u[k>>2]=u[i>>2]+u[h>>2];l=u[h>>2];m=u[i>>2];u[k+4>>2]=u[i+4>>2]+u[h+4>>2];j=(j+p<<3)+d|0;l=x(m-l);k=(f<<3)+e|0;m=u[k>>2];n=x(u[i+4>>2]-u[h+4>>2]);o=u[k+4>>2];u[j>>2]=x(l*m)-x(n*o);u[j+4>>2]=x(n*m)+x(l*o);f=f+1|0;if((f|0)!=(a|0)){continue}break}g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if(!b){break a}while(1){g=f<<1&65534;i=(g<<3)+d|0;e=f<<5&524256;a=e+c|0;e=(e|8)+c|0;u[i>>2]=u[a>>2]+u[e>>2];g=(b+g<<3)+d|0;u[g>>2]=u[a>>2]-u[e>>2];u[i+4>>2]=u[a+4>>2]+u[e+4>>2];u[g+4>>2]=u[a+4>>2]-u[e+4>>2];f=f+1|0;if((f|0)!=(b|0)){continue}break}}}function Uc(a,b,c){var d=0,e=0,f=0,g=0,h=0;h=a<<2;g=q[h+158784>>2];e=q[b+8>>2];d=r[a+165232|0];a:{if(e>>>0>=d>>>0){f=q[b>>2]<<32-e>>>32-d|0;break a}f=d-e|0;f=(q[b>>2]&(-1<>2]>>>32-f}g=g+(f<<1)|0;f=r[g|0];g=r[g+1|0];b:{if(g){c:{if(r[b+20|0]){break c}if(e>>>0>d>>>0){e=e-d|0;q[b+8>>2]=e;break c}Oa(b,d);e=q[b+8>>2]}if(e>>>0>=g>>>0){d=q[b>>2]<<32-e>>>32-g|0}else{d=g-e|0;d=(q[b>>2]&(-1<>2]>>>32-d}f=d+f|0;if(r[b+20|0]){break b}d=r[q[(a<<2)+163232>>2]+w(f&65535,3)|0]-r[a+165232|0]|0;if(e>>>0>d>>>0){q[b+8>>2]=e-d;break b}Oa(b,d);break b}if(r[b+20|0]){break b}d=r[q[h+163232>>2]+w(f,3)|0];if(e>>>0>d>>>0){q[b+8>>2]=e-d;break b}Oa(b,d)}a=a<<2;b=f&65535;if(q[a+165328>>2]>=(b|0)){a=q[a+163232>>2]+w(b,3)|0;p[c>>1]=o[a+1|0];p[c+2>>1]=o[a+2|0];a=0}else{a=10}return a}function Mh(a,b,c,d){var e=0,f=0,g=0,h=0;e=xa-256|0;xa=e;h=Qa(e,0,256);e=1;a:{if(c>>>0>b>>>0){c=c-b|0;f=d?c+2>>2<<1:c&-2;f=f>>>0<63?f:63;if(!f){break a}g=d?2:1;d=c-w(g,f)|0;e=0;c=0;while(1){q[(e<<2)+h>>2]=g;c=c+1|0;e=c&255;if(f>>>0>e>>>0){continue}break}if(d){e=(d|0)>0;c=e?f+255|0:0;e=e?-1:1;while(1){c=c&255;g=(c<<2)+h|0;q[g>>2]=q[g>>2]-e;c=c+e|0;d=d+e|0;if(d){continue}break}}o[a+26|0]=b;b=f>>>0<2?0:f+ -1|0;b:{c:{if(!((b&255)>>>0>253|b>>>0>255|(b&255)==255)){e=1;c=e;if(b>>>0>=256){break c}c=r[a+26|0];d=1;while(1){c=r[((e<<2)+h|0)+ -4|0]+c|0;o[(a+e|0)+26|0]=c;d=d+1|0;e=d&255;if(f>>>0>=e>>>0){continue}break}break b}c=1}e=c;c=1;while(1){b=a+26|0;g=b+e|0;d=b;b=e+ -1|0;o[g|0]=r[d+b|0]+r[(b<<2)+h|0];c=c+1|0;e=c&255;if(f>>>0>=e>>>0){continue}break}}e=0}o[a+16|0]=f}xa=h+256|0;return e}function xc(a){var b=0,c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{h(+a);b=e(1)|0;d=e(0)|0;if((b|0)>0?1:(b|0)>=0?d>>>0<0?0:1:0){j=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|d)){return-1/(a*a)}if((b|0)>-1?1:(b|0)>=-1?d>>>0<=4294967295?0:1:0){break c}return(a-a)/0}if(j>>>0>2146435071){break a}b=1072693248;k=-1023;if((j|0)!=1072693248){b=j;break b}if(d){break b}return 0}h(+(a*0x40000000000000));b=e(1)|0;d=e(0)|0;k=-1077}b=b+614242|0;i=+((b>>>20|0)+k|0);f(0,d|0);f(1,(b&1048575)+1072079006|0);a=+g()+ -1;c=a/(a+2);l=i*.6931471803691238;m=a;n=i*1.9082149292705877e-10;o=c;i=a*(a*.5);c=c*c;a=c*c;a=l+(m+(n+o*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return a}function qe(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=q[a+44>>2];f=p[i+4118>>1];g=q[a+4>>2]+w(f,q[a+8>>2])|0;b=q[a+28>>2];j=a;a:{if(q[q[a>>2]+24>>2]==1){g=(g|0)%142560|0;e=g+1|0;h=s[b+2>>1];b:{if((h|0)!=(q[a+12>>2]+1|0)){break b}c=q[a+16>>2]+1|0;d=c+r[b+1|0]|0;if(s[b+4>>1]==(c|0)){if((f|0)==(h+r[b|0]|0)?(d|0)==p[i+4120>>1]:0){break b}e=r[b+6|0]+w(f,r[b+7|0])|0;break b}e=r[b|0]+w(d,f)|0}q[a+684>>2]=e;b=q[a+80>>2];a=b+(g<<2)|0;d=b+(e<<2)|0;break a}e=a;h=s[b+2>>1];c=g+1|0;c:{if((h|0)!=(q[a+12>>2]+1|0)){break c}c=q[a+16>>2]+1|0;d=c+r[b+1|0]|0;if((c|0)==s[b+4>>1]){c=((g|0)%142560|0)+1|0;if(!((d|0)!=p[i+4120>>1]|(f|0)!=(h+r[b|0]|0))){break c}c=r[b+6|0]+w(f,r[b+7|0])|0;break c}c=r[b|0]+w(d,f)|0}d=c;q[e+684>>2]=d;e=q[a+80>>2];a=e+(g<<2)|0;d=e+(d<<2)|0}q[j+252>>2]=q[d>>2]-q[a>>2]}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=xa-32|0;xa=e;g=q[a+28>>2];q[e+16>>2]=g;d=q[a+20>>2];q[e+28>>2]=c;q[e+24>>2]=b;b=d-g|0;q[e+20>>2]=b;g=b+c|0;i=2;b=e+16|0;a:{b:{f=ea(q[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}q[41511]=f;d=-1}d:{if(!d){while(1){d=q[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=q[b+4>>2];f=d>>>0>h>>>0;b=f?b+8|0:b;h=d-(f?h:0)|0;q[b>>2]=h+q[b>>2];q[b+4>>2]=q[b+4>>2]-h;g=g-d|0;i=i-f|0;f=ea(q[a+60>>2],b|0,i|0,e+12|0)|0;d=0;e:{if(!f){break e}q[41511]=f;d=-1}if(!d){continue}break}}q[e+12>>2]=-1;if((g|0)!=-1){break b}}b=q[a+44>>2];q[a+28>>2]=b;q[a+20>>2]=b;q[a+16>>2]=b+q[a+48>>2];a=c;break a}q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a>>2]=q[a>>2]|32;a=0;if((i|0)==2){break a}a=c-q[b+4>>2]|0}xa=e+32|0;return a|0}function Wa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=q[a>>2];a:{b:{if(g>>>0>255){if(c>>>0>=154){break b}e=a+c|0;c=r[e+8|0];if(c<<24>>24<=-1){break a}h=e;i=c&1;f=q[a+4>>2];e=g;c=c<<1;g=z(g);d=r[(c&508|e<>>28&3)+4512|0]<<23-g;e=e-d|0;j=i^f>>>0>=e>>>0;o[h+8|0]=r[(j|c)+4768|0];c=f;f=f>>>0>>0;c=c-(f?0:e)|0;g=a;e=f?e:d;if(e>>>0<=255){d=z(e);i=d+ -1|0;h=q[b+4>>2];f=i+h|0;q[b+4>>2]=f;h=q[b+12>>2]<>>33-d|0;c:{d:{if(f>>>0>=33){d=64-f|0;if(d>>>0<=31){d=q[b+16>>2]>>>d|0}else{d=0}h=d|h;break d}if((f|0)!=32){break c}}q[b+12>>2]=q[b+16>>2];d=q[b+8>>2];q[b+8>>2]=d+4;d=q[d>>2];q[b+4>>2]=f+ -32;q[b+16>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}e=e<>2]=c;q[a>>2]=e;return j}I(41329,3879,247,41386);F()}I(41410,3879,248,41386);F()}I(41498,3879,249,41386);F()}function nb(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}b:{if(b+c>>>0>a>>>0){e=a+c|0;if(e>>>0>b>>>0){break b}}Sa(a,b,c);return}d=(a^b)&3;c:{d:{if(a>>>0>>0){if(d){break c}if(!(a&3)){break d}while(1){if(!c){break a}o[a|0]=r[b|0];b=b+1|0;c=c+ -1|0;a=a+1|0;if(a&3){continue}break}break d}e:{if(d){break e}if(e&3){while(1){if(!c){break a}c=c+ -1|0;d=c+a|0;o[d|0]=r[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break e}while(1){c=c+ -4|0;q[c+a>>2]=q[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;o[c+a|0]=r[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break c}while(1){q[a>>2]=q[b>>2];b=b+4|0;a=a+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){o[a|0]=r[b|0];a=a+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}}function Th(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;f=xa-16384|0;xa=f;a:{if(!a){e=20;break a}e=21;g=r[a+12436|0];if(g>>>0>3){break a}b:{switch(g-1|0){case 0:case 1:break a;default:break b}}c:{if(!r[a+10|0]){e=!q[a+12432>>2];break c}e=1;if(!r[a+12426|0]){break c}o[a+12412|0]=255}o[a+9|0]=(c|0)!=0;h=a,i=Lb(a,b,f,0,e)+r[a+10|0]|0,o[h+10|0]=i;c=q[a+12448>>2];d:{if(d){Ib(a,c,f,b);break d}Hb(a,c,f,b)}if(r[a+53426|0]){o[a+9|0]=0}if(!(r[a+10|0]|!q[a+12432>>2])){e=$b(a,0);if(e){break a}}c=0;e:{if(r[a+53418|0]){e=0;b=a+12456|0;while(1){nb(b+(e<<9)|0,b+(r[a+53416|0]+e<<9)|0,512);e=e+1|0;c=r[a+53418|0];if(e>>>0>>0){continue}break}if(c>>>0>39){break e}}Qa(((c<<9)+a|0)+12456|0,0,((39-c&255)<<9)+512|0)}q[a+12428>>2]=q[a+12428>>2]+1;e=0}xa=f+16384|0;return e}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=xa-16|0;xa=f;a:{b:{c=q[b+4>>2];c:{if(o[c+11|0]<=-1){d=q[c>>2];e=q[b+8>>2];g=d+e|0;if((r[g|0]&240)!=16){break b}if(!r[g+1|0]){break c}break b}e=q[b+8>>2];d=c+e|0;if((r[d|0]&240)!=16|r[d+1|0]){break b}d=c}c=r[d+e|0];q[b+8>>2]=e+5;q[b+12>>2]=q[b+12>>2]+ -5;d:{c=c&15;d=c+ -7|0;if(d>>>0>5){break d}e:{switch(d-1|0){default:n[q[q[a>>2]+12>>2]](a,b);break a;case 0:case 1:case 2:case 3:break d;case 4:break e}}n[q[q[a>>2]+16>>2]](a,b);break a}q[f+4>>2]=c;q[f>>2]=1796;K(0,f|0);break a}d=e+2|0;q[b+8>>2]=d;g=q[b+12>>2];q[b+12>>2]=g+ -2;if(o[c+11|0]<=-1){c=q[c>>2]}c=c+d|0;d=r[c|0];h=r[c+2|0];c=r[c+1|0];q[b+12>>2]=g+ -5;q[b+8>>2]=e+5;q[a+40>>2]=h|c<<8|d<<16;n[q[q[a>>2]+24>>2]](a,b)}xa=f+16|0}function si(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=xa-32|0;xa=e;a:{if(!a|!b|(!c|!d)){break a}p[a>>1]=0;g=gi(b,e+8|0,a+1657|0,r[a+2|0]);f=q[e+12>>2];q[c>>2]=f;b=r[e+16|0];b:{if(b){o[d|0]=b;break b}o[d|0]=r[a+1833|0];o[a+1656|0]=1;b=r[d|0]}if((b&255)==1){o[d|0]=2}o[a+3|0]=r[e+9|0];o[a+4|0]=r[e+8|0];o[a+6|0]=r[e+23|0];o[a+7|0]=r[e+24|0];o[a+8|0]=r[e+25|0];b=r[e+27|0];o[a+840|0]=b;c=r[e+29|0];o[a+842|0]=c;c:{d:{if(!r[a+2267|0]){d=r[e+28|0];o[a+841|0]=d;if(!c&(b|0)==1|(d|0)==1){break d}break c}o[a+841|0]=0;if(c|(b|0)!=1){break c}}h=a,i=ob(f>>>1|0),o[h+3|0]=i}if(g){break a}o[a+5|0]=r[e+16|0];b=a;if(r[e+17|0]){p[a+10>>1]=960;c=960}else{c=s[a+10>>1]}h=b,i=oi(c),q[h+320>>2]=i;if(r[a+4|0]!=23){break a}p[a+10>>1]=s[a+10>>1]>>>1}xa=e+32|0}function _c(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=g;a:{if((c|d)<=-1){q[e>>2]=0;q[f>>2]=0;a=0;break a}if(!r[a+27|0]){q[e>>2]=c;q[f>>2]=d;a=0;break a}h=q[a+4>>2];i=o[a+30|0];b:{if((i|0)<=0){j=r[h|0];g=h;break b}l=i+ -1|0;while(1){g=w(k,6)+h|0;if((k|0)==(l|0)){m=p[b+4118>>1]}else{m=r[g+6|0]}j=r[g|0];if((j|0)<=(c|0)?m<<16>>16>(c|0):0){break b}k=k+1|0;if((k|0)<(i|0)){continue}break}k=0}q[e>>2]=c-j;a=o[a+31|0];c:{if((a|0)<1){c=0;break c}j=a&255;l=j+ -1|0;g=0;d:{while(1){c=g;e:{if((l|0)==(c|0)){g=c+1|0;a=p[b+4120>>1];break e}g=c+1|0;a=r[(w(w(i,g),6)+h|0)+1|0]}e=w(c,i);if(r[(w(e,6)+h|0)+1|0]<=(d|0)?a<<16>>16>(d|0):0){break d}if((g|0)<(j|0)){continue}break}c=0}g=w(e,6)+h|0}q[f>>2]=d-r[g+1|0];a=w(c,i)+k|0}q[n>>2]=a}function Qa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}d=a+c|0;o[d+ -1|0]=b;o[a|0]=b;if(c>>>0<3){break a}o[d+ -2|0]=b;o[a+1|0]=b;o[d+ -3|0]=b;o[a+2|0]=b;if(c>>>0<7){break a}o[d+ -4|0]=b;o[a+3|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=w(b&255,16843009);q[e>>2]=b;c=c-d&-4;d=c+e|0;q[d+ -4>>2]=b;if(c>>>0<9){break a}q[e+8>>2]=b;q[e+4>>2]=b;q[d+ -8>>2]=b;q[d+ -12>>2]=b;if(c>>>0<25){break a}q[e+24>>2]=b;q[e+20>>2]=b;q[e+16>>2]=b;q[e+12>>2]=b;q[d+ -16>>2]=b;q[d+ -20>>2]=b;q[d+ -24>>2]=b;q[d+ -28>>2]=b;g=e&4|24;c=c-g|0;if(c>>>0<32){break a}d=b;f=b;b=e+g|0;while(1){q[b+24>>2]=f;q[b+28>>2]=d;q[b+16>>2]=f;q[b+20>>2]=d;q[b+8>>2]=f;q[b+12>>2]=d;q[b>>2]=f;q[b+4>>2]=d;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function fc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=xa-16|0;xa=d;a:{if(!q[a+152>>2]){break a}g=1<>2];h=q[a+44>>2];i=q[a>>2];f=1024;while(1){q[d+12>>2]=1;b=q[a+8>>2];j=(b|0)<1;if(!j){k=q[a+12>>2]+c|0;l=s[e+2>>1]+ -1|0;q[d+12>>2]=r[q[i+208>>2]+((r[e|0]+((k|0)<(l|0)?k:l)|0)+w(p[h+4118>>1],b+ -1|0)|0)|0]&g}b:{if(!r[q[a+40>>2]+27|0]|q[a+4>>2]<1){break b}if(q[d+12>>2]){q[d+12>>2]=r[(q[i+208>>2]+((r[e|0]+q[a+12>>2]|0)+w(b,p[h+4118>>1])|0)|0)+ -1|0]&g}if(j|!q[d+12>>2]){break b}q[d+12>>2]=r[(q[i+208>>2]+((r[e|0]+q[a+12>>2]|0)+w(p[h+4118>>1],b+ -1|0)|0)|0)+ -1|0]&g}if(q[d+12>>2]){break a}b=128;if((f|0)>=1){while(1){cb(3708,0);b=b+ -1|0;if(b){continue}break}f=f+ -128|0}else{f=1024}continue}}xa=d+16|0}function wi(a,b){a=a|0;b=b|0;var c=0,d=0;d=xa-32|0;xa=d;c=Va(1872);q[c>>2]=2392;q[c+4>>2]=q[b>>2];q[b>>2]=0;q[c+12>>2]=0;q[c+16>>2]=0;o[c+8|0]=0;q[c+20>>2]=0;q[c+32>>2]=0;q[c+24>>2]=2496;q[d+20>>2]=c+24;q[d+16>>2]=2512;K(0,d+16|0);q[c+24>>2]=2408;b=ui();q[c+48>>2]=b;q[d+4>>2]=b;q[d>>2]=2424;K(0,d|0);mg(c+52|0);q[c+1776>>2]=0;q[c+1780>>2]=0;q[c+1804>>2]=0;b=c+1784|0;q[b>>2]=0;q[b+4>>2]=0;b=c+1792|0;q[b>>2]=0;q[b+4>>2]=0;o[c+1800|0]=0;q[c+1812>>2]=0;q[c+1816>>2]=0;p[c+1808>>1]=257;b=c+1820|0;q[b>>2]=0;q[b+4>>2]=0;b=c+1828|0;q[b>>2]=0;q[b+4>>2]=0;b=c+1834|0;p[b>>1]=0;p[b+2>>1]=0;p[b+4>>1]=0;p[b+6>>1]=0;q[c+1844>>2]=12;o[c+1864|0]=0;q[c+56>>2]=c+4;q[c+1868>>2]=q[a>>2];q[a>>2]=0;q[c>>2]=2360;xa=d+32|0;return c|0}function Xi(a,b){var c=0,d=0,e=0,f=0,g=0;o[a+1467|0]=1;c=a+376|0;if(r[b+184|0]){f=a+2548|0,g=Pa(c,4),q[f>>2]=g;f=a+2552|0,g=Pa(c,2),q[f>>2]=g;f=a+2556|0,g=Pa(c,1),o[f|0]=g}a:{if(r[b+221|0]?0:!r[b+220|0]){break a}f=a+2560|0,g=Pa(c,r[b+241|0]+1|0),q[f>>2]=g;f=a+2564|0,g=Pa(c,r[b+242|0]+1|0),q[f>>2]=g;if(!r[b+223|0]){break a}f=a+2568|0,g=Pa(c,r[b+227|0]+1|0),q[f>>2]=g;if(!r[b+223|0]|!r[b+226|0]){break a}d=Ua(c);q[a+2572>>2]=d>>>0<269?d:269;d=Pa(c,1);o[a+2576|0]=d;if(d&255){f=a+2580|0,g=Pa(c,r[b+225|0]+1|0),q[f>>2]=g}d=0;while(1){e=(d<<2)+a|0;f=e+2584|0,g=Ua(c),q[f>>2]=g;if(!(r[a+2576|0]|d>>>0>=t[a+2572>>2])){f=e+3664|0,g=Pa(c,r[b+225|0]+1|0),q[f>>2]=g}d=d+1|0;if(d>>>0<=t[a+2572>>2]){continue}break}}}function Fj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=q[a+8>>2];a:{if(q[e+112>>2]){a=q[e+12>>2];f=q[e+8>>2];if(!q[e+56>>2]){d=f;c=a;break a}d=q[e+20>>2];g=80;c=q[e+4>>2]+160|0;break a}d=q[e+56>>2];g=d?80:0;a=0;d=d?160:0;c=d}h=q[e+20>>2];q[b+68>>2]=c;q[b+44>>2]=a;q[b+32>>2]=f;q[b+20>>2]=g;q[b+8>>2]=g;c=c>>>1|0;q[b+76>>2]=c;q[b+72>>2]=c;c=g>>>1|0;q[b+16>>2]=c;q[b+28>>2]=c;q[b+12>>2]=c;q[b+24>>2]=c;c=f+1|0;f=c>>>1|0;q[b+40>>2]=f;a=a+1>>>1|0;q[b+52>>2]=a;q[b+36>>2]=f;q[b+48>>2]=a;a=(h|0)>(d|0)?h:d;q[b+56>>2]=a;d=a>>>1|0;q[b+64>>2]=d;q[b+60>>2]=d;if(q[e+60>>2]+ -11>>>0<=1){q[b+76>>2]=0;q[b+64>>2]=0;q[b+52>>2]=0;q[b+40>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+12>>2]=g;q[b+60>>2]=a&-2;q[b+36>>2]=c&-2}}function Di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=q[a+360>>2];i=o[(f+o[f+14|0]|0)+24|0];d=q[a+236>>2];q[a+228>>2]=d;g=i+1|0;q[a+232>>2]=g;h=p[f+2>>1];e=p[f>>1];b=w(h+63&-64,e+63&-64);c=(b|0)/256|0;b=(b|0)/16|0;if((i|0)>=0){j=-4-(((b+(c<<2)|0)+(b<<4)|0)+((c<<1)+3&-4)|0)|0;c=w(g,40980);b=c+d|0;g=q[a+240>>2]-c|0;c=0;while(1){e=w((h<<16>>16)+63&-64,(e<<16>>16)+63&-64);h=(e|0)/256|0;e=(e|0)/16|0;g=g+j|0;if((g|0)<=-1){q[a+652>>2]=981;return 981}q[d>>2]=b;b=((h<<2)+b|0)+4|0;q[d+8>>2]=b;b=b+e|0;q[d+12>>2]=b;b=b+((h<<1)+3&-4)|0;q[d+4>>2]=b;if(nc(q[a+224>>2],d,c)){q[a+652>>2]=983;return 983}if((c|0)!=(i|0)){d=d+40980|0;c=c+1|0;b=b+(e<<4)|0;h=p[f+2>>1];e=p[f>>1];continue}break}}return 0}function ak(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=xa-128|0;xa=k;l=h+ -1|0;if((i|0)>=1){while(1){o[c+j|0]=r[(w(b,j)+l|0)+a|0];j=j+1|0;if((j|0)!=(i|0)){continue}break}}o[e|0]=r[d+l|0];if((h|0)>=1){c=w(i+ -1|0,b);j=0;while(1){o[d+j|0]=r[(c+j|0)+a|0];j=j+1|0;if((j|0)!=(h|0)){continue}break}}c=0;d=Qa(k,0,128);q[d+((f&31)<<2)>>2]=1;q[d+((f+1&31)<<2)>>2]=2;q[d+((f+2&31)<<2)>>2]=3;q[d+((f+3&31)<<2)>>2]=4;if(!((i|0)<1|(h|0)<=0)){while(1){j=0;while(1){f=a+j|0;e=r[f|0];e=o[q[d+(e>>>1&124)>>2]+g|0]+e|0;e=(e|0)>0?e:0;o[f|0]=(e|0)<255?e:255;j=j+1|0;if((j|0)!=(h|0)){continue}break}a=a+b|0;c=c+1|0;if((i|0)!=(c|0)){continue}break}}xa=d+128|0}function Gc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=q[a+16>>2];b=(d>>>0)/170|0;c=q[a+4>>2];g=q[a+8>>2];a:{if((c|0)==(g|0)){h=a+20|0;break a}h=a+20|0;e=(b<<2)+c|0;b=q[e>>2]+w(d-w(b,170)|0,24)|0;d=d+q[a+20>>2]|0;f=(d>>>0)/170|0;f=q[(f<<2)+c>>2]+w(d-w(f,170)|0,24)|0;if((b|0)==(f|0)){break a}while(1){q[b+4>>2]=1636;c=q[b+8>>2];d=q[c+12>>2]+ -1|0;q[c+12>>2]=d;if(!(d|!c)){if(o[c+11|0]<=-1){Ra(q[c>>2])}Ra(c)}b=b+24|0;if((b-q[e>>2]|0)==4080){b=q[e+4>>2];e=e+4|0}if((b|0)!=(f|0)){continue}break}c=q[a+4>>2];g=q[a+8>>2]}q[h>>2]=0;b=g-c>>2;if(b>>>0>2){while(1){Ra(q[c>>2]);c=q[a+4>>2]+4|0;q[a+4>>2]=c;b=q[a+8>>2]-c>>2;if(b>>>0>2){continue}break}}b=b+ -1|0;if(b>>>0<=1){q[a+16>>2]=b-1|0?85:170}}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=xa-112|0;xa=d;g=q[a+8>>2];h=q[a+12>>2];c=q[b+4>>2];a:{if(o[c+11|0]<=-1){f=q[c>>2];break a}f=c}e=q[b+8>>2];i=r[f+e|0];f=e+1|0;q[b+8>>2]=f;e=q[b+12>>2]+ -1|0;q[b+12>>2]=e;b:{if(i){b=q[a+24>>2];a=d+24|0;if(o[c+11|0]<=-1){c=q[c>>2]}a=qi(b,a,c+f|0,e);b=r[d+33|0];if(b){q[d+20>>2]=b>>>0<=33?q[(b<<2)+158128>>2]:0;q[d+16>>2]=2551;K(1,d+16|0);b=0;break b}b=q[d+28>>2]<<1;Sa(g+h|0,a,b);break b}c=q[a+24>>2];c=c?c+2256|0:0;o[c|0]=5;ti(q[a+24>>2],c);e=q[a+24>>2];c=q[b+4>>2];if(o[c+11|0]<=-1){c=q[c>>2]}si(e,q[b+8>>2]+c|0,a+16|0,a+20|0);b=q[a+16>>2];q[d+8>>2]=r[a+20|0];q[d+4>>2]=b;q[d>>2]=2557;b=0;K(0,d|0)}xa=d+112|0;return b|0}function Sc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(r[a+4|0]==2){break a}c=r[a+2|0];if(!c){break a}i=a+1936|0;while(1){j=a+g|0;d=r[j+5|0];if(d){h=0;e=r[a|0];c=e;while(1){b:{if(c&255){d=0;while(1){c:{if(r[((w(g,120)+a|0)+d|0)+6842|0]!=13){d=d+1|0;break c}c=s[(d<<1)+i>>1];d=d+1|0;f=s[(d<<1)+i>>1];k=s[a+2040>>1];f=f>>>0>>0?f:k;if(c>>>0>>0){while(1){e=w(c,12)+b|0;p[e+8>>1]=1065369472;p[e+10>>1]=16256;p[e>>1]=0;p[e+2>>1]=0;p[e+4>>1]=0;p[e+6>>1]=0;c=c+1|0;if((f|0)!=(c|0)){continue}break}e=r[a|0]}}if(d>>>0>>0){continue}break}d=r[j+5|0];c=e;break b}c=0}h=h+1|0;if((h&255)>>>0<(d&255)>>>0){continue}break}c=r[a+2|0]}g=g+1|0;if(g>>>0<(c&255)>>>0){continue}break}}}function Md(a,b,c,d){a:{b:{if(b>>>0>20){break b}b=b+ -9|0;if(b>>>0>9){break b}c:{switch(b-1|0){default:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=q[b>>2];return;case 0:b=q[c>>2];q[c>>2]=b+4;b=q[b>>2];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 1:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=q[b>>2];q[a+4>>2]=0;return;case 3:b=q[c>>2];q[c>>2]=b+4;b=p[b>>1];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 4:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=s[b>>1];q[a+4>>2]=0;return;case 5:b=q[c>>2];q[c>>2]=b+4;b=o[b|0];q[a>>2]=b;q[a+4>>2]=b>>31;return;case 6:b=q[c>>2];q[c>>2]=b+4;q[a>>2]=r[b|0];q[a+4>>2]=0;return;case 2:case 7:break a;case 8:break c}}n[d](a,c)}return}b=q[c>>2]+7&-8;q[c>>2]=b+8;c=q[b+4>>2];q[a>>2]=q[b>>2];q[a+4>>2]=c}function Wh(a){var b=0;if(a){_b(q[a+12440>>2]);_b(q[a+12448>>2]);if(q[a+12452>>2]){_b(q[a+12444>>2]);_b(q[a+12452>>2])}b=q[a+648>>2];if(b){Ra(b)}b=q[a+688>>2];if(b){Ra(b)}b=q[a+668>>2];if(b){Ra(b)}b=q[a+708>>2];if(b){Ra(b)}b=q[a+652>>2];if(b){Ra(b)}b=q[a+692>>2];if(b){Ra(b)}b=q[a+672>>2];if(b){Ra(b)}b=q[a+712>>2];if(b){Ra(b)}b=q[a+656>>2];if(b){Ra(b)}b=q[a+696>>2];if(b){Ra(b)}b=q[a+676>>2];if(b){Ra(b)}b=q[a+716>>2];if(b){Ra(b)}b=q[a+660>>2];if(b){Ra(b)}b=q[a+700>>2];if(b){Ra(b)}b=q[a+680>>2];if(b){Ra(b)}b=q[a+720>>2];if(b){Ra(b)}b=q[a+664>>2];if(b){Ra(b)}b=q[a+704>>2];if(b){Ra(b)}b=q[a+684>>2];if(b){Ra(b)}b=q[a+724>>2];if(b){Ra(b)}b=q[a+53420>>2];if(b){di(b)}Ra(a)}}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=r[(a+b|0)+614|0];if(i){j=w(b,3)+a|0;h=(b<<9)+a|0;k=(b<<8)+a|0;while(1){a:{if(!r[(d+j|0)+53535|0]){e=r[a+19|0];if(e>>>0<2){break a}f=d<<2;c=q[(f+h|0)+7388>>2];b=1;while(1){g=(f+((b<<3)+h|0)|0)+7388|0;c=q[g>>2]+c|0;q[g>>2]=c;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}c=r[a+19|0];if(d){if(!c){break a}e=d+ -1|0;b=0;while(1){f=((b<<3)+h|0)+7388|0;g=f+(d<<2)|0;q[g>>2]=q[g>>2]+q[f+(e<<2)>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}break a}if(!c){break a}b=0;while(1){e=((b<<3)+h|0)+7388|0;q[e>>2]=q[e>>2]+q[((b<<2)+k|0)+10460>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}}d=d+1|0;if((i|0)!=(d|0)){continue}break}}}function Pc(a,b,c,d,e,f,g,h,i,j){var k=0,l=0,m=0,n=0,o=x(0),q=0;l=xa-16384|0;xa=l;m=r[a+4|0];a:{if(!r[b+1|0]|(m|0)==2){break a}k=j<<1;if(k&65534){n=k&65535;o=u[(r[b+5|0]<<2)+73264>>2];q=s[b+2>>1];k=0;while(1){u[(l- -8192|0)+(k<<2)>>2]=o*x(p[((k+n|0)-q<<1)+d>>1]);k=k+1|0;if((n|0)!=(k|0)){continue}break}}ni(e,m,f,g,l- -8192|0,l,i,j);wh(a,a+9053|0,h,i,l,j);f=r[b|0];if(!f){break a}d=0;e=a+1936|0;while(1){b:{if(!r[(b+d|0)+6|0]){d=d+1|0;break b}k=s[e+(d<<1)>>1];d=d+1|0;g=s[e+(d<<1)>>1];h=s[a+2040>>1];g=g>>>0>>0?g:h;if(k>>>0>>0){while(1){h=k<<2;i=h+c|0;u[i>>2]=u[h+l>>2]+u[i>>2];k=k+1|0;if((g|0)!=(k|0)){continue}break}}}if((d|0)!=(f|0)){continue}break}}xa=l+16384|0}function xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=xa-144|0;xa=i;b=e<<1;f=f<<2;m=q[f+29072>>2];if((e|0)>=0){j=e+ -1|0;while(1){o[(g+j|0)+i|0]=r[(b-g|0)+a|0];k=(e|0)!=(g|0);g=g+1|0;if(k){continue}break}}g=-1;k=e+i|0;j=k+ -1|0;h=w(e,m);if((h|0)<-32){l=q[f+29172>>2];h=h>>5;f=128;while(1){f=f+l|0;o[g+j|0]=r[(b+(f>>8)|0)+a|0];g=g+ -1|0;if((g|0)>(h|0)){continue}break}}if((e|0)>=1){a=0;while(1){b=a+1|0;f=w(b,m);h=f>>5;f=f&31;l=32-f|0;g=0;while(1){n=g+h|0;o[(w(d,g)+a|0)+c|0]=(w(l,r[k+n|0])+w(f,r[(j+n|0)+2|0])|0)+16>>>5;g=g+1|0;if((g|0)!=(e|0)){continue}break}a=b;if((e|0)!=(a|0)){continue}break}}xa=i+144|0}function Vb(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=xa-240|0;xa=f;g=q[b>>2];q[f+232>>2]=g;b=q[b+4>>2];q[f>>2]=a;q[f+236>>2]=b;h=1;a:{b:{c:{d:{if(b?0:(g|0)==1){break d}g=a-q[(c<<2)+e>>2]|0;if((n[163](g,a)|0)<1){break d}i=!d;while(1){e:{b=g;if(!(!i|(c|0)<2)){d=q[((c<<2)+e|0)+ -8>>2];g=a+ -4|0;if((n[163](g,b)|0)>-1){break e}if((n[163](g-d|0,b)|0)>-1){break e}}q[(h<<2)+f>>2]=b;d=f+232|0;a=hl(q[f+232>>2]+ -1|0);if(!a){a=hl(q[f+236>>2]);a=a?a+32|0:0}Wb(d,a);h=h+1|0;c=a+c|0;if(q[f+236>>2]?0:q[f+232>>2]==1){break b}d=0;i=1;a=b;g=a-q[(c<<2)+e>>2]|0;if((n[163](g,q[f>>2])|0)>0){continue}break c}break}b=a;break b}b=a}if(d){break a}}Kd(f,h);yc(b,c,e)}xa=f+240|0}function Ij(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=q[a+8>>2];q[d+52>>2]=0;a:{b:{if(!q[d+56>>2]){break b}a=q[b+8>>2];g=a>>>0<64?a:64;q[d+52>>2]=g;e=1;f=q[d+248>>2];if(q[d+60>>2]==1){h=n[q[d+11616>>2]](q[d+11624>>2],128,w(q[b+276>>2],g)<<1)|0;if(!h){break a}q[d+260>>2]=h}if((g|0)<1){break b}j=b+12|0;e=0;while(1){i=w(e,516)+j|0;q[f>>2]=q[i+4>>2];c:{if(q[d+60>>2]==1){a=h;h=a+(q[b+276>>2]<<1)|0;break c}a=q[i+8>>2]}q[f+4>>2]=a;if(nc(q[d+244>>2],f,e)){q[d+144>>2]=983;return 983}Qb(q[d+244>>2],e,4);Sa((w(q[d+45340>>2],516)+d|0)+12316|0,i,516);q[d+45340>>2]=q[d+45340>>2]+1;f=f+8476|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=0;q[c+4>>2]=0}return e}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=xa-32|0;xa=c;a:{if(t[a+1796>>2]>=2){g=a+1780|0;b=a+1792|0;d=q[b>>2];e=(d>>>0)/170|0;d=q[q[g>>2]+(e<<2)>>2]+w(d-w(e,170)|0,24)|0;q[a+96>>2]=q[d>>2];e=Z()|0;Xb(a+52|0,d+4|0);h=Z()|0;th(a+1776|0);f=q[b>>2];b=(f>>>0)/170|0;e=(h-e|0)/1e3|0;h=q[d>>2];if((q[a+1816>>2]+(q[a+1836>>2]-h|0)|0)>q[a+1848>>2]){kd(a);break a}g=q[q[q[g>>2]+(b<<2)>>2]+w(f-w(b,170)|0,24)>>2];d=Y(1856)|0;b=q[a+4>>2];f=L(1064)|0;b=U(b|0,f|0)|0;J(f|0);ce(c+8|0,b,a+4|0);J(b|0);T(q[c+8>>2]);a=g-h|0;q[c+24>>2]=a-((a|0)>(e|0)?e:0);q[c+16>>2]=q[c+8>>2];J($(d|0,2,1868,c+16|0)|0);J(q[c+8>>2]);J(d|0);break a}o[a+1800|0]=0}xa=c+32|0}function Xa(a){var b=0,c=0,d=0,e=0,f=0,g=0;f=q[a+12>>2];b=q[a+4>>2];d=f<>>0<=31){b=q[a+16>>2]>>>b|0}else{b=0}e=z(b|d);b=(g+e|0)+1|0;q[c+4>>2]=b;if(b>>>0>=32){f=q[a+16>>2];q[a+12>>2]=f;c=q[a+8>>2];q[a+8>>2]=c+4;c=q[c>>2];b=b+ -32|0;q[a+4>>2]=b;q[a+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}c=0;a:{if(!e){break a}d=b+e|0;q[a+4>>2]=d;c=f<>>32-e|0;b:{if(d>>>0>=33){b=64-d|0;if(b>>>0<=31){g=q[a+16>>2]>>>b|0}else{g=0}c=g|c;break b}if((d|0)!=32){break a}}q[a+12>>2]=q[a+16>>2];b=q[a+8>>2];q[a+8>>2]=b+4;b=q[b>>2];q[a+4>>2]=d+ -32;q[a+16>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}a=(1<>>1|0;return c&1?0-a|0:a}function le(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){return 0}e=q[a+8>>2];a:{if(e>>>0>=b>>>0){f=q[a>>2]<<32-e>>>32-b|0;break a}c=b-e|0;f=(q[a>>2]&(-1<>2]>>>32-c}if(!r[a+20|0]){if(e>>>0>b>>>0){q[a+8>>2]=e-b;return f}q[a>>2]=q[a+4>>2];d=q[a+24>>2];h=a;c=q[a+16>>2];b:{if(c>>>0>=4){i=c+ -4|0;c=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);c=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);break b}g=c+ -1|0;c:{if(g>>>0>2){c=0;break c}c=0;d:{switch(g-1|0){case 1:c=r[d+2|0];case 0:j=r[d+1|0];k=c;break;default:break d}}c=r[d|0]<<24}c=c|j<<16|(k&255)<<8}q[h+4>>2]=c;q[a+16>>2]=i;q[a+24>>2]=d+4;q[a+8>>2]=(e-b|0)+32}return f}function Wc(a){var b=0,c=0,d=0,e=0,f=0,g=0;c=r[a+8|0];if(c){a:{if(c>>>0<=32){q[a+4>>2]=0;b=q[a>>2];b=b>>>1&1431655765|b<<1&-1431655766;b=b>>>2&858993459|b<<2&-858993460;b=b>>>4&252645135|b<<4&-252645136;c=kl(b>>>8&16711935|b<<8&-16711936,16)>>>32-c|0;break a}b=q[a>>2];b=b>>>1&1431655765|b<<1&-1431655766;b=b>>>2&858993459|b<<2&-858993460;b=b>>>4&252645135|b<<4&-252645136;b=kl(b>>>8&16711935|b<<8&-16711936,16);e=b<>2];d=d>>>1&1431655765|d<<1&-1431655766;d=d>>>2&858993459|d<<2&-858993460;d=d>>>4&252645135|d<<4&-252645136;c=64-c|0;f=a,g=e|kl(d>>>8&16711935|d<<8&-16711936,16)>>>c,q[f>>2]=g;a=a+4|0;c=b>>>c|0}q[a>>2]=c}}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=xa-16|0;xa=d;f=a+1092|0;c=q[b+4>>2];if(o[c+11|0]<=-1){c=q[c>>2]}q[f>>2]=q[b+8>>2]+c;q[a+1088>>2]=q[b+12>>2];c=a+1612|0;f=a+1076|0;while(1){e=gb(q[a+48>>2],f,c);q[a+1064>>2]=e;g=q[a+1620>>2];b=q[a+1088>>2]-g|0;q[a+1088>>2]=b;q[a+1092>>2]=q[a+1092>>2]+g;if(!e){if(!r[a+36|0]){pf(q[a+20>>2],q[a+24>>2],q[a+28>>2],q[a+8>>2],q[a+12>>2],q[a+16>>2])}b=q[q[a+4>>2]>>2];a:{if(o[166032]&1){break a}if(!eb(166032)){break a}h=166028,i=M(3,3208)|0,q[h>>2]=i;db(166032)}e=q[41507];q[d>>2]=q[a+40>>2];q[d+8>>2]=q[a+44>>2];N(e|0,b|0,3200,d|0);b=q[a+1088>>2]}if(b){continue}break}xa=d+16|0}function fj(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{if((c|0)>=2){k=c+ -1|0;while(1){l=h;m=g;f=r[a+g|0];o[b+h|0]=f;h=h+1|0;g=g+1|0;d:{if(!f){f=i+1|0;if((i|0)<1){i=f;break d}j=r[a+g|0]+ -1|0;if(j>>>0>2){i=f;break d}i=f;e:{switch(j-1|0){default:h=h-i|0;f=g-i|0;break a;case 1:break e;case 0:break d}}g=m+2|0}i=0}if((g|0)<(k|0)){continue}break}if((g|0)<(c|0)){break c}f=g;break a}if((c|0)!=1){break a}a=r[a|0];f=1;break b}f=g+1|0;a=r[a+g|0];if((i|0)<2){break b}a=a+ -1|0;if(a>>>0>2){break a}f:{switch(a-1|0){default:f=f-i|0;break a;case 0:break a;case 1:break f}}f=g+2|0;h=l;break a}o[b+h|0]=a;h=h+1|0}q[d>>2]=f;q[e>>2]=h}function Rb(a){var b=0,c=0,d=0,f=0,g=0;a:{h(+a);c=e(1)|0;f=e(0)|0;b=c;c=b&2147483647;b:{if(c>>>0>=1083174912){if(!(c>>>0<1083179008|((b|0)<0?1:(b|0)<=0?f>>>0>=0?0:1:0))){return a*8.98846567431158e+307}if(c>>>0>=2146435072){return-1/a}if(!(a<=-1075)){break a}d=0;if((b|0)<-1?1:(b|0)<=-1?f>>>0>4294967295?0:1:0){break b}break a}if(c>>>0>1016070143){break a}d=a+1}return d}g=a+26388279066624;h(+g);e(1)|0;b=(e(0)|0)+128|0;f=b<<4&4080;d=v[f+153824>>3];a=a-(g+ -26388279066624)-v[(f|8)+153824>>3];return wb(d+d*a*(a*(a*(a*(a*.0013333559164630223+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(b&-256)/256|0)}function ub(a,b,c){var d=0,e=0,f=0,g=0,h=0;g=q[a>>2];a:{b:{if(g>>>0>255){if((c|0)<=0){break b}if((c|0)>=17){break a}h=q[a+4>>2];f=q[b+4>>2];e=f+c|0;q[b+4>>2]=e;f=q[b+12>>2]<>>32-c|0;c:{d:{if(e>>>0>=33){d=64-e|0;if(d>>>0<=31){d=q[b+16>>2]>>>d|0}else{d=0}f=d|f;break d}if((e|0)!=32){break c}}q[b+12>>2]=q[b+16>>2];d=q[b+8>>2];q[b+8>>2]=d+4;d=q[d>>2];q[b+4>>2]=e+ -32;q[b+16>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}b=0;while(1){c=c+ -1|0;e=f>>>c&1|h<<1;h=e-(e>>>0>>0?0:g)|0;b=b<<1|e>>>0>=g>>>0;if(c){continue}break}q[a+4>>2]=h;return b}I(41329,3879,478,41600);F()}I(41632,3879,479,41600);F()}I(41663,3879,482,41600);F()}function Ua(a){var b=0,c=0,d=0,e=0,f=0;d=q[a+12>>2];b=q[a+4>>2];e=d<>>0<=31){b=q[a+16>>2]>>>b|0}else{b=0}e=z(b|e);b=(e+c|0)+1|0;q[f+4>>2]=b;if(b>>>0>=32){d=q[a+16>>2];q[a+12>>2]=d;c=q[a+8>>2];q[a+8>>2]=c+4;c=q[c>>2];b=b+ -32|0;q[a+4>>2]=b;q[a+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}a:{if(!e){b=0;break a}c=b+e|0;q[a+4>>2]=c;b=d<>>32-e|0;b:{if(c>>>0>=33){d=64-c|0;if(d>>>0<=31){f=q[a+16>>2]>>>d|0}else{f=0}b=f|b;break b}if((c|0)!=32){break a}}q[a+12>>2]=q[a+16>>2];d=q[a+8>>2];q[a+8>>2]=d+4;d=q[d>>2];q[a+4>>2]=c+ -32;q[a+16>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}return(-1<0){h=q[a>>2];if(h>>>0<=255){break a}j=q[a+4>>2];i=q[b+4>>2];f=32-c|0;d=q[b+12>>2]<>>f|0;if(i>>>0>f>>>0){e=64-(c+i|0)|0;if(e>>>0<=31){e=q[b+16>>2]>>>e|0}else{e=0}d=e|d}f=d<>>31;j=d-(d>>>0>>0?0:h)|0;e=d>>>0>=h>>>0;d=g;g=d+1|0;if((g|0)>=(c|0)){break b}f=f<<1;if(e){continue}}break}g=g+i|0;q[b+4>>2]=g;if(g>>>0>=32){q[b+12>>2]=q[b+16>>2];c=q[b+8>>2];q[b+8>>2]=c+4;c=q[c>>2];q[b+4>>2]=g+ -32;q[b+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}q[a+4>>2]=j;return d+e|0}I(41696,3879,614,41873);F()}I(41329,3879,615,41873);F()}function lc(a,b,c,d,e){var f=0,g=0;a:{b:{c:{if(a){if(!b){break c}if(c>>>0>=52){break b}if(d>>>0>=3){break a}q[a>>2]=2139095040;d=q[b+4>>2];f=q[b+12>>2]<>>1|0;q[a+4>>2]=f;c=d+31|0;q[b+4>>2]=c;d:{e:{if(c>>>0>=33){g=a;c=33-d|0;if(c>>>0<=31){c=q[b+16>>2]>>>c|0}else{c=0}f=c|f;q[g+4>>2]=f;break e}if((c|0)!=32){break d}}q[b+12>>2]=q[b+16>>2];c=q[b+8>>2];q[b+8>>2]=c+4;c=q[c>>2];q[b+4>>2]=d+ -1;q[b+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}Sa(a+8|0,e,154);return f>>>0<2139095040?0:2147483647}I(3428,3879,139,41221);F()}I(4319,3879,140,41221);F()}I(30068,3879,141,41221);F()}I(41239,3879,142,41221);F()}function Tg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{e=q[a+8>>2];c=q[a+12>>2];b:{if((e|0)!=(c|0)){c=e;break b}d=q[a+4>>2];f=q[a>>2];if(d>>>0>f>>>0){e=e-d|0;h=e>>2;f=((d-f>>2)+1|0)/-2<<2;g=f+d|0;c=a;if(e){nb(g,d,e);d=q[a+4>>2]}q[c+4>>2]=d+f;c=g+(h<<2)|0;q[a+8>>2]=c;break b}c=c-f|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}g=c<<2;h=Va(g);i=h+g|0;g=(c&-4)+h|0;c=g;if((d|0)!=(e|0)){c=g;while(1){q[c>>2]=q[d>>2];c=c+4|0;d=d+4|0;if((e|0)!=(d|0)){continue}break}f=q[a>>2]}q[a+12>>2]=i;q[a+8>>2]=c;q[a+4>>2]=g;q[a>>2]=h;if(!f){break b}Ra(f);c=q[a+8>>2]}q[c>>2]=q[b>>2];q[a+8>>2]=q[a+8>>2]+4;return}sb(1504);F()}function Pk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0;if(!((f|0)<1|(g|0)<1)){p=g<<1;while(1){g=0;while(1){i=g|1;h=i+a|0;q=r[h+4|0];s=r[h+2|0];t=r[h+ -2|0];u=r[h|0];v=b+g|0;j=o[e|0];h=a+g|0;k=o[e+1|0];l=o[e+2|0];g=g+2|0;m=o[e+3|0];h=(((w(j,r[h+ -2|0])+w(k,r[h|0])|0)+w(l,r[g+a|0])|0)+w(m,r[h+4|0])<<16>>16)+32>>6;h=(h|0)>0?h:0;o[v|0]=(h|0)<255?h:255;h=(((w(t,j)+w(u,k)|0)+w(s,l)|0)+w(q,m)<<16>>16)+32>>6;h=(h|0)>0?h:0;o[b+i|0]=(h|0)<255?h:255;if((g|0)<(p|0)){continue}break}b=b+d|0;a=a+c|0;n=n+1|0;if((n|0)!=(f|0)){continue}break}}}function Ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{e=q[a+4>>2];d=q[a>>2];b:{if((e|0)!=(d|0)){c=e;break b}f=q[a+8>>2];c=q[a+12>>2];if(f>>>0>>0){g=((c-f>>2)+1|0)/2<<2;c=g+f|0;d=f-e|0;if(d){c=c-d|0;nb(c,e,d);f=q[a+8>>2]}q[a+4>>2]=c;q[a+8>>2]=f+g;break b}c=c-d|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}d=c<<2;g=Va(d);h=d+g|0;c=g+(c+3&-4)|0;c:{if((e|0)==(f|0)){d=c;break c}d=c;while(1){q[d>>2]=q[e>>2];d=d+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}e=q[a>>2]}q[a+12>>2]=h;q[a+8>>2]=d;q[a+4>>2]=c;q[a>>2]=g;if(!e){break b}Ra(e);c=q[a+4>>2]}q[c+ -4>>2]=q[b>>2];q[a+4>>2]=q[a+4>>2]+ -4;return}sb(1504);F()}function _d(a,b,c,d){var e=0,f=0;a:{if(r[((w(b,6)+a|0)+c|0)+634|0]==1){e=c;c=a+b|0;if(!r[(((b<<6)+a|0)+d|0)+12277|0]|!r[c+53445|0]?(e|0)>>0>=(e+2&255)>>>0){break a}e=c;c=a+b|0;if((e|0)>=o[c+10972|0]){f=1;a=d+((b<<6)+a|0)|0;if(r[a+12149|0]==1){break a}f=r[a+12150|0]==1;break a}e=(b<<6)+a|0;c=c+53445|0;if(!(!r[(e+d|0)+12277|0]|!r[c|0])){f=1;if(r[(d+((b<<6)+a|0)|0)+12149|0]==1){break a}}d=d+1|0;if(!(!r[(d+e|0)+12277|0]|!r[c|0])){f=1;if(r[(d+((b<<6)+a|0)|0)+12149|0]==1){break a}}f=0}return f}function Oj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,q,r,s,t,u){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,x=0;if(!((t|0)<1|(u|0)<1)){n=(j+n|0)+1|0;j=q+ -1|0;x=n<>1]+r|0,g)|0)+w(p[b+d>>1]+s|0,k)>>q;d=(d|0)>0?d:0;o[c+u|0]=(d|0)<255?d:255;v=u|1;d=v<<1;d=(w(p[d+a>>1]+r|0,h)+x|0)+w(p[b+d>>1]+s|0,l)>>q;d=(d|0)>0?d:0;o[c+v|0]=(d|0)<255?d:255;u=u+2|0;if((u|0)<(j|0)){continue}break}c=c+f|0;b=b+e|0;a=a+m|0;n=n+1|0;if((t|0)!=(n|0)){continue}break}}}function Sk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0;if(!((f|0)<1|(g|0)<1)){l=c<<2;m=w(c,3);n=w(c,-3);j=c<<1;q=0-j|0;while(1){h=0;while(1){i=(((((((w(p[(h+q<<1)+a>>1],o[e+1|0])+w(p[(h+n<<1)+a>>1],o[e|0])|0)+w(p[(h-c<<1)+a>>1],o[e+2|0])|0)+w(p[(h<<1)+a>>1],o[e+3|0])|0)+w(p[(c+h<<1)+a>>1],o[e+4|0])|0)+w(p[(h+j<<1)+a>>1],o[e+5|0])|0)+w(p[(h+m<<1)+a>>1],o[e+6|0])|0)+w(p[(h+l<<1)+a>>1],o[e+7|0])>>6)+32>>6;i=(i|0)>0?i:0;o[b+h|0]=(i|0)<255?i:255;h=h+1|0;if((h|0)!=(g|0)){continue}break}b=b+d|0;a=a+j|0;k=k+1|0;if((k|0)!=(f|0)){continue}break}}}function wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=xa-144|0;xa=h;i=e<<1;b=-1;f=f<<2;k=q[f+29072>>2];if((e|0)>=0){Sa((e+h|0)+ -1|0,a+i|0,e+1|0)}l=e+h|0;m=l+ -1|0;g=w(e,k);if((g|0)<-32){j=q[f+29168>>2];g=g>>5;f=128;while(1){f=f+j|0;o[b+m|0]=r[(i-(f>>8)|0)+a|0];b=b+ -1|0;if((b|0)>(g|0)){continue}break}}if((e|0)>=1){a=0;while(1){f=w(a,d);a=a+1|0;b=w(k,a);i=b>>5;g=b&31;j=32-g|0;b=0;while(1){n=b+i|0;o[(b+f|0)+c|0]=(w(j,r[n+l|0])+w(g,r[(m+n|0)+2|0])|0)+16>>>5;b=b+1|0;if((e|0)!=(b|0)){continue}break}if((a|0)!=(e|0)){continue}break}}xa=h+144|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(Za(a,q[b+8>>2],f)){tc(b,c,d,e);return}h=r[b+53|0];g=q[a+12>>2];o[b+53|0]=0;i=r[b+52|0];o[b+52|0]=0;j=a+16|0;sc(j,b,c,d,e,f);k=r[b+53|0];h=h|k;l=r[b+52|0];i=i|l;a:{if((g|0)<2){break a}j=j+(g<<3)|0;g=a+24|0;while(1){if(r[b+54|0]){break a}b:{if(l){if(q[b+24>>2]==1){break a}if(r[a+8|0]&2){break b}break a}if(!k){break b}if(!(o[a+8|0]&1)){break a}}p[b+52>>1]=0;sc(g,b,c,d,e,f);k=r[b+53|0];h=k|h;l=r[b+52|0];i=l|i;g=g+8|0;if(g>>>0>>0){continue}break}}o[b+53|0]=(h&255)!=0;o[b+52|0]=(i&255)!=0}function Wk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;if(!((f|0)<1|(g|0)<1)){l=c<<2;m=w(c,3);n=w(c,-3);j=c<<1;p=0-j|0;while(1){h=0;while(1){i=(((((((w(r[(h+p|0)+a|0],o[e+1|0])+w(r[(h+n|0)+a|0],o[e|0])|0)+w(r[(h-c|0)+a|0],o[e+2|0])|0)+w(r[a+h|0],o[e+3|0])|0)+w(r[(c+h|0)+a|0],o[e+4|0])|0)+w(r[(h+j|0)+a|0],o[e+5|0])|0)+w(r[(h+m|0)+a|0],o[e+6|0])|0)+w(r[(h+l|0)+a|0],o[e+7|0])<<16>>16)+32>>6;i=(i|0)>0?i:0;o[b+h|0]=(i|0)<255?i:255;h=h+1|0;if((h|0)!=(g|0)){continue}break}b=b+d|0;a=a+c|0;k=k+1|0;if((k|0)!=(f|0)){continue}break}}}function ad(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;q[a+12>>2]=q[a+12>>2]+b;g=q[a+4>>2]+b|0;q[a+4>>2]=g;b=q[a+20>>2]+b|0;q[a+20>>2]=b;c=q[a+28>>2];a:{b:{c:{if(r[q[a+40>>2]+27|0]){d=q[a+48>>2];e=p[d+872>>1];f=p[q[a+44>>2]+4118>>1];h=e+w(f,p[d+874>>1])|0;d=r[c|0];if((h|0)<(d+w(r[c+1|0],f)|0)){if((g|0)>(e|0)){c=s[c+2>>1];if((b|0)<(d+c|0)){break c}break b}c=s[c+2>>1];if((b|0)<(c+((f-e|0)+d|0)|0)){break c}break b}if((b|0)>1]){break c}q[a+20>>2]=0;break a}c=s[c+2>>1];if((b|0)<(c|0)){break c}q[a+20>>2]=b-c;q[a+24>>2]=q[a+24>>2]+1}return}q[a+20>>2]=b-c}q[a+24>>2]=q[a+24>>2]+1}function Rk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0;if(!((f|0)<1|(g|0)<1)){k=c<<2;l=w(c,3);m=w(c,-3);h=c<<1;n=0-h|0;q=d<<1;while(1){d=0;while(1){i=d<<1;p[i+b>>1]=(((((((w(p[(d+n<<1)+a>>1],o[e+1|0])+w(p[(d+m<<1)+a>>1],o[e|0])|0)+w(p[(d-c<<1)+a>>1],o[e+2|0])|0)+w(p[a+i>>1],o[e+3|0])|0)+w(p[(c+d<<1)+a>>1],o[e+4|0])|0)+w(p[(d+h<<1)+a>>1],o[e+5|0])|0)+w(p[(d+l<<1)+a>>1],o[e+6|0])|0)+w(p[(d+k<<1)+a>>1],o[e+7|0])>>>6|0)+ -8192;d=d+1|0;if((g|0)!=(d|0)){continue}break}b=b+q|0;a=a+h|0;j=j+1|0;if((j|0)!=(f|0)){continue}break}}}function Si(a,b,c,d){var e=0,f=0,g=0;c=c&255;e=r[b|0];g=e<<24;f=q[a+124>>2];if(!(f|q[a+84>>2])){q[a+11568>>2]=-2<>24;a:{if(!(f|(e|0)!=21?e+ -16>>>0>=5:0)){q[a+11572>>2]=0;q[a+11564>>2]=0;f=q[a+11568>>2]+(c<<1)|0;break a}e=q[a+11564>>2];f=c+q[a+11568>>2]|0;if(!((e|0)<=(d|0)|(e-d|0)<((c|0)/2|0))){break a}f=q[a+11568>>2]-c|0;if(!((d-e|0)<=((c|0)/2|0)|(e|0)>=(d|0))){break a}f=q[a+11568>>2]}c=f;e=q[a+11572>>2];q[a+11572>>2]=(e|0)>(d|0)?e:d;e=c+d|0;if(!(r[b+1|0]|((g+ -6&255)>>>0<4|(g&(g|0)<16?0:(g&-8)!=16)))){q[a+11568>>2]=c;q[a+11564>>2]=d}return e}function Od(a,b,c,d,e){var f=0,g=0,h=0;f=xa-208|0;xa=f;q[f+204>>2]=c;c=0;Qa(f+160|0,0,40);q[f+200>>2]=q[f+204>>2];a:{if((Ac(0,b,f+200|0,f+80|0,f+160|0,d,e)|0)<0){break a}c=q[a+76>>2]>=0?1:c;g=q[a>>2];if(o[a+74|0]<=0){q[a>>2]=g&-33}h=g&32;b:{if(q[a+48>>2]){Ac(a,b,f+200|0,f+80|0,f+160|0,d,e);break b}q[a+48>>2]=80;q[a+16>>2]=f+80;q[a+28>>2]=f;q[a+20>>2]=f;g=q[a+44>>2];q[a+44>>2]=f;Ac(a,b,f+200|0,f+80|0,f+160|0,d,e);if(!g){break b}n[q[a+36>>2]](a,0,0)|0;q[a+48>>2]=0;q[a+44>>2]=g;q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0}q[a>>2]=q[a>>2]|h;if(!c){break a}}xa=f+208|0}function eh(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=q[a+20>>2]+q[a+16>>2]|0;g=q[a+8>>2];f=q[a+4>>2];h=g-f|0;if((d|0)==((h?w(h>>2,170)+ -1|0:0)|0)){_g(a);g=q[a+8>>2];f=q[a+4>>2];d=q[a+16>>2]+q[a+20>>2]|0}if((f|0)!=(g|0)){e=(d>>>0)/170|0;e=q[(e<<2)+f>>2]+w(d-w(e,170)|0,24)|0}d=q[c+4>>2];f=q[d+12>>2];b=q[b>>2];g=q[c+8>>2];q[e+16>>2]=q[c+12>>2];q[e+12>>2]=g;q[e>>2]=b;q[e+8>>2]=d;q[d+12>>2]=f+2;q[e+4>>2]=1580;c=f+1|0;if(o[d+11|0]<=-1){b=q[d>>2]}else{b=d}o[e+20|0]=(r[b+g|0]&240)==16;q[d+12>>2]=c;if(!(c|!d)){if(o[d+11|0]<=-1){Ra(q[d>>2])}Ra(d)}q[a+20>>2]=q[a+20>>2]+1}function Nc(a){var b=0,c=0,d=0,e=0,f=0;c=Ta(12);if(!(a&7)){p[c>>1]=a;d=c;a:{b:{c:{d:{e:{f:{if((a|0)<=1023){b=a+ -240|0;if(b>>>0>16){if((a|0)!=960){break a}b=84288;break b}switch(b-1|0){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:break a;case 15:break f;default:break c}}if((a|0)==1024){break e}if((a|0)==1920){break d}b=73312;if((a|0)==2048){break b}break a}b=77408;break b}b=77920;break b}b=79968;break b}b=83808}q[d+8>>2]=b}e=c,f=vi(a>>>2|0),q[e+4>>2]=f;return c}I(43590,43681,66,73296);F()}function ff(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=6;b=kl(e+ -4|0,30);if(b>>>0<=3){j=q[(b<<2)+29048>>2]}f=e<<1;g=e<<2;if((f|0)<(g|0)){b=f;while(1){h=r[a+b|0]+h|0;i=r[(b|1)+a|0]+i|0;b=b+2|0;if((b|0)<(g|0)){continue}break}}b=g|2;g=w(e,6);if((b|0)<(g+2|0)){while(1){h=r[a+b|0]+h|0;i=r[(b|1)+a|0]+i|0;k=(b|0)<(g|0);b=b+2|0;if(k){continue}break}}if((e|0)>=1){h=e+h>>j;i=e+i>>j;a=0;while(1){j=w(a,d);b=0;while(1){g=(b+j|0)+c|0;o[g|0]=h;o[g+1|0]=i;b=b+2|0;if((b|0)<(f|0)){continue}break}a=a+1|0;if((e|0)!=(a|0)){continue}break}}}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=xa-16|0;xa=e;g=ua()|0;f=b+1780|0;h=b+1792|0;d=q[h>>2];i=(d>>>0)/170|0;j=q[q[f>>2]+(i<<2)>>2];c=L(1947)|0;q[e+8>>2]=q[w(d-w(i,170)|0,24)+j>>2];d=R(151928,e+8|0)|0;X(g|0,c|0,d|0);J(d|0);J(c|0);d=q[f>>2];c=b+1796|0;f=(q[c>>2]+q[h>>2]|0)+ -1|0;h=(f>>>0)/170|0;d=q[d+(h<<2)>>2];b=L(1953)|0;q[e+8>>2]=q[d+w(f-w(h,170)|0,24)>>2];f=R(151928,e+8|0)|0;X(g|0,b|0,f|0);J(f|0);J(b|0);c=q[c>>2];b=L(1958)|0;q[e+8>>2]=c;c=R(151940,e+8|0)|0;X(g|0,b|0,c|0);J(c|0);J(b|0);q[a>>2]=g;T(g|0);J(g|0);xa=e+16|0}function gd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=q[a>>2];if(d>>>0>255){g=q[a+4>>2];e=z(d);d=d-(2<<23-e)|0;a:{if(g>>>0>=d>>>0){Aj(b,e+ -23|0);i=1;break a}c=z(d);h=c+ -1|0;if(!h){break a}f=q[b+4>>2];e=f+h|0;q[b+4>>2]=e;f=q[b+12>>2]<>>33-c|0;b:{c:{if(e>>>0>=33){c=64-e|0;if(c>>>0<=31){c=q[b+16>>2]>>>c|0}else{c=0}f=c|f;break c}if((e|0)!=32){break b}}q[b+12>>2]=q[b+16>>2];c=q[b+8>>2];q[b+8>>2]=c+4;c=q[c>>2];q[b+4>>2]=e+ -32;q[b+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}d=d<>2]=g;q[a>>2]=d;return i}I(41329,3879,384,41570);F()}function Dg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Za(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(Za(a,q[b>>2],e)){if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+32>>2]=d;b:{if(q[b+44>>2]==4){break b}p[b+52>>1]=0;a=q[a+8>>2];n[q[q[a>>2]+20>>2]](a,b,c,c,1,e);if(r[b+53|0]){q[b+44>>2]=3;if(!r[b+52|0]){break b}break a}q[b+44>>2]=4}q[b+20>>2]=c;q[b+40>>2]=q[b+40>>2]+1;if(q[b+36>>2]!=1|q[b+24>>2]!=2){break a}o[b+54|0]=1;return}a=q[a+8>>2];n[q[q[a>>2]+24>>2]](a,b,c,d,e)}}function Ch(a,b){var c=0,d=0,e=0,f=0,g=0;c=w(b,3)+a|0;f=w(b,6)+a|0;o[c+628|0]=r[f+616|0];g=w(b,3)+a|0;d=a+b|0;e=r[d+610|0];a:{if((e|0)==1){o[c+629|0]=r[f+617|0];a=0;break a}f=0;c=r[d+53451|0];b:{if(c>>>0>3){break b}c:{d:{e:{switch(c-1|0){default:c=e>>>1|0;break d;case 1:c=1;d=r[d+53507|0];if(d>>>0<=1){if(d-1){break c}c=e+ -1|0;break d}c=d+ -1|0;break d;case 0:case 2:break e}}c=r[d+53507|0];if(c>>>0>=2){c=(e-c|0)+1|0;break d}c=e+ -1|0}if(c<<24>>24<1){break b}}f=c}c=w(b,3)+a|0;a=(w(b,6)+a|0)+616|0;o[c+629|0]=r[a+(f&255)|0];a=r[a+e|0]}o[g+630|0]=a}function ah(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=xa-16|0;xa=h;if((b^-1)+ -17>>>0>=c>>>0){if(o[a+11|0]<0){j=q[a>>2]}else{j=a}a:{if(2147483623>b>>>0){q[h+8>>2]=b<<1;q[h+12>>2]=b+c;c=xa-16|0;xa=c;xa=c+16|0;c=h+8|0;i=h+12|0;c=q[(t[i>>2]>2]?c:i)>>2];if(c>>>0>=11){i=c+16&-16;c=i+ -1|0;c=(c|0)==11?i:c}else{c=10}break a}c=-18}i=c+1|0;c=Dd(i);if(e){Bb(c,j,e)}if(f){Bb(c+e|0,g,f)}g=d-e|0;if(g){Bb((c+e|0)+f|0,e+j|0,g)}if((b|0)!=10){Ra(j)}q[a>>2]=c;q[a+8>>2]=i|-2147483648;b=a;a=d+f|0;q[b+4>>2]=a;o[h+7|0]=0;o[a+c|0]=r[h+7|0];xa=h+16|0;return}Cb();F()}function Ti(a,b){var c=0,d=0,e=0,f=0;c=a+376|0;d=mc(c);if(d>>>0>=9){while(1){if((Ob(c,8)|0)==255){while(1){pb(c,8);e=e+255|0;if((Ob(c,8)|0)==255){continue}break}}e=Pa(c,8)+e|0;if((Ob(c,8)|0)==255){while(1){pb(c,8);f=f+255|0;if((Ob(c,8)|0)==255){continue}break}}d=Pa(c,8)+f|0;f=mc(c)>>>3|0;f=d>>>0>>0?d:f;Ui(a,e,f,o[b|0]);d=mc(c);if(d>>>0>8){continue}break}}a:{if(!d){break a}if((Pa(c,1)|0)!=1){break a}a=d+ -1|0;if(!a){break a}e=a;while(1){Pa(c,1);e=e+ -1|0;if(e){continue}break}if(a>>>0<8){break a}I(41347,4003,2795,42720);F()}return 0}function Tk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!((f|0)<1|(g|0)<1)){j=c<<2;k=w(c,3);l=w(c,-3);h=c<<1;m=0-h|0;n=d<<1;while(1){d=0;while(1){p[(d<<1)+b>>1]=((((((w(r[(d+m|0)+a|0],o[e+1|0])+w(r[(d+l|0)+a|0],o[e|0])|0)+w(r[(d-c|0)+a|0],o[e+2|0])|0)+w(r[a+d|0],o[e+3|0])|0)+w(r[(c+d|0)+a|0],o[e+4|0])|0)+w(r[(d+h|0)+a|0],o[e+5|0])|0)+w(r[(d+k|0)+a|0],o[e+6|0])|0)+w(r[(d+j|0)+a|0],o[e+7|0]);d=d+1|0;if((g|0)!=(d|0)){continue}break}a=a+c|0;b=b+n|0;i=i+1|0;if((i|0)!=(f|0)){continue}break}}}function dc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=q[a+8>>2];g=0-f&7;if(!(r[a+20|0]|!g)){h=a;b=8-g|0;if(f>>>0>b>>>0){a=f-b|0}else{q[a>>2]=q[a+4>>2];d=q[a+24>>2];i=a;e=q[a+16>>2];a:{if(e>>>0>=4){j=e+ -4|0;c=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);c=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);break a}e=e+ -1|0;b=0;b:{if(e>>>0>2){break b}b=0;c:{switch(e-1|0){case 1:b=r[d+2|0];case 0:k=r[d+1|0];c=b;break;default:break c}}b=r[d|0]<<24}c=b|k<<16|(c&255)<<8}q[i+4>>2]=c;q[a+16>>2]=j;q[a+24>>2]=d+4;a=(g|24)+f|0}q[h+8>>2]=a}}function Lk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,x=0;if(!((f|0)<1|(g|0)<1)){n=g<<1;q=d<<1;while(1){g=0;while(1){h=g|1;d=h+a|0;s=r[d+4|0];t=r[d+2|0];u=r[d+ -2|0];v=r[d|0];x=(g<<1)+b|0;i=o[e|0];d=a+g|0;j=o[e+1|0];k=o[e+2|0];g=g+2|0;l=o[e+3|0];p[x>>1]=((w(i,r[d+ -2|0])+w(j,r[d|0])|0)+w(k,r[g+a|0])|0)+w(l,r[d+4|0]);p[(h<<1)+b>>1]=((w(u,i)+w(v,j)|0)+w(t,k)|0)+w(s,l);if((g|0)<(n|0)){continue}break}a=a+c|0;b=b+q|0;m=m+1|0;if((m|0)!=(f|0)){continue}break}}}function hb(a,b){var c=0,d=0,e=0,f=0;c=xa+ -64|0;xa=c;d=q[a>>2];e=q[d+ -4>>2];f=q[d+ -8>>2];q[c+20>>2]=0;q[c+16>>2]=151456;q[c+12>>2]=a;q[c+8>>2]=b;d=0;Qa(c+24|0,0,39);a=a+f|0;a:{if(Za(e,b,0)){q[c+56>>2]=1;n[q[q[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=q[c+32>>2]==1?a:0;break a}n[q[q[e>>2]+24>>2]](e,c+8|0,a,1,0);a=q[c+44>>2];if(a>>>0>1){break a}if(a-1){d=q[c+48>>2]==1?q[c+36>>2]==1?q[c+40>>2]==1?q[c+28>>2]:0:0:0;break a}if(q[c+32>>2]!=1){if(q[c+48>>2]|q[c+36>>2]!=1|q[c+40>>2]!=1){break a}}d=q[c+24>>2]}xa=c- -64|0;return d}function Aj(a,b){var c=0,d=0;a:{if((b|0)>-33){if((b|0)>=33){break a}b:{if((b|0)<=-1){c=q[a+4>>2];d=c+b|0;q[a+4>>2]=d;if(c>>>0>=0-b>>>0){break b}q[a+4>>2]=d+32;b=q[a+8>>2];q[a+8>>2]=b+ -4;b=q[b+ -12>>2];q[a+16>>2]=q[a+12>>2];q[a+12>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);return}c=q[a+4>>2]+b|0;q[a+4>>2]=c;if(c>>>0<32){break b}q[a+12>>2]=q[a+16>>2];b=q[a+8>>2];q[a+8>>2]=b+4;b=q[b>>2];q[a+4>>2]=c+ -32;q[a+16>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}return}I(3411,3852,230,41204);F()}I(4303,3852,231,41204);F()}function gh(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+ -64|0;b=c&31;if(32<=(c&63)>>>0){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;j=64-f|0;g=j&31;if(32<=(j&63)>>>0){h=i<>>32-g|h<>>0){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if(32<=(f&63)>>>0){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}q[a>>2]=b;q[a+4>>2]=c;q[a+8>>2]=d;q[a+12>>2]=e}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=xa-16|0;xa=b;if(!jc(q[a+136>>2],b)){while(1){q[a+140>>2]=p[b+8>>1];q[a+4>>2]=p[b+4>>1];e=p[b+6>>1];q[a+8>>2]=e;q[a+32>>2]=p[b+10>>1];c=q[b>>2];a:{if(c>>>0>1){break a}if(c-1){tb(a,q[b+12>>2]);$c(a);break a}if(!q[a+276>>2]){tb(a,0);e=p[b+6>>1]}f=r[q[a+44>>2]+4116|0];c=f<<24>>24;d=1<>2];c=q[g+12>>2]-(e<>2];kc(g,a,q[d+4>>2],q[d+8>>2],q[d+12>>2],e<0?c:0)}if(!jc(q[a+136>>2],b)){continue}break}}xa=b+16|0}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=xa-16|0;xa=c;d=q[b>>2];e=L(1432)|0;d=U(d|0,e|0)|0;J(e|0);f=+S(d|0,151832,c+8|0);P(q[c+8>>2]);J(d|0);a:{if(f!=0){a=q[a+4>>2];b:{if(o[165960]&1){break b}if(!eb(165960)){break b}g=165956,h=M(1,1236)|0,q[g>>2]=h;db(165960)}N(q[41489],a|0,1149,c+8|0);break a}b=q[b>>2];q[c>>2]=b;T(b|0);Qe(a,c);J(q[c>>2]);a=q[a+4>>2];c:{if(o[165960]&1){break c}if(!eb(165960)){break c}g=165956,h=M(1,1236)|0,q[g>>2]=h;db(165960)}N(q[41489],a|0,1437,c+8|0)}xa=c+16|0}function hh(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if(32<=(e&63)>>>0){e=d<>>32-b|c<>>0){h=g<>>32-d|e<>>0){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<>>e}d=j|d;e=f|h;f=b;b=i&31;if(32<=(i&63)>>>0){h=f<>>32-b|c<>2]=b;q[a+4>>2]=c;q[a+8>>2]=d;q[a+12>>2]=e}function Gb(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=b+c|0;g=f;if(r[f+610|0]){h=w(c,9)+b|0;while(1){d=q[a+8>>2];a:{if(d){d=d+ -1|0;q[a+8>>2]=d;d=q[a>>2]>>>d&1;break a}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break a}Oa(a,1)}o[(e+h|0)+53517|0]=d;e=e+1|0;if(e>>>0>2];b:{if(c){c=c+ -1|0;q[a+8>>2]=c;d=q[a>>2]>>>c&1;break b}d=q[a+4>>2]>>>31|0;if(r[a+20|0]){break b}Oa(a,1)}o[(b+e|0)+53535|0]=d;e=e+1|0;if(e>>>0>16)+32>>6;h=(h|0)>0?h:0;o[k|0]=(h|0)<255?h:255;if((g|0)!=(i|0)){continue}break}b=b+d|0;a=a+c|0;j=j+1|0;if((j|0)!=(f|0)){continue}break}}}function Tb(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{d:{if(!c|!(a&3)){break d}e=b&255;while(1){if((e|0)==r[a|0]){break c}a=a+1|0;c=c+ -1|0;d=(c|0)!=0;if(!c){break d}if(a&3){continue}break}}if(!d){break b}}if(r[a|0]==(b&255)){break a}e:{if(c>>>0>=4){d=w(b&255,16843009);while(1){e=d^q[a>>2];if((e^-1)&e+ -16843009&-2139062144){break e}a=a+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break b}}b=b&255;while(1){if((b|0)==r[a|0]){break a}a=a+1|0;c=c+ -1|0;if(c){continue}break}}return 0}return a}function Oe(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{c:{d:{d=q[a>>2];i=q[d>>2];if(q[i+8>>2]!=(c|0)){e=1;h=r[a+516|0];if(h>>>0>1){break d}f=d;break c}e=d+4|0;h=r[a+516|0];q[a>>2]=q[d+4>>2];break b}g=d;while(1){f=q[g+4>>2];if(q[q[f>>2]+8>>2]==(c|0)){f=g;break c}g=f;e=e+1|0;if(e>>>0>>0){continue}break}}if((e|0)==(h|0)){break a}c=q[f+4>>2];e=c+4|0;g=q[c+4>>2];if((c|0)==(d|0)){q[a>>2]=g;break b}q[f+4>>2]=g;q[c+4>>2]=0;i=q[c>>2];d=c}o[a+516|0]=h+ -1;vb(b,r[i+22|0],2);q[e>>2]=0;q[d>>2]=0}}function sj(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;if(!((g|0)<1|m)){m=0;while(1){c=Sa(c,a,f);a=a+h|0;c=c+j|0;m=m+1|0;if((m|0)!=(g|0)){continue}break}}if(!((g|0)<2|(f|0)<2)){a=b+1|0;m=l?b:a;h=l?a:b;a=g>>1;b=(a|0)>1?a:1;a=f>>1;c=(a|0)>1?a:1;f=0;while(1){a=0;while(1){g=a<<1;o[a+d|0]=r[g+m|0];o[a+e|0]=r[g+h|0];a=a+1|0;if((c|0)!=(a|0)){continue}break}h=h+i|0;m=i+m|0;e=e+k|0;d=d+k|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}}function ui(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=Ta(2388);if(c){a=Qa(c,0,2384);q[a+2384>>2]=43504;p[a+2264>>1]=1;q[a+2260>>2]=44100;o[a+2256|0]=1;q[a+1648>>2]=1;q[a+1652>>2]=1;q[a+124>>2]=0;q[a+16>>2]=0;p[a+10>>1]=1024;o[a+8|0]=0;p[a+6>>1]=0;o[a+2|0]=0;p[a>>1]=0;Qa(a+128|0,0,192);e=a+1392|0;f=a+1136|0;g=a+584|0;h=a+328|0;while(1){b=d<<2;q[h+b>>2]=0;q[b+g>>2]=0;q[b+f>>2]=0;q[b+e>>2]=0;d=d+1|0;if((d|0)!=64){continue}break}Qa(a+892|0,0,192);i=a,j=pi(),q[i+324>>2]=j}return c}function $i(a,b){var c=0,d=0,e=0,f=0,g=0;c=q[a+296>>2];f=c+143616|0;e=c+w(b,8976)|0;g=e+8972|0;a:{if(!r[e+8972|0]){break a}b:{if(r[e+4116|0]!=r[f+4116|0]){break b}d=c+w(b,8976)|0;c=c+143616|0;if(s[d+4118>>1]!=s[c+4118>>1]){break b}if(s[d+4120>>1]==s[c+4120>>1]){break a}}c=q[a+300>>2];d=0;while(1){if(!(!r[c+67|0]|o[c+9|0]!=(b|0))){o[c+67|0]=0}c=c+68|0;d=d+1|0;if((d|0)!=64){continue}break}}b=q[e+8968>>2];c=Sa(e,f,8976);q[c+8968>>2]=b;Sa(b,q[f+8968>>2],8128);o[g|0]=1;q[a+360>>2]=c}function Xd(a,b,c){var d=0,e=0;e=xa-16|0;xa=e;a:{if((c|0)==2){c=q[b+53420>>2];if(!c){c=ci(ob(q[b>>2]),r[b+53416|0]);q[b+53420>>2]=c}if(r[b+53425|0]){o[c+719|0]=0}a=ai(c,a,e+15|0);c=r[e+15|0];if(!(r[b+53424|0]|(c|0)!=1)){o[b+53424|0]=1}if((c|0)!=1){break a}o[b+53425|0]=0;break a}d=q[a+8>>2];b:{if(d>>>0>=6){c=q[a>>2]<<32-d>>>26|0;break b}c=q[a>>2]<<6-d&63|q[a+4>>2]>>>d+26}c:{if(r[a+20|0]){break c}if(d>>>0>=7){q[a+8>>2]=d+ -6;break c}Oa(a,6)}o[b+53449|0]=c;a=6}xa=e+16|0;return a}function Ni(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{if(r[b+76|0]>1){break a}g=c+ -1|0;h=(g&c?32:31)-z(c)|0;d=Pa(a,1);o[b+708|0]=d;if(!(!(d&255)|o[b+160|0]<1)){d=0;while(1){e=Pa(a,h)<<24;f=e>>24;o[(b+d|0)+709|0]=(f|0)<(c|0)?(e|0)<0?0:f:g;d=d+1|0;if((d|0)>24;o[(b+d|0)+726|0]=(f|0)<(c|0)?(e|0)<0?0:f:g;d=d+1|0;if((d|0)-128?c:-128;c=(c|0)<127?c:127;if(c){e=c>>31;b=d-b|0;b=(b|0)>-128?b:-128;b=w((((e^c+e)>>>1|0)+16384|0)/(c|0)|0,(b|0)<127?b:127)+32>>6;b=(b|0)>-4096?b:-4096;d=(b|0)<4095?b:4095;b=w(d,p[a+2>>1]);c=b>>31;b=w((c^b+c)+127>>>8|0,(b|0)>-1?(b|0)!=0:-1);b=(b|0)>-32768?b:-32768;p[a+2>>1]=(b|0)<32767?b:32767;b=w(d,p[a>>1]);c=b>>31;d=a;a=w((c^b+c)+127>>>8|0,(b|0)>-1?(b|0)!=0:-1);a=(a|0)>-32768?a:-32768;p[d>>1]=(a|0)<32767?a:32767}}function Zc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;if(a){e=a+1392|0;f=a+1136|0;g=a+584|0;h=a+328|0;while(1){c=b<<2;d=q[c+h>>2];if(d){Ra(d)}d=q[c+g>>2];if(d){Ra(d)}d=q[c+f>>2];if(d){Ra(d)}c=q[c+e>>2];if(c){Ra(c)}b=b+1|0;if((b|0)!=64){continue}break}b=q[a+320>>2];if(b){Mc(q[b+24>>2]);Mc(q[b+32>>2]);Mc(q[b+28>>2]);Ra(b)}b=q[a+324>>2];if(b){Ra(b)}b=q[a+124>>2];if(b){Ra(b)}c=a+892|0;b=0;while(1){e=q[c+(b<<2)>>2];if(e){Wh(e)}b=b+1|0;if((b|0)!=48){continue}break}Ra(a)}}function Ek(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0;h=6;b=kl(e+ -4|0,30);if(b>>>0<=3){h=q[(b<<2)+30916>>2]}if((e|0)>=1){i=e<<1;k=i|1;g=e+ -1|0;l=g+a|0;m=w(e,3)+a|0;b=0;while(1){n=w(b,d);f=b+1|0;p=g-b|0;s=((b^-1)+i|0)+a|0;b=0;while(1){j=b+1|0;o[(b+n|0)+c|0]=(((w(r[s|0],g-b|0)+e|0)+w(j,r[m+1|0])|0)+w(r[(b+k|0)+a|0],p)|0)+w(r[l|0],f)>>h;b=j;if((e|0)!=(b|0)){continue}break}b=f;if((e|0)!=(b|0)){continue}break}}}function Uk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(!((f|0)<1|(g|0)<1)){j=d<<1;while(1){d=0;while(1){k=(d<<1)+b|0;h=a+d|0;d=d+1|0;p[k>>1]=w(r[h+4|0],o[e+7|0])+((((((w(r[h+ -2|0],o[e+1|0])+w(r[h+ -3|0],o[e|0])|0)+w(r[h+ -1|0],o[e+2|0])|0)+w(r[h|0],o[e+3|0])|0)+w(r[d+a|0],o[e+4|0])|0)+w(r[h+2|0],o[e+5|0])|0)+w(r[h+3|0],o[e+6|0])|0);if((d|0)!=(g|0)){continue}break}a=a+c|0;b=b+j|0;i=i+1|0;if((i|0)!=(f|0)){continue}break}}}function af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;if((e|0)>=1){k=e<<1;l=q[(f<<2)+29072>>2];m=e<<2;b=0;while(1){n=b|1;f=w((b>>>1|0)+1|0,l);h=f&31;i=32-h|0;p=f>>5<<1;f=0;while(1){j=w(d,f);g=((m-(f<<1)|0)-p|0)+a|0;o[(j+b|0)+c|0]=(w(r[g+ -2|0],i)+w(r[g+ -4|0],h)|0)+16>>>5;o[(n+j|0)+c|0]=(w(r[g+ -1|0],i)+w(r[g+ -3|0],h)|0)+16>>>5;f=f+1|0;if((f|0)!=(e|0)){continue}break}b=b+2|0;if((b|0)<(k|0)){continue}break}}}function Qj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,q=0,r=0,s=0;if(!((k|0)<1|(l|0)<1)){r=l<<1;m=1<>1]+j|0,e)+m>>i)+g|0;c=(c|0)>0?c:0;o[b+l|0]=(c|0)<255?c:255;n=l|1;c=(w(p[(n<<1)+a>>1]+j|0,f)+m>>i)+h|0;c=(c|0)>0?c:0;o[b+n|0]=(c|0)<255?c:255;l=l+2|0;if((l|0)<(r|0)){continue}break}b=b+d|0;a=a+s|0;q=q+1|0;if((q|0)!=(k|0)){continue}break}}}function Be(a,b,c,d,e){c=d-c|0;c=(c|0)>-128?c:-128;c=(c|0)<127?c:127;d=c>>31;b=e-b|0;b=(b|0)>-128?b:-128;b=w((((d^c+d)>>>1|0)+16384|0)/(c|0)|0,(b|0)<127?b:127)+32>>6;b=(b|0)>-4096?b:-4096;d=(b|0)<4095?b:4095;b=w(d,p[a+2>>1]);c=b>>31;b=w((c^b+c)+127>>>8|0,(b|0)>-1?(b|0)!=0:-1);b=(b|0)>-32768?b:-32768;p[a+2>>1]=(b|0)<32767?b:32767;b=w(d,p[a>>1]);c=b>>31;d=a;a=w((c^b+c)+127>>>8|0,(b|0)>-1?(b|0)!=0:-1);a=(a|0)>-32768?a:-32768;p[d>>1]=(a|0)<32767?a:32767}function di(a){var b=0,c=0,d=0,e=0,f=0;d=q[a+720>>2];if(d){b=q[d+12>>2];if(b){Ra(b)}b=q[d+16>>2];c=q[b>>2];if(c){Ra(c);b=q[d+16>>2]}c=q[b+4>>2];if(c){Ra(c);b=q[d+16>>2]}c=q[b+8>>2];if(c){Ra(c);b=q[d+16>>2]}c=q[b+12>>2];if(c){Ra(c);b=q[d+16>>2]}c=q[b+16>>2];if(c){Ra(c);b=q[d+16>>2]}if(b){Ra(b)}c=q[d+20>>2];e=r[d|0];if(e){b=0;while(1){f=q[(b<<2)+c>>2];if(f){Ra(f);e=r[d|0];c=q[d+20>>2]}b=b+1|0;if(b>>>0>>0){continue}break}}if(c){Ra(c)}Ra(d)}Ra(a)}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=xa-32|0;xa=d;e=q[b>>2];q[d+16>>2]=0;q[d+8>>2]=0;q[d+12>>2]=0;if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){f=e+16&-16;g=Va(f);q[d+16>>2]=f|-2147483648;q[d+8>>2]=g;q[d+12>>2]=e;f=d+8|0;break b}o[d+19|0]=e;f=d+8|0;g=f;if(!e){break a}}Sa(g,b+4|0,e)}o[e+g|0]=0;q[d>>2]=c;n[a](d+24|0,d+8|0,d);T(q[d+24>>2]);a=q[d+24>>2];J(a|0);J(q[d>>2]);if(o[f+11|0]<=-1){Ra(q[d+8>>2])}xa=d+32|0;return a|0}Cb();F()}function Ze(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;if((e|0)>=1){m=q[(f<<2)+29792>>2];n=e<<2;p=e<<1;b=0;while(1){i=w(b,d);b=b+1|0;f=w(m,b);h=f&31;j=32-h|0;k=(f>>5<<1)+n|0;f=0;while(1){g=(f+k|0)+a|0;o[(f+i|0)+c|0]=(w(r[g+2|0],j)+w(r[g+4|0],h)|0)+16>>>5;l=f|1;g=(l+k|0)+a|0;o[(i+l|0)+c|0]=(w(r[g+2|0],j)+w(r[g+4|0],h)|0)+16>>>5;f=f+2|0;if((f|0)<(p|0)){continue}break}if((b|0)!=(e|0)){continue}break}}}function Oa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;q[a>>2]=q[a+4>>2];d=q[a+24>>2];f=a;c=q[a+16>>2];a:{if(c>>>0>=4){g=c+ -4|0;c=r[d|0]|r[d+1|0]<<8|(r[d+2|0]<<16|r[d+3|0]<<24);c=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);break a}e=c+ -1|0;c=0;b:{if(e>>>0>2){break b}c=0;c:{switch(e-1|0){case 1:c=r[d+2|0];case 0:h=r[d+1|0];i=c;break;default:break c}}c=r[d|0]<<24}c=c|h<<16|(i&255)<<8}q[f+4>>2]=c;q[a+16>>2]=g;q[a+24>>2]=d+4;q[a+8>>2]=(q[a+8>>2]-b|0)+32}function Ee(a,b){var c=0,d=0,e=0;a:{if(a){if(!b){break a}q[a>>2]=2139095040;d=q[b+4>>2];e=q[b+12>>2]<>>1|0;q[a+4>>2]=e;c=d+31|0;q[b+4>>2]=c;b:{c:{if(c>>>0>=33){c=33-d|0;if(c>>>0<=31){c=q[b+16>>2]>>>c|0}else{c=0}q[a+4>>2]=c|e;break c}if((c|0)!=32){break b}}q[b+12>>2]=q[b+16>>2];a=q[b+8>>2];q[b+8>>2]=a+4;a=q[a>>2];q[b+4>>2]=d+ -1;q[b+16>>2]=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24)}return}I(3428,3879,182,41310);F()}I(4319,3879,183,41310);F()}function uh(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!q[q[41436]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){o[a+1|0]=b&63|128;o[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){o[a+2|0]=b&63|128;o[a|0]=b>>>12|224;o[a+1|0]=b>>>6&63|128;return 3}if(b+ -65536>>>0<=1048575){o[a+3|0]=b&63|128;o[a|0]=b>>>18|240;o[a+2|0]=b>>>6&63|128;o[a+1|0]=b>>>12&63|128;return 4}}q[41511]=25;a=-1}else{a=1}return a}o[a|0]=b;return 1}function tf(a,b,c){var d=0,e=0,f=0,g=0;d=xa-32|0;xa=d;q[a+16>>2]=c;q[a+12>>2]=b;a:{if(r[a+36|0]){b=a+20|0;q[a+8>>2]=b;b=b>>2;break a}b=(w(c,c)<<2)+33554432|0;b=Ta((b>>>0>16777216?b:16777216)+16777215&-16777216);q[a+8>>2]=b}c=q[q[a+4>>2]>>2];b:{if(o[166024]&1){break b}if(!eb(166024)){break b}f=166020,g=M(4,3184)|0,q[f>>2]=g;db(166024)}e=q[41505];q[d+8>>2]=q[a+12>>2];a=q[a+16>>2];q[d+24>>2]=b;q[d+16>>2]=a;N(e|0,c|0,3157,d+8|0);xa=d+32|0}function Jk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(!((f|0)<1|(g|0)<1)){g=g<<1;k=(g|0)>1?g:1;i=c<<1;while(1){g=0;while(1){h=(((w(p[(g<<1)+a>>1],o[e+1|0])+w(p[(g-c<<1)+a>>1],o[e|0])|0)+w(p[(c+g<<1)+a>>1],o[e+2|0])|0)+w(p[(g+i<<1)+a>>1],o[e+3|0])>>6)+32>>6;h=(h|0)>0?h:0;o[b+g|0]=(h|0)<255?h:255;g=g+1|0;if((k|0)!=(g|0)){continue}break}b=b+d|0;a=a+i|0;j=j+1|0;if((j|0)!=(f|0)){continue}break}}}function Pj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;q=q|0;var r=0,s=0;if(!((n|0)<1|(q|0)<1)){h=(h+j|0)+1<>1]+l|0,g)|0)+w(p[b+r>>1]+m|0,i)>>k;r=(r|0)>0?r:0;o[c+d|0]=(r|0)<255?r:255;d=d+1|0;if((q|0)!=(d|0)){continue}break}c=c+f|0;b=b+e|0;a=a+s|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}}function bj(a,b,c){var d=0,e=0,f=0,g=0;ye(a,b);f=b,g=Pa(a,8),o[f+48|0]=g;if((c|0)>=1){while(1){e=b+d|0;f=e,g=Pa(a,1),o[f+49|0]=g;f=e,g=Pa(a,1),o[f+55|0]=g;d=d+1|0;if((d|0)!=(c|0)){continue}break}if(c+ -1>>>0<=6){d=c;while(1){Pa(a,2);e=(d|0)!=7;d=d+1|0;if(e){continue}break}}d=0;while(1){e=b+d|0;if(r[e+49|0]){ye(a,(w(d,49)+b|0)+61|0)}if(r[e+55|0]){f=w(d,49)+b|0,g=Pa(a,8),o[f+109|0]=g}d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function Ok(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(!((f|0)<1|(g|0)<1)){g=g<<1;j=(g|0)>1?g:1;k=c<<1;while(1){g=0;while(1){h=(((w(r[a+g|0],o[e+1|0])+w(r[(g-c|0)+a|0],o[e|0])|0)+w(r[(c+g|0)+a|0],o[e+2|0])|0)+w(r[(g+k|0)+a|0],o[e+3|0])<<16>>16)+32>>6;h=(h|0)>0?h:0;o[b+g|0]=(h|0)<255?h:255;g=g+1|0;if((j|0)!=(g|0)){continue}break}b=b+d|0;a=a+c|0;i=i+1|0;if((i|0)!=(f|0)){continue}break}}}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=xa-16|0;xa=d;e=b;b=q[a+4>>2];g=e+(b>>1)|0;f=q[a>>2];f=b&1?q[q[g>>2]+f>>2]:f;e=q[c>>2];q[d+8>>2]=0;q[d>>2]=0;q[d+4>>2]=0;if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){a=e+16&-16;b=Va(a);q[d+8>>2]=a|-2147483648;q[d>>2]=b;q[d+4>>2]=e;a=d;break b}o[d+11|0]=e;a=d;b=d;if(!e){break a}}Sa(b,c+4|0,e)}o[b+e|0]=0;n[f](g,d);if(o[a+11|0]<=-1){Ra(q[d>>2])}xa=d+16|0;return}Cb();F()}function oi(a){var b=0,c=0,d=0,e=0;b=Ta(36);q[b>>2]=0;q[b+4>>2]=0;q[b+32>>2]=0;q[b+24>>2]=0;q[b+28>>2]=0;q[b+16>>2]=0;q[b+20>>2]=0;q[b+8>>2]=0;q[b+12>>2]=0;d=b,e=Nc(a>>>2&16382),q[d+24>>2]=e;d=b,e=Nc(a<<1&65534),q[d+32>>2]=e;c=Nc(a&65534);a=(a|0)==1024;q[b+8>>2]=a?49120:62176;q[b>>2]=a?45024:58336;q[b+28>>2]=c;q[b+20>>2]=a?56288:68896;q[b+16>>2]=a?54240:66976;q[b+12>>2]=a?53728:66496;q[b+4>>2]=a?49632:62656;return b}function Yc(a,b){var c=0,d=0,e=x(0),f=0,g=0,h=0,i=0,j=0;a:{f=r[a+1|0];if(f>>>0<=1){if(f-1){break a}o[a+4|0]=255}i=r[a+21|0];while(1){d=a+g|0;h=(r[d+4|0]<<2)+4|0;if(r[d+22|0]){e=x(-u[a+184>>2])}else{e=u[a+188>>2]}j=Rb(+x(x(e*x((r[d+39|0]+i|0)+ -80|0))/x(24)));c=c&65535;if(c>>>0>>0){e=x(j);while(1){d=(c<<2)+b|0;u[d>>2]=u[d>>2]*e;c=c+1|0;if((h|0)!=(c|0)){continue}break}}c=h;g=g+1|0;if((f|0)!=(g|0)){continue}break}}}function Id(a){var b=0,c=0,d=0;b=xa-16|0;xa=b;h(+a);d=e(1)|0;e(0)|0;d=d&2147483647;a:{if(d>>>0<=1072243195){c=1;if(d>>>0<1044816030){break a}c=Eb(a,0);break a}c=a-a;if(d>>>0>=2146435072){break a}d=Jd(a,b)&3;if(d>>>0<=2){b:{switch(d-1|0){default:c=Eb(v[b>>3],v[b+8>>3]);break a;case 0:c=-Db(v[b>>3],v[b+8>>3],1);break a;case 1:break b}}c=-Eb(v[b>>3],v[b+8>>3]);break a}c=Db(v[b>>3],v[b+8>>3],1)}a=c;xa=b+16|0;return a}function xe(a,b,c,d){var e=0,f=0,g=0;a:{if((c|0)<0){break a}if(!d){while(1){d=(e<<2)+b|0;f=d,g=Ua(a),q[f>>2]=g;f=d,g=Ua(a),q[f+128>>2]=g;f=b+e|0,g=Pa(a,1),o[f+512|0]=g;d=(c|0)==(e|0);e=e+1|0;if(!d){continue}break a}}while(1){d=(e<<2)+b|0;f=d,g=Ua(a),q[f>>2]=g;f=d,g=Ua(a),q[f+128>>2]=g;f=d,g=Ua(a),q[f+256>>2]=g;f=d,g=Ua(a),q[f+384>>2]=g;f=b+e|0,g=Pa(a,1),o[f+512|0]=g;d=(c|0)!=(e|0);e=e+1|0;if(d){continue}break}}}function Hd(a){var b=0,c=0;b=xa-16|0;xa=b;h(+a);c=e(1)|0;e(0)|0;c=c&2147483647;a:{if(c>>>0<=1072243195){if(c>>>0<1045430272){break a}a=Db(a,0,0);break a}if(c>>>0>=2146435072){a=a-a;break a}c=Jd(a,b)&3;if(c>>>0<=2){b:{switch(c-1|0){default:a=Db(v[b>>3],v[b+8>>3],1);break a;case 0:a=Eb(v[b>>3],v[b+8>>3]);break a;case 1:break b}}a=-Db(v[b>>3],v[b+8>>3],1);break a}a=-Eb(v[b>>3],v[b+8>>3])}xa=b+16|0;return a}function Ik(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if(!((f|0)<1|(g|0)<1)){g=g<<1;k=(g|0)>1?g:1;h=c<<1;d=d<<1;while(1){g=0;while(1){i=g<<1;p[i+b>>1]=((w(p[a+i>>1],o[e+1|0])+w(p[(g-c<<1)+a>>1],o[e|0])|0)+w(p[(c+g<<1)+a>>1],o[e+2|0])|0)+w(p[(g+h<<1)+a>>1],o[e+3|0])>>>6;g=g+1|0;if((k|0)!=(g|0)){continue}break}b=b+d|0;a=a+h|0;j=j+1|0;if((j|0)!=(f|0)){continue}break}}}function lj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if((e|0)!=31){f=((f<<6)- -64>>7<<6)+2048>>12;f=(f|0)>-32768?f:-32768;j=(f|0)<32767?f:32767;e=1<1?e:1;f=0;while(1){k=w(d,f);l=w(c,f);e=0;while(1){i=e<<1;g=r[(i+l|0)+a|0]+j|0;g=(g|0)>0?g:0;o[(k+i|0)+b|0]=(g|0)<255?g:255;e=e+1|0;if((h|0)!=(e|0)){continue}break}f=f+1|0;if((h|0)!=(f|0)){continue}break}}}function Tc(a,b,c){var d=0;d=Uc(a,b,c);a:{if(!s[c>>1]){break a}a=q[b+8>>2];b:{if(a){a=a+ -1|0;q[b+8>>2]=a;a=q[b>>2]>>>a&1;break b}a=q[b+4>>2]>>>31|0;if(r[b+20|0]){break b}Oa(b,1)}if(!a){break a}p[c>>1]=0-s[c>>1]}c:{if(!s[c+2>>1]){break c}a=q[b+8>>2];d:{if(a){a=a+ -1|0;q[b+8>>2]=a;a=q[b>>2]>>>a&1;break d}a=q[b+4>>2]>>>31|0;if(r[b+20|0]){break d}Oa(b,1)}if(!a){break c}p[c+2>>1]=0-s[c+2>>1]}return d}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=2147483647;while(1){c=q[((e<<3)+a|0)+4>>2];if(!(!c|!r[c+20|0])){d=b-q[c+8>>2]|0;f=(d|0)<(g|0)&(d|0)>0;h=f?c:h;g=f?d:g}e=e+1|0;if((e|0)!=64){continue}break}if(!h){e=0;g=2147483647;h=0;while(1){c=q[((e<<3)+a|0)+4>>2];if(!(!c|!r[c+20|0])){f=b-q[c+8>>2]|0;d=f>>31;f=d^d+f;d=(f|0)<(g|0);h=d?c:h;g=d?f:g}e=e+1|0;if((e|0)!=64){continue}break}}return h}function Mj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if(!((i|0)<1|(j|0)<1)){g=g+h|0;h=j<<1;h=(h|0)>1?h:1;e=e<<1;m=d<<1;d=0;while(1){j=0;while(1){k=j<<1;k=(g+p[k+a>>1]|0)+p[b+k>>1]|0;l=k- -64>>7;o[c+j|0]=(k|0)>32703?-1:(l|0)>0?l:0;j=j+1|0;if((h|0)!=(j|0)){continue}break}c=c+f|0;b=b+e|0;a=a+m|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}}function mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((e|0)!=31){f=((f<<6)- -64>>7<<6)+2048>>12;f=(f|0)>-32768?f:-32768;i=(f|0)<32767?f:32767;e=1<1?e:1;f=0;while(1){j=w(d,f);k=w(c,f);e=0;while(1){g=r[(e+k|0)+a|0]+i|0;g=(g|0)>0?g:0;o[(e+j|0)+b|0]=(g|0)<255?g:255;e=e+1|0;if((h|0)!=(e|0)){continue}break}f=f+1|0;if((h|0)!=(f|0)){continue}break}}}function Kk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if(!((f|0)<1|(g|0)<1)){g=g<<1;i=(g|0)>1?g:1;j=c<<1;d=d<<1;while(1){g=0;while(1){p[(g<<1)+b>>1]=((w(r[a+g|0],o[e+1|0])+w(r[(g-c|0)+a|0],o[e|0])|0)+w(r[(c+g|0)+a|0],o[e+2|0])|0)+w(r[(g+j|0)+a|0],o[e+3|0]);g=g+1|0;if((i|0)!=(g|0)){continue}break}a=a+c|0;b=b+d|0;h=h+1|0;if((h|0)!=(f|0)){continue}break}}}function zc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=xa-48|0;xa=e;o[a+1809|0]=0;f=w(b,d)<<1;q[a+28>>2]=f;h=a,i=Ta(f),q[h+36>>2]=i;q[e+4>>2]=f;q[e>>2]=1678;K(0,e|0);f=q[a+36>>2]>>1;a=q[a+4>>2];a:{if(o[165992]&1){break a}if(!eb(165992)){break a}h=165988,i=M(5,1712)|0,q[h>>2]=i;db(165992)}g=q[41497];q[e+40>>2]=f;q[e+32>>2]=d;q[e+24>>2]=c;q[e+16>>2]=b;N(g|0,a|0,1668,e+16|0);xa=e+48|0}function xd(){na(151808,152224);ma(151832,152229,1,1,0);wg();vg();ug();tg();sg();rg();qg();pg();og();ng();lg();ca(1360,152335);ca(153080,152347);_(153168,4,152380);_(153260,2,152393);_(153352,4,152408);la(1424,152423);kg();vd(152469);ud(152506);td(152545);sd(152576);rd(152616);qd(152645);jg();ig();vd(152752);ud(152784);td(152817);sd(152850);rd(152884);qd(152917);gg();fg()}function Vi(a){var b=0,c=0,d=0;o[a+1470|0]=1;b=a+376|0;c=a+5076|0,d=Pa(b,16),p[c>>1]=d;c=a+5082|0,d=Pa(b,16),p[c>>1]=d;c=a+5078|0,d=Pa(b,16),p[c>>1]=d;c=a+5084|0,d=Pa(b,16),p[c>>1]=d;c=a+5080|0,d=Pa(b,16),p[c>>1]=d;c=a+5086|0,d=Pa(b,16),p[c>>1]=d;c=a+5088|0,d=Pa(b,16),p[c>>1]=d;c=a+5090|0,d=Pa(b,16),p[c>>1]=d;c=a+5092|0,d=Pa(b,32),q[c>>2]=d;c=a+5096|0,d=Pa(b,32),q[c>>2]=d}function $g(a,b,c){var d=0,e=0,f=0,g=0;f=xa-16|0;xa=f;d=o[a+11|0]<0?(q[a+8>>2]&2147483647)+ -1|0:10;g=d;if(o[a+11|0]<0){e=q[a+4>>2]}else{e=r[a+11|0]}a:{if(g-e>>>0>=c>>>0){if(!c){break a}if(o[a+11|0]<0){d=q[a>>2]}else{d=a}Bb(d+e|0,b,c);c=c+e|0;b=c;b:{if(o[a+11|0]<0){q[a+4>>2]=b;break b}o[a+11|0]=b}o[f+15|0]=0;o[c+d|0]=r[f+15|0];break a}ah(a,d,(c+e|0)-d|0,e,e,c,b)}xa=f+16|0}function Nj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if(!((i|0)<1|(j|0)<1)){h=g+h|0;g=0;e=e<<1;m=d<<1;while(1){d=0;while(1){k=d<<1;k=(h+p[k+a>>1]|0)+p[b+k>>1]|0;l=k- -64>>7;o[c+d|0]=(k|0)>32703?-1:(l|0)>0?l:0;d=d+1|0;if((j|0)!=(d|0)){continue}break}c=c+f|0;b=b+e|0;a=a+m|0;g=g+1|0;if((i|0)!=(g|0)){continue}break}}}function th(a){var b=0,c=0,d=0,e=0;c=q[a+16>>2];b=(c>>>0)/170|0;b=q[q[a+4>>2]+(b<<2)>>2]+w(c-w(b,170)|0,24)|0;q[b+4>>2]=1636;b=q[b+8>>2];d=q[b+12>>2]+ -1|0;q[b+12>>2]=d;e=a;if(!(d|!b)){if(o[b+11|0]<=-1){Ra(q[b>>2])}Ra(b);c=q[a+16>>2]}b=c+1|0;q[e+16>>2]=b;q[a+20>>2]=q[a+20>>2]+ -1;if(b>>>0>=340){Ra(q[q[a+4>>2]>>2]);q[a+4>>2]=q[a+4>>2]+4;q[a+16>>2]=q[a+16>>2]+ -170}}function Cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Za(a,q[b+8>>2],e)){if(!(q[b+28>>2]==1|q[b+4>>2]!=(c|0))){q[b+28>>2]=d}return}a:{if(!Za(a,q[b>>2],e)){break a}if(!(q[b+20>>2]!=(c|0)?q[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}q[b+32>>2]=1;return}q[b+20>>2]=c;q[b+32>>2]=d;q[b+40>>2]=q[b+40>>2]+1;if(!(q[b+36>>2]!=1|q[b+24>>2]!=2)){o[b+54|0]=1}q[b+44>>2]=4}}function yk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((e|0)>=1){j=e<<1;k=q[(f<<2)+29072>>2];b=0;while(1){g=b+1|0;f=w(g,k);h=f&31;l=32-h|0;m=f>>5^-1;f=0;while(1){i=((j-f|0)+m|0)+a|0;o[(w(d,f)+b|0)+c|0]=(w(r[i|0],l)+w(r[i+ -1|0],h)|0)+16>>>5;f=f+1|0;if((f|0)!=(e|0)){continue}break}b=g;if((e|0)!=(b|0)){continue}break}}}function cg(a,b,c){var d=0,e=0,f=0;a:{d=q[c+16>>2];if(!d){if(pd(c)){break a}d=q[c+16>>2]}f=q[c+20>>2];if(d-f>>>0>>0){n[q[c+36>>2]](c,a,b)|0;return}b:{if(o[c+75|0]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e+ -1|0;if(r[d+a|0]!=10){continue}break}if(n[q[c+36>>2]](c,a,e)>>>0>>0){break a}b=b-e|0;a=a+e|0;f=q[c+20>>2]}Sa(f,a,b);q[c+20>>2]=q[c+20>>2]+b}}function yc(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=xa-240|0;xa=d;q[d>>2]=a;g=1;a:{if((b|0)<2){break a}e=a;while(1){f=e+ -4|0;h=b+ -2|0;e=f-q[(h<<2)+c>>2]|0;if((n[163](a,e)|0)>=0){if((n[163](a,f)|0)>-1){break a}}a=(g<<2)+d|0;b:{if((n[163](e,f)|0)>=0){q[a>>2]=e;h=b+ -1|0;break b}q[a>>2]=f;e=f}g=g+1|0;if((h|0)<2){break a}a=q[d>>2];b=h;continue}}Kd(d,g);xa=d+240|0}function vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((e|0)>=1){i=e<<1;j=q[(f<<2)+29072>>2];b=0;while(1){k=w(b,d);b=b+1|0;f=w(j,b);g=f&31;l=32-g|0;m=(f>>5)+i|0;f=0;while(1){h=(f+m|0)+a|0;o[(f+k|0)+c|0]=(w(r[h+1|0],l)+w(r[h+2|0],g)|0)+16>>>5;f=f+1|0;if((f|0)!=(e|0)){continue}break}if((b|0)!=(e|0)){continue}break}}}function lb(a,b){var c=0,d=0,e=0,f=0;d=q[a>>2];if(d>>>0>255){f=q[a+4>>2];e=q[b+4>>2];c=e+1|0;q[b+4>>2]=c;e=q[b+12>>2]<>>31|0;if((c|0)==32){q[b+12>>2]=q[b+16>>2];c=q[b+8>>2];q[b+8>>2]=c+4;c=q[c>>2];q[b+4>>2]=0;q[b+16>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24)}b=a;a=e|f<<1;q[b+4>>2]=a-(a>>>0>>0?0:d);return a>>>0>=d>>>0}I(41329,3879,334,41539);F()}function Rj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!((i|0)<1|(j|0)<1)){m=1<>1]+h|0,e)+m>>g)+f|0;k=(k|0)>0?k:0;o[b+c|0]=(k|0)<255?k:255;c=c+1|0;if((j|0)!=(c|0)){continue}break}b=b+d|0;a=a+n|0;l=l+1|0;if((l|0)!=(i|0)){continue}break}}}function wb(a,b){a:{if((b|0)>=1024){a=a*8.98846567431158e+307;if((b|0)<2047){b=b+ -1023|0;break a}a=a*8.98846567431158e+307;b=((b|0)<3069?b:3069)+ -2046|0;break a}if((b|0)>-1023){break a}a=a*2.2250738585072014e-308;if((b|0)>-2045){b=b+1022|0;break a}a=a*2.2250738585072014e-308;b=((b|0)>-3066?b:-3066)+2044|0}f(0,0);f(1,b+1023<<20);return a*+g()}function Gg(a,b){var c=0,d=0;a:{while(1){if(!b){return 0}b=hb(b,151600);if(!b|q[b+8>>2]&(q[a+8>>2]^-1)){break a}if(Za(q[a+12>>2],q[b+12>>2],0)){return 1}if(!(o[a+8|0]&1)){break a}c=q[a+12>>2];if(!c){break a}c=hb(c,151600);if(c){b=q[b+12>>2];a=c;continue}break}a=q[a+12>>2];if(!a){break a}a=hb(a,151712);if(!a){break a}d=yd(a,q[b+12>>2])}return d}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=xa+ -64|0;xa=d;e=1;a:{if(Za(a,b,0)){break a}e=0;if(!b){break a}b=hb(b,151504);e=0;if(!b){break a}q[d+20>>2]=-1;q[d+16>>2]=a;q[d+12>>2]=0;q[d+8>>2]=b;Qa(d+24|0,0,39);q[d+56>>2]=1;n[q[q[b>>2]+28>>2]](b,d+8|0,q[c>>2],1);e=0;if(q[d+32>>2]!=1){break a}q[c>>2]=q[d+24>>2];e=1}xa=d- -64|0;return e|0}function cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((e|0)>=1){j=e<<1;k=e<<2;b=0;while(1){g=b|1;l=-3-g|0;m=(g<<5)+32>>5^-1;f=0;while(1){h=w(d,f);i=k-(f<<1)|0;o[(h+b|0)+c|0]=r[(i+l|0)+a|0];o[(g+h|0)+c|0]=r[(m+i|0)+a|0];f=f+1|0;if((f|0)!=(e|0)){continue}break}b=b+2|0;if((b|0)<(j|0)){continue}break}}}function tc(a,b,c,d){o[a+53|0]=1;a:{if(q[a+4>>2]!=(c|0)){break a}o[a+52|0]=1;c=q[a+16>>2];if(!c){q[a+36>>2]=1;q[a+24>>2]=d;q[a+16>>2]=b;if((d|0)!=1|q[a+48>>2]!=1){break a}o[a+54|0]=1;return}if((b|0)==(c|0)){c=q[a+24>>2];if((c|0)==2){q[a+24>>2]=d;c=d}if(q[a+48>>2]!=1|(c|0)!=1){break a}o[a+54|0]=1;return}o[a+54|0]=1;q[a+36>>2]=q[a+36>>2]+1}}function bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if((e|0)>=1){j=(f|0)==18?-32:32;k=e<<1;l=e<<2|2;b=0;while(1){g=w(b,d);b=b+1|0;h=(w(j,b)>>4)+l|0;f=0;while(1){o[(f+g|0)+c|0]=r[(f+h|0)+a|0];i=f|1;o[(i+g|0)+c|0]=r[(h+i|0)+a|0];f=f+2|0;if((f|0)<(k|0)){continue}break}if((b|0)!=(e|0)){continue}break}}}function pc(a){a=a|0;var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!r[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(r[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=q[c>>2];if(!((d^-1)&d+ -16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=r[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function ii(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=xa-16|0;xa=e;a:{if(o[165968]&1){break a}if(!eb(165968)){break a}g=165964,h=M(2,1240)|0,q[g>>2]=h;db(165968)}f=q[41491];c=o[b+11|0];b:{if((c|0)<=-1){c=q[b+4>>2];d=Ta(c+4|0);q[d>>2]=c;b=q[b>>2];break b}c=c&255;d=Ta(c+4|0);q[d>>2]=c}Sa(d+4|0,b,c);q[e+8>>2]=d;N(f|0,a|0,1183,e+8|0);xa=e+16|0}function ob(a){var b=0;b=0;a:{if(a>>>0>92016){break a}b=1;if(a>>>0>75131){break a}b=2;if(a>>>0>55425){break a}b=3;if(a>>>0>46008){break a}b=4;if(a>>>0>37565){break a}b=5;if(a>>>0>27712){break a}b=6;if(a>>>0>23003){break a}b=7;if(a>>>0>18782){break a}b=8;if(a>>>0>13855){break a}b=9;if(a>>>0>11501){break a}b=a>>>0>9390?10:11}return b}function $h(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=s[((r[a+9044|0]<<1)+a|0)+1936>>1];e=s[a+2040>>1];e=d>>>0>>0?d:e;d=0;i=a+9043|0;while(1){e=r[(a+d|0)+9045|0]+e|0;f=e&65535;if(f>>>0>=c>>>0){return 15}g=(f<<1)+b|0;f=p[g>>1];d=r[(d+i|0)+6|0];p[g>>1]=f+((f|0)>0?d:0-d|0);h=h+1|0;d=h&255;if(d>>>0<=r[a+9043|0]){continue}break}return 0}function _k(a,b,c){var d=0,e=0;while(1){if(!(!r[b+20|0]|q[((d<<3)+a|0)+4>>2]!=(b|0))){return}d=d+1|0;if((d|0)!=64){continue}break}d=0;a:{while(1){if(!q[((d<<3)+a|0)+4>>2]){break a}d=d+1|0;if((d|0)!=64){continue}break}return}d=(d<<3)+a|0;e=d+4|0;q[e>>2]=b;q[d+8>>2]=q[a>>2];o[b+20|0]=2;o[b+22|0]=c;q[a>>2]=e;o[a+516|0]=r[a+516|0]+1}function ef(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((e|0)>=1){i=e<<1;g=e<<2;j=g+ -2|0;b=0;while(1){k=w(b,d);f=b<<1;l=(j-f|0)+a|0;m=((f^-1)+g|0)+a|0;f=0;while(1){h=(f+k|0)+c|0;o[h|0]=r[l|0];o[h+1|0]=r[m|0];f=f+2|0;if((f|0)<(i|0)){continue}break}b=b+1|0;if((e|0)!=(b|0)){continue}break}}}function Pa(a,b){var c=0,d=0;c=q[a+4>>2];d=c+b|0;q[a+4>>2]=d;c=q[a+12>>2]<>>32-b|0;a:{b:{if(d>>>0>=33){b=64-d|0;if(b>>>0<=31){b=q[a+16>>2]>>>b|0}else{b=0}c=b|c;break b}if((d|0)!=32){break a}}q[a+12>>2]=q[a+16>>2];b=q[a+8>>2];q[a+8>>2]=b+4;b=q[b>>2];q[a+4>>2]=d+ -32;q[a+16>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}return c}function tj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;a:{if((f|0)<1){break a}while(1){c=Sa(c,a,e);a=a+g|0;c=c+i|0;k=k+1|0;if((k|0)!=(f|0)){continue}break}if((f|0)<2){break a}a=f>>1;c=(a|0)>1?a:1;a=0;while(1){d=Sa(d,b,e);b=b+h|0;d=d+j|0;a=a+1|0;if((c|0)!=(a|0)){continue}break}}}function Kd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=4;e=xa-256|0;xa=e;a:{if((b|0)<2){break a}h=(b<<2)+a|0;q[h>>2]=e;c=e;while(1){f=d>>>0<256?d:256;Sa(c,q[a>>2],f);c=0;while(1){g=(c<<2)+a|0;c=c+1|0;Sa(q[g>>2],q[(c<<2)+a>>2],f);q[g>>2]=q[g>>2]+f;if((b|0)!=(c|0)){continue}break}d=d-f|0;if(!d){break a}c=q[h>>2];continue}}xa=e+256|0}function zb(a,b,c){var d=0,e=0,f=0;a:{if((b|0)==1&a>>>0<0|b>>>0<1){d=a;break a}while(1){d=jl(a,b,10);e=ya;f=e;e=il(d,e,10,0);c=c+ -1|0;o[c|0]=a-e|48;e=(b|0)==9&a>>>0>4294967295|b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c+ -1|0;a=(d>>>0)/10|0;o[c|0]=d-w(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function md(a,b){var c=0,d=0,e=0,f=0,g=0;e=q[a>>2];if((e|0)>=1){while(1){a:{c=(d<<2)+a|0;f=q[c+8>>2];if(f>>>0>2){break a}g=c;b:{switch(f-1|0){case 1:I(3276,3762,170,4139);F();case 0:break a;default:break b}}c=q[c+264>>2];if(!c){break a}q[b>>2]=d;q[g+8>>2]=1;return c}d=d+1|0;if((d|0)<(e|0)){continue}break}}return 0}function Vc(a){var b=0,c=0,d=0;a:{b:{while(1){c=c&65535;d=c<<1;if(!r[d+70897|0]){break b}b=q[a+8>>2];c:{if(b){b=b+ -1|0;q[a+8>>2]=b;b=q[a>>2]>>>b&1;break c}b=q[a+4>>2]>>>31|0;if(r[a+20|0]){break c}Oa(a,1)}c=c+r[(b|d)+70896|0]|0;if((c&65535)>>>0<241){continue}break}a=255;break a}a=r[(c<<1)+70896|0]}return a<<24>>24}function ce(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=xa-16|0;xa=d;a:{if(o[165976]&1){break a}if(!eb(165976)){break a}g=165972,h=M(2,1396)|0,q[g>>2]=h;db(165976)}f=q[41493];T(q[c>>2]);q[d+8>>2]=q[c>>2];e=+fa(f|0,b|0,1388,d+4|0,d+8|0);b:{if(e<4294967296&e>=0){b=~~e>>>0;break b}b=0}c=q[d+4>>2];q[a>>2]=b;P(c|0);xa=d+16|0}function bh(a,b,c){var d=0,e=0,f=0,g=0;f=xa-16|0;xa=f;if(4294967279>=c>>>0){a:{if(c>>>0<=10){o[a+11|0]=c;d=a;break a}g=a;if(c>>>0>=11){d=c+16&-16;e=d+ -1|0;d=(e|0)==11?d:e}else{d=10}e=d+1|0;d=Dd(e);q[g>>2]=d;q[a+8>>2]=e|-2147483648;q[a+4>>2]=c}Bb(d,b,c);o[f+15|0]=0;o[c+d|0]=r[f+15|0];xa=f+16|0;return}Cb();F()}function xf(a){a=a|0;var b=0,c=0;b=xa-32|0;xa=b;q[a>>2]=2596;q[b+24>>2]=8;q[b+28>>2]=6;q[b+16>>2]=8;q[b+20>>2]=0;c=gb(q[a+48>>2],b+24|0,b+16|0);q[a+1064>>2]=c;if(c){cb(2884,0)}Ra(q[a+20>>2]);q[a>>2]=2828;a:{if(r[a+36|0]){break a}c=q[a+8>>2];if(!c){break a}Ra(c)}q[b>>2]=2860;K(0,b|0);xa=b+32|0;return a|0}function wf(a){a=a|0;var b=0,c=0;b=xa-32|0;xa=b;q[a>>2]=2596;q[b+24>>2]=8;q[b+28>>2]=6;q[b+16>>2]=8;q[b+20>>2]=0;c=gb(q[a+48>>2],b+24|0,b+16|0);q[a+1064>>2]=c;if(c){cb(2884,0)}Ra(q[a+20>>2]);q[a>>2]=2828;a:{if(r[a+36|0]){break a}c=q[a+8>>2];if(!c){break a}Ra(c)}q[b>>2]=2860;K(0,b|0);Ra(a);xa=b+32|0}function df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((e|0)>=1){h=e<<1;b=e<<2;i=b|3;j=b|2;f=0;while(1){k=w(d,f);b=0;while(1){g=(b+k|0)+c|0;o[g|0]=r[(b+j|0)+a|0];o[g+1|0]=r[(b+i|0)+a|0];b=b+2|0;if((b|0)<(h|0)){continue}break}f=f+1|0;if((f|0)!=(e|0)){continue}break}}}function ti(a,b){var c=0,d=0;a:{if(!a|!b){break a}c=r[b|0];b:{if(c>>>0<=23){d=0;if(1<>24<0){break a}o[a+2256|0]=r[b|0];c=q[b+4>>2];if(!c){break a}q[a+2260>>2]=c;c=r[b+8|0];if((c+ -1&255)>>>0>4){break a}o[a+2264|0]=c;b=r[b+9|0];if(b>>>0>1){break a}o[a+2265|0]=b}}function Fc(a,b,c,d,e,f,g){var h=0,i=0;b=Oh(b,d,q[a>>2]);o[a+13|0]=b;d=Nh(c,q[a>>2],b);c=q[a>>2];a:{if(c>>>0>=48e3){b=r[a+13|0];h=(d-b|0)>32;break a}b=r[a+13|0];i=d-b|0;h=(i|0)>48;if(c>>>0<=32e3){break a}h=(i|0)>45}b:{if(!e){b=Mh(a,b,d,f);break b}b=Lh(a,b,d,e)}return(h+b&255)!=(0-Jh(a,g,d)&255)}function zk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((e|0)>=1){g=(f|0)==18?-32:32;h=e<<1;b=0;while(1){i=w(b,d);b=b+1|0;j=w(g,b)>>5;f=0;while(1){k=(f+i|0)+c|0;f=f+1|0;o[k|0]=r[((h+f|0)+j|0)+a|0];if((e|0)!=(f|0)){continue}break}if((b|0)!=(e|0)){continue}break}}}function we(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=q[a+300>>2];b=d+w(b,68)|0;e=q[b>>2];f=q[b+4>>2];g=q[a>>2];h=q[a+4>>2];c=w(c,68)+d|0;b=Sa(b,c,68);q[b+4>>2]=f;q[b>>2]=e;Sa(e,q[c>>2],8128);Sa(q[b+4>>2],q[c+4>>2],w(w(((g+127&-64)+ -1|0)/64|0,((h+127&-64)+ -1|0)/64|0),6));o[b+67|0]=1;q[a+356>>2]=b}function wc(a,b,c,d){var e=0;e=xa-16|0;xa=e;q[e+12>>2]=d;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;d=o[b+11|0]<0?q[b+4>>2]:r[b+11|0];if(d>>>0>>0){Ed();F()}b=o[b+11|0]<0?q[b>>2]:b;q[e+8>>2]=d-c;d=xa-16|0;xa=d;xa=d+16|0;d=a;c=b+c|0;a=e+8|0;b=e+12|0;bh(d,c,q[(t[a>>2]>2]?a:b)>>2]);xa=e+16|0}function ue(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=a+660|0;d=a+376|0;a=Wa(c,d,27);e=Wa(c,d,27);if(a){f=Wa(c,d,28)}if(e){g=Wa(c,d,28)}h=b;if(a){if(f){a=ed(c,d,1)+2|0}else{a=1}a=lb(c,d)?0-a|0:a}else{a=0}p[h>>1]=a;if(e){if(g){a=ed(c,d,1)+2|0}else{a=1}a=lb(c,d)?0-a|0:a}else{a=0}p[b+2>>1]=a}function Nh(a,b,c){var d=0,e=0;d=a+ -14|0;a:{if(d>>>0<=1){if(!(d-1)){a=w(c,3);c=a>>>0<64?a:64;break a}a=c<<1;c=a>>>0<64?a:64;break a}d=ob(b);a=a>>>0<13?a:13;e=o[(a+w(ob(b),14)|0)+104208|0];d=r[d+104192|0];c=64;if((e+d|0)>64){break a}c=d+r[(a+w(ob(b),14)|0)+104208|0]|0}return c&255}function Pe(a,b){var c=0,d=0,e=0,f=0,g=0;c=-1;e=2147483647;while(1){f=q[((d<<2)+a|0)+4>>2];g=(f|0)==2147483647|(f|0)>(e|0);c=g?c:d;e=g?e:f;d=d+1|0;if((d|0)!=64){continue}break}q[b>>2]=c;if((c|0)==-1){return 0}a=(c<<2)+a|0;q[a+4>>2]=2147483647;b=q[a+260>>2];q[a+260>>2]=0;return b}function Mk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(!((f|0)<1|(g|0)<1)){e=g<<1;h=(e|0)>1?e:1;e=0;d=d<<1;while(1){g=0;while(1){p[(g<<1)+b>>1]=r[a+g|0]<<6;g=g+1|0;if((h|0)!=(g|0)){continue}break}a=a+c|0;b=b+d|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}}function jc(a,b){var c=0,d=0,e=0;c=q[a+8>>2];e=c+16|0;d=2147483647;a:{if(t[a+12>>2]>>0){break a}b:{if(t[a+4>>2]>>0){while(1){if(q[a+20>>2]==1){break b}c=q[a+8>>2];if(t[a+4>>2]>>0){continue}break}}Sa(b,c,16);q[a+8>>2]=q[a+8>>2]+16;d=0;break a}d=2147483647}return d}function kf(a){var b=0,c=0,d=0,e=0;c=q[a>>2];if(c){while(1){a:{d=(b<<2)+a|0;e=q[d+8>>2];if(e>>>0>2){break a}b:{switch(e-1|0){case 1:I(3276,3762,213,4167);F();case 0:break a;default:break b}}if(!q[d+264>>2]){break a}return 1}b=b+1|0;if(b>>>0>>0){continue}break}}return 0}function Zg(a){var b=0;if(q[a+76>>2]<0){a:{if(o[a+75|0]==10){break a}b=q[a+20>>2];if(b>>>0>=t[a+16>>2]){break a}q[a+20>>2]=b+1;o[b|0]=10;return}od(a);return}b:{c:{if(o[a+75|0]==10){break c}b=q[a+20>>2];if(b>>>0>=t[a+16>>2]){break c}q[a+20>>2]=b+1;o[b|0]=10;break b}od(a)}}function Db(a,b,c){var d=0,e=0,f=0;d=a*a;f=d*(d*d)*(d*1.58969099521155e-10+ -2.5050760253406863e-8)+(d*(d*27557313707070068e-22+ -.0001984126982985795)+.00833333333332249);e=d*a;if(!c){return e*(d*f+ -.16666666666666632)+a}return a-(d*(b*.5-e*f)-b+e*.16666666666666632)}function qc(a){a=a|0;var b=0,c=0,d=0,e=0;b=xa-16|0;xa=b;q[a>>2]=2376;if(r[a+1864|0]){c=q[a+1868>>2];a:{if(o[165960]&1){break a}if(!eb(165960)){break a}d=165956,e=M(1,1236)|0,q[d>>2]=e;db(165960)}N(q[41489],c|0,3241,b+8|0)}J(q[a+1868>>2]);oc(a);xa=b+16|0;return a|0}function Bi(a,b){var c=0,d=0,e=0,f=0;c=xa-544|0;xa=c;q[c+16>>2]=41374;q[c+20>>2]=41489;q[c>>2]=4131;q[c+4>>2]=4451;q[c+8>>2]=30129;q[c+12>>2]=41303;vh(c+32|0,c);e=1;d=c+32|0;f=Tb(d,0,511);d=(f?f-d|0:511)+1|0;if(d>>>0<=b>>>0){Sa(a,c+32|0,d);e=0}xa=c+544|0;return e}function Qk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(!((f|0)<1|(g|0)<1)){e=g<<1;h=(e|0)>1?e:1;e=0;while(1){g=0;while(1){o[b+g|0]=r[a+g|0];g=g+1|0;if((h|0)!=(g|0)){continue}break}b=b+d|0;a=a+c|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}}function hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!((c|0)<1|(d|0)<2)){f=0-(d>>1)|0;g=b>>1<<1;while(1){h=s[a>>1];d=f;while(1){p[(d<<1)+a>>1]=h;b=d+1|0;i=b>>>0>=d>>>0;d=b;if(i){continue}break}a=a+g|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(Za(a,q[b+8>>2],0)){uc(b,c,d);return}e=q[a+12>>2];f=a+16|0;zd(f,b,c,d);a:{if((e|0)<2){break a}e=(e<<3)+f|0;a=a+24|0;while(1){zd(a,b,c,d);if(r[b+54|0]){break a}a=a+8|0;if(a>>>0>>0){continue}break}}}function fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(!((c|0)<1|(d|0)<2)){d=d>>1;f=(d|0)>1?d:1;b=b>>1<<1;while(1){g=s[a+ -2>>1];d=0;while(1){p[(d<<1)+a>>1]=g;d=d+1|0;if((f|0)!=(d|0)){continue}break}a=a+b|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function Vk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(!((f|0)<1|(g|0)<1)){e=0;h=d<<1;while(1){d=0;while(1){p[(d<<1)+b>>1]=r[a+d|0]<<6;d=d+1|0;if((g|0)!=(d|0)){continue}break}a=a+c|0;b=b+h|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}}function Pd(a,b){var c=0,d=0,i=0;h(+a);c=e(1)|0;d=e(0)|0;i=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=Pd(a*0x10000000000000000,b);b=q[b>>2]+ -64|0}q[c>>2]=b;return a}q[b>>2]=c+ -1022;f(0,d|0);f(1,i&-2146435073|1071644672);a=+g()}return a}function Ak(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if((e|0)>=1){g=(e<<1)+ -2|0;b=0;while(1){h=g-b|0;f=0;while(1){o[(w(d,f)+b|0)+c|0]=r[(h-f|0)+a|0];f=f+1|0;if((f|0)!=(e|0)){continue}break}b=b+1|0;if((e|0)!=(b|0)){continue}break}}}function od(a){var b=0,c=0,d=0;b=xa-16|0;xa=b;o[b+15|0]=10;c=q[a+16>>2];a:{if(!c){if(pd(a)){break a}c=q[a+16>>2]}d=q[a+20>>2];if(!(o[a+75|0]==10|d>>>0>=c>>>0)){q[a+20>>2]=d+1;o[d|0]=10;break a}if((n[q[a+36>>2]](a,b+15|0,1)|0)!=1){break a}}xa=b+16|0}function Eb(a,b){var c=0,d=0,e=0,f=0;c=a*a;d=c*.5;e=1-d;f=1-e-d;d=c*c;return e+(f+(c*(c*(c*(c*2480158728947673e-20+ -.001388888888887411)+.0416666666666666)+d*d*(c*(c*-1.1359647557788195e-11+2.087572321298175e-9)+ -2.7557314351390663e-7))-a*b))}function oh(a,b){var c=0,d=0;c=xa-160|0;xa=c;Sa(c+8|0,148024,144);q[c+52>>2]=a;q[c+28>>2]=a;d=-2-a|0;d=511>d>>>0?d:511;q[c+56>>2]=d;a=a+d|0;q[c+36>>2]=a;q[c+24>>2]=a;Ld(c+8|0,3712,b);if(d){a=q[c+28>>2];o[a-((a|0)==q[c+24>>2])|0]=0}xa=c+160|0}function Zk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(!((f|0)<1|(g|0)<1)){while(1){e=0;while(1){o[b+e|0]=r[a+e|0];e=e+1|0;if((g|0)!=(e|0)){continue}break}b=b+d|0;a=a+c|0;h=h+1|0;if((h|0)!=(f|0)){continue}break}}}function fl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=w(e,f);g=c&65535;h=a&65535;i=w(g,h);f=(i>>>16|0)+w(f,g)|0;e=(f&65535)+w(e,h)|0;a=(w(b,c)+j|0)+w(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;ya=a;return b}function Nf(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;n[a](b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u)}function Bj(a,b,c){var d=0,e=0;d=q[b>>2];e=q[b+4>>2];q[a+8>>2]=b+8;q[a>>2]=b;q[a+4>>2]=0;q[a+20>>2]=(b+c|0)+8;q[a+16>>2]=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24);q[a+12>>2]=d<<8&16711680|d<<24|(d>>>8&65280|d>>>24)}function uc(a,b,c){var d=0;d=q[a+16>>2];if(!d){q[a+36>>2]=1;q[a+24>>2]=c;q[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(q[a+24>>2]!=2){break a}q[a+24>>2]=c;return}o[a+54|0]=1;q[a+24>>2]=2;q[a+36>>2]=q[a+36>>2]+1}}function me(a,b){var c=0,d=0,e=0,f=0,g=0;d=b&7;c=b>>>3|0;e=Ta(c+1|0);if(c){b=0;while(1){f=b+e|0,g=le(a,8),o[f|0]=g;b=b+1|0;if((c|0)!=(b|0)){continue}break}}if(d){f=c+e|0,g=le(a,d)<<8-d,o[f|0]=g}return e}function yj(a,b){a=a|0;b=b|0;var c=0,d=0;c=xa-16|0;xa=c;d=+S(q[b>>2],151904,c+12|0);P(q[c+12>>2]);if(y(d)<2147483648){b=~~d}else{b=-2147483648}q[a+1844>>2]=b;q[c+4>>2]=b;q[c>>2]=1904;K(0,c|0);xa=c+16|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0;c=xa-16|0;xa=c;d=+S(q[b>>2],151904,c+12|0);P(q[c+12>>2]);if(y(d)<2147483648){b=~~d}else{b=-2147483648}q[a+1848>>2]=b;q[c+4>>2]=b;q[c>>2]=1921;K(0,c|0);xa=c+16|0}function hd(a){var b=0,c=0;c=(q[a+4>>2]&-8)+8|0;q[a+4>>2]=c;if(c>>>0>=32){q[a+12>>2]=q[a+16>>2];b=q[a+8>>2];q[a+8>>2]=b+4;b=q[b>>2];q[a+4>>2]=c+ -32;q[a+16>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}}function ab(a,b,c,d,e){var f=0;f=xa-256|0;xa=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;Qa(f,b,d?c:256);if(!d){while(1){_a(a,f,256);c=c+ -256|0;if(c>>>0>255){continue}break}}_a(a,f,c)}xa=f+256|0}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=xa-16|0;xa=c;d=q[a>>2];e=c+8|0;a=q[a+4>>2];b=(a>>1)+b|0;f=b;if(a&1){d=q[d+q[b>>2]>>2]}n[d](e,f);T(q[c+8>>2]);a=q[c+8>>2];J(a|0);xa=c+16|0;return a|0}function pb(a,b){var c=0;c=q[a+4>>2]+b|0;q[a+4>>2]=c;if(c>>>0>=32){q[a+12>>2]=q[a+16>>2];b=q[a+8>>2];q[a+8>>2]=b+4;b=q[b>>2];q[a+4>>2]=c+ -32;q[a+16>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}}function Gi(a,b,c){var d=0,e=0;d=q[a+636>>2]+w(q[a+11596>>2],8976)|0;e=(o[d+14|0]+ -1|0)+d|0;d=o[e+25|0];if(q[a+11636>>2]!=1){d=d+o[e+32|0]|0}return w(d+1|0,(w(w(b,3)+480|0,c+160|0)|0)/2|0)} + + + +function pd(a){var b=0;b=r[a+74|0];o[a+74|0]=b+ -1|b;b=q[a>>2];if(b&8){q[a>>2]=b|32;return-1}q[a+4>>2]=0;q[a+8>>2]=0;b=q[a+44>>2];q[a+28>>2]=b;q[a+20>>2]=b;q[a+16>>2]=b+q[a+48>>2];return 0}function Ne(a,b){var c=0,d=0,e=0;c=r[a+516|0];a:{if(c){while(1){e=q[a>>2];a=q[e>>2];if(q[a+12>>2]==(b|0)){break a}a=e+4|0;d=d+1|0;if(d>>>0>>0){continue}break}}a=0}return(c|0)==(d|0)?0:a}function Pb(a,b){var c=0,d=0,e=0;c=r[a+516|0];a:{if(c){while(1){e=q[a>>2];a=q[e>>2];if(q[a+8>>2]==(b|0)){break a}a=e+4|0;d=d+1|0;if(d>>>0>>0){continue}break}}a=0}return(c|0)==(d|0)?0:a}function Og(a,b){var c=0,d=0;c=r[a|0];d=r[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=r[b+1|0];c=r[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Rc(a,b){var c=0,d=0;if(b){while(1){c=w(d,12)+a|0;p[c+8>>1]=1065369472;p[c+10>>1]=16256;p[c>>1]=0;p[c+2>>1]=0;p[c+4>>1]=0;p[c+6>>1]=0;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function zd(a,b,c,d){var e=0,f=0,g=0,h=0;f=q[a+4>>2];a=q[a>>2];g=a;h=b;e=0;a:{if(!c){break a}b=f>>8;e=b;if(!(f&1)){break a}e=q[b+q[c>>2]>>2]}n[q[q[a>>2]+28>>2]](g,h,e+c|0,f&2?d:2)}function yd(a,b){var c=0;a:{if(!b){break a}b=hb(b,151712);if(!b|q[b+8>>2]&(q[a+8>>2]^-1)){break a}if(!Za(q[a+12>>2],q[b+12>>2],0)){break a}c=Za(q[a+16>>2],q[b+16>>2],0)}return c}function pe(a,b){var c=0,d=0,e=0;e=q[a>>2];a:{if(!e){break a}while(1){d=q[((c<<2)+a|0)+264>>2];if(q[d+16>>2]==(b|0)?d:0){break a}c=c+1|0;if(c>>>0>>0){continue}break}}return d}function Mf(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;p=p|0;q=q|0;n[a](b,c,d,e,f,g,h,i,j,k,l,m,o,p,q)}function vb(a,b,c){a:{if(q[a>>2]<=(b|0)){break a}a=(b<<2)+a|0;b=q[a+8>>2]&(c^-1);q[a+8>>2]=b;b=b+ -1|0;if(b>>>0>1){break a}if(!(b-1)){I(4192,3762,265,4462);F()}q[a+8>>2]=0}}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=xa-16|0;xa=d;e=q[a+4>>2];b=(e>>1)+b|0;a=q[a>>2];a=e&1?q[q[b>>2]+a>>2]:a;q[d+8>>2]=c;n[a](b,d+8|0);J(q[d+8>>2]);xa=d+16|0}function Wb(a,b){var c=0,d=0,e=0;e=a;a:{if(b>>>0<=31){c=q[a>>2];d=q[a+4>>2];break a}c=q[a+4>>2];q[a+4>>2]=0;q[a>>2]=c;b=b+ -32|0;d=0}q[e+4>>2]=d>>>b;q[a>>2]=d<<32-b|c>>>b}function Nd(a){var b=0,c=0,d=0;if(o[q[a>>2]]+ -48>>>0<10){while(1){b=q[a>>2];d=o[b|0];q[a>>2]=b+1;c=(w(c,10)+d|0)+ -48|0;if(o[b+1|0]+ -48>>>0<10){continue}break}}return c}function ih(a){var b=0,c=0,d=0,e=0,f=0;b=3;c=43537;a:{while(1){d=r[a|0];e=r[c|0];if((d|0)==(e|0)){c=c+1|0;a=a+1|0;b=b+ -1|0;if(b){continue}break a}break}f=d-e|0}return f}function Ub(a,b){var c=0,d=0,e=0;e=a;a:{if(b>>>0<=31){c=q[a+4>>2];d=q[a>>2];break a}c=q[a>>2];q[a+4>>2]=c;q[a>>2]=0;b=b+ -32|0;d=0}q[e>>2]=d<>2]=c<>>32-b}function Qb(a,b,c){var d=0;a:{if(q[a>>2]<=(b|0)){break a}a=(b<<2)+a|0;b=q[a+8>>2];if(b&c){break a}d=a;a=b|c;q[d+8>>2]=a;if((a|0)!=2){break a}I(4192,3762,322,4484);F()}}function kj(a,b){var c=0,d=0;c=a+24|0;q[a+16>>2]=c;b=b+ -52|0;if((b|0)<1){return 0}q[a+20>>2]=0;d=b;b=c+28|0;q[a+12>>2]=d+b;q[a+8>>2]=b;q[a+4>>2]=b;q[a>>2]=b;return a}function jk(a,b){a=a|0;b=b|0;var c=0,d=0;c=xa-16|0;xa=c;d=+S(q[b>>2],151832,c+12|0);P(q[c+12>>2]);b=a;a=d!=0;o[b+1840|0]=a;q[c+4>>2]=a;q[c>>2]=1876;K(0,c|0);xa=c+16|0}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0;c=xa-16|0;xa=c;d=+S(q[b>>2],151832,c+12|0);P(q[c+12>>2]);b=a;a=d!=0;o[b+1841|0]=a;q[c+4>>2]=a;q[c>>2]=1891;K(0,c|0);xa=c+16|0}function lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=xa-16|0;xa=e;a=ha(q[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){q[41511]=a}xa=e+16|0;ya=q[e+12>>2];return q[e+8>>2]}function Ob(a,b){var c=0,d=0,e=0;c=q[a+4>>2];e=32-b|0;d=q[a+12>>2]<>>e|0;if(c>>>0>e>>>0){b=64-(b+c|0)|0;if(b>>>0<=31){a=q[a+16>>2]>>>b|0}else{a=0}d=a|d}return d}function of(a){a=a|0;var b=0,c=0;b=xa-16|0;xa=b;q[a>>2]=2828;a:{if(r[a+36|0]){break a}c=q[a+8>>2];if(!c){break a}Ra(c)}q[b>>2]=2860;K(0,b|0);xa=b+16|0;return a|0}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=xa-16|0;xa=c;d=q[b+1860>>2];q[c+8>>2]=q[b+1856>>2];q[c+12>>2]=d;e=a,f=R(151964,c+8|0)|0,q[e>>2]=f;xa=c+16|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0;c=xa-32|0;xa=c;d=+S(q[b>>2],151964,c+28|0);P(q[c+28>>2]);v[a+1856>>3]=d;v[c+8>>3]=d;q[c>>2]=1938;K(0,c|0);xa=c+32|0}function Rf(a,b,c,d,e,f,g,h,i,j,k,l,m,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;o=o|0;n[a](b,c,d,e,f,g,h,i,j,k,l,m,o)}function ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((c|0)>=1){f=0-d|0;while(1){Qa(a+f|0,r[a|0],d);a=a+b|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function Ig(a,b){var c=0,d=0;c=a;d=b;a:{if(r[a+8|0]&24){a=1}else{a=0;if(!b){break a}b=hb(b,151552);if(!b){break a}a=(r[b+8|0]&24)!=0}a=Za(c,d,a)}return a}function rb(a){var b=0,c=0;c=za();a:{b=q[41916];a=b+(a+3&-4)|0;if(a>>>0<=c<<16>>>0){break a}if(ka(a|0)){break a}q[41511]=48;return-1}q[41916]=a;return b}function jh(a){a=a|0;var b=0,c=0;q[a>>2]=1636;b=q[a+4>>2];c=q[b+12>>2]+ -1|0;q[b+12>>2]=c;if(!(c|!b)){if(o[b+11|0]<=-1){Ra(q[b>>2])}Ra(b)}return a|0}function fe(a,b){var c=0,d=0;d=q[b>>2];c=a;a=q[a>>2];a=r[(a&245)+43248|0]<<31|a>>>1;q[c>>2]=a;c=b;b=r[(d>>>25&99)+43248|0]|d<<1;q[c>>2]=b;return a^b}function Pf(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n[a](b,c,d,e,f,g,h,i,j,k,l,m)}function Ag(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Za(a,q[b+8>>2],f)){tc(b,c,d,e);return}a=q[a+8>>2];n[q[q[a>>2]+20>>2]](a,b,c,d,e,f)}function nc(a,b,c){var d=0;d=-1;a:{if(q[a>>2]<=(c|0)){break a}a=(c<<2)+a|0;c=q[a+264>>2];if((b|0)!=(c|0)?c:0){break a}q[a+264>>2]=b;d=0}return d}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xa-16|0;xa=d;q[d+8>>2]=b;q[d>>2]=c;a=n[a](d+8|0,d)|0;J(q[d>>2]);J(q[d+8>>2]);xa=d+16|0;return a|0}function Fd(a){a=a|0;var b=0,c=0;q[a>>2]=1636;b=q[a+4>>2];c=q[b+12>>2]+ -1|0;q[b+12>>2]=c;if(!(c|!b)){if(o[b+11|0]<=-1){Ra(q[b>>2])}Ra(b)}Ra(a)}function sc(a,b,c,d,e,f){var g=0,h=0,i=0;g=q[a+4>>2];h=g>>8;a=q[a>>2];i=a;if(g&1){h=q[q[d>>2]+h>>2]}n[q[q[a>>2]+20>>2]](i,b,c,d+h|0,g&2?e:2,f)}function Ef(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[a>>2]=2408;Zc(q[a+24>>2]);q[a>>2]=2496;Ra(q[a+12>>2]);q[b>>2]=2527;K(0,b|0);xa=b+16|0;return a|0}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=q[a+20>>2];d=q[a+16>>2]-e|0;d=d>>>0>c>>>0?c:d;Sa(e,b,d);q[a+20>>2]=d+q[a+20>>2];return c|0}function gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((c|0)>=1){while(1){a=Qa(a,r[a+ -1|0],d)+b|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function Le(a,b,c,d){var e=0,f=0,g=0;if((d|0)>=1){f=a-b|0;e=1;while(1){Sa(w(e+ -1|0,b)+a|0,f,c);g=(d|0)!=(e|0);e=e+1|0;if(g){continue}break}}}function $k(a){var b=0,c=0;q[a>>2]=2147483647;while(1){c=(b<<2)+a|0;q[c+260>>2]=0;q[c+4>>2]=2147483647;b=b+1|0;if((b|0)!=64){continue}break}}function bd(a,b){var c=0,d=0;c=2147483647;d=q[a+4>>2];if(t[a+12>>2]>=d+16>>>0){Sa(d,b,16);q[a+4>>2]=q[a+4>>2]+16;c=0}q[a+20>>2]=0;return c}function Sb(a,b,c,d,e){var f=0,g=0,h=0;f=q[a+4>>2];g=f>>8;a=q[a>>2];h=a;if(f&1){g=q[q[c>>2]+g>>2]}n[q[q[a>>2]+24>>2]](h,b,c+g|0,f&2?d:2,e)}function rh(a,b,c,d){if(a|b){while(1){c=c+ -1|0;o[c|0]=r[(a&15)+147968|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=q[b>>2]+15&-16;q[c>>2]=b+16;d=a,e=fh(q[b>>2],q[b+4>>2],q[b+8>>2],q[b+12>>2]),v[d>>3]=e}function Df(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[a>>2]=2408;Zc(q[a+24>>2]);q[a>>2]=2496;Ra(q[a+12>>2]);q[b>>2]=2527;K(0,b|0);Ra(a);xa=b+16|0}function Of(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;n[a](b,c,d,e,f,g,h,i,j,k,l)}function mc(a){var b=0,c=0;b=q[a>>2];c=(q[a+20>>2]-b<<3)+ -64|0;a=(c-(q[a+4>>2]+(q[a+8>>2]-b<<3)|0)|0)- -64|0;return a>>>0>c>>>0?0:a}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=xa-16|0;xa=c;q[c+8>>2]=q[b+1848>>2];d=a,e=R(151904,c+8|0)|0,q[d>>2]=e;xa=c+16|0}function pi(){var a=0;a=Qa(Ta(192),0,184);u[a+188>>2]=1;u[a+184>>2]=1;o[a+39|0]=0;o[a+22|0]=1;o[a+4|0]=255;o[a+1|0]=1;return a}function ch(a,b){var c=0,d=0,e=0,f=0;c=pc(b);d=Va(c+13|0);q[d+8>>2]=0;q[d+4>>2]=c;q[d>>2]=c;e=a,f=Sa(d+12|0,b,c+1|0),q[e>>2]=f}function Qf(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;n[a](b,c,d,e,f,g,h,i,j,k)}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=xa-16|0;xa=c;q[c+8>>2]=q[b+1844>>2];d=a,e=R(151904,c+8|0)|0,q[d>>2]=e;xa=c+16|0}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=xa-16|0;xa=c;q[c+8>>2]=r[b+1840|0];d=a,e=R(151832,c+8|0)|0,q[d>>2]=e;xa=c+16|0}function Va(a){var b=0,c=0;a=a?a:1;while(1){a:{b=Ta(a);if(b){break a}c=q[41528];if(!c){break a}n[c]();continue}break}return b}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=xa-16|0;xa=c;q[c+8>>2]=r[b+1841|0];d=a,e=R(151832,c+8|0)|0,q[d>>2]=e;xa=c+16|0}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Za(a,q[b+8>>2],0)){uc(b,c,d);return}a=q[a+8>>2];n[q[q[a>>2]+28>>2]](a,b,c,d)}function Cd(a){var b=0;if(o[a+11|0]<0){b=q[a+4>>2]}else{b=r[a+11|0]}if(b>>>0<=0){Ed();F()}if(o[a+11|0]<0){a=q[a>>2]}return a}function ve(a,b,c){var d=0,e=0,f=0;a=q[a+644>>2];b=a+w(b,1272)|0;d=q[b+184>>2];e=Sa(b,a+w(c,1272)|0,1272),f=d,q[e+184>>2]=f}function Me(a,b,c,d){var e=0,f=0;e=1;if((d|0)>=1){while(1){Sa(a-w(b,e)|0,a,c);f=(d|0)!=(e|0);e=e+1|0;if(f){continue}break}}}function Xg(a){var b=0;a:{a=q[a+8>>2];b=r[a|0];if((b|0)!=1){if(b&2){break a}o[a|0]=2;a=1}else{a=0}return a}Bd(151153);F()}function sh(a,b,c){if(a|b){while(1){c=c+ -1|0;o[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c){while(1){p[a>>1]=b;a=a+2|0;d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function Tf(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;n[a](b,c,d,e,f,g,h,i,j)}function Af(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[a>>2]=2496;Ra(q[a+12>>2]);q[b>>2]=2527;K(0,b|0);xa=b+16|0;return a|0}function eb(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=0;q[b+4>>2]=a;q[b>>2]=a;q[b+8>>2]=a+1;a=Yg(b);xa=b+16|0;return a}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=q[a>>2];a=q[a+4>>2];b=(a>>1)+b|0;d=b;if(a&1){c=q[c+q[b>>2]>>2]}n[c](d)}function sb(a){var b=0;b=ta(8)|0;q[b>>2]=151260;q[b>>2]=151304;ch(b+4|0,a);q[b>>2]=151352;sa(b|0,151384,34);F()}function rg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152286;Q(151904,q[a+12>>2],4,-2147483648,2147483647);xa=a+16|0}function pg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152303;Q(151928,q[a+12>>2],4,-2147483648,2147483647);xa=a+16|0}function Za(a,b,c){if(!c){return q[a+4>>2]==q[b+4>>2]}if((a|0)==(b|0)){return 1}return!Og(q[a+4>>2],q[b+4>>2])}function Oh(a,b,c){var d=0;d=r[ob(c)+104044|0];c=ob(c);return r[(((b?r[c+104056|0]:6)<<4)+a|0)+104080|0]+d&255}function zf(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[a>>2]=2496;Ra(q[a+12>>2]);q[b>>2]=2527;K(0,b|0);Ra(a);xa=b+16|0}function li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ra((o[b+11|0]<0?q[b>>2]:b)|0,2252,q[c>>2])|0,q[d>>2]=e}function Zb(a){var b=0,c=0,d=0;b=Ta(8);c=w(a,160);d=Ta(c);q[b>>2]=d;Qa(d,0,c);o[b+6|0]=a;p[b+4>>1]=0;return b}function Yg(a){var b=0,c=0;b=xa-16|0;xa=b;q[b+8>>2]=q[a+4>>2];if(r[q[b+8>>2]]!=1){c=Xg(a)}xa=b+16|0;return c}function Mc(a){var b=0,c=0;if(a){c=q[a+4>>2];b=q[c+32>>2];if(b){Ra(b)}b=q[c+36>>2];if(b){Ra(b)}Ra(c);Ra(a)}}function Hf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;n[a](b,c,d,e,f,g,h,i)}function gi(a,b,c,d){var e=0;e=xa-48|0;xa=e;ec(e+8|0,a,4);dc(e+8|0);a=hi(e+8|0,b,c,d);xa=e+48|0;return a}function xg(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;a=yg(q[q[b+12>>2]+4>>2]);xa=b+16|0;return a|0}function db(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=0;q[b+4>>2]=a;q[b>>2]=a;q[b+8>>2]=a+1;Wg(b);xa=b+16|0}function Fi(a){var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return(((b+(a<<2)|0)+(b<<4)|0)+((a<<1)+3&-4)|0)+4|0}function tg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152265;Q(151880,q[a+12>>2],2,-32768,32767);xa=a+16|0}function Zd(){var a=0,b=0;a=Ta(8);b=Ta(2560);q[a>>2]=b;Qa(b,0,2560);o[a+6|0]=32;p[a+4>>1]=0;return a}function Wg(a){var b=0;b=xa-16|0;xa=b;q[b+8>>2]=q[a+4>>2];o[q[b+8>>2]]=1;o[q[a+8>>2]]=1;xa=b+16|0}function wg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152234;Q(151844,q[a+12>>2],1,-128,127);xa=a+16|0}function vg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152239;Q(151868,q[a+12>>2],1,-128,127);xa=a+16|0}function Jf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n[a](b,c,d,e,f,g,h)}function zg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Za(a,q[b+8>>2],f)){tc(b,c,d,e)}}function sg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152271;Q(151892,q[a+12>>2],2,0,65535);xa=a+16|0}function eg(a){a=a|0;var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;a=q[b+12>>2];xd();xa=b+16|0;return a|0}function Gf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return n[a](b,c,d,e,f,g)|0}function ug(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152251;Q(151856,q[a+12>>2],1,0,255);xa=a+16|0}function qg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152290;Q(151916,q[a+12>>2],4,0,-1);xa=a+16|0}function og(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152308;Q(151940,q[a+12>>2],4,0,-1);xa=a+16|0}function kl(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} + + + +function Sg(a){var b=0;a=q[a>>2]+ -12|0;b=q[a+8>>2]+ -1|0;q[a+8>>2]=b;if((b|0)<=-1){Ra(a)}}function Ff(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=n[a](b,c,d,e)|0;ia(ya|0);return a|0}function ng(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152322;ba(151952,q[a+12>>2],4);xa=a+16|0}function lg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152328;ba(151964,q[a+12>>2],8);xa=a+16|0}function kg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152439;O(153408,0,q[a+12>>2]);xa=a+16|0}function jg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152683;O(153688,4,q[a+12>>2]);xa=a+16|0}function ig(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152713;O(153728,5,q[a+12>>2]);xa=a+16|0}function gg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152951;O(153768,6,q[a+12>>2]);xa=a+16|0}function fg(){var a=0;a=xa-16|0;xa=a;q[a+12>>2]=152982;O(153808,7,q[a+12>>2]);xa=a+16|0}function Sf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;n[a](b,c,d,e,f,g)}function Bd(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=0;b=q[36868];Ld(b,a,0);Zg(b);da();F()}function vd(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153448,0,q[b+12>>2]);xa=b+16|0}function ud(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153488,1,q[b+12>>2]);xa=b+16|0}function td(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153528,2,q[b+12>>2]);xa=b+16|0}function sd(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153568,3,q[b+12>>2]);xa=b+16|0}function rd(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153608,4,q[b+12>>2]);xa=b+16|0}function qd(a){var b=0;b=xa-16|0;xa=b;q[b+12>>2]=a;O(153648,5,q[b+12>>2]);xa=b+16|0}function cb(a,b){var c=0;c=xa-16|0;xa=c;q[c+12>>2]=b;Od(q[39480],a,b,0,0);xa=c+16|0}function yg(a){var b=0,c=0;b=pc(a)+1|0;c=Ta(b);if(!c){return 0}return Sa(c,a,b)}function Eg(a){a=a|0;a:{if(r[a+36|0]){break a}a=q[a+8>>2];if(!a){break a}Ra(a)}}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Za(a,q[b+8>>2],0)){uc(b,c,d)}}function If(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;n[a](b,c,d,e,f)}function vh(a,b){var c=0;c=xa-16|0;xa=c;q[c+12>>2]=b;oh(a,b);xa=c+16|0}function Lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;n[a](b,c,d,e)}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return n[a](b,c,d)|0}function Dd(a){if(4294967295>>0){sb(151085);F()}return Va(a)}function bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya=0;return 0}function _b(a){var b=0;if(a){b=q[a>>2];if(b){Ra(b)}Ra(a)}}function vc(a){a=a|0;q[a>>2]=151304;Sg(a+4|0);return a|0}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;n[a](b,c,d)}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;return n[a](b,c)|0}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;return Za(a,b,0)|0}function hl(a){if(a){return 31-z(a+ -1^a)|0}return 32}function Kh(a,b){a=a|0;b=b|0;return q[a>>2]-q[b>>2]|0}function cl(a,b,c){a=a|0;b=b|0;c=c|0;return Ta(c)|0}function Qd(a,b){if(!a){return 0}return uh(a,b)} + + + +function wd(a){a=a|0;if(a){n[q[q[a>>2]+4>>2]](a)}}function bb(a,b,c){a=a|0;b=b|0;c=c|0;Sa(a,b,c)}function _a(a,b,c){if(!(r[a|0]&32)){cg(b,c,a)}}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;n[a](b,c)}function Ya(a,b,c){a=a|0;b=b|0;c=c|0;Qa(a,b,c)}function Ud(a){a=a|0;return q[q[a>>2]+ -4>>2]}function $f(a,b){a=a|0;b=b|0;return n[a](b)|0}function mh(a){a=a|0;return oa(q[a+60>>2])|0}function il(a,b,c,d){a=fl(a,b,c,d);return a}function lf(a,b){a=a|0;b=b|0;wa();return 0}function Ii(a,b){a=a|0;b=b|0;n[q[a>>2]](b)}function nd(a){q[a>>2]=64;Qa(a+4|0,0,516)}function yf(a,b){a=a|0;b=b|0;return 0}function ag(a){a=a|0;return Aa(a|0)|0}function Qg(a){a=a|0;return q[a+4>>2]}function _f(a,b){a=a|0;b=b|0;n[a](b)}function Ld(a,b,c){Od(a,b,c,167,168)}function jl(a,b,c){return gl(a,b,c)}function dl(){xi();n[196](166116)|0}function Bb(a,b,c){if(c){Sa(a,b,c)}}function zj(a,b){a=a|0;b=b|0;Ra(b)}function Ug(a){a=a|0;return 151237}function Mi(a){a=a|0;o[a+1864|0]=1}function hg(a){a=a|0;qc(a);Ra(a)}function Pg(a){a=a|0;vc(a);Ra(a)}function gc(a){a=a|0;return a|0}function Vf(a){a=a|0;Ra(qc(a))}function Rg(a){a=a|0;Ra(vc(a))}function Kf(a){a=a|0;Ra(oc(a))}function dg(a){a=a|0;return 0}function Vg(){Bd(151207);F()}function Cb(){sb(151072);F()}function el(a,b){i(a|0,b|0)}function Uf(a){a=a|0;n[a]()}function xb(a){a=a|0;Ra(a)}function nf(a){a=a|0;F()}function Ed(){da();F()}function rc(a){a=a|0} +// EMSCRIPTEN_END_FUNCS +n[1]=Ud;n[2]=wd;n[3]=Bf;n[4]=qf;n[5]=jf;n[6]=ld;n[7]=Qe;n[8]=Yk;n[9]=Nk;n[10]=kd;n[11]=sk;n[12]=jk;n[13]=ck;n[14]=ld;n[15]=Tj;n[16]=Lj;n[17]=Cj;n[18]=yj;n[19]=xj;n[20]=rj;n[21]=jj;n[22]=dj;n[23]=Zi;n[24]=Ud;n[25]=gc;n[26]=gc;n[27]=wd;n[28]=Mi;n[29]=Ii;n[30]=Ai;n[31]=wi;n[32]=ri;n[33]=li;n[34]=vc;n[35]=zj;n[36]=cl;n[37]=gb;n[38]=jh;n[39]=Fd;n[40]=Fd;n[41]=qc;n[42]=hg;n[43]=Vf;n[44]=oc;n[45]=Kf;n[46]=Ef;n[47]=Df;n[48]=rc;n[49]=Cf;n[50]=Af;n[51]=zf;n[52]=yf;n[53]=xf;n[54]=wf;n[55]=Eg;n[56]=vf;n[57]=uf;n[58]=Xb;n[59]=sf;n[60]=rf;n[61]=of;n[62]=nf;n[63]=mf;n[64]=Vg;n[65]=Ki;n[66]=al;n[67]=lj;n[68]=mj;n[69]=sj;n[70]=tj;n[71]=vj;n[72]=uj;n[73]=Sj;n[74]=Uj;n[75]=Vj;n[76]=Wj;n[77]=Xj;n[78]=Yj;n[79]=Zj;n[80]=_j;n[81]=$j;n[82]=ak;n[83]=Qj;n[84]=Mj;n[85]=Oj;n[86]=Rj;n[87]=Nj;n[88]=Pj;n[89]=fk;n[90]=gk;n[91]=hk;n[92]=ik;n[93]=mb;n[94]=mb;n[95]=Ya;n[96]=Ya;n[97]=bb;n[98]=bb;n[99]=Te;n[100]=Ue;n[101]=Ve;n[102]=bk;n[103]=dk;n[104]=ek;n[105]=Ke;n[106]=Ke;n[107]=Xe;n[108]=We;n[109]=Ye;n[110]=lk;n[111]=mk;n[112]=kk;n[113]=nk;n[114]=ok;n[115]=pk;n[116]=qk;n[117]=rk;n[118]=tk;n[119]=uk;n[120]=Bk;n[121]=Ek;n[122]=yk;n[123]=vk;n[124]=zk;n[125]=Ak;n[126]=Ck;n[127]=Dk;n[128]=wk;n[129]=xk;n[130]=_e;n[131]=$e;n[132]=df;n[133]=gf;n[134]=af;n[135]=Ze;n[136]=bf;n[137]=cf;n[138]=ef;n[139]=ff;n[140]=Fk;n[141]=Hk;n[142]=Gk;n[143]=hf;n[144]=Rk;n[145]=Uk;n[146]=Vk;n[147]=Zk;n[148]=Sk;n[149]=Tk;n[150]=Wk;n[151]=Xk;n[152]=Kk;n[153]=Ik;n[154]=Jk;n[155]=Ok;n[156]=Lk;n[157]=Pk;n[158]=Mk;n[159]=Qk;n[160]=Re;n[161]=Se;n[162]=bl;n[163]=Kh;n[164]=mh;n[165]=kh;n[166]=lh;n[167]=qh;n[168]=ph;n[169]=nh;n[170]=gc;n[171]=xb;n[172]=Ug;n[173]=Rg;n[174]=Qg;n[175]=Pg;n[176]=gc;n[177]=xb;n[178]=rc;n[179]=rc;n[180]=Ng;n[181]=xb;n[182]=Mg;n[183]=zg;n[184]=Cg;n[185]=Lg;n[186]=xb;n[187]=Ag;n[188]=Dg;n[189]=Kg;n[190]=xb;n[191]=Bg;n[192]=Fg;n[193]=Jg;n[194]=xb;n[195]=Hg;n[196]=eg;n[197]=dg;n[198]=bg;function za(){return buffer.byteLength/65536|0}function Aa(pagesToAdd){pagesToAdd=pagesToAdd|0;var Ba=za()|0;var Ca=Ba+pagesToAdd|0;if(Ba=0;--Ga){Fa[48+Ga]=52+Ga;Fa[65+Ga]=Ga;Fa[97+Ga]=26+Ga}Fa[43]=62;Fa[47]=63;function Ha(uint8Array,offset,b64){var Ia,Ja,Ga=0,Ka=offset,La=b64.length,Ma=offset+(La*3>>2);if(b64[La-2]=="=")--Ma;if(b64[La-1]=="=")--Ma;for(;Ga>4;if(Ka+1>2;if(Ka+2=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5410704,DYNAMICTOP_PTR=167664;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libhevc_aac.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648-PAGE_MULTIPLE;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},fetch:function(url){var _this=this;this.controller=new AbortController;var signal=this.controller.signal;fetch(url,{signal:signal}).then(function(res){var reader=res.body.getReader();_this.fetchNext=function(){reader.read().then(({done:done,value:value})=>_this.onFetchData({done:done,data:value})).catch(console.error)};_this.fetchNext()}).catch(console.error)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;if(this.ws){this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null}if(this.controller)this.controller.abort();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(ts){postMessage({cmd:"playAudio",buffer:audioOutputArray,ts:ts})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;jx.buffer))},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});var canvas=new OffscreenCanvas(w,h);var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures();this.buffers=[[],[],[]];var size=w*h;var qsize=size>>2;if(this.isWebGL){this.draw=function(compositionTime,ts){var gl=this._contextGL;var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];if(gl){var yTextureRef=this._yTextureRef;var uTextureRef=this._uTextureRef;var vTextureRef=this._vTextureRef;gl.viewport(0,0,w,h);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w,h,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(y,y+size));gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(u,u+qsize));gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(v,v+qsize));gl.drawArrays(gl.TRIANGLE_STRIP,0,4);let image_bitmap=canvas.transferToImageBitmap();postMessage({cmd:"render",compositionTime:compositionTime,ts:ts,bps:this.bps,delay:this.delay,buffer:image_bitmap},[image_bitmap])}else{}}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}},getDelay:function(timestamp){this.firstVideoTimestamp=timestamp;this.firstTimestamp=Date.now();this.getDelay=function(timestamp){this.delay=timestamp-this.firstVideoTimestamp-(Date.now()-this.firstTimestamp);return this.delay};return 0},init:function(msg){var canvas=msg.canvas;var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures()}});var decoder=new Module.Jessibuca;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"init":decoder.init(msg);break;case"getProp":postMessage({cmd:"getProp",value:decoder[msg.prop]});break;case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffer[0]);decoder.buffers[1].push(msg.buffer[1]);decoder.buffers[2].push(msg.buffer[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));break;case"setVideoBuffer":decoder.videoBuffer=msg.time*1e3|0;break;case"close":decoder.close();break}}}function _pthread_create(){return 6}function _pthread_join(){}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/web_src/public/jessibuca/libhevc_aac_wasm.js b/web_src/public/jessibuca/libhevc_aac_wasm.js new file mode 100644 index 00000000..a9a45136 --- /dev/null +++ b/web_src/public/jessibuca/libhevc_aac_wasm.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":199,"maximum":199+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5410704,DYNAMICTOP_PTR=167664;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="libhevc_aac_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648-PAGE_MULTIPLE;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},fetch:function(url){var _this=this;this.controller=new AbortController;var signal=this.controller.signal;fetch(url,{signal:signal}).then(function(res){var reader=res.body.getReader();_this.fetchNext=function(){reader.read().then(({done:done,value:value})=>_this.onFetchData({done:done,data:value})).catch(console.error)};_this.fetchNext()}).catch(console.error)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;if(this.ws){this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null}if(this.controller)this.controller.abort();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(ts){postMessage({cmd:"playAudio",buffer:audioOutputArray,ts:ts})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;jx.buffer))},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});var canvas=new OffscreenCanvas(w,h);var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures();this.buffers=[[],[],[]];var size=w*h;var qsize=size>>2;if(this.isWebGL){this.draw=function(compositionTime,ts){var gl=this._contextGL;var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];if(gl){var yTextureRef=this._yTextureRef;var uTextureRef=this._uTextureRef;var vTextureRef=this._vTextureRef;gl.viewport(0,0,w,h);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w,h,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(y,y+size));gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(u,u+qsize));gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w/2,h/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,HEAPU8.subarray(v,v+qsize));gl.drawArrays(gl.TRIANGLE_STRIP,0,4);let image_bitmap=canvas.transferToImageBitmap();postMessage({cmd:"render",compositionTime:compositionTime,ts:ts,bps:this.bps,delay:this.delay,buffer:image_bitmap},[image_bitmap])}else{}}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}},getDelay:function(timestamp){this.firstVideoTimestamp=timestamp;this.firstTimestamp=Date.now();this.getDelay=function(timestamp){this.delay=timestamp-this.firstVideoTimestamp-(Date.now()-this.firstTimestamp);return this.delay};return 0},init:function(msg){var canvas=msg.canvas;var gl=canvas.getContext("webgl");this._contextGL=gl;this._initProgram();this._initBuffers();this._initTextures()}});var decoder=new Module.Jessibuca;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"init":decoder.init(msg);break;case"getProp":postMessage({cmd:"getProp",value:decoder[msg.prop]});break;case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffer[0]);decoder.buffers[1].push(msg.buffer[1]);decoder.buffers[2].push(msg.buffer[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));break;case"setVideoBuffer":decoder.videoBuffer=msg.time*1e3|0;break;case"close":decoder.close();break}}}function _pthread_create(){return 6}function _pthread_join(){}function _setTempRet0($i){setTempRet0($i|0)}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"a":___assert_fail,"N":___cxa_allocate_exception,"M":___cxa_throw,"L":__embind_create_inheriting_constructor,"G":__embind_register_bool,"A":__embind_register_class,"u":__embind_register_class_class_function,"o":__embind_register_class_function,"n":__embind_register_class_property,"F":__embind_register_emval,"v":__embind_register_float,"i":__embind_register_integer,"g":__embind_register_memory_view,"w":__embind_register_std_string,"s":__embind_register_std_wstring,"H":__embind_register_void,"k":__emval_as,"t":__emval_call,"z":__emval_call_method,"f":__emval_call_void_method,"b":__emval_decref,"q":__emval_get_global,"e":__emval_get_method_caller,"m":__emval_get_property,"l":__emval_incref,"P":__emval_new,"d":__emval_new_cstring,"O":__emval_new_object,"h":__emval_run_destructors,"p":__emval_set_property,"j":__emval_take_value,"x":_abort,"r":_clock,"c":_emscripten_log,"D":_emscripten_memcpy_big,"E":_emscripten_resize_heap,"I":_fd_close,"B":_fd_seek,"y":_fd_write,"Q":_init,"memory":wasmMemory,"K":_pthread_create,"J":_pthread_join,"C":_setTempRet0,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["R"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["S"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["T"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["U"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["V"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["W"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["X"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["Y"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Z"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["_"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["$"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["aa"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ba"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["ca"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["da"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["ea"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=Module["asm"]["fa"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["ga"]).apply(null,arguments)};var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=Module["asm"]["ha"]).apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=Module["asm"]["ia"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=Module["asm"]["ja"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=Module["asm"]["ka"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["la"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["ma"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["na"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["oa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["pa"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["qa"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/web_src/public/jessibuca/libhevc_aac_wasm.wasm b/web_src/public/jessibuca/libhevc_aac_wasm.wasm new file mode 100644 index 00000000..d482924a Binary files /dev/null and b/web_src/public/jessibuca/libhevc_aac_wasm.wasm differ diff --git a/web_src/static/js/jessibuca/logo.png b/web_src/public/jessibuca/logo.png similarity index 100% rename from web_src/static/js/jessibuca/logo.png rename to web_src/public/jessibuca/logo.png diff --git a/web_src/public/jessibuca/tech.png b/web_src/public/jessibuca/tech.png new file mode 100644 index 00000000..792b32c8 Binary files /dev/null and b/web_src/public/jessibuca/tech.png differ diff --git a/web_src/static/libDecoder.wasm b/web_src/public/libDecoder.wasm similarity index 100% rename from web_src/static/libDecoder.wasm rename to web_src/public/libDecoder.wasm diff --git a/web_src/public/logo.png b/web_src/public/logo.png new file mode 100644 index 00000000..69a77a77 Binary files /dev/null and b/web_src/public/logo.png differ diff --git a/web_src/src/App.vue b/web_src/src/App.vue index e1145454..070f28ac 100644 --- a/web_src/src/App.vue +++ b/web_src/src/App.vue @@ -1,84 +1,28 @@ + computed: { + locale () { + // 只是为了切换语言时,更新标题 + const { title } = this.$route.meta + title && (setDocumentTitle(`${i18nRender(title)} - ${domTitle}`)) - + diff --git a/web_src/src/api/controller.js b/web_src/src/api/controller.js new file mode 100644 index 00000000..04808930 --- /dev/null +++ b/web_src/src/api/controller.js @@ -0,0 +1,78 @@ +import request from '@/utils/request' + +/** + * + * 获取各epoll(或select)线程负载以及延时 + */ +export function getThreadsLoad(parameter) { + return request({ + url: '/zlm/' + parameter.mediaServerId + '/index/api/getThreadsLoad', + method: 'get' + }) +} + +/** + * + * 获取在线的ZLM服务器列表 + */ +export function getOnlineMediaServerList() { + return request({ + url: '/api/server/mediaServer/online/list', + method: 'get' + }) +} + +/** + * + * 获取ZLM服务器session会话 + */ +export function getAllSession(parameter) { + return request({ + url: '/zlm/' + parameter.mediaServerId +'/index/api/getAllSession', + method: 'get' + }) +} + +/** + * + * 获取ZLM配置信息 + */ +export function getServerConfig(parameter){ + return request({ + url: '/zlm/' + parameter.mediaServerId +'/index/api/getServerConfig', + method: 'get' + }) +} + +/** + * + * 获取信息服务器WVP配置信息 + */ +export function getWVPServerConfig(){ + return request({ + url: '/api/server/config', + method: 'get' + }) +} + +/** + * + * 重启媒体服务器 + */ +export function restartServer(parameter){ + return request({ + url: '/zlm/'+ parameter.mediaServerId +'/index/api/restartServer', + method: 'get' + }) +} + +/** + * + * 删除session会话 + */ +export function deleteSession(parameter){ + return request({ + url: '/zlm/' + parameter.mediaServerId +'/index/api/kick_session&id=' + parameter.id, + method: 'get' + }) +} \ No newline at end of file diff --git a/web_src/src/api/deviceList.js b/web_src/src/api/deviceList.js new file mode 100644 index 00000000..d555d574 --- /dev/null +++ b/web_src/src/api/deviceList.js @@ -0,0 +1,225 @@ +import request from '@/utils/request' + +/** + * 获取设备列表 + */ +export function getDeviceList(parameter) { + return request({ + url: '/api/device/query/devices', + method: 'get', + params: parameter + }) +} + +/** + * 分页查询通道数 + */ +export function getDeviceChannelList(parameter) { + return request({ + url: '/api/device/query/devices/channels', + method: 'get', + params: parameter + }) +} + +/** + * 通知设备推流 + */ +export function noticePushStream(parameter) { + return request({ + url: '/api/play/start', + method: 'get', + params: parameter + }) +} + +/** + * 关闭流 + */ +export function stopDevicePush(parameter) { + return request({ + url: '/api/play/stop/' + parameter.deviceId + "/" + parameter.channelId, + method: 'get', + params: parameter + }) +} + +/** + * 使用ID查询国标设备 + */ +export function queryGBDeviceById(parameter) { + return request({ + url: '/api/device/query/devices/' + parameter.deviceId + '/sync', + method: 'post' + }) +} + +/** + * 编辑设备信息 + */ +export function updateDeviceInfo(parameter) { + return request({ + url: '/api/device/query/device/update/', + method: 'post', + data: parameter + }) +} + +/** + * 查询设备的历史定位点 + */ +export function positionHistory(parameter) { + return request({ + url: '/api/position/history/' + parameter.deviceId, + method: 'get', + params: parameter + }) +} + +/** + * 查询设备最新位置 + */ +export function queryLatestPosition(parameter) { + return request({ + url: '/api/position/latest/' + parameter.deviceId, + method: 'get' + }) +} + +/** + * 位置订阅 + */ +export function subscribePosition(parameter) { + return request({ + url: '/api/position/subscribe/' + parameter.deviceId, + method: 'get', + params: parameter + }) +} + +/** + * 云台控制 + */ +export function ptzController(parameter) { + return request({ + url: '/api/ptz/front_end_command/' + parameter.deviceId + '/' + parameter.channelId + '?cmdCode=' + parameter.cmdCode + '¶meter1=' + parameter.parameter1 + '¶meter2=' + parameter.parameter2 + '&combindCode2=' + parameter.combindCode2, + method: 'post', + data: parameter + }) +} + +/** + * 云台轮盘控制 + */ +export function ptzCamera(parameter) { + return request({ + url: '/api/ptz/control/' + parameter.deviceId + '/' + parameter.channelId + '?command=' + parameter.command + '&horizonSpeed=' + parameter.horizonSpeed + '&verticalSpeed=' + parameter.verticalSpeed + '&zoomSpeed=' + parameter.zoomSpeed, + method: 'post', + data: parameter + }) +} + +/** + * 获取媒体信息 + */ +export function getMediaInfo(parameter) { + return request({ + url: '/zlm/' + parameter.mediaServerId + '/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtmp&app=' + parameter.app + '&stream=' + parameter.streamId, + method: 'get' + }) +} + +/** + * 转码播放 + */ +export function coverPlay(parameter) { + return request({ + url: '/api/play/convert/' + parameter.streamId, + method: 'post', + data: parameter + }) +} + +/** + * 停止转码 + */ +export function convertStop(parameter) { + return request({ + url: '/api/play/convertStop/' + parameter.convertKey, + method: 'post', + data: parameter + }) +} + +/** + * 音频开关 + */ +export function updateChannel(parameter) { + return request({ + url: '/api/device/query/channel/update/' + parameter.deviceId, + method: 'post', + data: parameter + }) +} + +/** + * 删除离线设备 + */ +export function deleteDevice(parameter) { + return request({ + url: '/api/device/query/devices/' + parameter.deviceId + '/delete', + method: 'delete' + }) +} + +/** + * 国标协议查询录像 NVR + */ +export function queryRecords(parameter) { + return request({ + url: '/api/gb_record/query/' + parameter.deviceId + '/' + parameter.channelId + '?startTime=' + parameter.startTime + '&endTime=' + parameter.endTime, + method: 'get' + }) +} + +/** + * 点播NVR上的录像 + */ +export function startPlayRecord(parameter) { + return request({ + url: '/api/playback/start/' + parameter.deviceId + '/' + parameter.channelId, + method: 'get', + params: parameter + }) +} + +/** + * 停止播放NVR录像 + */ +export function stopPlayRecord(parameter) { + return request({ + url: '/api/playback/stop/' + parameter.deviceId + "/" + parameter.channelId, + method: 'get' + }) +} + +/** + * 下载NVR录像 + */ +export function downloadRecord(parameter){ + return request({ + url: '/api/download/start/' + parameter.deviceId + '/' + parameter.channelId, + method: 'get', + params: parameter + }) +} + +/** + * 停止下载NVR录像 + */ +export function stopDownloadRecord(parameter){ + return request({ + url: '/api/download/stop/' + parameter.deviceId + '/' + parameter.channelId, + method: 'get' + }) +} \ No newline at end of file diff --git a/web_src/src/api/gbPlatform.js b/web_src/src/api/gbPlatform.js new file mode 100644 index 00000000..d7d86720 --- /dev/null +++ b/web_src/src/api/gbPlatform.js @@ -0,0 +1,106 @@ +import request from "@/utils/request"; + +/** + * + *分页查询级联平台 + */ +export function getPlatformList(parameter) { + return request({ + url: '/api/platform/query/' + parameter.pageSize + '/' + parameter.pageNo, + method: 'get', + params: parameter + }) +} + +/** + * + * 获取国标服务的配置 + */ +export function getPlatformServerConf() { + return request({ + url: '/api/platform/server_config', + method: 'get' + }) +} + +/** + * + * 保存上级平台信息 + */ +export function savePlatform(parameter) { + return request({ + url: '/api/platform/save', + method: 'post', + data: parameter + }) +} + +/** + * + * 查询上级平台是否存在 + */ +export function exitPlatform(parameter) { + return request({ + url: '/api/platform/exit/' + parameter.deviceGbId, + method: 'get' + }) +} + +/** + * + *删除上级平台 + */ +export function deletePlatformCommit(parameter) { + return request({ + url: '/api/platform/delete/' + parameter.serverGBId, + method: 'delete' + }) +} + +/** + * + * 分页查询级联平台的所有所有通道 + */ +export function getChannelList(parameter) { + return request({ + url: '/api/platform/channel_list', + method: 'get', + params: parameter + }) +} + +/** + * + * 向上级平台添加国标通道 + */ +export function updateChannelForGB(parameter) { + return request({ + url: '/api/platform/update_channel_for_gb', + method: 'post', + data: parameter + }) +} + +/** + * + * 从上级平台移除国标通道 + */ +export function delChannelForGB(parameter) { + return request({ + url: '/api/platform/del_channel_for_gb', + method: 'delete', + data: parameter + }) +} + +/** + * + * 查询国标通道 + */ +export function queryGbChannel(parameter){ + return request({ + url: '/api/gbStream/list', + method: 'get', + params: parameter + }) +} \ No newline at end of file diff --git a/web_src/src/api/login.js b/web_src/src/api/login.js new file mode 100644 index 00000000..1aab5bcd --- /dev/null +++ b/web_src/src/api/login.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +const userApi = { + UserMenu: '/user/nav' +} + +export function getCurrentUserNav () { + return request({ + url: userApi.UserMenu, + method: 'get' + }) +} diff --git a/web_src/src/api/manage.js b/web_src/src/api/manage.js new file mode 100644 index 00000000..46a4a41e --- /dev/null +++ b/web_src/src/api/manage.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +const api = { + user: '/user', + role: '/role', + service: '/service', + permission: '/permission', + permissionNoPager: '/permission/no-pager', + orgTree: '/org/tree' +} + +export default api + +export function getUserList (parameter) { + return request({ + url: api.user, + method: 'get', + params: parameter + }) +} + +export function getRoleList (parameter) { + return request({ + url: api.role, + method: 'get', + params: parameter + }) +} + +export function getServiceList (parameter) { + return request({ + url: api.service, + method: 'get', + params: parameter + }) +} + +export function getPermissions (parameter) { + return request({ + url: api.permissionNoPager, + method: 'get', + params: parameter + }) +} + +export function getOrgTree (parameter) { + return request({ + url: api.orgTree, + method: 'get', + params: parameter + }) +} + +// id == 0 add post +// id != 0 update put +export function saveService (parameter) { + return request({ + url: api.service, + method: parameter.id === 0 ? 'post' : 'put', + data: parameter + }) +} + +export function saveSub (sub) { + return request({ + url: '/sub', + method: sub.id === 0 ? 'post' : 'put', + data: sub + }) +} diff --git a/web_src/src/api/mediaServer.js b/web_src/src/api/mediaServer.js new file mode 100644 index 00000000..cc5091bc --- /dev/null +++ b/web_src/src/api/mediaServer.js @@ -0,0 +1,59 @@ +import request from "@/utils/request"; + +/** + * 流媒体服务列表 + */ +export function getMediaServerList() { + return request({ + url: `/api/server/media_server/list`, + method: 'get' + }) +} + +/** + * + * 测试流媒体服务 + */ +export function checkServer(parameter) { + return request({ + url: `/api/server/media_server/check`, + method: 'get', + params: parameter + }) +} + +/** + * + * 测试流媒体录像管理服务 + */ +export function checkRecordServer(parameter) { + return request({ + url: `/api/server/media_server/record/check`, + method: 'get', + params: parameter + }) +} + +/** + * + * 保存流媒体服务 + */ +export function addServer(parameter) { + return request({ + url: `/api/server/media_server/save`, + method: 'post', + data: parameter + }) +} + +/** + * + * 移除流媒体服务 + */ +export function deleteServer(parameter) { + return request({ + url: `/api/server/media_server/delete`, + method: 'delete', + params: parameter + }) +} diff --git a/web_src/src/api/recordList.js b/web_src/src/api/recordList.js new file mode 100644 index 00000000..e75889b0 --- /dev/null +++ b/web_src/src/api/recordList.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +/** + * + * 获取在线的 Media Server + */ +export function getOnlineMediaServerList(parameter) { + return request({ + url: '/api/server/mediaServer/online/list', + method: 'get', + params: parameter + }) +} + +/** + * + * 根据 MediaServer Id获取录像列表 + */ +export function getRecordList(parameter) { + return request({ + url: '/record_proxy/' + parameter.mediaServerId + '/api/record/list', + method: 'get', + params: parameter + }) +} + +/** + * + * 构造录像记录返回值 + */ +export function resetRecordList(parameter) { + return request({ + url: '/api/record/resetRecords', + method: 'post', + data: parameter + }) +} + +/** + * + * 获取录像文件列表 + */ +export function recordDateList(parameter) { + return request({ + url: '/record_proxy/' + parameter.mediaServerId + '/api/record/date/list', + method: 'get', + params: parameter + }) +} + +/** + * + * 获取录像文件列表 + */ +export function queryRecordDetails(parameter){ + return request({ + url: '/record_proxy/' + parameter.mediaServerId + '/api/record/file/list', + method: 'get', + params: parameter + }) +} diff --git a/web_src/src/api/streamProxy.js b/web_src/src/api/streamProxy.js new file mode 100644 index 00000000..05dd1749 --- /dev/null +++ b/web_src/src/api/streamProxy.js @@ -0,0 +1,108 @@ +import request from "@/utils/request"; + +/** + * + * 获取流代理列表 + */ +export function getStreamProxyList(parameter){ + return request({ + url: '/api/proxy/list', + method: 'get', + params: parameter + }) +} + +/** + * + * 查询级联平台 + */ +export function queryPlatforms(){ + return request({ + url: '/api/platform/query/10000/0', + method: 'get' + }) +} + +/** + * + * 获取在线的ZLM服务器列表 + */ +export function getOnlineMediaServerList() { + return request({ + url: '/api/server/mediaServer/online/list', + method: 'get' + }) +} + +/** + * + * 获取ffmpeg.cmd模板 + */ +export function getFFmpegCMDs(parameter){ + return request({ + url: '/api/proxy/ffmpeg_cmd/list', + method: 'get', + params: parameter + }) +} + +/** + * + * 添加代理 + */ +export function saveStreamProxy(parameter){ + return request({ + url: '/api/proxy/save', + method: 'post', + data: parameter + }) +} + +/** + * + * 根据应用名和流id获取播放地址 + */ +export function getStreamInfoByAppAndStream(parameter){ + return request({ + url: '/api/media/stream_info_by_app_and_stream', + method: 'get', + params: parameter + }) +} + +/** + * + * 停用代理 + */ +export function stop(parameter){ + return request({ + url: '/api/proxy/stop', + method: 'get', + params: parameter + }) +} + +/** + * + * 启用代理 + */ +export function startProxy(parameter){ + return request({ + url: '/api/proxy/start', + method: 'get', + params: parameter + }) +} + +/** + * + * 移除代理 + */ +export function deleteProxy(parameter){ + return request({ + url: '/api/proxy/del', + method: 'delete', + params: parameter + }) +} + diff --git a/web_src/src/api/videoSquare.js b/web_src/src/api/videoSquare.js new file mode 100644 index 00000000..35610ba6 --- /dev/null +++ b/web_src/src/api/videoSquare.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +/** + * 获取设备tree + */ +export function getVideoTree(parameter) { + return request({ + url: '/api/square/video/tree', + method: 'get', + params: parameter + }) +} diff --git a/web_src/src/api/warning.js b/web_src/src/api/warning.js new file mode 100644 index 00000000..b792db50 --- /dev/null +++ b/web_src/src/api/warning.js @@ -0,0 +1,25 @@ +import request from '@/utils/request' + +/** + * + * 获取报警事件列表 + */ +export function getWarningList(parameter){ + return request({ + url: '/api/alarm/all', + method: 'get', + params: parameter + }) +} + +/** + * + * 删除报警信息 + */ +export function deleteWarning(parameter){ + return request({ + url: '/api/alarm/delete', + method: 'delete', + params: parameter + }) +} \ No newline at end of file diff --git a/web_src/src/assets/background.svg b/web_src/src/assets/background.svg new file mode 100644 index 00000000..89c25976 --- /dev/null +++ b/web_src/src/assets/background.svg @@ -0,0 +1,69 @@ + + + + Group 21 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web_src/src/assets/icons.png b/web_src/src/assets/icons.png deleted file mode 100644 index 9ed8102b..00000000 Binary files a/web_src/src/assets/icons.png and /dev/null differ diff --git a/web_src/src/assets/icons/bx-analyse.svg b/web_src/src/assets/icons/bx-analyse.svg new file mode 100644 index 00000000..b02a8d66 --- /dev/null +++ b/web_src/src/assets/icons/bx-analyse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web_src/src/assets/loading.png b/web_src/src/assets/loading.png deleted file mode 100644 index fa490e6b..00000000 Binary files a/web_src/src/assets/loading.png and /dev/null differ diff --git a/web_src/src/assets/login-bg.jpg b/web_src/src/assets/login-bg.jpg deleted file mode 100644 index ee27d8e0..00000000 Binary files a/web_src/src/assets/login-bg.jpg and /dev/null differ diff --git a/web_src/src/assets/login-cloud.png b/web_src/src/assets/login-cloud.png deleted file mode 100644 index 02b1958b..00000000 Binary files a/web_src/src/assets/login-cloud.png and /dev/null differ diff --git a/web_src/src/assets/logo.png b/web_src/src/assets/logo.png deleted file mode 100644 index c5da2d4b..00000000 Binary files a/web_src/src/assets/logo.png and /dev/null differ diff --git a/web_src/src/assets/logo.svg b/web_src/src/assets/logo.svg new file mode 100644 index 00000000..07ac5426 --- /dev/null +++ b/web_src/src/assets/logo.svg @@ -0,0 +1,29 @@ + + + + Vue + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web_src/src/assets/play.png b/web_src/src/assets/play.png deleted file mode 100644 index e4b33f33..00000000 Binary files a/web_src/src/assets/play.png and /dev/null differ diff --git a/web_src/src/assets/zlm-log.png b/web_src/src/assets/zlm-log.png deleted file mode 100644 index 5f492dcd..00000000 Binary files a/web_src/src/assets/zlm-log.png and /dev/null differ diff --git a/web_src/static/images/zlm-logo.png b/web_src/src/assets/zlm-logo.png similarity index 100% rename from web_src/static/images/zlm-logo.png rename to web_src/src/assets/zlm-logo.png diff --git a/web_src/src/components/ArticleListContent/ArticleListContent.vue b/web_src/src/components/ArticleListContent/ArticleListContent.vue new file mode 100644 index 00000000..8f399787 --- /dev/null +++ b/web_src/src/components/ArticleListContent/ArticleListContent.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/web_src/src/components/ArticleListContent/index.js b/web_src/src/components/ArticleListContent/index.js new file mode 100644 index 00000000..37d35c7d --- /dev/null +++ b/web_src/src/components/ArticleListContent/index.js @@ -0,0 +1,3 @@ +import ArticleListContent from './ArticleListContent' + +export default ArticleListContent diff --git a/web_src/src/components/AvatarList/Item.jsx b/web_src/src/components/AvatarList/Item.jsx new file mode 100644 index 00000000..8019fac6 --- /dev/null +++ b/web_src/src/components/AvatarList/Item.jsx @@ -0,0 +1,25 @@ +import PropTypes from 'ant-design-vue/es/_util/vue-types' +import { Tooltip, Avatar } from 'ant-design-vue' +import { getSlotOptions } from 'ant-design-vue/lib/_util/props-util' +import { warning } from 'ant-design-vue/lib/vc-util/warning' + +export const AvatarListItemProps = { + tips: PropTypes.string, + src: PropTypes.string.def('') +} + +const Item = { + __ANT_AVATAR_CHILDREN: true, + name: 'AvatarListItem', + props: AvatarListItemProps, + created () { + warning(getSlotOptions(this.$parent).__ANT_AVATAR_LIST, 'AvatarListItem must be a subcomponent of AvatarList') + }, + render () { + const size = this.$parent.size === 'mini' ? 'small' : this.$parent.size + const AvatarDom = + return (this.tips && {AvatarDom}) || + } +} + +export default Item diff --git a/web_src/src/components/AvatarList/List.jsx b/web_src/src/components/AvatarList/List.jsx new file mode 100644 index 00000000..bff7092b --- /dev/null +++ b/web_src/src/components/AvatarList/List.jsx @@ -0,0 +1,72 @@ +import './index.less' + +import PropTypes from 'ant-design-vue/es/_util/vue-types' +import Avatar from 'ant-design-vue/es/avatar' +import Item from './Item.jsx' +import { filterEmpty } from '@/components/_util/util' + +/** + * size: `number`、 `large`、`small`、`default` 默认值: default + * maxLength: number + * excessItemsStyle: CSSProperties + */ +const AvatarListProps = { + prefixCls: PropTypes.string.def('ant-pro-avatar-list'), + size: { + validator: val => { + return typeof val === 'number' || ['small', 'large', 'default'].includes(val) + }, + default: 'default' + }, + maxLength: PropTypes.number.def(0), + excessItemsStyle: PropTypes.object.def({ + color: '#f56a00', + backgroundColor: '#fde3cf' + }) +} + +const AvatarList = { + __ANT_AVATAR_LIST: true, + Item, + name: 'AvatarList', + props: AvatarListProps, + render (h) { + const { prefixCls, size } = this.$props + const className = { + [`${prefixCls}`]: true, + [`${size}`]: true + } + + const items = filterEmpty(this.$slots.default) + const itemsDom = items && items.length ?

: null + return ( +
+ {itemsDom} +
+ ) + }, + methods: { + getItems (items) { + const className = { + [`${this.prefixCls}-item`]: true, + [`${this.size}`]: true + } + const totalSize = items.length + + if (this.maxLength > 0) { + items = items.slice(0, this.maxLength) + items.push(({`+${totalSize - this.maxLength}`})) + } + return items.map((item) => ( +
  • {item}
  • + )) + } + } +} + +AvatarList.install = function (Vue) { + Vue.component(AvatarList.name, AvatarList) + Vue.component(AvatarList.Item.name, AvatarList.Item) +} + +export default AvatarList diff --git a/web_src/src/components/AvatarList/index.js b/web_src/src/components/AvatarList/index.js new file mode 100644 index 00000000..b0474325 --- /dev/null +++ b/web_src/src/components/AvatarList/index.js @@ -0,0 +1,9 @@ +import AvatarList from './List' +import Item from './Item' + +export { + AvatarList, + Item as AvatarListItem +} + +export default AvatarList diff --git a/web_src/src/components/AvatarList/index.less b/web_src/src/components/AvatarList/index.less new file mode 100644 index 00000000..9ce073fd --- /dev/null +++ b/web_src/src/components/AvatarList/index.less @@ -0,0 +1,60 @@ +@import "../index"; + +@avatar-list-prefix-cls: ~"@{ant-pro-prefix}-avatar-list"; +@avatar-list-item-prefix-cls: ~"@{ant-pro-prefix}-avatar-list-item"; + +.@{avatar-list-prefix-cls} { + display: inline-block; + + ul { + list-style: none; + display: inline-block; + padding: 0; + margin: 0 0 0 8px; + font-size: 0; + } +} + +.@{avatar-list-item-prefix-cls} { + display: inline-block; + font-size: @font-size-base; + margin-left: -8px; + width: @avatar-size-base; + height: @avatar-size-base; + + :global { + .ant-avatar { + border: 1px solid #fff; + cursor: pointer; + } + } + + &.large { + width: @avatar-size-lg; + height: @avatar-size-lg; + } + + &.small { + width: @avatar-size-sm; + height: @avatar-size-sm; + } + + &.mini { + width: 20px; + height: 20px; + + :global { + .ant-avatar { + width: 20px; + height: 20px; + line-height: 20px; + + .ant-avatar-string { + font-size: 12px; + line-height: 18px; + } + } + } + } +} + diff --git a/web_src/src/components/AvatarList/index.md b/web_src/src/components/AvatarList/index.md new file mode 100644 index 00000000..75e022cf --- /dev/null +++ b/web_src/src/components/AvatarList/index.md @@ -0,0 +1,64 @@ +# AvatarList 用户头像列表 + + +一组用户头像,常用在项目/团队成员列表。可通过设置 `size` 属性来指定头像大小。 + + + +引用方式: + +```javascript +import AvatarList from '@/components/AvatarList' +const AvatarListItem = AvatarList.Item + +export default { + components: { + AvatarList, + AvatarListItem + } +} +``` + + + +## 代码演示 [demo](https://pro.loacg.com/test/home) + +```html + + + + + +``` +或 +```html + + + + + + + + + +``` + + + +## API + +### AvatarList + +| 参数 | 说明 | 类型 | 默认值 | +| ---------------- | -------- | ---------------------------------- | --------- | +| size | 头像大小 | `large`、`small` 、`mini`, `default` | `default` | +| maxLength | 要显示的最大项目 | number | - | +| excessItemsStyle | 多余的项目风格 | CSSProperties | - | + +### AvatarList.Item + +| 参数 | 说明 | 类型 | 默认值 | +| ---- | ------ | --------- | --- | +| tips | 头像展示文案 | string | - | +| src | 头像图片连接 | string | - | + diff --git a/web_src/src/components/CloudRecord.vue b/web_src/src/components/CloudRecord.vue deleted file mode 100644 index f5d052a3..00000000 --- a/web_src/src/components/CloudRecord.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/web_src/src/components/CloudRecordDetail.vue b/web_src/src/components/CloudRecordDetail.vue deleted file mode 100644 index 5d6ca90b..00000000 --- a/web_src/src/components/CloudRecordDetail.vue +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue deleted file mode 100644 index f064950e..00000000 --- a/web_src/src/components/DeviceList.vue +++ /dev/null @@ -1,316 +0,0 @@ - - - - - diff --git a/web_src/src/components/Dialog.js b/web_src/src/components/Dialog.js new file mode 100644 index 00000000..78e95b27 --- /dev/null +++ b/web_src/src/components/Dialog.js @@ -0,0 +1,113 @@ +import Modal from 'ant-design-vue/es/modal' +export default (Vue) => { + function dialog (component, componentProps, modalProps) { + const _vm = this + modalProps = modalProps || {} + if (!_vm || !_vm._isVue) { + return + } + let dialogDiv = document.querySelector('body>div[type=dialog]') + if (!dialogDiv) { + dialogDiv = document.createElement('div') + dialogDiv.setAttribute('type', 'dialog') + document.body.appendChild(dialogDiv) + } + + const handle = function (checkFunction, afterHandel) { + if (checkFunction instanceof Function) { + const res = checkFunction() + if (res instanceof Promise) { + res.then(c => { + c && afterHandel() + }) + } else { + res && afterHandel() + } + } else { + // checkFunction && afterHandel() + checkFunction || afterHandel() + } + } + + const dialogInstance = new Vue({ + data () { + return { + visible: true + } + }, + router: _vm.$router, + store: _vm.$store, + mounted () { + this.$on('close', (v) => { + this.handleClose() + }) + }, + methods: { + handleClose () { + handle(this.$refs._component.onCancel, () => { + this.visible = false + this.$refs._component.$emit('close') + this.$refs._component.$emit('cancel') + dialogInstance.$destroy() + }) + }, + handleOk () { + handle(this.$refs._component.onOK || this.$refs._component.onOk, () => { + this.visible = false + this.$refs._component.$emit('close') + this.$refs._component.$emit('ok') + dialogInstance.$destroy() + }) + } + }, + render: function (h) { + const that = this + const modalModel = modalProps && modalProps.model + if (modalModel) { + delete modalProps.model + } + const ModalProps = Object.assign({}, modalModel && { model: modalModel } || {}, { + attrs: Object.assign({}, { + ...(modalProps.attrs || modalProps) + }, { + visible: this.visible + }), + on: Object.assign({}, { + ...(modalProps.on || modalProps) + }, { + ok: () => { + that.handleOk() + }, + cancel: () => { + that.handleClose() + } + }) + }) + + const componentModel = componentProps && componentProps.model + if (componentModel) { + delete componentProps.model + } + const ComponentProps = Object.assign({}, componentModel && { model: componentModel } || {}, { + ref: '_component', + attrs: Object.assign({}, { + ...((componentProps && componentProps.attrs) || componentProps) + }), + on: Object.assign({}, { + ...((componentProps && componentProps.on) || componentProps) + }) + }) + + return h(Modal, ModalProps, [h(component, ComponentProps)]) + } + }).$mount(dialogDiv) + } + + Object.defineProperty(Vue.prototype, '$dialog', { + get: () => { + return function () { + dialog.apply(this, arguments) + } + } + }) +} diff --git a/web_src/src/components/Editor/QuillEditor.vue b/web_src/src/components/Editor/QuillEditor.vue new file mode 100644 index 00000000..9a041e50 --- /dev/null +++ b/web_src/src/components/Editor/QuillEditor.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/web_src/src/components/Editor/WangEditor.vue b/web_src/src/components/Editor/WangEditor.vue new file mode 100644 index 00000000..d9c71c78 --- /dev/null +++ b/web_src/src/components/Editor/WangEditor.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/web_src/src/components/Ellipsis/Ellipsis.vue b/web_src/src/components/Ellipsis/Ellipsis.vue new file mode 100644 index 00000000..5d592008 --- /dev/null +++ b/web_src/src/components/Ellipsis/Ellipsis.vue @@ -0,0 +1,64 @@ + diff --git a/web_src/src/components/Ellipsis/index.js b/web_src/src/components/Ellipsis/index.js new file mode 100644 index 00000000..91e3ff4f --- /dev/null +++ b/web_src/src/components/Ellipsis/index.js @@ -0,0 +1,3 @@ +import Ellipsis from './Ellipsis' + +export default Ellipsis diff --git a/web_src/src/components/Ellipsis/index.md b/web_src/src/components/Ellipsis/index.md new file mode 100644 index 00000000..f528ac7f --- /dev/null +++ b/web_src/src/components/Ellipsis/index.md @@ -0,0 +1,38 @@ +# Ellipsis 文本自动省略号 + +文本过长自动处理省略号,支持按照文本长度和最大行数两种方式截取。 + + + +引用方式: + +```javascript +import Ellipsis from '@/components/Ellipsis' + +export default { + components: { + Ellipsis + } +} +``` + + + +## 代码演示 [demo](https://pro.loacg.com/test/home) + +```html + + There were injuries alleged in three cases in 2015, and a + fourth incident in September, according to the safety recall report. After meeting with US regulators in October, the firm decided to issue a voluntary recall. + +``` + + + +## API + + +参数 | 说明 | 类型 | 默认值 +----|------|-----|------ +tooltip | 移动到文本展示完整内容的提示 | boolean | - +length | 在按照长度截取下的文本最大字符数,超过则截取省略 | number | - \ No newline at end of file diff --git a/web_src/src/components/FooterToolbar/FooterToolBar.vue b/web_src/src/components/FooterToolbar/FooterToolBar.vue new file mode 100644 index 00000000..ea07123f --- /dev/null +++ b/web_src/src/components/FooterToolbar/FooterToolBar.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/web_src/src/components/FooterToolbar/index.js b/web_src/src/components/FooterToolbar/index.js new file mode 100644 index 00000000..a0bf1459 --- /dev/null +++ b/web_src/src/components/FooterToolbar/index.js @@ -0,0 +1,4 @@ +import FooterToolBar from './FooterToolBar' +import './index.less' + +export default FooterToolBar diff --git a/web_src/src/components/FooterToolbar/index.less b/web_src/src/components/FooterToolbar/index.less new file mode 100644 index 00000000..f56273ff --- /dev/null +++ b/web_src/src/components/FooterToolbar/index.less @@ -0,0 +1,23 @@ +@import "../index"; + +@footer-toolbar-prefix-cls: ~"@{ant-pro-prefix}-footer-toolbar"; + +.@{footer-toolbar-prefix-cls} { + position: fixed; + width: 100%; + bottom: 0; + right: 0; + height: 56px; + line-height: 56px; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03); + background: #fff; + border-top: 1px solid #e8e8e8; + padding: 0 24px; + z-index: 9; + + &:after { + content: ""; + display: block; + clear: both; + } +} \ No newline at end of file diff --git a/web_src/src/components/FooterToolbar/index.md b/web_src/src/components/FooterToolbar/index.md new file mode 100644 index 00000000..c1aec2c4 --- /dev/null +++ b/web_src/src/components/FooterToolbar/index.md @@ -0,0 +1,48 @@ +# FooterToolbar 底部工具栏 + +固定在底部的工具栏。 + + + +## 何时使用 + +固定在内容区域的底部,不随滚动条移动,常用于长页面的数据搜集和提交工作。 + + + +引用方式: + +```javascript +import FooterToolBar from '@/components/FooterToolbar' + +export default { + components: { + FooterToolBar + } +} +``` + + + +## 代码演示 + +```html + + 提交 + +``` +或 +```html + + 提交 + +``` + + +## API + +参数 | 说明 | 类型 | 默认值 +----|------|-----|------ +children (slot) | 工具栏内容,向右对齐 | - | - +extra | 额外信息,向左对齐 | String, Object | - + diff --git a/web_src/src/components/GlobalFooter/index.vue b/web_src/src/components/GlobalFooter/index.vue new file mode 100644 index 00000000..c1bb4b92 --- /dev/null +++ b/web_src/src/components/GlobalFooter/index.vue @@ -0,0 +1,11 @@ + + + diff --git a/web_src/src/components/GlobalHeader/RightContent.vue b/web_src/src/components/GlobalHeader/RightContent.vue new file mode 100644 index 00000000..c82486b7 --- /dev/null +++ b/web_src/src/components/GlobalHeader/RightContent.vue @@ -0,0 +1,63 @@ + + + diff --git a/web_src/src/components/IconSelector/IconSelector.vue b/web_src/src/components/IconSelector/IconSelector.vue new file mode 100644 index 00000000..810d297c --- /dev/null +++ b/web_src/src/components/IconSelector/IconSelector.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/web_src/src/components/IconSelector/README.md b/web_src/src/components/IconSelector/README.md new file mode 100644 index 00000000..503095d0 --- /dev/null +++ b/web_src/src/components/IconSelector/README.md @@ -0,0 +1,48 @@ +IconSelector +==== + +> 图标选择组件,常用于为某一个数据设定一个图标时使用 +> eg: 设定菜单列表时,为每个菜单设定一个图标 + +该组件由 [@Saraka](https://github.com/saraka-tsukai) 封装 + + + +### 使用方式 + +```vue + + + +``` + + + +### 事件 + + +| 名称 | 说明 | 类型 | 默认值 | +| ------ | -------------------------- | ------ | ------ | +| change | 当改变了 `icon` 选中项触发 | String | - | diff --git a/web_src/src/components/IconSelector/icons.js b/web_src/src/components/IconSelector/icons.js new file mode 100644 index 00000000..920f4643 --- /dev/null +++ b/web_src/src/components/IconSelector/icons.js @@ -0,0 +1,36 @@ +/** + * 增加新的图标时,请遵循以下数据结构 + * Adding new icon please follow the data structure below + */ +export default [ + { + key: 'directional', + title: '方向性图标', + icons: ['step-backward', 'step-forward', 'fast-backward', 'fast-forward', 'shrink', 'arrows-alt', 'down', 'up', 'left', 'right', 'caret-up', 'caret-down', 'caret-left', 'caret-right', 'up-circle', 'down-circle', 'left-circle', 'right-circle', 'double-right', 'double-left', 'vertical-left', 'vertical-right', 'forward', 'backward', 'rollback', 'enter', 'retweet', 'swap', 'swap-left', 'swap-right', 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right', 'play-circle', 'up-square', 'down-square', 'left-square', 'right-square', 'login', 'logout', 'menu-fold', 'menu-unfold', 'border-bottom', 'border-horizontal', 'border-inner', 'border-left', 'border-right', 'border-top', 'border-verticle', 'pic-center', 'pic-left', 'pic-right', 'radius-bottomleft', 'radius-bottomright', 'radius-upleft', 'fullscreen', 'fullscreen-exit'] + }, + { + key: 'suggested', + title: '提示建议性图标', + icons: ['question', 'question-circle', 'plus', 'plus-circle', 'pause', 'pause-circle', 'minus', 'minus-circle', 'plus-square', 'minus-square', 'info', 'info-circle', 'exclamation', 'exclamation-circle', 'close', 'close-circle', 'close-square', 'check', 'check-circle', 'check-square', 'clock-circle', 'warning', 'issues-close', 'stop'] + }, + { + key: 'editor', + title: '编辑类图标', + icons: ['edit', 'form', 'copy', 'scissor', 'delete', 'snippets', 'diff', 'highlight', 'align-center', 'align-left', 'align-right', 'bg-colors', 'bold', 'italic', 'underline', 'strikethrough', 'redo', 'undo', 'zoom-in', 'zoom-out', 'font-colors', 'font-size', 'line-height', 'colum-height', 'dash', 'small-dash', 'sort-ascending', 'sort-descending', 'drag', 'ordered-list', 'radius-setting'] + }, + { + key: 'data', + title: '数据类图标', + icons: ['area-chart', 'pie-chart', 'bar-chart', 'dot-chart', 'line-chart', 'radar-chart', 'heat-map', 'fall', 'rise', 'stock', 'box-plot', 'fund', 'sliders'] + }, + { + key: 'brand_logo', + title: '网站通用图标', + icons: ['lock', 'unlock', 'bars', 'book', 'calendar', 'cloud', 'cloud-download', 'code', 'copy', 'credit-card', 'delete', 'desktop', 'download', 'ellipsis', 'file', 'file-text', 'file-unknown', 'file-pdf', 'file-word', 'file-excel', 'file-jpg', 'file-ppt', 'file-markdown', 'file-add', 'folder', 'folder-open', 'folder-add', 'hdd', 'frown', 'meh', 'smile', 'inbox', 'laptop', 'appstore', 'link', 'mail', 'mobile', 'notification', 'paper-clip', 'picture', 'poweroff', 'reload', 'search', 'setting', 'share-alt', 'shopping-cart', 'tablet', 'tag', 'tags', 'to-top', 'upload', 'user', 'video-camera', 'home', 'loading', 'loading-3-quarters', 'cloud-upload', 'star', 'heart', 'environment', 'eye', 'camera', 'save', 'team', 'solution', 'phone', 'filter', 'exception', 'export', 'customer-service', 'qrcode', 'scan', 'like', 'dislike', 'message', 'pay-circle', 'calculator', 'pushpin', 'bulb', 'select', 'switcher', 'rocket', 'bell', 'disconnect', 'database', 'compass', 'barcode', 'hourglass', 'key', 'flag', 'layout', 'printer', 'sound', 'usb', 'skin', 'tool', 'sync', 'wifi', 'car', 'schedule', 'user-add', 'user-delete', 'usergroup-add', 'usergroup-delete', 'man', 'woman', 'shop', 'gift', 'idcard', 'medicine-box', 'red-envelope', 'coffee', 'copyright', 'trademark', 'safety', 'wallet', 'bank', 'trophy', 'contacts', 'global', 'shake', 'api', 'fork', 'dashboard', 'table', 'profile', 'alert', 'audit', 'branches', 'build', 'border', 'crown', 'experiment', 'fire', 'money-collect', 'property-safety', 'read', 'reconciliation', 'rest', 'security-scan', 'insurance', 'interation', 'safety-certificate', 'project', 'thunderbolt', 'block', 'cluster', 'deployment-unit', 'dollar', 'euro', 'pound', 'file-done', 'file-exclamation', 'file-protect', 'file-search', 'file-sync', 'gateway', 'gold', 'robot', 'shopping'] + }, + { + key: 'application', + title: '品牌和标识', + icons: ['android', 'apple', 'windows', 'ie', 'chrome', 'github', 'aliwangwang', 'dingding', 'weibo-square', 'weibo-circle', 'taobao-circle', 'html5', 'weibo', 'twitter', 'wechat', 'youtube', 'alipay-circle', 'taobao', 'skype', 'qq', 'medium-workmark', 'gitlab', 'medium', 'linkedin', 'google-plus', 'dropbox', 'facebook', 'codepen', 'code-sandbox', 'amazon', 'google', 'codepen-circle', 'alipay', 'ant-design', 'aliyun', 'zhihu', 'slack', 'slack-square', 'behance', 'behance-square', 'dribbble', 'dribbble-square', 'instagram', 'yuque', 'alibaba', 'yahoo'] + } +] diff --git a/web_src/src/components/IconSelector/index.js b/web_src/src/components/IconSelector/index.js new file mode 100644 index 00000000..2d27d70f --- /dev/null +++ b/web_src/src/components/IconSelector/index.js @@ -0,0 +1,2 @@ +import IconSelector from './IconSelector' +export default IconSelector diff --git a/web_src/src/components/Login.vue b/web_src/src/components/Login.vue deleted file mode 100644 index d823659b..00000000 --- a/web_src/src/components/Login.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - diff --git a/web_src/src/components/MediaServerManger.vue b/web_src/src/components/MediaServerManger.vue deleted file mode 100644 index 07b05236..00000000 --- a/web_src/src/components/MediaServerManger.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - - - diff --git a/web_src/src/components/MultiTab/MultiTab.vue b/web_src/src/components/MultiTab/MultiTab.vue new file mode 100644 index 00000000..bfb6e57a --- /dev/null +++ b/web_src/src/components/MultiTab/MultiTab.vue @@ -0,0 +1,162 @@ + diff --git a/web_src/src/components/MultiTab/events.js b/web_src/src/components/MultiTab/events.js new file mode 100644 index 00000000..b0230b55 --- /dev/null +++ b/web_src/src/components/MultiTab/events.js @@ -0,0 +1,2 @@ +import Vue from 'vue' +export default new Vue() diff --git a/web_src/src/components/MultiTab/index.js b/web_src/src/components/MultiTab/index.js new file mode 100644 index 00000000..02a1c77d --- /dev/null +++ b/web_src/src/components/MultiTab/index.js @@ -0,0 +1,40 @@ +import events from './events' +import MultiTab from './MultiTab' +import './index.less' + +const api = { + /** + * open new tab on route fullPath + * @param config + */ + open: function (config) { + events.$emit('open', config) + }, + rename: function (key, name) { + events.$emit('rename', { key: key, name: name }) + }, + /** + * close current page + */ + closeCurrentPage: function () { + this.close() + }, + /** + * close route fullPath tab + * @param config + */ + close: function (config) { + events.$emit('close', config) + } +} + +MultiTab.install = function (Vue) { + if (Vue.prototype.$multiTab) { + return + } + api.instance = events + Vue.prototype.$multiTab = api + Vue.component('multi-tab', MultiTab) +} + +export default MultiTab diff --git a/web_src/src/components/MultiTab/index.less b/web_src/src/components/MultiTab/index.less new file mode 100644 index 00000000..773e3af3 --- /dev/null +++ b/web_src/src/components/MultiTab/index.less @@ -0,0 +1,25 @@ +@import '../index'; + +@multi-tab-prefix-cls: ~"@{ant-pro-prefix}-multi-tab"; +@multi-tab-wrapper-prefix-cls: ~"@{ant-pro-prefix}-multi-tab-wrapper"; + +/* +.topmenu .@{multi-tab-prefix-cls} { + max-width: 1200px; + margin: -23px auto 24px auto; +} +*/ +.@{multi-tab-prefix-cls} { + margin: -23px -24px 24px -24px; + background: #fff; +} + +.topmenu .@{multi-tab-wrapper-prefix-cls} { + max-width: 1200px; + margin: 0 auto; +} + +.topmenu.content-width-Fluid .@{multi-tab-wrapper-prefix-cls} { + max-width: 100%; + margin: 0 auto; +} diff --git a/web_src/src/components/NProgress/nprogress.less b/web_src/src/components/NProgress/nprogress.less new file mode 100644 index 00000000..7826c0ea --- /dev/null +++ b/web_src/src/components/NProgress/nprogress.less @@ -0,0 +1,76 @@ +@import url('../index.less'); + +/* Make clicks pass-through */ +#nprogress { + pointer-events: none; +} + +#nprogress .bar { + background: @primary-color; + + position: fixed; + z-index: 1031; + top: 0; + left: 0; + + width: 100%; + height: 2px; +} + +/* Fancy blur effect */ +#nprogress .peg { + display: block; + position: absolute; + right: 0px; + width: 100px; + height: 100%; + box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color; + opacity: 1.0; + + -webkit-transform: rotate(3deg) translate(0px, -4px); + -ms-transform: rotate(3deg) translate(0px, -4px); + transform: rotate(3deg) translate(0px, -4px); +} + +/* Remove these to get rid of the spinner */ +#nprogress .spinner { + display: block; + position: fixed; + z-index: 1031; + top: 15px; + right: 15px; +} + +#nprogress .spinner-icon { + width: 18px; + height: 18px; + box-sizing: border-box; + + border: solid 2px transparent; + border-top-color: @primary-color; + border-left-color: @primary-color; + border-radius: 50%; + + -webkit-animation: nprogress-spinner 400ms linear infinite; + animation: nprogress-spinner 400ms linear infinite; +} + +.nprogress-custom-parent { + overflow: hidden; + position: relative; +} + +.nprogress-custom-parent #nprogress .spinner, +.nprogress-custom-parent #nprogress .bar { + position: absolute; +} + +@-webkit-keyframes nprogress-spinner { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); } +} +@keyframes nprogress-spinner { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + diff --git a/web_src/src/components/NoticeIcon/NoticeIcon.vue b/web_src/src/components/NoticeIcon/NoticeIcon.vue new file mode 100644 index 00000000..8ae1c80d --- /dev/null +++ b/web_src/src/components/NoticeIcon/NoticeIcon.vue @@ -0,0 +1,90 @@ + + + + + + diff --git a/web_src/src/components/NoticeIcon/index.js b/web_src/src/components/NoticeIcon/index.js new file mode 100644 index 00000000..659b9ec0 --- /dev/null +++ b/web_src/src/components/NoticeIcon/index.js @@ -0,0 +1,2 @@ +import NoticeIcon from './NoticeIcon' +export default NoticeIcon diff --git a/web_src/src/components/NumberInfo/NumberInfo.vue b/web_src/src/components/NumberInfo/NumberInfo.vue new file mode 100644 index 00000000..bdde3e05 --- /dev/null +++ b/web_src/src/components/NumberInfo/NumberInfo.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/web_src/src/components/NumberInfo/index.js b/web_src/src/components/NumberInfo/index.js new file mode 100644 index 00000000..659a2f38 --- /dev/null +++ b/web_src/src/components/NumberInfo/index.js @@ -0,0 +1,3 @@ +import NumberInfo from './NumberInfo' + +export default NumberInfo diff --git a/web_src/src/components/NumberInfo/index.less b/web_src/src/components/NumberInfo/index.less new file mode 100644 index 00000000..719113da --- /dev/null +++ b/web_src/src/components/NumberInfo/index.less @@ -0,0 +1,55 @@ +@import "../index"; + +@numberInfo-prefix-cls: ~"@{ant-pro-prefix}-number-info"; + +.@{numberInfo-prefix-cls} { + + .ant-pro-number-info-subtitle { + color: @text-color-secondary; + font-size: @font-size-base; + height: 22px; + line-height: 22px; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + } + + .number-info-value { + margin-top: 4px; + font-size: 0; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; + + & > span { + color: @heading-color; + display: inline-block; + line-height: 32px; + height: 32px; + font-size: 24px; + margin-right: 32px; + } + + .sub-total { + color: @text-color-secondary; + font-size: @font-size-lg; + vertical-align: top; + margin-right: 0; + i { + font-size: 12px; + transform: scale(0.82); + margin-left: 4px; + } + :global { + .anticon-caret-up { + color: @red-6; + } + .anticon-caret-down { + color: @green-6; + } + } + } + } +} \ No newline at end of file diff --git a/web_src/src/components/NumberInfo/index.md b/web_src/src/components/NumberInfo/index.md new file mode 100644 index 00000000..147adc43 --- /dev/null +++ b/web_src/src/components/NumberInfo/index.md @@ -0,0 +1,43 @@ +# NumberInfo 数据文本 + +常用在数据卡片中,用于突出展示某个业务数据。 + + + +引用方式: + +```javascript +import NumberInfo from '@/components/NumberInfo' + +export default { + components: { + NumberInfo + } +} +``` + + + +## 代码演示 [demo](https://pro.loacg.com/test/home) + +```html + +``` + + + +## API + +参数 | 说明 | 类型 | 默认值 +----|------|-----|------ +title | 标题 | ReactNode\|string | - +subTitle | 子标题 | ReactNode\|string | - +total | 总量 | ReactNode\|string | - +subTotal | 子总量 | ReactNode\|string | - +status | 增加状态 | 'up \| down' | - +theme | 状态样式 | string | 'light' +gap | 设置数字和描述之间的间距(像素)| number | 8 diff --git a/web_src/src/components/Other/CarbonAds.vue b/web_src/src/components/Other/CarbonAds.vue new file mode 100644 index 00000000..32099c6a --- /dev/null +++ b/web_src/src/components/Other/CarbonAds.vue @@ -0,0 +1,62 @@ + + + diff --git a/web_src/src/components/PageLoading/index.jsx b/web_src/src/components/PageLoading/index.jsx new file mode 100644 index 00000000..af6d6d61 --- /dev/null +++ b/web_src/src/components/PageLoading/index.jsx @@ -0,0 +1,106 @@ +import { Spin } from 'ant-design-vue' + +export const PageLoading = { + name: 'PageLoading', + props: { + tip: { + type: String, + default: 'Loading..' + }, + size: { + type: String, + default: 'large' + } + }, + render () { + const style = { + textAlign: 'center', + background: 'rgba(0,0,0,0.6)', + position: 'fixed', + top: 0, + bottom: 0, + left: 0, + right: 0, + zIndex: 1100 + } + const spinStyle = { + position: 'absolute', + left: '50%', + top: '40%', + transform: 'translate(-50%, -50%)' + } + return (
    + +
    ) + } +} + +const version = '0.0.1' +const loading = {} + +loading.newInstance = (Vue, options) => { + let loadingElement = document.querySelector('body>div[type=loading]') + if (!loadingElement) { + loadingElement = document.createElement('div') + loadingElement.setAttribute('type', 'loading') + loadingElement.setAttribute('class', 'ant-loading-wrapper') + document.body.appendChild(loadingElement) + } + + const cdProps = Object.assign({ visible: false, size: 'large', tip: 'Loading...' }, options) + + const instance = new Vue({ + data () { + return { + ...cdProps + } + }, + render () { + const { tip } = this + const props = {} + this.tip && (props.tip = tip) + if (this.visible) { + return + } + return null + } + }).$mount(loadingElement) + + function update (config) { + const { visible, size, tip } = { ...cdProps, ...config } + instance.$set(instance, 'visible', visible) + if (tip) { + instance.$set(instance, 'tip', tip) + } + if (size) { + instance.$set(instance, 'size', size) + } + } + + return { + instance, + update + } +} + +const api = { + show: function (options) { + this.instance.update({ ...options, visible: true }) + }, + hide: function () { + this.instance.update({ visible: false }) + } +} + +const install = function (Vue, options) { + if (Vue.prototype.$loading) { + return + } + api.instance = loading.newInstance(Vue, options) + Vue.prototype.$loading = api +} + +export default { + version, + install +} diff --git a/web_src/src/components/ParentPlatformList.vue b/web_src/src/components/ParentPlatformList.vue deleted file mode 100644 index 6960c6a7..00000000 --- a/web_src/src/components/ParentPlatformList.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - diff --git a/web_src/src/components/PushVideoList.vue b/web_src/src/components/PushVideoList.vue deleted file mode 100644 index 9f1a7dbc..00000000 --- a/web_src/src/components/PushVideoList.vue +++ /dev/null @@ -1,243 +0,0 @@ - - - - - diff --git a/web_src/src/components/Search/GlobalSearch.jsx b/web_src/src/components/Search/GlobalSearch.jsx new file mode 100644 index 00000000..bd9e604d --- /dev/null +++ b/web_src/src/components/Search/GlobalSearch.jsx @@ -0,0 +1,63 @@ +import { Select } from 'ant-design-vue' +import './index.less' + +const GlobalSearch = { + name: 'GlobalSearch', + data () { + return { + visible: false + } + }, + mounted () { + const keyboardHandle = (e) => { + e.preventDefault() + e.stopPropagation() + const { ctrlKey, shiftKey, altKey, keyCode } = e + console.log('keyCode:', e.keyCode, e) + // key is `K` and hold ctrl + if (keyCode === 75 && ctrlKey && !shiftKey && !altKey) { + this.visible = !this.visible + } + } + document.addEventListener('keydown', keyboardHandle) + }, + render () { + const { visible } = this + const handleSearch = (e) => { + this.$emit('search', e) + } + + const handleChange = (e) => { + this.$emit('change', e) + } + if (!visible) { + return null + } + return ( + + ) + } +} + +GlobalSearch.install = function (Vue) { + Vue.component(GlobalSearch.name, GlobalSearch) +} + +export default GlobalSearch diff --git a/web_src/src/components/Search/index.less b/web_src/src/components/Search/index.less new file mode 100644 index 00000000..d3978522 --- /dev/null +++ b/web_src/src/components/Search/index.less @@ -0,0 +1,25 @@ +@import "~ant-design-vue/es/style/themes/default"; + +.global-search-wrapper { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: @zindex-modal-mask; + background: @modal-mask-bg; + + .global-search-box { + position: absolute; + top: 20%; + left: 50%; + width: 450px; + transform: translate(-50%, -50%); + + .global-search-tips { + color: @white; + font-size: @font-size-lg; + text-align: right; + } + } +} \ No newline at end of file diff --git a/web_src/src/components/SelectLang/index.jsx b/web_src/src/components/SelectLang/index.jsx new file mode 100644 index 00000000..b587427b --- /dev/null +++ b/web_src/src/components/SelectLang/index.jsx @@ -0,0 +1,58 @@ +import './index.less' + +import { Icon, Menu, Dropdown } from 'ant-design-vue' +import { i18nRender } from '@/locales' +import i18nMixin from '@/store/i18n-mixin' + +const locales = ['zh-CN', 'zh-TW', 'en-US', 'pt-BR'] +const languageLabels = { + 'zh-CN': '简体中文', + 'zh-TW': '繁体中文', + 'en-US': 'English', + 'pt-BR': 'Português' +} +// eslint-disable-next-line +const languageIcons = { + 'zh-CN': '🇨🇳', + 'zh-TW': '🇭🇰', + 'en-US': '🇺🇸', + 'pt-BR': '🇧🇷' +} + +const SelectLang = { + props: { + prefixCls: { + type: String, + default: 'ant-pro-drop-down' + } + }, + name: 'SelectLang', + mixins: [i18nMixin], + render () { + const { prefixCls } = this + const changeLang = ({ key }) => { + this.setLang(key) + } + const langMenu = ( + + {locales.map(locale => ( + + + {languageIcons[locale]} + {' '} + {languageLabels[locale]} + + ))} + + ) + return ( + + + + + + ) + } +} + +export default SelectLang diff --git a/web_src/src/components/SelectLang/index.less b/web_src/src/components/SelectLang/index.less new file mode 100644 index 00000000..750c9c7d --- /dev/null +++ b/web_src/src/components/SelectLang/index.less @@ -0,0 +1,31 @@ +@import "~ant-design-vue/es/style/themes/default"; + +@header-menu-prefix-cls: ~'@{ant-prefix}-pro-header-menu'; +@header-drop-down-prefix-cls: ~'@{ant-prefix}-pro-drop-down'; + +.@{header-menu-prefix-cls} { + + .anticon { + margin-right: 8px; + } + .ant-dropdown-menu-item { + min-width: 160px; + } +} + +.@{header-drop-down-prefix-cls} { + + line-height: @layout-header-height; + vertical-align: top; + cursor: pointer; + + > i { + font-size: 16px !important; + transform: none !important; + + svg { + position: relative; + top: -1px; + } + } +} diff --git a/web_src/src/components/SettingDrawer/SettingDrawer.vue b/web_src/src/components/SettingDrawer/SettingDrawer.vue new file mode 100644 index 00000000..a21e96c3 --- /dev/null +++ b/web_src/src/components/SettingDrawer/SettingDrawer.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/web_src/src/components/SettingDrawer/SettingItem.vue b/web_src/src/components/SettingDrawer/SettingItem.vue new file mode 100644 index 00000000..2b3b553c --- /dev/null +++ b/web_src/src/components/SettingDrawer/SettingItem.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/web_src/src/components/SettingDrawer/index.js b/web_src/src/components/SettingDrawer/index.js new file mode 100644 index 00000000..8260f2d3 --- /dev/null +++ b/web_src/src/components/SettingDrawer/index.js @@ -0,0 +1,2 @@ +import SettingDrawer from './SettingDrawer' +export default SettingDrawer diff --git a/web_src/src/components/SettingDrawer/settingConfig.js b/web_src/src/components/SettingDrawer/settingConfig.js new file mode 100644 index 00000000..2cfab79d --- /dev/null +++ b/web_src/src/components/SettingDrawer/settingConfig.js @@ -0,0 +1,48 @@ +import message from 'ant-design-vue/es/message' +// import defaultSettings from '../defaultSettings'; +import themeColor from './themeColor.js' + +// let lessNodesAppended +const colorList = [ + { + key: '薄暮', color: '#F5222D' + }, + { + key: '火山', color: '#FA541C' + }, + { + key: '日暮', color: '#FAAD14' + }, + { + key: '明青', color: '#13C2C2' + }, + { + key: '极光绿', color: '#52C41A' + }, + { + key: '拂晓蓝(默认)', color: '#1890FF' + }, + { + key: '极客蓝', color: '#2F54EB' + }, + { + key: '酱紫', color: '#722ED1' + } +] + +const updateTheme = newPrimaryColor => { + const hideMessage = message.loading('正在切换主题!', 0) + themeColor.changeColor(newPrimaryColor).finally(() => { + setTimeout(() => { + hideMessage() + }, 10) + }) +} + +const updateColorWeak = colorWeak => { + // document.body.className = colorWeak ? 'colorWeak' : ''; + const app = document.body.querySelector('#app') + colorWeak ? app.classList.add('colorWeak') : app.classList.remove('colorWeak') +} + +export { updateTheme, colorList, updateColorWeak } diff --git a/web_src/src/components/SettingDrawer/themeColor.js b/web_src/src/components/SettingDrawer/themeColor.js new file mode 100644 index 00000000..10dfbd4c --- /dev/null +++ b/web_src/src/components/SettingDrawer/themeColor.js @@ -0,0 +1,24 @@ +import client from 'webpack-theme-color-replacer/client' +import generate from '@ant-design/colors/lib/generate' + +export default { + getAntdSerials (color) { + // 淡化(即less的tint) + const lightens = new Array(9).fill().map((t, i) => { + return client.varyColor.lighten(color, i / 10) + }) + // colorPalette变换得到颜色值 + const colorPalettes = generate(color) + const rgb = client.varyColor.toNum3(color.replace('#', '')).join(',') + return lightens.concat(colorPalettes).concat(rgb) + }, + changeColor (newColor) { + var options = { + newColors: this.getAntdSerials(newColor), // new colors array, one-to-one corresponde with `matchColors` + changeUrl (cssUrl) { + return `/${cssUrl}` // while router is not `hash` mode, it needs absolute path + } + } + return client.changer.changeColor(options, Promise) + } +} diff --git a/web_src/src/components/StandardFormRow/StandardFormRow.vue b/web_src/src/components/StandardFormRow/StandardFormRow.vue new file mode 100644 index 00000000..a4e261b7 --- /dev/null +++ b/web_src/src/components/StandardFormRow/StandardFormRow.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/web_src/src/components/StandardFormRow/index.js b/web_src/src/components/StandardFormRow/index.js new file mode 100644 index 00000000..8155cc73 --- /dev/null +++ b/web_src/src/components/StandardFormRow/index.js @@ -0,0 +1,3 @@ +import StandardFormRow from './StandardFormRow' + +export default StandardFormRow diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue deleted file mode 100644 index 746bcdba..00000000 --- a/web_src/src/components/StreamProxyList.vue +++ /dev/null @@ -1,360 +0,0 @@ - - - - - diff --git a/web_src/src/components/Table/README.md b/web_src/src/components/Table/README.md new file mode 100644 index 00000000..1d2c9d08 --- /dev/null +++ b/web_src/src/components/Table/README.md @@ -0,0 +1,341 @@ +Table 重封装组件说明 +==== + + +封装说明 +---- + +> 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。 +> +> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可 + +该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装 + + +例子1 +---- +(基础使用) + +```vue + + + + + +``` + + + +例子2 +---- + +(简单的表格,最后一列是各种操作) + +```vue + + + +``` + + + +内置方法 +---- + +通过 `this.$refs.table` 调用 + +`this.$refs.table.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据) + +> 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值 +> +> `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页) + + +内置属性 +---- +> 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性 + + +| 属性 | 说明 | 类型 | 默认值 | +| -------------- | ----------------------------------------------- | ----------------- | ------ | +| alert | 设置是否显示表格信息栏 | [object, boolean] | null | +| showPagination | 显示分页选择器,可传 'auto' \| boolean | [string, boolean] | 'auto' | +| data | 加载数据方法 必须为 `Promise` 对象 **必须绑定** | Promise | - | + + +`alert` 属性对象: + +```javascript +alert: { + show: Boolean, + clear: [Function, Boolean] +} +``` + +注意事项 +---- + +> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码: +> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。) +> +> 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准 + +修改 `@/components/table/index.js` 第 156 行起 + + + +```javascript +result.then(r => { + this.localPagination = this.showPagination && Object.assign({}, this.localPagination, { + current: r.pageNo, // 返回结果中的当前分页数 + total: r.totalCount, // 返回结果中的总记录数 + showSizeChanger: this.showSizeChanger, + pageSize: (pagination && pagination.pageSize) || + this.localPagination.pageSize + }) || false + // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页 + if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) { + this.localPagination.current-- + this.loadData() + return + } + + // 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小 + // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能 + try { + if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.pageNo * this.localPagination.pageSize))) { + this.localPagination.hideOnSinglePage = true + } + } catch (e) { + this.localPagination = false + } + console.log('loadData -> this.localPagination', this.localPagination) + this.localDataSource = r.data // 返回结果中的数组数据 + this.localLoading = false + }) +``` +返回 JSON 例子: +```json +{ + "message": "", + "result": { + "data": [{ + id: 1, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', + title: 'Alipay', + description: '那是一种内在的东西, 他们到达不了,也无法触及的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 2, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', + title: 'Angular', + description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 3, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', + title: 'Ant Design', + description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 4, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', + title: 'Ant Design Pro', + description: '那时候我只会想自己想要什么,从不想自己拥有什么', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 5, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', + title: 'Bootstrap', + description: '凛冬将至', + status: 1, + updatedAt: '2018-07-26 00:00:00' + }, + { + id: 6, + cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', + title: 'Vue', + description: '生命就像一盒巧克力,结果往往出人意料', + status: 1, + updatedAt: '2018-07-26 00:00:00' + } + ], + "pageSize": 10, + "pageNo": 0, + "totalPage": 6, + "totalCount": 57 + }, + "status": 200, + "timestamp": 1534955098193 +} +``` + + + +更新时间 +---- + +该文档最后更新于: 2019-06-23 PM 17:19 \ No newline at end of file diff --git a/web_src/src/components/Table/index.js b/web_src/src/components/Table/index.js new file mode 100644 index 00000000..d7f2371b --- /dev/null +++ b/web_src/src/components/Table/index.js @@ -0,0 +1,316 @@ +import T from 'ant-design-vue/es/table/Table' +import get from 'lodash.get' + +export default { + data () { + return { + needTotalList: [], + + selectedRows: [], + selectedRowKeys: [], + + localLoading: false, + localDataSource: [], + localPagination: Object.assign({}, this.pagination) + } + }, + props: Object.assign({}, T.props, { + rowKey: { + type: [String, Function], + default: 'key' + }, + data: { + type: Function, + required: true + }, + pageNum: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 10 + }, + showSizeChanger: { + type: Boolean, + default: true + }, + size: { + type: String, + default: 'default' + }, + /** + * alert: { + * show: true, + * clear: Function + * } + */ + alert: { + type: [Object, Boolean], + default: null + }, + rowSelection: { + type: Object, + default: null + }, + /** @Deprecated */ + showAlertInfo: { + type: Boolean, + default: false + }, + showPagination: { + type: String | Boolean, + default: 'auto' + }, + /** + * enable page URI mode + * + * e.g: + * /users/1 + * /users/2 + * /users/3?queryParam=test + * ... + */ + pageURI: { + type: Boolean, + default: false + } + }), + watch: { + 'localPagination.current' (val) { + this.pageURI && this.$router.push({ + ...this.$route, + name: this.$route.name, + params: Object.assign({}, this.$route.params, { + pageNo: val + }) + }) + // change pagination, reset total data + this.needTotalList = this.initTotalList(this.columns) + this.selectedRowKeys = [] + this.selectedRows = [] + }, + pageNum (val) { + Object.assign(this.localPagination, { + current: val + }) + }, + pageSize (val) { + Object.assign(this.localPagination, { + pageSize: val + }) + }, + showSizeChanger (val) { + Object.assign(this.localPagination, { + showSizeChanger: val + }) + } + }, + created () { + const { pageNo } = this.$route.params + const localPageNum = this.pageURI && (pageNo && parseInt(pageNo)) || this.pageNum + this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, { + current: localPageNum, + pageSize: this.pageSize, + showSizeChanger: this.showSizeChanger + }) || false + this.needTotalList = this.initTotalList(this.columns) + this.loadData() + }, + methods: { + /** + * 表格重新加载方法 + * 如果参数为 true, 则强制刷新到第一页 + * @param Boolean bool + */ + refresh (bool = false) { + bool && (this.localPagination = Object.assign({}, { + current: 1, pageSize: this.pageSize + })) + this.loadData() + }, + /** + * 加载数据方法 + * @param {Object} pagination 分页选项器 + * @param {Object} filters 过滤条件 + * @param {Object} sorter 排序条件 + */ + loadData (pagination, filters, sorter) { + this.localLoading = true + const parameter = Object.assign({ + pageNo: (pagination && pagination.current) || + this.showPagination && this.localPagination.current || this.pageNum, + pageSize: (pagination && pagination.pageSize) || + this.showPagination && this.localPagination.pageSize || this.pageSize + }, + (sorter && sorter.field && { + sortField: sorter.field + }) || {}, + (sorter && sorter.order && { + sortOrder: sorter.order + }) || {}, { + ...filters + } + ) + const result = this.data(parameter) + // 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data + // eslint-disable-next-line + if ((typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') { + result.then(r => { + this.localPagination = this.showPagination && Object.assign({}, this.localPagination, { + current: r.pageNo, // 返回结果中的当前分页数 + total: r.totalCount, // 返回结果中的总记录数 + showSizeChanger: this.showSizeChanger, + pageSize: (pagination && pagination.pageSize) || + this.localPagination.pageSize + }) || false + // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页 + if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) { + this.localPagination.current-- + this.loadData() + return + } + + // 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小 + // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能 + try { + if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.pageNo * this.localPagination.pageSize))) { + this.localPagination.hideOnSinglePage = true + } + } catch (e) { + this.localPagination = false + } + this.localDataSource = r.data // 返回结果中的数组数据 + this.localLoading = false + }) + } + }, + initTotalList (columns) { + const totalList = [] + columns && columns instanceof Array && columns.forEach(column => { + if (column.needTotal) { + totalList.push({ + ...column, + total: 0 + }) + } + }) + return totalList + }, + /** + * 用于更新已选中的列表数据 total 统计 + * @param selectedRowKeys + * @param selectedRows + */ + updateSelect (selectedRowKeys, selectedRows) { + this.selectedRows = selectedRows + this.selectedRowKeys = selectedRowKeys + const list = this.needTotalList + this.needTotalList = list.map(item => { + return { + ...item, + total: selectedRows.reduce((sum, val) => { + const total = sum + parseInt(get(val, item.dataIndex)) + return isNaN(total) ? 0 : total + }, 0) + } + }) + }, + /** + * 清空 table 已选中项 + */ + clearSelected () { + if (this.rowSelection) { + this.rowSelection.onChange([], []) + this.updateSelect([], []) + } + }, + /** + * 处理交给 table 使用者去处理 clear 事件时,内部选中统计同时调用 + * @param callback + * @returns {*} + */ + renderClear (callback) { + if (this.selectedRowKeys.length <= 0) return null + return ( +
    { + callback() + this.clearSelected() + }}>清空 + ) + }, + renderAlert () { + // 绘制统计列数据 + const needTotalItems = this.needTotalList.map((item) => { + return ( + {item.title}总计 {!item.customRender ? item.total : item.customRender(item.total)} + ) + }) + + // 绘制 清空 按钮 + const clearItem = (typeof this.alert.clear === 'boolean' && this.alert.clear) ? ( + this.renderClear(this.clearSelected) + ) : (this.alert !== null && typeof this.alert.clear === 'function') ? ( + this.renderClear(this.alert.clear) + ) : null + + // 绘制 alert 组件 + return ( + + + + ) + } + }, + + render () { + const props = {} + const localKeys = Object.keys(this.$data) + const showAlert = (typeof this.alert === 'object' && this.alert !== null && this.alert.show) && typeof this.rowSelection.selectedRowKeys !== 'undefined' || this.alert + + Object.keys(T.props).forEach(k => { + const localKey = `local${k.substring(0, 1).toUpperCase()}${k.substring(1)}` + if (localKeys.includes(localKey)) { + props[k] = this[localKey] + return props[k] + } + if (k === 'rowSelection') { + if (showAlert && this.rowSelection) { + // 如果需要使用alert,则重新绑定 rowSelection 事件 + props[k] = { + ...this.rowSelection, + selectedRows: this.selectedRows, + selectedRowKeys: this.selectedRowKeys, + onChange: (selectedRowKeys, selectedRows) => { + this.updateSelect(selectedRowKeys, selectedRows) + typeof this[k].onChange !== 'undefined' && this[k].onChange(selectedRowKeys, selectedRows) + } + } + return props[k] + } else if (!this.rowSelection) { + // 如果没打算开启 rowSelection 则清空默认的选择项 + props[k] = null + return props[k] + } + } + this[k] && (props[k] = this[k]) + return props[k] + }) + const table = ( + { this.$emit('expand', expanded, record) } }> + { Object.keys(this.$slots).map(name => ()) } + + ) + + return ( +
    + { showAlert ? this.renderAlert() : null } + { table } +
    + ) + } +} diff --git a/web_src/src/components/TagSelect/TagSelectOption.jsx b/web_src/src/components/TagSelect/TagSelectOption.jsx new file mode 100644 index 00000000..b5ae7997 --- /dev/null +++ b/web_src/src/components/TagSelect/TagSelectOption.jsx @@ -0,0 +1,45 @@ +import { Tag } from 'ant-design-vue' +const { CheckableTag } = Tag + +export default { + name: 'TagSelectOption', + props: { + prefixCls: { + type: String, + default: 'ant-pro-tag-select-option' + }, + value: { + type: [String, Number, Object], + default: '' + }, + checked: { + type: Boolean, + default: false + } + }, + data () { + return { + localChecked: this.checked || false + } + }, + watch: { + 'checked' (val) { + this.localChecked = val + }, + '$parent.items': { + handler: function (val) { + this.value && val.hasOwnProperty(this.value) && (this.localChecked = val[this.value]) + }, + deep: true + } + }, + render () { + const { $slots, value } = this + const onChange = (checked) => { + this.$emit('change', { value, checked }) + } + return ( + {$slots.default} + ) + } +} diff --git a/web_src/src/components/TagSelect/index.jsx b/web_src/src/components/TagSelect/index.jsx new file mode 100644 index 00000000..af98ad7c --- /dev/null +++ b/web_src/src/components/TagSelect/index.jsx @@ -0,0 +1,113 @@ +import PropTypes from 'ant-design-vue/es/_util/vue-types' +import Option from './TagSelectOption.jsx' +import { filterEmpty } from '@/components/_util/util' + +export default { + Option, + name: 'TagSelect', + model: { + prop: 'checked', + event: 'change' + }, + props: { + prefixCls: { + type: String, + default: 'ant-pro-tag-select' + }, + defaultValue: { + type: PropTypes.array, + default: null + }, + value: { + type: PropTypes.array, + default: null + }, + expandable: { + type: Boolean, + default: false + }, + hideCheckAll: { + type: Boolean, + default: false + } + }, + data () { + return { + expand: false, + localCheckAll: false, + items: this.getItemsKey(filterEmpty(this.$slots.default)), + val: this.value || this.defaultValue || [] + } + }, + methods: { + onChange (checked) { + const key = Object.keys(this.items).filter(key => key === checked.value) + this.items[key] = checked.checked + const bool = Object.values(this.items).lastIndexOf(false) + if (bool === -1) { + this.localCheckAll = true + } else { + this.localCheckAll = false + } + }, + onCheckAll (checked) { + Object.keys(this.items).forEach(v => { + this.items[v] = checked.checked + }) + this.localCheckAll = checked.checked + }, + getItemsKey (items) { + const totalItem = {} + items.forEach(item => { + totalItem[item.componentOptions.propsData && item.componentOptions.propsData.value] = false + }) + return totalItem + }, + // CheckAll Button + renderCheckAll () { + const props = { + on: { + change: (checked) => { + this.onCheckAll(checked) + checked.value = 'total' + this.$emit('change', checked) + } + } + } + const checkAllElement = + return !this.hideCheckAll && checkAllElement || null + }, + // expandable + renderExpandable () { + + }, + // render option + renderTags (items) { + const listeners = { + change: (checked) => { + this.onChange(checked) + this.$emit('change', checked) + } + } + + return items.map(vnode => { + const options = vnode.componentOptions + options.listeners = listeners + return vnode + }) + } + }, + render () { + const { $props: { prefixCls } } = this + const classString = { + [`${prefixCls}`]: true + } + const tagItems = filterEmpty(this.$slots.default) + return ( +
    + {this.renderCheckAll()} + {this.renderTags(tagItems)} +
    + ) + } +} diff --git a/web_src/src/components/TextArea/index.jsx b/web_src/src/components/TextArea/index.jsx new file mode 100644 index 00000000..00aeb2fc --- /dev/null +++ b/web_src/src/components/TextArea/index.jsx @@ -0,0 +1,69 @@ +import './style.less' +import { getStrFullLength, cutStrByFullLength } from '../_util/util' +import Input from 'ant-design-vue/es/input' +const TextArea = Input.TextArea + +export default { + name: 'LimitTextArea', + model: { + prop: 'value', + event: 'change' + }, + props: Object.assign({}, TextArea.props, { + prefixCls: { + type: String, + default: 'ant-textarea-limit' + }, + // eslint-disable-next-line + value: { + type: String + }, + limit: { + type: Number, + default: 200 + } + }), + data () { + return { + currentLimit: 0 + } + }, + watch: { + value (val) { + this.calcLimitNum(val) + } + }, + created () { + this.calcLimitNum(this.value) + }, + methods: { + handleChange (e) { + const value = e.target.value + const len = getStrFullLength(value) + if (len <= this.limit) { + this.currentLimit = len + this.$emit('change', value) + return + } else { + const str = cutStrByFullLength(value, this.limit) + this.currentLimit = getStrFullLength(str) + this.$emit('change', str) + } + console.error('limit out! currentLimit:', this.currentLimit) + }, + calcLimitNum (val) { + const len = getStrFullLength(val) + this.currentLimit = len + } + }, + render () { + const { prefixCls, ...props } = this.$props + return ( +
    + + {this.currentLimit}/{this.limit} +
    + ) + } +} diff --git a/web_src/src/components/TextArea/style.less b/web_src/src/components/TextArea/style.less new file mode 100644 index 00000000..6dee494c --- /dev/null +++ b/web_src/src/components/TextArea/style.less @@ -0,0 +1,12 @@ +.ant-textarea-limit { + position: relative; + + .limit { + position: absolute; + color: #909399; + background: #fff; + font-size: 12px; + bottom: 5px; + right: 10px; + } +} \ No newline at end of file diff --git a/web_src/src/components/Tree/Tree.jsx b/web_src/src/components/Tree/Tree.jsx new file mode 100644 index 00000000..e5a2a113 --- /dev/null +++ b/web_src/src/components/Tree/Tree.jsx @@ -0,0 +1,124 @@ +import { Menu, Icon, Input } from 'ant-design-vue' + +const { Item, ItemGroup, SubMenu } = Menu +const { Search } = Input + +export default { + name: 'Tree', + props: { + dataSource: { + type: Array, + required: true + }, + openKeys: { + type: Array, + default: () => [] + }, + search: { + type: Boolean, + default: false + } + }, + created () { + this.localOpenKeys = this.openKeys.slice(0) + }, + data () { + return { + localOpenKeys: [] + } + }, + methods: { + handlePlus (item) { + this.$emit('add', item) + }, + handleTitleClick (...args) { + this.$emit('titleClick', { args }) + }, + + renderSearch () { + return ( + + ) + }, + renderIcon (icon) { + return icon && () || null + }, + renderMenuItem (item) { + return ( + + { this.renderIcon(item.icon) } + { item.title } + this.handlePlus(item) } }}> + + ) + }, + renderItem (item) { + return item.children ? this.renderSubItem(item, item.key) : this.renderMenuItem(item, item.key) + }, + renderItemGroup (item) { + const childrenItems = item.children.map(o => { + return this.renderItem(o, o.key) + }) + + return ( + + + { childrenItems } + + ) + }, + renderSubItem (item, key) { + const childrenItems = item.children && item.children.map(o => { + return this.renderItem(o, o.key) + }) + + const title = ( + + { this.renderIcon(item.icon) } + { item.title } + + ) + + if (item.group) { + return this.renderItemGroup(item) + } + // titleClick={this.handleTitleClick(item)} + return ( + + { title } + { childrenItems } + + ) + } + }, + render () { + const { dataSource, search } = this.$props + + // this.localOpenKeys = openKeys.slice(0) + const list = dataSource.map(item => { + return this.renderItem(item) + }) + + return ( +
    + { search ? this.renderSearch() : null } + this.$emit('click', item), 'update:openKeys': val => { this.localOpenKeys = val } } }} openKeys={this.localOpenKeys}> + { list } + +
    + ) + } +} diff --git a/web_src/src/components/Trend/Trend.vue b/web_src/src/components/Trend/Trend.vue new file mode 100644 index 00000000..526e1cc6 --- /dev/null +++ b/web_src/src/components/Trend/Trend.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/web_src/src/components/Trend/index.js b/web_src/src/components/Trend/index.js new file mode 100644 index 00000000..9f142280 --- /dev/null +++ b/web_src/src/components/Trend/index.js @@ -0,0 +1,3 @@ +import Trend from './Trend.vue' + +export default Trend diff --git a/web_src/src/components/Trend/index.less b/web_src/src/components/Trend/index.less new file mode 100644 index 00000000..8a3d24cf --- /dev/null +++ b/web_src/src/components/Trend/index.less @@ -0,0 +1,42 @@ +@import "../index"; + +@trend-prefix-cls: ~"@{ant-pro-prefix}-trend"; + +.@{trend-prefix-cls} { + display: inline-block; + font-size: @font-size-base; + line-height: 22px; + + .up, + .down { + margin-left: 4px; + position: relative; + top: 1px; + + i { + font-size: 12px; + transform: scale(0.83); + } + } + + .item-text { + display: inline-block; + margin-left: 8px; + color: rgba(0,0,0,.85); + } + + .up { + color: @red-6; + } + .down { + color: @green-6; + top: -1px; + } + + &.reverse-color .up { + color: @green-6; + } + &.reverse-color .down { + color: @red-6; + } +} \ No newline at end of file diff --git a/web_src/src/components/Trend/index.md b/web_src/src/components/Trend/index.md new file mode 100644 index 00000000..8881f0e1 --- /dev/null +++ b/web_src/src/components/Trend/index.md @@ -0,0 +1,45 @@ +# Trend 趋势标记 + +趋势符号,标记上升和下降趋势。通常用绿色代表“好”,红色代表“不好”,股票涨跌场景除外。 + + + +引用方式: + +```javascript +import Trend from '@/components/Trend' + +export default { + components: { + Trend + } +} +``` + + + +## 代码演示 [demo](https://pro.loacg.com/test/home) + +```html +5% +``` +或 +```html + + 工资 + 5% + +``` +或 +```html +5% +``` + + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|----------|------------------------------------------|-------------|-------| +| flag | 上升下降标识:`up|down` | string | - | +| reverseColor | 颜色反转 | Boolean | false | + diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue deleted file mode 100644 index b2e9bbbd..00000000 --- a/web_src/src/components/UiHeader.vue +++ /dev/null @@ -1,120 +0,0 @@ - - - diff --git a/web_src/src/components/VideoPlayer/dialogPlayer.vue b/web_src/src/components/VideoPlayer/dialogPlayer.vue new file mode 100644 index 00000000..3e59fbd8 --- /dev/null +++ b/web_src/src/components/VideoPlayer/dialogPlayer.vue @@ -0,0 +1,811 @@ + + + + + diff --git a/web_src/src/components/dialog/easyPlayer.vue b/web_src/src/components/VideoPlayer/easyPlayer.vue similarity index 77% rename from web_src/src/components/dialog/easyPlayer.vue rename to web_src/src/components/VideoPlayer/easyPlayer.vue index daf72079..25a94bd4 100644 --- a/web_src/src/components/dialog/easyPlayer.vue +++ b/web_src/src/components/VideoPlayer/easyPlayer.vue @@ -1,8 +1,10 @@ diff --git a/web_src/src/components/VideoPlayer/jessibuca.vue b/web_src/src/components/VideoPlayer/jessibuca.vue new file mode 100644 index 00000000..88fc4e65 --- /dev/null +++ b/web_src/src/components/VideoPlayer/jessibuca.vue @@ -0,0 +1,328 @@ + + + + + diff --git a/web_src/src/components/_util/util.js b/web_src/src/components/_util/util.js new file mode 100644 index 00000000..dd33231f --- /dev/null +++ b/web_src/src/components/_util/util.js @@ -0,0 +1,46 @@ +/** + * components util + */ + +/** + * 清理空值,对象 + * @param children + * @returns {*[]} + */ +export function filterEmpty (children = []) { + return children.filter(c => c.tag || (c.text && c.text.trim() !== '')) +} + +/** + * 获取字符串长度,英文字符 长度1,中文字符长度2 + * @param {*} str + */ +export const getStrFullLength = (str = '') => + str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + return pre + 1 + } + return pre + 2 + }, 0) + +/** + * 截取字符串,根据 maxLength 截取后返回 + * @param {*} str + * @param {*} maxLength + */ +export const cutStrByFullLength = (str = '', maxLength) => { + let showLength = 0 + return str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + showLength += 1 + } else { + showLength += 2 + } + if (showLength <= maxLength) { + return pre + cur + } + return pre + }, '') +} diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue deleted file mode 100644 index 2b068709..00000000 --- a/web_src/src/components/channelList.vue +++ /dev/null @@ -1,392 +0,0 @@ - - - - - diff --git a/web_src/src/components/control.vue b/web_src/src/components/control.vue deleted file mode 100644 index b5990dab..00000000 --- a/web_src/src/components/control.vue +++ /dev/null @@ -1,442 +0,0 @@ - - - - - diff --git a/web_src/src/components/devicePosition.vue b/web_src/src/components/devicePosition.vue deleted file mode 100644 index 777b11ed..00000000 --- a/web_src/src/components/devicePosition.vue +++ /dev/null @@ -1,391 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/MediaServerEdit.vue b/web_src/src/components/dialog/MediaServerEdit.vue deleted file mode 100644 index 8dab76b9..00000000 --- a/web_src/src/components/dialog/MediaServerEdit.vue +++ /dev/null @@ -1,381 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue deleted file mode 100644 index ea3a64f9..00000000 --- a/web_src/src/components/dialog/StreamProxyEdit.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/addStreamTOGB.vue b/web_src/src/components/dialog/addStreamTOGB.vue deleted file mode 100644 index 9baf1bc1..00000000 --- a/web_src/src/components/dialog/addStreamTOGB.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/changePassword.vue b/web_src/src/components/dialog/changePassword.vue deleted file mode 100644 index a95736f2..00000000 --- a/web_src/src/components/dialog/changePassword.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/chooseChannel.vue b/web_src/src/components/dialog/chooseChannel.vue deleted file mode 100644 index 87fc62e4..00000000 --- a/web_src/src/components/dialog/chooseChannel.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/chooseChannelForGb.vue b/web_src/src/components/dialog/chooseChannelForGb.vue deleted file mode 100644 index eddcdf9f..00000000 --- a/web_src/src/components/dialog/chooseChannelForGb.vue +++ /dev/null @@ -1,239 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/chooseChannelForStream.vue b/web_src/src/components/dialog/chooseChannelForStream.vue deleted file mode 100644 index c78d699b..00000000 --- a/web_src/src/components/dialog/chooseChannelForStream.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/deviceEdit.vue b/web_src/src/components/dialog/deviceEdit.vue deleted file mode 100644 index 5d2ffa56..00000000 --- a/web_src/src/components/dialog/deviceEdit.vue +++ /dev/null @@ -1,117 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue deleted file mode 100644 index 60cd6001..00000000 --- a/web_src/src/components/dialog/devicePlayer.vue +++ /dev/null @@ -1,772 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/jessibuca.vue b/web_src/src/components/dialog/jessibuca.vue deleted file mode 100644 index 7e9e0097..00000000 --- a/web_src/src/components/dialog/jessibuca.vue +++ /dev/null @@ -1,298 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/onvifEdit.vue b/web_src/src/components/dialog/onvifEdit.vue deleted file mode 100644 index c8532947..00000000 --- a/web_src/src/components/dialog/onvifEdit.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue deleted file mode 100644 index 968e8253..00000000 --- a/web_src/src/components/dialog/platformEdit.vue +++ /dev/null @@ -1,404 +0,0 @@ - - - - - diff --git a/web_src/src/components/dialog/rtcPlayer.vue b/web_src/src/components/dialog/rtcPlayer.vue deleted file mode 100644 index 75c18f33..00000000 --- a/web_src/src/components/dialog/rtcPlayer.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - diff --git a/web_src/src/components/index.js b/web_src/src/components/index.js new file mode 100644 index 00000000..8f82fd6f --- /dev/null +++ b/web_src/src/components/index.js @@ -0,0 +1,32 @@ +// pro components +import AvatarList from '@/components/AvatarList' +import Ellipsis from '@/components/Ellipsis' +import FooterToolbar from '@/components/FooterToolbar' +import NumberInfo from '@/components/NumberInfo' +import Tree from '@/components/Tree/Tree' +import Trend from '@/components/Trend' +import STable from '@/components/Table' +import MultiTab from '@/components/MultiTab' +import IconSelector from '@/components/IconSelector' +import TagSelect from '@/components/TagSelect' +import StandardFormRow from '@/components/StandardFormRow' +import ArticleListContent from '@/components/ArticleListContent' + +import Dialog from '@/components/Dialog' + +export { + AvatarList, + Trend, + Ellipsis, + FooterToolbar, + NumberInfo, + Tree, + STable, + MultiTab, + IconSelector, + TagSelect, + StandardFormRow, + ArticleListContent, + + Dialog +} diff --git a/web_src/src/components/index.less b/web_src/src/components/index.less new file mode 100644 index 00000000..e831c41e --- /dev/null +++ b/web_src/src/components/index.less @@ -0,0 +1,6 @@ +@import "~ant-design-vue/lib/style/index"; + +// The prefix to use on all css classes from ant-pro. +@ant-pro-prefix : ant-pro; +@ant-global-sider-zindex : 106; +@ant-global-header-zindex : 105; \ No newline at end of file diff --git a/web_src/src/components/service/MediaServer.js b/web_src/src/components/service/MediaServer.js deleted file mode 100644 index 36474ead..00000000 --- a/web_src/src/components/service/MediaServer.js +++ /dev/null @@ -1,99 +0,0 @@ -import axios from 'axios'; - -class MediaServer{ - - constructor() { - this.$axios = axios; - } - - getOnlineMediaServerList(callback){ - this.$axios({ - method: 'get', - url:`/api/server/media_server/online/list`, - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - getMediaServerList(callback){ - this.$axios({ - method: 'get', - url:`/api/server/media_server/list`, - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - - getMediaServer(id, callback){ - this.$axios({ - method: 'get', - url:`/api/server/media_server/one/` + id, - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - - checkServer(param, callback){ - this.$axios({ - method: 'get', - url:`/api/server/media_server/check`, - params: { - ip: param.ip, - port: param.httpPort, - secret: param.secret - } - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - - checkRecordServer(param, callback){ - this.$axios({ - method: 'get', - url:`/api/server/media_server/record/check`, - params: { - ip: param.ip, - port: param.recordAssistPort - } - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - - addServer(param, callback){ - this.$axios({ - method: 'post', - url:`/api/server/media_server/save`, - data: param - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } - - delete(id, callback) { - this.$axios({ - method: 'delete', - url:`/api/server/media_server/delete`, - params: { - id: id - } - }).then(function (res) { - if (typeof (callback) == "function") callback(res.data) - }).catch(function (error) { - console.log(error); - }); - } -} - -export default MediaServer; diff --git a/web_src/src/components/setting/Media.vue b/web_src/src/components/setting/Media.vue deleted file mode 100644 index cfc4e12a..00000000 --- a/web_src/src/components/setting/Media.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - - - diff --git a/web_src/src/components/setting/Sip.vue b/web_src/src/components/setting/Sip.vue deleted file mode 100644 index 3d5d8d5b..00000000 --- a/web_src/src/components/setting/Sip.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - diff --git a/web_src/src/components/setting/Web.vue b/web_src/src/components/setting/Web.vue deleted file mode 100644 index 5eb853a1..00000000 --- a/web_src/src/components/setting/Web.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - diff --git a/web_src/src/components/test.vue b/web_src/src/components/test.vue deleted file mode 100644 index d7801259..00000000 --- a/web_src/src/components/test.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - - - diff --git a/web_src/src/components/test2.vue b/web_src/src/components/test2.vue deleted file mode 100644 index 75f182eb..00000000 --- a/web_src/src/components/test2.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - - - diff --git a/web_src/src/components/tools/TwoStepCaptcha.vue b/web_src/src/components/tools/TwoStepCaptcha.vue new file mode 100644 index 00000000..01302b43 --- /dev/null +++ b/web_src/src/components/tools/TwoStepCaptcha.vue @@ -0,0 +1,89 @@ + + + + diff --git a/web_src/src/config/defaultSettings.js b/web_src/src/config/defaultSettings.js new file mode 100644 index 00000000..bb8d5670 --- /dev/null +++ b/web_src/src/config/defaultSettings.js @@ -0,0 +1,30 @@ +/** + * 项目默认配置项 + * primaryColor - 默认主题色, 如果修改颜色不生效,请清理 localStorage + * navTheme - sidebar theme ['dark', 'light'] 两种主题 + * colorWeak - 色盲模式 + * layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局 + * fixedHeader - 固定 Header : boolean + * fixSiderbar - 固定左侧菜单栏 : boolean + * contentWidth - 内容区布局: 流式 | 固定 + * + * storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage) + * + */ + +export default { + navTheme: 'dark', // theme for nav menu + primaryColor: '#1890FF', // primary color of ant design + layout: 'sidemenu', // nav menu position: `sidemenu` or `topmenu` + contentWidth: 'Fluid', // layout of content: `Fluid` or `Fixed`, only works when layout is topmenu + fixedHeader: false, // sticky header + fixSiderbar: false, // sticky siderbar + colorWeak: false, + menu: { + locale: true + }, + title: 'WVP视频平台', + pwa: false, + iconfontUrl: '', + production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true' +} diff --git a/web_src/src/config/router.config.js b/web_src/src/config/router.config.js new file mode 100644 index 00000000..deac8185 --- /dev/null +++ b/web_src/src/config/router.config.js @@ -0,0 +1,165 @@ +// eslint-disable-next-line +import {UserLayout, BasicLayout, BlankLayout} from '@/layouts' +import {bxAnaalyse} from '@/core/icons' + +const RouteView = { + name: 'RouteView', + render: h => h('router-view') +} + +export const asyncRouterMap = [ + { + path: '/', + name: 'index', + component: BasicLayout, + meta: {title: 'menu.home'}, + redirect: '/dashboard/monitor', + children: [ + // monitor + { + path: '/dashboard', + name: 'dashboard', + redirect: '/dashboard/monitor', + component: RouteView, + meta: {title: 'menu.dashboard', keepAlive: true, icon: bxAnaalyse}, + children: [ + { + path: '/dashboard/monitor', + name: 'Monitor', + component: () => import('@/views/dashboard/MonitorIndex'), + meta: {title: 'menu.dashboard.monitor', keepAlive: false} + } + ] + }, + // Video Devices Manage + { + path: '/videoMatrix', + name: 'videoMatrix', + component: RouteView, + redirect: '/video/videoMatrix', + meta: {title: 'menu.video.video-matrix', icon: 'appstore'}, + children: [ + { + path: '/video/videoMatrix', + name: 'videoMatrixSquare', + component: () => import(/* webpackChunkName: "fail" */ '@/views/videoSquare/squareIndex'), + meta: {title: 'menu.video.square-matrix'} + } + ] + }, + { + path: '/deviceManage', + name: 'deviceManage', + component: RouteView, + redirect: '/video/deviceList', + meta: {title: 'menu.video.device-manage', icon: 'video-camera'}, + children: [ + { + path: '/video/deviceList', + name: 'deviceList', + component: () => import(/* webpackChunkName: "fail" */ '@/views/device/DeviceIndex'), + meta: {title: 'menu.video.device-list'} + } + ] + }, + // Video Records Manage + { + path: '/recordManage', + name: 'recordManage', + component: RouteView, + redirect: '/video/recordList', + meta: {title: 'menu.video.record-manage', icon: 'unordered-list'}, + children: [ + { + path: '/video/recordList', + name: 'recordList', + component: () => import(/* webpackChunkName: "fail" */ '@/views/records/RecordIndex'), + meta: {title: 'menu.video.record-list'} + }, + { + path: '/video/nvrRecordIndex', + name: 'nvrRecordIndex', + component: () => import(/* webpackChunkName: "fail" */ '@/views/records/NVRRecordIndex'), + meta: {title: 'menu.video.nvr-record-list'} + } + ] + }, + { + path: '/deviceWarning', + name: 'deviceWarning', + component: RouteView, + redirect: '/device/warning', + meta: {title: 'menu.video.device-warning-manage', icon: 'bell'}, + children: [ + { + path: '/device/warning', + name: 'warningList', + component: () => import(/* webpackChunkName: "fail" */ '@/views/warning/WarningList'), + meta: {title: 'menu.video.device-warning-list'} + } + ] + }, + { + path: '/streamProxy', + name: 'streamProxy', + component: RouteView, + redirect: '/stream/proxy', + meta: {title: 'menu.video.stream-proxy-manage', icon: 'deployment-unit'}, + children: [ + { + path: '/stream/proxy', + name: 'streamProxyList', + component: () => import(/* webpackChunkName: "fail" */ '@/views/streamProxy/StreamProxyList'), + meta: {title: 'menu.video.stream-proxy-list'} + } + ] + }, + { + path: '/gbPlatform', + name: 'gbPlatform', + component: RouteView, + redirect: '/gbPlatform/index', + meta: {title: 'menu.video.gbPlatform-manage', icon: 'apartment'}, + children: [ + { + path: '/gbPlatform/index', + name: 'gbPlatformIndex', + component: () => import(/* webpackChunkName: "fail" */ '@/views/gbPlatform/GbPlatformIndex'), + meta: {title: 'menu.video.gbPlatform-list'} + } + ] + }, + { + path: '/mediaServer', + name: 'mediaServer', + component: RouteView, + redirect: '/mediaServer/index', + meta: {title: 'menu.video.media-server-manage', icon: 'cloud-server'}, + children: [ + { + path: '/mediaServer/index', + name: 'mediaServerIndex', + component: () => import(/* webpackChunkName: "fail" */ '@/views/mediaServer/MediaServerIndex'), + meta: {title: 'menu.video.media-server-list'} + } + ] + } + ] + }, + { + path: '*', + redirect: '/404', + hidden: true + } +] + +/** + * 基础路由 + * @type { *[] } + */ +export const constantRouterMap = [ + { + path: '/404', + component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404') + } +] diff --git a/web_src/static/js/EasyWasmPlayer.js b/web_src/src/core/EasyWasmPlayer.js similarity index 100% rename from web_src/static/js/EasyWasmPlayer.js rename to web_src/src/core/EasyWasmPlayer.js diff --git a/web_src/src/core/bootstrap.js b/web_src/src/core/bootstrap.js new file mode 100644 index 00000000..474f517e --- /dev/null +++ b/web_src/src/core/bootstrap.js @@ -0,0 +1,33 @@ +import store from '@/store' +import storage from 'store' +import { + APP_LANGUAGE, + TOGGLE_COLOR, + TOGGLE_CONTENT_WIDTH, + TOGGLE_FIXED_HEADER, + TOGGLE_FIXED_SIDEBAR, + TOGGLE_HIDE_HEADER, + TOGGLE_LAYOUT, + TOGGLE_MULTI_TAB, + TOGGLE_NAV_THEME, + TOGGLE_WEAK +} from '@/store/mutation-types' +import defaultSettings from '@/config/defaultSettings' + +export default function Initializer () { + // printANSI() // logo打印,请自行移除该行. please remove this line + + store.commit(TOGGLE_LAYOUT, storage.get(TOGGLE_LAYOUT, defaultSettings.layout)) + store.commit(TOGGLE_FIXED_HEADER, storage.get(TOGGLE_FIXED_HEADER, defaultSettings.fixedHeader)) + store.commit(TOGGLE_FIXED_SIDEBAR, storage.get(TOGGLE_FIXED_SIDEBAR, defaultSettings.fixSiderbar)) + store.commit(TOGGLE_CONTENT_WIDTH, storage.get(TOGGLE_CONTENT_WIDTH, defaultSettings.contentWidth)) + store.commit(TOGGLE_HIDE_HEADER, storage.get(TOGGLE_HIDE_HEADER, defaultSettings.autoHideHeader)) + store.commit(TOGGLE_NAV_THEME, storage.get(TOGGLE_NAV_THEME, defaultSettings.navTheme)) + store.commit(TOGGLE_WEAK, storage.get(TOGGLE_WEAK, defaultSettings.colorWeak)) + store.commit(TOGGLE_COLOR, storage.get(TOGGLE_COLOR, defaultSettings.primaryColor)) + store.commit(TOGGLE_MULTI_TAB, storage.get(TOGGLE_MULTI_TAB, defaultSettings.multiTab)) + + store.dispatch('setLang', storage.get(APP_LANGUAGE, 'en-US')) + // last step + +} diff --git a/web_src/src/core/icons.js b/web_src/src/core/icons.js new file mode 100644 index 00000000..46b72616 --- /dev/null +++ b/web_src/src/core/icons.js @@ -0,0 +1,11 @@ +/** + * Custom icon list + * All icons are loaded here for easy management + * @see https://vue.ant.design/components/icon/#Custom-Font-Icon + * + * 自定义图标加载表 + * 所有图标均从这里加载,方便管理 + */ +import bxAnaalyse from '@/assets/icons/bx-analyse.svg?inline' // path to your '*.svg?inline' file. + +export { bxAnaalyse } diff --git a/web_src/src/core/jessibuca/bg.jpg b/web_src/src/core/jessibuca/bg.jpg new file mode 100644 index 00000000..829850bf Binary files /dev/null and b/web_src/src/core/jessibuca/bg.jpg differ diff --git a/web_src/src/core/jessibuca/favicon.ico b/web_src/src/core/jessibuca/favicon.ico new file mode 100644 index 00000000..dbf50d9d Binary files /dev/null and b/web_src/src/core/jessibuca/favicon.ico differ diff --git a/web_src/static/js/jessibuca/ff.js b/web_src/src/core/jessibuca/ff.js similarity index 100% rename from web_src/static/js/jessibuca/ff.js rename to web_src/src/core/jessibuca/ff.js diff --git a/web_src/src/core/jessibuca/ff.wasm b/web_src/src/core/jessibuca/ff.wasm new file mode 100644 index 00000000..9b2d12d2 Binary files /dev/null and b/web_src/src/core/jessibuca/ff.wasm differ diff --git a/web_src/src/core/jessibuca/index.js b/web_src/src/core/jessibuca/index.js new file mode 100644 index 00000000..639e40dc --- /dev/null +++ b/web_src/src/core/jessibuca/index.js @@ -0,0 +1,3 @@ +!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};function e(t){return t&&t.__esModule?t.default:t}function r(t,e,r){Object.defineProperty(t,e,{get:r,enumerable:!0})}var n,i,o=!1;function a(){return o||(o=!0,i=t=>{var e=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),r=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n"),n=t.createShader(t.VERTEX_SHADER);t.shaderSource(n,e),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+t.getShaderInfoLog(n));var i=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(i,r),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+t.getShaderInfoLog(i));var o=t.createProgram();t.attachShader(o,n),t.attachShader(o,i),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)||console.log("Program failed to compile: "+t.getProgramInfoLog(o)),t.useProgram(o);var a=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),t.STATIC_DRAW);var s=t.getAttribLocation(o,"vertexPos");t.enableVertexAttribArray(s),t.vertexAttribPointer(s,2,t.FLOAT,!1,0,0);var f=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,f),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),t.STATIC_DRAW);var u=t.getAttribLocation(o,"texturePos");function h(e,r){var n=t.createTexture();return t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindTexture(t.TEXTURE_2D,null),t.uniform1i(t.getUniformLocation(o,e),r),n}t.enableVertexAttribArray(u),t.vertexAttribPointer(u,2,t.FLOAT,!1,0,0);var c=h("ySampler",0),d=h("uSampler",1),l=h("vSampler",2);return function(e,r,n,i,o){t.viewport(0,0,e,r),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,c),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e,r,0,t.LUMINANCE,t.UNSIGNED_BYTE,n),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,d),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,i),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,l),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,o),t.drawArrays(t.TRIANGLE_STRIP,0,4)}},r(n={},"default",(function(){return i}))),n}var s,f,u=!1;function h(){s={},a(),f=t=>{const e=document.createElement("canvas");e.style.position="absolute",e.style.top=0,e.style.left=0,t.$container.appendChild(e),t.$canvasElement=e,t.$container.style.overflow="hidden","absolute"!==t.$container.style.position&&(t.$container.style.position="relative");if(!t._supportOffscreen()){const e=(()=>{const e=t.$canvasElement;let r=null;const n=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let i=0;for(;!r&&i{t._contextGL&&(t._contextGL=null),t._contextGLRender&&(t._contextGLRender=null),t._bitmaprenderer&&(t._bitmaprenderer=null)}},r(s,"default",(function(){return f}))}function c(){return u||(u=!0,h()),s}var d,l,p,m,b,g,v=!1;function y(){return v||(v=!0,l={videoBuffer:.5,vod:!1,isResize:!0,isFullSize:!1,debug:!1,timeout:30,supportDblclickFullscreen:!1,showBandwidth:!1,keepScreenOn:!1,isNotMute:!1,hasAudio:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1},loadingText:"",background:"",decoder:"index.js",rotate:0,text:"",forceNoOffscreen:!1,hiddenAutoPause:!1},r(d={},"DEFAULT_OPTIONS",(function(){return l})),p={init:"init",initSize:"initSize",render:"render",playAudio:"playAudio",print:"print",printErr:"printErr",initAudioPlanar:"initAudioPlanar",kBps:"kBps"},r(d,"CMD_TYPE",(function(){return p})),m={close:"close",play:"play",setVideoBuffer:"setVideoBuffer",init:"init"},r(d,"POST_MESSAGE",(function(){return m})),b={fullscreen:"fullscreen",play:"play",pause:"pause",mute:"mute",load:"load",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",stats:"stats",performance:"performance",record:"record",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata"},r(d,"EVEMTS",(function(){return b})),g={empty:"empty",buffering:"buffering",full:"full"},r(d,"BUFFER_STATUS",(function(){return g}))),d}var w,_=!1;function A(t){t.resume();const e=t.createBufferSource();e.buffer=t.createBuffer(1,1,22050),e.connect(t.destination),e.noteOn?e.noteOn(0):e.start(0)}function M(t,e){t&&(t.style.display=e?"block":"none")}function E(t=""){const e=t.split(","),r=atob(e[1]),n=e[0].replace("data:","").replace(";base64","");let i=r.length,o=new Uint8Array(i);for(;i--;)o[i]=r.charCodeAt(i);return new File([o],"file",{type:n})}function S(t,e){const r=document.createElement("a");r.download=e,r.href=URL.createObjectURL(t),r.click(),URL.revokeObjectURL(t)}function k(t){if(null==t||""===t)return"0 KB/S";let e=parseFloat(t);return e=e.toFixed(2),e+"KB/S"}function B(t){let e=0;return t>=24?e=2:t>=15&&(e=1),e}function T(t,e){Object.keys(e||{}).forEach((function(r){t.style[r]=e[r]}))}function R(){let t=document.fullscreenElement||window.webkitFullscreenElement||document.msFullscreenElement;return void 0===t&&(t=!1),!!t}function x(){}function C(){return(new Date).getTime()}function I(t){Object.keys(t||{}).forEach((e=>{"bgDom"!==e&&M(t[e],!1)}))}function D(t){M(t.pauseDom,!0),M(t.screenshotsDom,!0),M(t.fullscreenDom,!0),M(t.quietAudioDom,!0),M(t.textDom,!0),M(t.speedDom,!0),M(t.recordDom,!0),M(t.loadingDom,!1),M(t.playDom,!1),M(t.playBigDom,!1),M(t.bgDom,!1)}function P(t,e){let r=y().BUFFER_STATUS.buffering;return 0===t?r=y().BUFFER_STATUS.empty:t>=e&&(r=y().BUFFER_STATUS.full),r}function O(){return _||(_=!0,w={},y(),r(w,"audioContextUnlock",(function(){return A})),r(w,"$domToggle",(function(){return M})),r(w,"dataURLToFile",(function(){return E})),r(w,"downloadImg",(function(){return S})),r(w,"bpsSize",(function(){return k})),r(w,"fpsStatus",(function(){return B})),r(w,"setStyle",(function(){return T})),r(w,"checkFull",(function(){return R})),r(w,"noop",(function(){return x})),r(w,"now",(function(){return C})),r(w,"$hideBtns",(function(){return I})),r(w,"$initBtns",(function(){return D})),r(w,"bufferStatus",(function(){return P}))),w}var L,U,j=!1;function N(){return j||(j=!0,L={},O(),U=t=>{t._audioContext=new(window.AudioContext||window.webkitAudioContext),t._gainNode=t._audioContext.createGain(),t._audioEnabled=e=>{e?(O().audioContextUnlock(t._audioContext),t._audioEnabled=e=>{e?t._audioContext.resume():t._audioContext.suspend()},t._audioContext.resume()):t._audioContext.suspend()},t._audioEnabled(!0),t._mute=()=>{t._audioEnabled(!1),t.quieting=!0},t._cancelMute=()=>{t._audioEnabled(!0),t.quieting=!1},t._audioResume=()=>{t._cancelMute()},t._initAudioPlanar=e=>{const r=t._audioContext;if(!r)return!1;let n=[];const i=r.createScriptProcessor(1024,0,2);i.onaudioprocess=function(t){if(n.length){const r=n.shift();for(let n=0;n{i.disconnect(t._gainNode),t._gainNode.disconnect(r.destination),delete t._closeAudio,n=[]},t._gainNode.connect(r.destination),t._playAudio=t=>n.push(t)},t._destroyAudioContext=()=>{t._audioContext.close(),t._audioContext=null,t._gainNode=null}},r(L,"default",(function(){return U}))),L}var z,F,q=!1;function W(){return q||(q=!0,z={},O(),F=t=>{t._resize$2=()=>t.resize(),t._handleVisibilityChange$2=()=>t._handleVisibilityChange(),t._onfullscreenchange$2=()=>t._onfullscreenchange(),t._handleWakeLock$2=()=>t._handleWakeLock(),window.addEventListener("resize",t._resize$2),window.addEventListener("fullscreenchange",t._onfullscreenchange$2),document.addEventListener("visibilitychange",t._handleVisibilityChange$2),document.addEventListener("visibilitychange",t._handleWakeLock$2),window.addEventListener("fullscreenchange",t._handleWakeLock$2),t._opt.supportDblclickFullscreen&&t.$canvasElement.addEventListener("dblclick",(()=>{t.fullscreen=!t.fullscreen}),!1),t._removeEventListener=()=>{window.removeEventListener("resize",t._resize$2),window.removeEventListener("fullscreenchange",t._onfullscreenchange$2),document.removeEventListener("visibilitychange",t._handleWakeLock$2),document.removeEventListener("visibilitychange",t._handleVisibilityChange$2),window.removeEventListener("fullscreenchange",t._handleWakeLock$2)},t.$doms.playDom&&t.$doms.playDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.playBigDom&&t.$doms.playBigDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.pauseDom&&t.$doms.pauseDom.addEventListener("click",(e=>{e.stopPropagation(),t._pause()}),!1),t.$doms.screenshotsDom&&t.$doms.screenshotsDom.addEventListener("click",(e=>{e.stopPropagation();const r=(t._opt.text||"")+""+O().now();t._screenshot(r)}),!1),t.$doms.fullscreenDom&&t.$doms.fullscreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!0}),!1),t.$doms.minScreenDom&&t.$doms.minScreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!1}),!1),t.$doms.recordDom&&t.$doms.recordDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!0}),!1),t.$doms.recordingDom&&t.$doms.recordingDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!1}),!1),t.$doms.quietAudioDom&&t.$doms.quietAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._cancelMute()}),!1),t.$doms.playAudioDom&&t.$doms.playAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._mute()}),!1),t._enableWakeLock()},r(z,"default",(function(){return F}))),z}var H,G,Y=!1;function K(){return Y||(Y=!0,H={},O(),W(),G=t=>{t._showControl=()=>{let e=!1,r=!1;return Object.keys(t._opt.operateBtns).forEach((e=>{t._opt.operateBtns[e]&&(r=!0)})),(t._opt.showBandwidth||t._opt.text||r)&&(e=!0),e};const e={},r=document.createDocumentFragment(),n=document.createElement("div"),i=document.createElement("div"),o=document.createElement("div"),a=document.createElement("div"),s=document.createElement("div"),f=document.createElement("div"),u=document.createElement("div"),h=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),l=document.createElement("div"),p=document.createElement("div"),m=document.createElement("div"),b=document.createElement("div"),g=document.createElement("div"),v=document.createElement("div"),y=document.createElement("div"),w=document.createElement("div");m.innerText=t._opt.loadingText||"",a.innerText=t._opt.text||"",s.innerText="",f.title="播放",h.title="暂停",c.title="截屏",d.title="全屏",l.title="退出全屏",b.title="静音",g.title="取消静音",v.title="录制",y.title="取消录制";let _={position:"absolute",width:"100%",height:"100%"};t._opt.background&&(_=Object.assign({},_,{backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",backgroundImage:"url('"+t._opt.background+"')"}));const A={position:"absolute",width:"100%",height:"100%",textAlign:"center",color:"#fff",display:"none",backgroundImage:"url('data:image/gif;base64,R0lGODlhgACAAKIAAP///93d3bu7u5mZmQAA/wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAEACwCAAIAfAB8AAAD/0i63P4wygYqmDjrzbtflvWNZGliYXiubKuloivPLlzReD7al+7/Eh5wSFQIi8hHYBkwHUmD6CD5YTJLz49USuVYraRsZ7vtar7XnQ1Kjpoz6LRHvGlz35O4nEPP2O94EnpNc2sef1OBGIOFMId/inB6jSmPdpGScR19EoiYmZobnBCIiZ95k6KGGp6ni4wvqxilrqBfqo6skLW2YBmjDa28r6Eosp27w8Rov8ekycqoqUHODrTRvXsQwArC2NLF29UM19/LtxO5yJd4Au4CK7DUNxPebG4e7+8n8iv2WmQ66BtoYpo/dvfacBjIkITBE9DGlMvAsOIIZjIUAixliv9ixYZVtLUos5GjwI8gzc3iCGghypQqrbFsme8lwZgLZtIcYfNmTJ34WPTUZw5oRxdD9w0z6iOpO15MgTh1BTTJUKos39jE+o/KS64IFVmsFfYT0aU7capdy7at27dw48qdS7eu3bt480I02vUbX2F/JxYNDImw4GiGE/P9qbhxVpWOI/eFKtlNZbWXuzlmG1mv58+gQ4seTbq06dOoU6vGQZJy0FNlMcV+czhQ7SQmYd8eMhPs5BxVdfcGEtV3buDBXQ+fURxx8oM6MT9P+Fh6dOrH2zavc13u9JXVJb520Vp8dvC76wXMuN5Sepm/1WtkEZHDefnzR9Qvsd9+/wi8+en3X0ntYVcSdAE+UN4zs7ln24CaLagghIxBaGF8kFGoIYV+Ybghh841GIyI5ICIFoklJsigihmimJOLEbLYIYwxSgigiZ+8l2KB+Ml4oo/w8dijjcrouCORKwIpnJIjMnkkksalNeR4fuBIm5UEYImhIlsGCeWNNJphpJdSTlkml1jWeOY6TnaRpppUctcmFW9mGSaZceYopH9zkjnjUe59iR5pdapWaGqHopboaYua1qije67GJ6CuJAAAIfkEBQUABAAsCgACAFcAMAAAA/9Iutz+ML5Ag7w46z0r5WAoSp43nihXVmnrdusrv+s332dt4Tyo9yOBUJD6oQBIQGs4RBlHySSKyczVTtHoidocPUNZaZAr9F5FYbGI3PWdQWn1mi36buLKFJvojsHjLnshdhl4L4IqbxqGh4gahBJ4eY1kiX6LgDN7fBmQEJI4jhieD4yhdJ2KkZk8oiSqEaatqBekDLKztBG2CqBACq4wJRi4PZu1sA2+v8C6EJexrBAD1AOBzsLE0g/V1UvYR9sN3eR6lTLi4+TlY1wz6Qzr8u1t6FkY8vNzZTxaGfn6mAkEGFDgL4LrDDJDyE4hEIbdHB6ESE1iD4oVLfLAqPETIsOODwmCDJlv5MSGJklaS6khAQAh+QQFBQAEACwfAAIAVwAwAAAD/0i63P5LSAGrvTjrNuf+YKh1nWieIumhbFupkivPBEzR+GnnfLj3ooFwwPqdAshAazhEGUXJJIrJ1MGOUamJ2jQ9QVltkCv0XqFh5IncBX01afGYnDqD40u2z76JK/N0bnxweC5sRB9vF34zh4gjg4uMjXobihWTlJUZlw9+fzSHlpGYhTminKSepqebF50NmTyor6qxrLO0L7YLn0ALuhCwCrJAjrUqkrjGrsIkGMW/BMEPJcphLgDaABjUKNEh29vdgTLLIOLpF80s5xrp8ORVONgi8PcZ8zlRJvf40tL8/QPYQ+BAgjgMxkPIQ6E6hgkdjoNIQ+JEijMsasNY0RQix4gKP+YIKXKkwJIFF6JMudFEAgAh+QQFBQAEACw8AAIAQgBCAAAD/kg0PPowykmrna3dzXvNmSeOFqiRaGoyaTuujitv8Gx/661HtSv8gt2jlwIChYtc0XjcEUnMpu4pikpv1I71astytkGh9wJGJk3QrXlcKa+VWjeSPZHP4Rtw+I2OW81DeBZ2fCB+UYCBfWRqiQp0CnqOj4J1jZOQkpOUIYx/m4oxg5cuAaYBO4Qop6c6pKusrDevIrG2rkwptrupXB67vKAbwMHCFcTFxhLIt8oUzLHOE9Cy0hHUrdbX2KjaENzey9Dh08jkz8Tnx83q66bt8PHy8/T19vf4+fr6AP3+/wADAjQmsKDBf6AOKjS4aaHDgZMeSgTQcKLDhBYPEswoA1BBAgAh+QQFBQAEACxOAAoAMABXAAAD7Ei6vPOjyUkrhdDqfXHm4OZ9YSmNpKmiqVqykbuysgvX5o2HcLxzup8oKLQQix0UcqhcVo5ORi+aHFEn02sDeuWqBGCBkbYLh5/NmnldxajX7LbPBK+PH7K6narfO/t+SIBwfINmUYaHf4lghYyOhlqJWgqDlAuAlwyBmpVnnaChoqOkpaanqKmqKgGtrq+wsbA1srW2ry63urasu764Jr/CAb3Du7nGt7TJsqvOz9DR0tPU1TIA2ACl2dyi3N/aneDf4uPklObj6OngWuzt7u/d8fLY9PXr9eFX+vv8+PnYlUsXiqC3c6PmUUgAACH5BAUFAAQALE4AHwAwAFcAAAPpSLrc/m7IAau9bU7MO9GgJ0ZgOI5leoqpumKt+1axPJO1dtO5vuM9yi8TlAyBvSMxqES2mo8cFFKb8kzWqzDL7Xq/4LB4TC6bz1yBes1uu9uzt3zOXtHv8xN+Dx/x/wJ6gHt2g3Rxhm9oi4yNjo+QkZKTCgGWAWaXmmOanZhgnp2goaJdpKGmp55cqqusrZuvsJays6mzn1m4uRAAvgAvuBW/v8GwvcTFxqfIycA3zA/OytCl0tPPO7HD2GLYvt7dYd/ZX99j5+Pi6tPh6+bvXuTuzujxXens9fr7YPn+7egRI9PPHrgpCQAAIfkEBQUABAAsPAA8AEIAQgAAA/lIutz+UI1Jq7026h2x/xUncmD5jehjrlnqSmz8vrE8u7V5z/m5/8CgcEgsGo/IpHLJbDqf0Kh0ShBYBdTXdZsdbb/Yrgb8FUfIYLMDTVYz2G13FV6Wz+lX+x0fdvPzdn9WeoJGAYcBN39EiIiKeEONjTt0kZKHQGyWl4mZdREAoQAcnJhBXBqioqSlT6qqG6WmTK+rsa1NtaGsuEu6o7yXubojsrTEIsa+yMm9SL8osp3PzM2cStDRykfZ2tfUtS/bRd3ewtzV5pLo4eLjQuUp70Hx8t9E9eqO5Oku5/ztdkxi90qPg3x2EMpR6IahGocPCxp8AGtigwQAIfkEBQUABAAsHwBOAFcAMAAAA/9Iutz+MMo36pg4682J/V0ojs1nXmSqSqe5vrDXunEdzq2ta3i+/5DeCUh0CGnF5BGULC4tTeUTFQVONYAs4CfoCkZPjFar83rBx8l4XDObSUL1Ott2d1U4yZwcs5/xSBB7dBMBhgEYfncrTBGDW4WHhomKUY+QEZKSE4qLRY8YmoeUfkmXoaKInJ2fgxmpqqulQKCvqRqsP7WooriVO7u8mhu5NacasMTFMMHCm8qzzM2RvdDRK9PUwxzLKdnaz9y/Kt8SyR3dIuXmtyHpHMcd5+jvWK4i8/TXHff47SLjQvQLkU+fG29rUhQ06IkEG4X/Rryp4mwUxSgLL/7IqFETB8eONT6ChCFy5ItqJomES6kgAQAh+QQFBQAEACwKAE4AVwAwAAAD/0i63A4QuEmrvTi3yLX/4MeNUmieITmibEuppCu3sDrfYG3jPKbHveDktxIaF8TOcZmMLI9NyBPanFKJp4A2IBx4B5lkdqvtfb8+HYpMxp3Pl1qLvXW/vWkli16/3dFxTi58ZRcChwIYf3hWBIRchoiHiotWj5AVkpIXi4xLjxiaiJR/T5ehoomcnZ+EGamqq6VGoK+pGqxCtaiiuJVBu7yaHrk4pxqwxMUzwcKbyrPMzZG90NGDrh/JH8t72dq3IN1jfCHb3L/e5ebh4ukmxyDn6O8g08jt7tf26ybz+m/W9GNXzUQ9fm1Q/APoSWAhhfkMAmpEbRhFKwsvCsmosRIHx444PoKcIXKkjIImjTzjkQAAIfkEBQUABAAsAgA8AEIAQgAAA/VIBNz+8KlJq72Yxs1d/uDVjVxogmQqnaylvkArT7A63/V47/m2/8CgcEgsGo/IpHLJbDqf0Kh0Sj0FroGqDMvVmrjgrDcTBo8v5fCZki6vCW33Oq4+0832O/at3+f7fICBdzsChgJGeoWHhkV0P4yMRG1BkYeOeECWl5hXQ5uNIAOjA1KgiKKko1CnqBmqqk+nIbCkTq20taVNs7m1vKAnurtLvb6wTMbHsUq4wrrFwSzDzcrLtknW16tI2tvERt6pv0fi48jh5h/U6Zs77EXSN/BE8jP09ZFA+PmhP/xvJgAMSGBgQINvEK5ReIZhQ3QEMTBLAAAh+QQFBQAEACwCAB8AMABXAAAD50i6DA4syklre87qTbHn4OaNYSmNqKmiqVqyrcvBsazRpH3jmC7yD98OCBF2iEXjBKmsAJsWHDQKmw571l8my+16v+CweEwum8+hgHrNbrvbtrd8znbR73MVfg838f8BeoB7doN0cYZvaIuMjY6PkJGSk2gClgJml5pjmp2YYJ6dX6GeXaShWaeoVqqlU62ir7CXqbOWrLafsrNctjIDwAMWvC7BwRWtNsbGFKc+y8fNsTrQ0dK3QtXAYtrCYd3eYN3c49/a5NVj5eLn5u3s6e7x8NDo9fbL+Mzy9/T5+tvUzdN3Zp+GBAAh+QQJBQAEACwCAAIAfAB8AAAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdArcQK2TOL7/nl4PSMwIfcUk5YhUOh3M5nNKiOaoWCuWqt1Ou16l9RpOgsvEMdocXbOZ7nQ7DjzTaeq7zq6P5fszfIASAYUBIYKDDoaGIImKC4ySH3OQEJKYHZWWi5iZG0ecEZ6eHEOio6SfqCaqpaytrpOwJLKztCO2jLi1uoW8Ir6/wCHCxMG2x7muysukzb230M6H09bX2Nna29zd3t/g4cAC5OXm5+jn3Ons7eba7vHt2fL16tj2+QL0+vXw/e7WAUwnrqDBgwgTKlzIsKHDh2gGSBwAccHEixAvaqTYcFCjRoYeNyoM6REhyZIHT4o0qPIjy5YTTcKUmHImx5cwE85cmJPnSYckK66sSAAj0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gwxZJAAA7')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"40px 40px"},M={position:"absolute",width:"100%",height:"100%",display:"none",background:"rgba(0,0,0,0.4)",backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAByBJREFUeNrlXFlIVV0U3vsaaINmZoX0YAR6y8oGMkKLoMESSjBoUJEoIogoIggigoryIQoKGqi3Roh6TKGBIkNEe6hMgzTNKLPSUlMrNdvrf/juurlP5zpc7znb+r+X755pn7W+Pe+9zpVimIEUKVKJiUIKKWRqKs5OmwZOTBQkSFBUFK5HR+tPt7WBOzpwX3U1jquqwGVleK6iQkoppSQy7a8xEBERLVwIPnsWXF9PrqCxEXzxInjpUrDH47YO0h2hw8JwtG4deN8+8OzZA0vl7Vt/iZZCCtnUhPPt7fp9o0fjvpgYHHu9uD8+Hsdsh52hggTV1uLg2DHwpUvSIz3S093ttE4hB5qSxYuRAc+f910im5vBFy6As7LALORQ7RgzBullZIBPngQ3NPRt1+vXeH7NGtN69u8oERFFRIDPnQMrZe8YZ0huLhwMDzdjb1gYC4zj4uKAeaFIkbpxAwfWvse48FOngp89s7eeS1p2Nlg63vQF7Y8iRWrlSthZXR2wZhAR0dy55gwlIqI5c8AfPtgbeuUKHIqKMi3soP3z1UzwiRP2NbqtDbxsmXuGacK3tOgG/fwJ3rbNtIDO+J2ZiQzp6ND97uzE+RUrHDaAmxprif/+HQasXm1aKKcBPxcsADc1/VEjFClS8+eH7oXcuSpSpJ480V/Y0wPOyjItjNtgofWmiPHuHa7Hxg79RUT0e1Rjxb/X1ASnDw9vf/3S9bl1K/iEFSlSixbZdz7Xr5t2fLgBuuTn2xfUjRsHmVBYGNg6gWpo+FtHNU4DuowYAZ3Ky+11GzOm/4SIiGjDBvuczM52zAHua4iI6OpVcGEheO1a8PCdP/j9CNRyKFKk9u4doBDWCRXXBOcE0GekgVBUhPuSk00LPTAdCwp0+3n0GBER4AFenbQiJ8cdg7dvpwGB5xunT4PHjTMtuL0/qan29q9fH+AB62jnyxe31moGlwFWNDbCzq1bcez+snLffr14odtrMzrCBet6/Pnz7hoabAZY8fgxT5iGRwbs36/b19kJHjnS49+BEkIIMXmy/vjt26YdCA4pKdgHKC2Fo5cvh2xiFBTu3NGPw8Ox/5CW5tG3/hi8VffokRmDQwUeNOTlwc/KSmRIbq67djx9Cm5p+W2akEKmpfnaSt5zZdTXY8+0udmQcg5h0iQwD3MfPgRPn+7UG6GjUjiqrNSver0eVIWEBP85EiSIN7H/dSxZAuY1roMHHRt02OqamOhrgnoN46SQQn76ZFoad8Hj8kOH4D/PZJOSQvYKW11jYnxNkHWK3NFhWhKz8HrB9+7xaCU06fYKIiBBgiIjfRlgHTf/j+NlNMTFgceOHXJSJEgQ9wXCVyOk9AlvLfEDWDT6X+DAAXSiHz8OOSkppJCRkfrJ9vYR+NHaql8wNV42jVevUFJ37kQ8kHX8PlRMmOD/SYIEtbZ69IAkvsATs38dP36ADx8GJyc7IzyD+xbhqxE1Nb4a8PKlfiE+HsOxyEgYZI1A+9tRUADetQtNTF2dU29CJ84Twhkz9KtVVb4+oKxMvxAWxjM101KFBvX1qNmbNkHwNWucFl4HT/QmTvSfIkGCSks9HC2MsxxzyTekp5uWLjh0dYHz88FeL2ry5ctm7LHq2NMD7rXUg6rC0cKM9+/BfQS1hghDXg1VpEjdvasvLpqHf3VWs/P+/QA3Lltm75jz8T7BZQAvn9tscJgWXpEiNWuWvd2bNwcQwONbnq6p0R8oLnYnA7Zs6Vvw7m7Yd/z4gDe5DQH2Xrum29/SwoObfh7cts1egFWrnDU4Lg785g2Ytx4LC2H4zJmmhe3XD5+dsJsD1xhHjgwwgfBwPFBXpydQXe3uFqXzfU9o7ZUSXFRkX/IHMcENGKXgixY27fBwA8TZudO+5dixY4gJ37xpyQVfvEtmpmnHTQMFMiUFevBeL6OkZMg1GQlER4P5wwTGt29g65bmvw/4HShanD+5mjIlxC+cNw/cKxqYw7RDHZY9TOEXXpEiVVurC8+jtJUrnTNAkSK1fDle2NWlG9DeDs7IMC2UM35zU2Mt8Urhel6eywalp+vCMzhM++hRDlo1LeCg/dNGNdy5Wtt4LvEuCv+HodqHCu/e2Y8Cyss5aNW0sAPzh8fx1uEkgyMGHWxqgjM8NhYGWoNSraMnvm6+89aXDHjmap1AMUpKcD9/+D2MAYNzcsD9fRDNsZMcwsedfehiPJFeUhJ4925wWVnfdvFHiDt2gEM/MXT+rwp47UMKKeT27Ti7Zw+YA6UCgbdKKyr8cTVSSCEbG3Ge/5yDwWtD48fjfv6rAl7C6LUeb4uvX8FnzuD5U6ewjP35s9M6uQaUJP4Qgz8E4SbJ2sk5BV5jevAAvHmzqS9/hs0XJxBi1CgOWtVjVnlHKSEB16Oj/wgoE0L8LsFcM169AldV8Q4UjouKULKtNch9/AdsEf6XQYgIsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0xMlQxMTo1NjowNSswODowMGcMj/QAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMTJUMTE6NTY6MDUrMDg6MDAWUTdIAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9wZHMzeWYxNGczYi9ib2Zhbmcuc3Zn11us5wAAAABJRU5ErkJggg==')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"48px 48px",cursor:"pointer"},E={position:"absolute",top:0,height:"100%",display:"flex",alignItems:"center"},S={display:"none",position:"relative",fontSize:"13px",color:"#fff",lineHeight:"20px",marginLeft:"5px",marginRight:"5px",userSelect:"none"},k={display:"none",position:"relative",width:"16px",height:"16px",marginLeft:"8px",marginRight:"8px",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",cursor:"pointer"};O().setStyle(w,_),O().setStyle(n,{height:"38px",zIndex:11,position:"absolute",left:0,bottom:0,width:"100%",background:"rgba(0,0,0)"}),O().setStyle(p,A),O().setStyle(u,M),O().setStyle(m,{position:"absolute",width:"100%",top:"60%",textAlign:"center"}),O().setStyle(i,Object.assign({},E,{left:0})),O().setStyle(o,Object.assign({},E,{right:0})),O().setStyle(a,S),O().setStyle(s,S),O().setStyle(f,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII=')"})),O().setStyle(h,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII=')"})),O().setStyle(c,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC')"})),O().setStyle(d,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg==')"})),O().setStyle(l,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg==')"})),O().setStyle(b,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg==')"})),O().setStyle(g,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg==')"})),O().setStyle(v,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg==')"})),O().setStyle(y,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg==')"})),p.appendChild(m),t._opt.text&&(i.appendChild(a),e.textDom=a),t._opt.showBandwidth&&(i.appendChild(s),e.speedDom=s),t._opt.operateBtns.record&&(o.appendChild(y),o.appendChild(v),e.recordingDom=y,e.recordDom=v),t._opt.operateBtns.screenshot&&(o.appendChild(c),e.screenshotsDom=c),t._opt.operateBtns.play&&(o.appendChild(f),o.appendChild(h),e.playDom=f,e.pauseDom=h),t._opt.operateBtns.audio&&(o.appendChild(g),o.appendChild(b),e.playAudioDom=g,e.quietAudioDom=b),t._opt.operateBtns.fullscreen&&(o.appendChild(d),o.appendChild(l),e.fullscreenDom=d,e.minScreenDom=l),n.appendChild(i),n.appendChild(o),r.appendChild(w),e.bgDom=w,r.appendChild(p),e.loadingDom=p,t._showControl()&&r.appendChild(n),t._opt.operateBtns.play&&(r.appendChild(u),e.playBigDom=u),t.$container.appendChild(r),t.$doms=e,t._removeContainerChild=()=>{for(;t.$container.firstChild;)t.$container.removeChild(t.$container.firstChild)},W().default(t),O().$hideBtns(t.$doms),t._opt.isNotMute||t._mute()},r(H,"default",(function(){return G}))),H}var V,Z,$=!1;function X(){return $||($=!0,V={},y(),O(),Z=t=>{const e=new Worker(t._opt.decoder);e.onmessage=r=>{const n=r.data;switch(n.cmd){case y().CMD_TYPE.init:t.setBufferTime(t._opt.videoBuffer),e.postMessage({cmd:y().POST_MESSAGE.init,opt:JSON.stringify(t._opt),sampleRate:t._audioContext.sampleRate}),t._hasLoaded||(t._hasLoaded=!0,t.onLoad(),t._trigger(y().EVEMTS.load));break;case y().CMD_TYPE.initSize:t.$canvasElement.width=n.w,t.$canvasElement.height=n.h,t.onInitSize(),t._resize(),t._trigger(y().EVEMTS.videoInfo,{w:n.w,h:n.h}),t._trigger(y().EVEMTS.start),t._supportOffscreen()&&(t._bitmaprenderer=t.$canvasElement.getContext("bitmaprenderer"));break;case y().CMD_TYPE.render:t.loading&&(t.loading=!1,t.playing=!0,t._clearCheckLoading()),t.playing&&(t._supportOffscreen()?t._bitmaprenderer.transferFromImageBitmap(n.buffer):t._contextGLRender(t.$canvasElement.width,t.$canvasElement.height,n.output[0],n.output[1],n.output[2])),t._trigger(y().EVEMTS.timeUpdate,n.ts),t.onTimeUpdate(n.ts),t._updateStats({buf:n.delay,ts:n.ts}),t._checkHeart();break;case y().CMD_TYPE.playAudio:t.playing&&!t.quieting&&t._playAudio(n.buffer);break;case y().CMD_TYPE.print:t.onLog(n.text),t._trigger(y().EVEMTS.log,n.text);break;case y().CMD_TYPE.printErr:t.onLog(n.text),t._trigger(y().EVEMTS.log,n.text),t.onError(n.text),t._trigger(y().EVEMTS.error,n.text);break;case y().CMD_TYPE.initAudioPlanar:t._initAudioPlanar(n),t._trigger(y().EVEMTS.audioInfo,{numOfChannels:n.channels,sampleRate:n.samplerate});break;case y().CMD_TYPE.kBps:t.playing&&(t.$doms.speedDom&&(t.$doms.speedDom.innerText=O().bpsSize(n.kBps)),t._trigger(y().EVEMTS.kBps,n.kBps));default:t[n.cmd]&&t[n.cmd](n)}},t._decoderWorker=e},r(V,"default",(function(){return Z}))),V}var J,Q,tt=!1;function et(){return tt||(tt=!0,J={},O(),y(),Q=t=>{t._loading=!0,t._recording=!1,t._playing=!1,t._audioPlaying=!1,t._quieting=!1,t._fullscreen=!1,t._stats={buf:0,fps:0,abps:"",vbps:"",ts:""},t._hasLoaded=!1,t._playUrl="",t._startBpsTime="",t._bps=0,t._checkHeartTimeout=null,t._wakeLock=null,t._contextGL=null,t._contextGLRender=null,t._checkLoadingTimeout=null,t._bitmaprenderer=null,t._isPlayingBeforePageHidden=!1,t._initCheckVariable=()=>{t._startBpsTime="",t._bps=0,t._clearCheckHeartTimeout(),t._clearCheckLoading()},t._clearCheckHeartTimeout=()=>{t._checkHeartTimeout&&(clearTimeout(t._checkHeartTimeout),t._checkHeartTimeout=null)},t._startCheckHeartTimeout=()=>{t._checkHeartTimeout=setTimeout((function(){t._trigger(y().EVEMTS.timeout),t.recording=!1,t.playing=!1,t._close()}),1e3*t._opt.timeout)},t._clearCheckLoading=()=>{t._checkLoadingTimeout&&(clearTimeout(t._checkLoadingTimeout),t._checkLoadingTimeout=null)},t._checkLoading=()=>{t._clearCheckLoading(),t._checkLoadingTimeout=setTimeout((()=>{t._trigger(y().EVEMTS.timeout),t.playing=!1,t._close(),O().$domToggle(t.$doms.loadingDom,!1)}),1e3*t._opt.timeout)}},r(J,"default",(function(){return Q}))),J}var rt,nt,it=!1;function ot(){return it||(it=!0,rt={},O(),nt=t=>{t.onPlay=O().noop,t.onPause=O().noop,t.onRecord=O().noop,t.onFullscreen=O().noop,t.onMute=O().noop,t.onLoad=O().noop,t.onLog=O().noop,t.onError=O().noop,t.onTimeUpdate=O().noop,t.onInitSize=O().noop},r(rt,"default",(function(){return nt}))),rt}var at,st,ft=!1;function ut(){return ft||(ft=!0,st=t=>{t._on=(e,r)=>{let n,i,o;if(!r)return t;for(n=t.__events||(t.__events={}),e=e.split(/\s+/);i=e.shift();)o=n[i]||(n[i]=[]),o.push(r);return t},t._off=()=>{let e;return(e=t.__events)?(delete t.__events,t):t},t._trigger=(e,...r)=>{function n(t,e){if(t)for(let r=0,n=t.length;r{t._pause=()=>{t._close(),t.loading&&O().$domToggle(t.$doms.loadingDom,!1),t.recording=!1,t.playing=!1},t._play=e=>{if(!t._playUrl&&!e)return;let r=!1;e?(t._playUrl&&(t._close(),r=!0,t.clearView()),t.loading=!0,O().$domToggle(t.$doms.bgDom,!1),t._checkLoading(),t._playUrl=e):t._playUrl&&(t.loading?(O().$hideBtns(t.$doms),O().$domToggle(t.$doms.fullscreenDom,!0),O().$domToggle(t.$doms.pauseDom,!0),O().$domToggle(t.$doms.loadingDom,!0),t._checkLoading()):t.playing=!0),t._initCheckVariable(),r?setTimeout((()=>{t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.play,url:t._playUrl})}),300):t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.play,url:t._playUrl})},t._screenshot=(e,r,n)=>{e=e||O().now();const i={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let o=.92;void 0!==n&&(o=Number(n));const a=t.$canvasElement.toDataURL(i[r]||i.png,o);O().downloadImg(O().dataURLToFile(a),e)},t._close=()=>{t._close$2(),t._clearView()},t._close$2=()=>{t._opt.debug&&console.log("_close$2-START"),t._closeAudio&&t._closeAudio(),t._audioPlayBuffers=[],t._audioPlaying=!1,t._decoderWorker.postMessage({cmd:y().POST_MESSAGE.close}),delete t._playAudio,t._releaseWakeLock(),t._initCheckVariable(),t._opt.debug&&console.log("_close$2-END")},t._releaseWakeLock=()=>{t._wakeLock&&(t._wakeLock.release(),t._wakeLock=null)},t._clearView=()=>{t._contextGL&&t._contextGL.clear(t._contextGL.COLOR_BUFFER_BIT)},t._resize=()=>{let e=t.$container.clientWidth,r=t.$container.clientHeight;t._showControl()&&(r-=38);let n=t.$canvasElement.width,i=t.$canvasElement.height;const o=t._opt.rotate;let a=(e-n)/2,s=(r-i)/2;270!==o&&90!==o||(n=t.$canvasElement.height,i=t.$canvasElement.width);let f=e/n,u=r/i,h=f>u?u:f;t._opt.isResize||f!==u&&(h=f+","+u),t._opt.isFullResize&&(h=f>u?f:u);let c="scale("+h+")";o&&(c+=" rotate("+o+"deg)"),t.$canvasElement.style.transform=c,t.$canvasElement.style.left=a+"px",t.$canvasElement.style.top=s+"px"},t._enableWakeLock=()=>{t._opt.keepScreenOn&&"wakeLock"in navigator&&navigator.wakeLock.request("screen").then((e=>{t._wakeLock=e}))},t._supportOffscreen=()=>!t._opt.forceNoOffscreen&&"function"==typeof t.$canvasElement.transferControlToOffscreen,t._checkHeart=()=>{t._clearCheckHeartTimeout(),t._startCheckHeartTimeout()},t._updateStats=e=>{e=e||{},t._startBpsTime||(t._startBpsTime=O().now());const r=O().now();r-t._startBpsTime<1e3?t._stats.fps+=1:(t._stats.ts=e.ts,t._stats.buf=e.buf,t._trigger(y().EVEMTS.stats,t._stats),t._trigger(y().EVEMTS.performance,O().fpsStatus(t._stats.fps)),t._trigger(y().EVEMTS.buffer,O().bufferStatus(t._stats.buf,1e3*t._opt.videoBuffer)),t._stats.fps=0,t._startBpsTime=r)},t._onfullscreenchange=()=>{t.fullscreen=O().checkFull()},t._handleVisibilityChange=()=>{t._opt.hiddenAutoPause&&(t._opt.debug&&console.log(document.visibilityState,t._isPlayingBeforePageHidden),"visible"===document.visibilityState?t._isPlayingBeforePageHidden&&t._play():(t._isPlayingBeforePageHidden=t.playing,t.playing&&t._pause()))},t._handleWakeLock=()=>{null!==t._wakeLock&&"visible"===document.visibilityState&&t._enableWakeLock()}},r(ht,"default",(function(){return ct}))),ht}var pt,mt,bt=!1;function gt(){return bt||(bt=!0,pt={},et(),ot(),ut(),lt(),mt=t=>{et().default(t),ot().default(t),ut().default(t),lt().default(t)},r(pt,"default",(function(){return mt}))),pt}var vt,yt=!1;var wt,_t,At,Mt,Et,St,kt,Bt,Tt=!1;function Rt(){throw new Error("setTimeout has not been defined")}function xt(){throw new Error("clearTimeout has not been defined")}function Ct(t){if(At===setTimeout)return setTimeout(t,0);if((At===Rt||!At)&&setTimeout)return At=setTimeout,setTimeout(t,0);try{return At(t,0)}catch(e){try{return At.call(null,t,0)}catch(e){return At.call(this,t,0)}}}function It(){St&&kt&&(St=!1,kt.length?Et=kt.concat(Et):Bt=-1,Et.length&&Dt())}function Dt(){if(!St){var t=Ct(It);St=!0;for(var e=Et.length;e;){for(kt=Et,Et=[];++Bt1)for(var r=1;r0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function Kt(t){var e,r,n=Yt(t),i=n[0],o=n[1],a=new Ft(function(t,e,r){return 3*(e+r)/4-r}(0,i,o)),s=0,f=o>0?i-4:i;for(r=0;r>16&255,a[s++]=e>>8&255,a[s++]=255&e;return 2===o&&(e=zt[t.charCodeAt(r)]<<2|zt[t.charCodeAt(r+1)]>>4,a[s++]=255&e),1===o&&(e=zt[t.charCodeAt(r)]<<10|zt[t.charCodeAt(r+1)]<<4|zt[t.charCodeAt(r+2)]>>2,a[s++]=e>>8&255,a[s++]=255&e),a}function Vt(t,e,r){for(var n,i,o=[],a=e;a>18&63]+Nt[i>>12&63]+Nt[i>>6&63]+Nt[63&i]);return o.join("")}function Zt(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,s=r-n;as?s:a+o));return 1===n?(e=t[r-1],i.push(Nt[e>>2]+Nt[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(Nt[e>>10]+Nt[e>>4&63]+Nt[e<<2&63]+"=")),i.join("")}function $t(){return Gt||(Gt=!0,function(){for((Ut={}).toByteArray=Kt,jt=Zt,Ut.fromByteArray=jt,Nt=[],zt=[],Ft="undefined"!=typeof Uint8Array?Uint8Array:Array,Wt=0,Ht=(qt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").length;Wt*/ +(Xt={}).read=function(t,e,r,n,i){var o,a,s=8*i-n-1,f=(1<>1,h=-7,c=r?i-1:0,d=r?-1:1,l=t[e+c];for(c+=d,o=l&(1<<-h)-1,l>>=-h,h+=s;h>0;o=256*o+t[e+c],c+=d,h-=8);for(a=o&(1<<-h)-1,o>>=-h,h+=n;h>0;a=256*a+t[e+c],c+=d,h-=8);if(0===o)o=1-u;else{if(o===f)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,n),o-=u}return(l?-1:1)*a*Math.pow(2,o-n)},Jt=function(t,e,r,n,i,o){var a,s,f,u=8*o-i-1,h=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-a))<1&&(a--,f*=2),(e+=a+c>=1?d/f:d*Math.pow(2,1-c))*f>=2&&(a++,f/=2),a+c>=h?(s=0,a=h):a+c>=1?(s=(e*f-1)*Math.pow(2,i),a+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),a=0));i>=8;t[r+l]=255&s,l+=p,s/=256,i-=8);for(a=a<0;t[r+l]=255&a,l+=p,a/=256,u-=8);t[r+l-p]|=128*m},Xt.write=Jt),Xt}var ee,re,ne,ie,oe,ae,se,fe,ue,he=!1;function ce(t){if(t>oe)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,de.prototype),e}function de(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return me(t)}return le(t,e,r)}function le(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!de.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|we(t,e),n=ce(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(He(t,Uint8Array)){var e=new Uint8Array(t);return ge(e.buffer,e.byteOffset,e.byteLength)}return be(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(He(t,ArrayBuffer)||t&&He(t.buffer,ArrayBuffer))return ge(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(He(t,SharedArrayBuffer)||t&&He(t.buffer,SharedArrayBuffer)))return ge(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return de.from(n,e,r);var i=function(t){if(de.isBuffer(t)){var e=0|ve(t.length),r=ce(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Ge(t.length)?ce(0):be(t);if("Buffer"===t.type&&Array.isArray(t.data))return be(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return de.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function pe(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function me(t){return pe(t),ce(t<0?0:0|ve(t))}function be(t){for(var e=t.length<0?0:0|ve(t.length),r=ce(e),n=0;n=oe)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+oe.toString(16)+" bytes");return 0|t}function ye(t){return+t!=t&&(t=0),de.alloc(+t)}function we(t,e){if(de.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||He(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Fe(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return qe(t).length;default:if(i)return n?-1:Fe(t).length;e=(""+e).toLowerCase(),i=!0}}function _e(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return Pe(this,e,r);case"utf8":case"utf-8":return Ce(this,e,r);case"ascii":return Ie(this,e,r);case"latin1":case"binary":return De(this,e,r);case"base64":return xe(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function Ae(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Me(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Ge(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=de.from(e,n)),de.isBuffer(e))return 0===e.length?-1:Ee(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Ee(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ee(t,e,r,n,i){var o,a=1,s=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,f/=2,r/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var h=-1;for(o=r;os&&(r=s-f),o=r;o>=0;o--){for(var c=!0,d=0;di&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function xe(t,e,r){return 0===e&&r===t.length?$t().fromByteArray(t):$t().fromByteArray(t.slice(e,r))}function Ce(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+c<=r)switch(c){case 1:u<128&&(h=u);break;case 2:128==(192&(o=t[i+1]))&&(f=(31&u)<<6|63&o)>127&&(h=f);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(f=(15&u)<<12|(63&o)<<6|63&a)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(f=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&f<1114112&&(h=f)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=c}return function(t){var e=t.length;if(e<=se)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nn)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function Ue(t,e,r,n,i,o){if(!de.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function je(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ne(t,e,r,n,i){return e=+e,r>>>=0,i||je(t,0,r,4),te().write(t,e,r,n,23,4),r+4}function ze(t,e,r,n,i){return e=+e,r>>>=0,i||je(t,0,r,8),te().write(t,e,r,n,52,8),r+8}function Fe(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function qe(t){return $t().toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(fe,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function We(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function He(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Ge(t){return t!=t}function Ye(){ee={},$t(),te(),re="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null,ne=de,ee.Buffer=ne,ie=ye,ee.SlowBuffer=ie,50,ee.INSPECT_MAX_BYTES=50,ae=oe=2147483647,ee.kMaxLength=ae,de.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),de.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(de.prototype,"parent",{enumerable:!0,get:function(){if(de.isBuffer(this))return this.buffer}}),Object.defineProperty(de.prototype,"offset",{enumerable:!0,get:function(){if(de.isBuffer(this))return this.byteOffset}}),de.poolSize=8192,de.from=function(t,e,r){return le(t,e,r)},Object.setPrototypeOf(de.prototype,Uint8Array.prototype),Object.setPrototypeOf(de,Uint8Array),de.alloc=function(t,e,r){return function(t,e,r){return pe(t),t<=0?ce(t):void 0!==e?"string"==typeof r?ce(t).fill(e,r):ce(t).fill(e):ce(t)}(t,e,r)},de.allocUnsafe=function(t){return me(t)},de.allocUnsafeSlow=function(t){return me(t)},de.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==de.prototype},de.compare=function(t,e){if(He(t,Uint8Array)&&(t=de.from(t,t.offset,t.byteLength)),He(e,Uint8Array)&&(e=de.from(e,e.offset,e.byteLength)),!de.isBuffer(t)||!de.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);in.length?de.from(o).copy(n,i):Uint8Array.prototype.set.call(n,o,i);else{if(!de.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i)}i+=o.length}return n},de.byteLength=we,de.prototype._isBuffer=!0,de.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e50&&(t+=" ... "),""},re&&(de.prototype[re]=de.prototype.inspect),de.prototype.compare=function(t,e,r,n,i){if(He(t,Uint8Array)&&(t=de.from(t,t.offset,t.byteLength)),!de.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),f=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return Se(this,t,e,r);case"utf8":case"utf-8":return ke(this,t,e,r);case"ascii":case"latin1":case"binary":return Be(this,t,e,r);case"base64":return Te(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Re(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},de.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},se=4096,de.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},de.prototype.readUint8=de.prototype.readUInt8=function(t,e){return t>>>=0,e||Le(t,1,this.length),this[t]},de.prototype.readUint16LE=de.prototype.readUInt16LE=function(t,e){return t>>>=0,e||Le(t,2,this.length),this[t]|this[t+1]<<8},de.prototype.readUint16BE=de.prototype.readUInt16BE=function(t,e){return t>>>=0,e||Le(t,2,this.length),this[t]<<8|this[t+1]},de.prototype.readUint32LE=de.prototype.readUInt32LE=function(t,e){return t>>>=0,e||Le(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},de.prototype.readUint32BE=de.prototype.readUInt32BE=function(t,e){return t>>>=0,e||Le(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},de.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},de.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||Le(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},de.prototype.readInt8=function(t,e){return t>>>=0,e||Le(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},de.prototype.readInt16LE=function(t,e){t>>>=0,e||Le(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},de.prototype.readInt16BE=function(t,e){t>>>=0,e||Le(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},de.prototype.readInt32LE=function(t,e){return t>>>=0,e||Le(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},de.prototype.readInt32BE=function(t,e){return t>>>=0,e||Le(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},de.prototype.readFloatLE=function(t,e){return t>>>=0,e||Le(t,4,this.length),te().read(this,t,!0,23,4)},de.prototype.readFloatBE=function(t,e){return t>>>=0,e||Le(t,4,this.length),te().read(this,t,!1,23,4)},de.prototype.readDoubleLE=function(t,e){return t>>>=0,e||Le(t,8,this.length),te().read(this,t,!0,52,8)},de.prototype.readDoubleBE=function(t,e){return t>>>=0,e||Le(t,8,this.length),te().read(this,t,!1,52,8)},de.prototype.writeUintLE=de.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},de.prototype.writeUint8=de.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,255,0),this[e]=255&t,e+1},de.prototype.writeUint16LE=de.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},de.prototype.writeUint16BE=de.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},de.prototype.writeUint32LE=de.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},de.prototype.writeUint32BE=de.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},de.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);Ue(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},de.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);Ue(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},de.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},de.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},de.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},de.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},de.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},de.prototype.writeFloatLE=function(t,e,r){return Ne(this,t,e,!0,r)},de.prototype.writeFloatBE=function(t,e,r){return Ne(this,t,e,!1,r)},de.prototype.writeDoubleLE=function(t,e,r){return ze(this,t,e,!0,r)},de.prototype.writeDoubleBE=function(t,e,r){return ze(this,t,e,!1,r)},de.prototype.copy=function(t,e,r,n){if(!de.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o2){var f=n.lastIndexOf("/");if(f!==n.length-1){-1===f?(n="",i=0):i=(n=n.slice(0,f)).length-1-n.lastIndexOf("/"),o=s,a=0;continue}}else if(2===n.length||1===n.length){n="",i=0,o=s,a=0;continue}e&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+t.slice(o+1,s):n=t.slice(o+1,s),i=s-o-1;o=s,a=0}else 46===r&&-1!==a?++a:a=-1}return n}function Qe(){return $e||($e=!0,Ve={},Lt(),(Ze={resolve:function(){for(var t,e="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var i;n>=0?i=arguments[n]:(void 0===t&&(t=Lt().cwd()),i=t),Xe(i),0!==i.length&&(e=i+"/"+e,r=47===i.charCodeAt(0))}return e=Je(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(Xe(t),0===t.length)return".";var e=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=Je(t,!e)).length||e||(t="."),t.length>0&&r&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return Xe(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":Ze.normalize(t)},relative:function(t,e){if(Xe(t),Xe(e),t===e)return"";if((t=Ze.resolve(t))===(e=Ze.resolve(e)))return"";for(var r=1;rs){if(47===e.charCodeAt(o+u))return e.slice(o+u+1);if(0===u)return e.slice(o+u)}else i>s&&(47===t.charCodeAt(r+u)?f=u:0===u&&(f=0));break}var h=t.charCodeAt(r+u);if(h!==e.charCodeAt(o+u))break;47===h&&(f=u)}var c="";for(u=r+f+1;u<=n;++u)u!==n&&47!==t.charCodeAt(u)||(0===c.length?c+="..":c+="/..");return c.length>0?c+e.slice(o+f):(o+=f,47===e.charCodeAt(o)&&++o,e.slice(o))},_makeLong:function(t){return t},dirname:function(t){if(Xe(t),0===t.length)return".";for(var e=t.charCodeAt(0),r=47===e,n=-1,i=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!i){n=o;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"//":t.slice(0,n)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');Xe(t);var r,n=0,i=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var a=e.length-1,s=-1;for(r=t.length-1;r>=0;--r){var f=t.charCodeAt(r);if(47===f){if(!o){n=r+1;break}}else-1===s&&(o=!1,s=r+1),a>=0&&(f===e.charCodeAt(a)?-1==--a&&(i=r):(a=-1,i=s))}return n===i?i=s:-1===i&&(i=t.length),t.slice(n,i)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!o){n=r+1;break}}else-1===i&&(o=!1,i=r+1);return-1===i?"":t.slice(n,i)},extname:function(t){Xe(t);for(var e=-1,r=0,n=-1,i=!0,o=0,a=t.length-1;a>=0;--a){var s=t.charCodeAt(a);if(47!==s)-1===n&&(i=!1,n=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!i){r=a+1;break}}return-1===e||-1===n||0===o||1===o&&e===n-1&&e===r+1?"":t.slice(e,n)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+t+n:n}("/",t)},parse:function(t){Xe(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var r,n=t.charCodeAt(0),i=47===n;i?(e.root="/",r=1):r=0;for(var o=-1,a=0,s=-1,f=!0,u=t.length-1,h=0;u>=r;--u)if(47!==(n=t.charCodeAt(u)))-1===s&&(f=!1,s=u+1),46===n?-1===o?o=u:1!==h&&(h=1):-1!==o&&(h=-1);else if(!f){a=u+1;break}return-1===o||-1===s||0===h||1===h&&o===s-1&&o===a+1?-1!==s&&(e.base=e.name=0===a&&i?t.slice(1,s):t.slice(a,s)):(0===a&&i?(e.name=t.slice(1,o),e.base=t.slice(1,s)):(e.name=t.slice(a,o),e.base=t.slice(a,s)),e.ext=t.slice(o,s)),a>0?e.dir=t.slice(0,a-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null}).posix=Ze,Ve=Ze),Ve}var tr,er=!1;function rr(){return er||(er=!0,tr={}),tr}var nr,ir,or,ar,sr=!1;function fr(t,e){for(var r in t)e[r]=t[r]}function ur(t,e,r){return ar(t,e,r)}function hr(){return sr||(sr=!0,nr={},or=Ke(),(ar=or.Buffer).from&&ar.alloc&&ar.allocUnsafe&&ar.allocUnsafeSlow?nr=or:(fr(or,nr),ir=ur,nr.Buffer=ir),ur.prototype=Object.create(ar.prototype),fr(ar,ur),ur.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return ar(t,e,r)},ur.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=ar(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},ur.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return ar(t)},ur.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return or.SlowBuffer(t)}),nr}var cr,dr,lr,pr,mr,br=!1;function gr(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}function vr(t,e){if(t>lr)throw new RangeError("requested too many random bytes");var r=pr.allocUnsafe(t);if(t>0)if(t>dr)for(var n=0;n0&&a.length>i&&!a.warned){a.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=t,f.type=e,f.count=a.length,s=f,console&&console.warn&&console.warn(s)}return t}function Pr(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Or(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Pr.bind(n);return i.listener=r,n.wrapFn=i,i}function Lr(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var s=i[t];if(void 0===s)return!1;if("function"==typeof s)Sr(s,this,e);else{var f=s.length,u=jr(s,f);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},xr.prototype.listeners=function(t){return Lr(this,t,!0)},xr.prototype.rawListeners=function(t){return Lr(this,t,!1)},xr.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Ur.call(t,e)},xr.prototype.listenerCount=Ur,xr.prototype.eventNames=function(){return this._eventsCount>0?kr(this._events):[]}),Mr}var zr,Fr=!1;function qr(){return Fr||(Fr=!0,zr={},zr=Nr().EventEmitter),zr}var Wr,Hr,Gr,Yr,Kr=!1;function Vr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Zr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function $r(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return Hr.alloc(0);for(var e,r,n,i=Hr.allocUnsafe(t>>>0),o=this.head,a=0;o;)e=o.data,r=i,n=a,Hr.prototype.copy.call(e,r,n),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=Hr.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:Yr,value:function(t,e){return Gr(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function pn(){return cn||(cn=!0,fn={},un={},dn("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),dn("ERR_INVALID_ARG_TYPE",(function(t,e,r){var n,i,o,a;if("string"==typeof e&&(i="not ",e.substr(!o||o<0?0:+o,i.length)===i)?(n="must not be",e=e.replace(/^not /,"")):n="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))a="The ".concat(t," ").concat(n," ").concat(ln(e,"type"));else{var s=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";a='The "'.concat(t,'" ').concat(s," ").concat(n," ").concat(ln(e,"type"))}return a+". Received type ".concat(typeof r)}),TypeError),dn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),dn("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),dn("ERR_STREAM_PREMATURE_CLOSE","Premature close"),dn("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),dn("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),dn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),dn("ERR_STREAM_WRITE_AFTER_END","write after end"),dn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),dn("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),dn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),hn=un,fn.codes=hn),fn}var mn,bn,gn=!1;function vn(t,e,r,n){var i=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,n,r);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new bn(n?r:"highWaterMark",i);return Math.floor(i)}return t.objectMode?16:16384}function yn(){return gn||(gn=!0,mn={},bn=pn().codes.ERR_INVALID_OPT_VALUE,mn={getHighWaterMark:vn}),mn}var wn,_n=!1;function An(t,e){if(Mn("noDeprecation"))return t;var r=!1;return function(){if(!r){if(Mn("throwDeprecation"))throw new Error(e);Mn("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}function Mn(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}function En(){return _n||(_n=!0,wn={},wn=An),wn}var Sn,kn,Bn,Tn,Rn,xn,Cn,In,Dn,Pn,On,Ln,Un,jn,Nn,zn,Fn,qn,Wn=!1;function Hn(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}function Gn(){}function Yn(t,e,r){kn=kn||li(),t=t||{},"boolean"!=typeof r&&(r=e instanceof kn),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Cn(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=!1===t.decodeStrings;this.decodeStrings=!n,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new On;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(Lt().nextTick(i,n),Lt().nextTick(ti,t,e),t._writableState.errorEmitted=!0,Fn(t,n)):(i(n),t._writableState.errorEmitted=!0,Fn(t,n),ti(t,e))}(t,r,n,e,i);else{var o=Jn(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Xn(t,r),n?Lt().nextTick($n,t,r,o,i):$n(t,r,o,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Hn(this)}function Kn(t){var e=this instanceof(kn=kn||li());if(!e&&!qn.call(Kn,this))return new Kn(t);this._writableState=new Yn(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),Tn.call(this)}function Vn(t,e,r,n,i,o){if(!r){var a=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=Rn.from(e,r)),e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var f=e.length-1))throw new zn(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Kn.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Kn.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Kn.prototype._write=function(t,e,r){r(new Pn("_write()"))},Kn.prototype._writev=null,Kn.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,ti(t,e),r&&(e.finished?Lt().nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(Kn.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Kn.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Kn.prototype.destroy=sn().destroy,Kn.prototype._undestroy=sn().undestroy,Kn.prototype._destroy=function(t,e){e(t)}}function ri(){return Wn||(Wn=!0,ei()),Sn}var ni,ii,oi,ai,si,fi,ui=!1;function hi(t){if(!(this instanceof hi))return new hi(t);oi.call(this,t),ri().call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",ci)))}function ci(){this._writableState.ended||Lt().nextTick(di,this)}function di(t){t.end()}function li(){return ui||(ui=!0,function(){for(ni={},Lt(),ii=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e},ni=hi,oi=Go(),ri(),Ar()(hi,oi),ai=ii(ri().prototype),si=0;si>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function _i(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function Ai(t,e){var r=function(t,e,r){var n=e.length-1;if(n=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}function Mi(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function Ei(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function Si(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function ki(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Bi(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Ti(t){return t.toString(this.encoding)}function Ri(t){return t&&t.length?this.write(t):""}function xi(){return vi||(vi=!0,pi={},mi=hr().Buffer,bi=mi.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},gi=yi,pi.StringDecoder=gi,yi.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===fo.prototype||(e=function(t){return fo.from(t)}(e)),n)a.endEmitted?Mo(t,new yo):xo(t,a,e,!0);else if(a.ended)Mo(t,new go);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?xo(t,a,e,!1):Po(t,a)):xo(t,a,e,!1)}else n||(a.reading=!1,Po(t,a));return!a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=So?t=So:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function Io(t){var e=t._readableState;co("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(co("emitReadable",e.flowing),e.emittedReadable=!0,Lt().nextTick(Do,t))}function Do(t){var e=t._readableState;co("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,No(t)}function Po(t,e){e.readingMore||(e.readingMore=!0,Lt().nextTick(Oo,t,e))}function Oo(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Uo(t){co("readable nexttick read 0"),t.read(0)}function jo(t,e){co("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),No(t),e.flowing&&!e.reading&&t.read(0)}function No(t){var e=t._readableState;for(co("flow",e.flowing);e.flowing&&null!==t.read(););}function zo(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Fo(t){var e=t._readableState;co("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,Lt().nextTick(qo,e,t))}function qo(t,e){if(co("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function Wo(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return co("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Fo(this):Io(this),null;if(0===(t=Co(t,e))&&e.ended)return 0===e.length&&Fo(this),null;var n,i=e.needReadable;return co("need readable",i),(0===e.length||e.length-t0?zo(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Fo(this)),null!==n&&this.emit("data",n),n},To.prototype._read=function(t){Mo(this,new vo("_read()"))},To.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,co("pipe count=%d opts=%j",n.pipesCount,e);var i=(!e||!1!==e.end)&&t!==Lt().stdout&&t!==Lt().stderr?a:l;function o(e,i){co("onunpipe"),e===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,co("cleanup"),t.removeListener("close",c),t.removeListener("finish",d),t.removeListener("drain",s),t.removeListener("error",h),t.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",l),r.removeListener("data",u),f=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||s())}function a(){co("onend"),t.end()}n.endEmitted?Lt().nextTick(i):r.once("end",i),t.on("unpipe",o);var s=function(t){return function(){var e=t._readableState;co("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&ao(t,"data")&&(e.flowing=!0,No(t))}}(r);t.on("drain",s);var f=!1;function u(e){co("ondata");var i=t.write(e);co("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==Wo(n.pipes,t))&&!f&&(co("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){co("onerror",e),l(),t.removeListener("error",h),0===ao(t,"error")&&Mo(t,e)}function c(){t.removeListener("finish",d),l()}function d(){co("onfinish"),t.removeListener("close",c),l()}function l(){co("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",c),t.once("finish",d),t.emit("pipe",r),n.flowing||(co("pipe resume"),r.resume()),t},To.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,co("on readable",n.length,n.reading),n.length?Io(this):n.reading||Lt().nextTick(Uo,this))),r},To.prototype.addListener=To.prototype.on,To.prototype.removeListener=function(t,e){var r=so.prototype.removeListener.call(this,t,e);return"readable"===t&&Lt().nextTick(Lo,this),r},To.prototype.removeAllListeners=function(t){var e=so.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||Lt().nextTick(Lo,this),e},To.prototype.resume=function(){var t=this._readableState;return t.flowing||(co("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,Lt().nextTick(jo,t,e))}(this,t)),t.paused=!1,this},To.prototype.pause=function(){return co("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(co("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},To.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(co("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(co("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o0,(function(t){n||(n=t),t&&o.forEach(va),a||(o.forEach(va),i(n))}))}));return e.reduce(ya)}function Aa(){return ma||(ma=!0,ha={},da=pn().codes,la=da.ERR_MISSING_ARGS,pa=da.ERR_STREAM_DESTROYED,ha=_a),ha}var Ma,Ea,Sa,ka,Ba,Ta,Ra,xa,Ca,Ia,Da=!1;function Pa(){return Da||(Da=!0,Ea={},Ma=Ea=Go(),Sa=Ma,Ea.Stream=Sa,ka=Ma,Ea.Readable=ka,Ba=ri(),Ea.Writable=Ba,Ta=li(),Ea.Duplex=Ta,Ra=ia(),Ea.Transform=Ra,xa=ua(),Ea.PassThrough=xa,Ca=Li(),Ea.finished=Ca,Ia=Aa(),Ea.pipeline=Ia),Ea}var Oa,La,Ua,ja=!1;function Na(t){Ua.call(this),this._block=La.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}function za(){Oa={},La=hr().Buffer,Ua=Pa().Transform,Ar()(Na,Ua),Na.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},Na.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},Na.prototype.update=function(t,e){if(function(t,e){if(!La.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");La.isBuffer(t)||(t=La.from(t,e));for(var r=this._block,n=0;this._blockOffset+t.length-n>=this._blockSize;){for(var i=this._blockOffset;i0;++o)this._length[o]+=a,(a=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*a);return this},Na.prototype._update=function(){throw new Error("_update is not implemented")},Na.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},Na.prototype._digest=function(){throw new Error("_digest is not implemented")},Oa=Na}function Fa(){return ja||(ja=!0,za()),Oa}var qa,Wa,Ha,Ga,Ya,Ka=!1;function Va(){Ha.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Za(t,e){return t<>>32-e}function $a(t,e,r,n,i,o,a){return Za(t+(e&r|~e&n)+i+o|0,a)+e|0}function Xa(t,e,r,n,i,o,a){return Za(t+(e&n|r&~n)+i+o|0,a)+e|0}function Ja(t,e,r,n,i,o,a){return Za(t+(e^r^n)+i+o|0,a)+e|0}function Qa(t,e,r,n,i,o,a){return Za(t+(r^(e|~n))+i+o|0,a)+e|0}function ts(){return Ka||(Ka=!0,qa={},Wa=Ar(),Ha=Fa(),Ga=hr().Buffer,Ya=new Array(16),Wa(Va,Ha),Va.prototype._update=function(){for(var t=Ya,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=$a(r,n,i,o,t[0],3614090360,7),o=$a(o,r,n,i,t[1],3905402710,12),i=$a(i,o,r,n,t[2],606105819,17),n=$a(n,i,o,r,t[3],3250441966,22),r=$a(r,n,i,o,t[4],4118548399,7),o=$a(o,r,n,i,t[5],1200080426,12),i=$a(i,o,r,n,t[6],2821735955,17),n=$a(n,i,o,r,t[7],4249261313,22),r=$a(r,n,i,o,t[8],1770035416,7),o=$a(o,r,n,i,t[9],2336552879,12),i=$a(i,o,r,n,t[10],4294925233,17),n=$a(n,i,o,r,t[11],2304563134,22),r=$a(r,n,i,o,t[12],1804603682,7),o=$a(o,r,n,i,t[13],4254626195,12),i=$a(i,o,r,n,t[14],2792965006,17),r=Xa(r,n=$a(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=Xa(o,r,n,i,t[6],3225465664,9),i=Xa(i,o,r,n,t[11],643717713,14),n=Xa(n,i,o,r,t[0],3921069994,20),r=Xa(r,n,i,o,t[5],3593408605,5),o=Xa(o,r,n,i,t[10],38016083,9),i=Xa(i,o,r,n,t[15],3634488961,14),n=Xa(n,i,o,r,t[4],3889429448,20),r=Xa(r,n,i,o,t[9],568446438,5),o=Xa(o,r,n,i,t[14],3275163606,9),i=Xa(i,o,r,n,t[3],4107603335,14),n=Xa(n,i,o,r,t[8],1163531501,20),r=Xa(r,n,i,o,t[13],2850285829,5),o=Xa(o,r,n,i,t[2],4243563512,9),i=Xa(i,o,r,n,t[7],1735328473,14),r=Ja(r,n=Xa(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=Ja(o,r,n,i,t[8],2272392833,11),i=Ja(i,o,r,n,t[11],1839030562,16),n=Ja(n,i,o,r,t[14],4259657740,23),r=Ja(r,n,i,o,t[1],2763975236,4),o=Ja(o,r,n,i,t[4],1272893353,11),i=Ja(i,o,r,n,t[7],4139469664,16),n=Ja(n,i,o,r,t[10],3200236656,23),r=Ja(r,n,i,o,t[13],681279174,4),o=Ja(o,r,n,i,t[0],3936430074,11),i=Ja(i,o,r,n,t[3],3572445317,16),n=Ja(n,i,o,r,t[6],76029189,23),r=Ja(r,n,i,o,t[9],3654602809,4),o=Ja(o,r,n,i,t[12],3873151461,11),i=Ja(i,o,r,n,t[15],530742520,16),r=Qa(r,n=Ja(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=Qa(o,r,n,i,t[7],1126891415,10),i=Qa(i,o,r,n,t[14],2878612391,15),n=Qa(n,i,o,r,t[5],4237533241,21),r=Qa(r,n,i,o,t[12],1700485571,6),o=Qa(o,r,n,i,t[3],2399980690,10),i=Qa(i,o,r,n,t[10],4293915773,15),n=Qa(n,i,o,r,t[1],2240044497,21),r=Qa(r,n,i,o,t[8],1873313359,6),o=Qa(o,r,n,i,t[15],4264355552,10),i=Qa(i,o,r,n,t[6],2734768916,15),n=Qa(n,i,o,r,t[13],1309151649,21),r=Qa(r,n,i,o,t[4],4149444226,6),o=Qa(o,r,n,i,t[11],3174756917,10),i=Qa(i,o,r,n,t[2],718787259,15),n=Qa(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},Va.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Ga.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},qa=Va),qa}var es,rs,ns,is,os,as,ss,fs,us,hs,cs,ds=!1;function ls(){is.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function ps(t,e){return t<>>32-e}function ms(t,e,r,n,i,o,a,s){return ps(t+(e^r^n)+o+a|0,s)+i|0}function bs(t,e,r,n,i,o,a,s){return ps(t+(e&r|~e&n)+o+a|0,s)+i|0}function gs(t,e,r,n,i,o,a,s){return ps(t+((e|~r)^n)+o+a|0,s)+i|0}function vs(t,e,r,n,i,o,a,s){return ps(t+(e&n|r&~n)+o+a|0,s)+i|0}function ys(t,e,r,n,i,o,a,s){return ps(t+(e^(r|~n))+o+a|0,s)+i|0}function ws(){return ds||(ds=!0,es={},rs=Ke().Buffer,ns=Ar(),is=Fa(),os=new Array(16),as=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ss=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],fs=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],us=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hs=[0,1518500249,1859775393,2400959708,2840853838],cs=[1352829926,1548603684,1836072691,2053994217,0],ns(ls,is),ls.prototype._update=function(){for(var t=os,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,a=0|this._e,s=0|this._a,f=0|this._b,u=0|this._c,h=0|this._d,c=0|this._e,d=0;d<80;d+=1){var l,p;d<16?(l=ms(r,n,i,o,a,t[as[d]],hs[0],fs[d]),p=ys(s,f,u,h,c,t[ss[d]],cs[0],us[d])):d<32?(l=bs(r,n,i,o,a,t[as[d]],hs[1],fs[d]),p=vs(s,f,u,h,c,t[ss[d]],cs[1],us[d])):d<48?(l=gs(r,n,i,o,a,t[as[d]],hs[2],fs[d]),p=gs(s,f,u,h,c,t[ss[d]],cs[2],us[d])):d<64?(l=vs(r,n,i,o,a,t[as[d]],hs[3],fs[d]),p=bs(s,f,u,h,c,t[ss[d]],cs[3],us[d])):(l=ys(r,n,i,o,a,t[as[d]],hs[4],fs[d]),p=ms(s,f,u,h,c,t[ss[d]],cs[4],us[d])),r=a,a=o,o=ps(i,10),i=n,n=l,s=c,c=h,h=ps(u,10),u=f,f=p}var m=this._b+i+h|0;this._b=this._c+o+c|0,this._c=this._d+a+s|0,this._d=this._e+r+f|0,this._e=this._a+n+u|0,this._a=m},ls.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=rs.alloc?rs.alloc(20):new rs(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},es=ls),es}var _s,As,Ms=!1;function Es(t,e){this._block=As.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}function Ss(){return Ms||(Ms=!0,_s={},As=hr().Buffer,Es.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=As.from(t,e));for(var r=this._block,n=this._blockSize,i=t.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Es.prototype._update=function(){throw new Error("_update must be implemented by subclass")},_s=Es),_s}var ks,Bs,Ts,Rs,xs,Cs,Is=!1;function Ds(){this.init(),this._w=Cs,Ts.call(this,64,56)}function Ps(t){return t<<30|t>>>2}function Os(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}function Ls(){return Is||(Is=!0,ks={},Bs=Ar(),Ts=Ss(),Rs=hr().Buffer,xs=[1518500249,1859775393,-1894007588,-899497514],Cs=new Array(80),Bs(Ds,Ts),Ds.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Ds.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=t.readInt32BE(4*f);for(;f<80;++f)r[f]=r[f-3]^r[f-8]^r[f-14]^r[f-16];for(var u=0;u<80;++u){var h=~~(u/20),c=0|((e=n)<<5|e>>>27)+Os(h,i,o,a)+s+r[u]+xs[h];s=a,a=o,o=Ps(i),i=n,n=c}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0},Ds.prototype._hash=function(){var t=Rs.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},ks=Ds),ks}var Us,js,Ns,zs,Fs,qs,Ws=!1;function Hs(){this.init(),this._w=qs,Ns.call(this,64,56)}function Gs(t){return t<<5|t>>>27}function Ys(t){return t<<30|t>>>2}function Ks(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}function Vs(){return Ws||(Ws=!0,Us={},js=Ar(),Ns=Ss(),zs=hr().Buffer,Fs=[1518500249,1859775393,-1894007588,-899497514],qs=new Array(80),js(Hs,Ns),Hs.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Hs.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0;f<16;++f)r[f]=t.readInt32BE(4*f);for(;f<80;++f)r[f]=(e=r[f-3]^r[f-8]^r[f-14]^r[f-16])<<1|e>>>31;for(var u=0;u<80;++u){var h=~~(u/20),c=Gs(n)+Ks(h,i,o,a)+s+r[u]+Fs[h]|0;s=a,a=o,o=Ys(i),i=n,n=c}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0},Hs.prototype._hash=function(){var t=zs.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},Us=Hs),Us}var Zs,$s,Xs,Js,Qs,tf,ef=!1;function rf(){this.init(),this._w=tf,Xs.call(this,64,56)}function nf(t,e,r){return r^t&(e^r)}function of(t,e,r){return t&e|r&(t|e)}function af(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function sf(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function ff(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function uf(){return ef||(ef=!0,Zs={},$s=Ar(),Xs=Ss(),Js=hr().Buffer,Qs=[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],tf=new Array(64),$s(rf,Xs),rf.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},rf.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,s=0|this._e,f=0|this._f,u=0|this._g,h=0|this._h,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<64;++c)r[c]=0|(((e=r[c-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[c-7]+ff(r[c-15])+r[c-16];for(var d=0;d<64;++d){var l=h+sf(s)+nf(s,f,u)+Qs[d]+r[d]|0,p=af(n)+of(n,i,o)|0;h=u,u=f,f=s,s=a+l|0,a=o,o=i,i=n,n=l+p|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0,this._f=f+this._f|0,this._g=u+this._g|0,this._h=h+this._h|0},rf.prototype._hash=function(){var t=Js.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},Zs=rf),Zs}var hf,cf,df,lf,pf,mf=!1;function bf(){this.init(),this._w=pf,Ss().call(this,64,56)}function gf(){return mf||(mf=!0,hf={},cf=Ar(),df=uf(),Ss(),lf=hr().Buffer,pf=new Array(64),cf(bf,df),bf.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},bf.prototype._hash=function(){var t=lf.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},hf=bf),hf}var vf,yf,wf,_f,Af,Mf,Ef=!1;function Sf(){this.init(),this._w=Mf,wf.call(this,128,112)}function kf(t,e,r){return r^t&(e^r)}function Bf(t,e,r){return t&e|r&(t|e)}function Tf(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Rf(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function xf(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Cf(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function If(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function Df(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function Pf(t,e){return t>>>0>>0?1:0}function Of(){return Ef||(Ef=!0,vf={},yf=Ar(),wf=Ss(),_f=hr().Buffer,Af=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Mf=new Array(160),yf(Sf,wf),Sf.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sf.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,s=0|this._fh,f=0|this._gh,u=0|this._hh,h=0|this._al,c=0|this._bl,d=0|this._cl,l=0|this._dl,p=0|this._el,m=0|this._fl,b=0|this._gl,g=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var y=e[v-30],w=e[v-30+1],_=xf(y,w),A=Cf(w,y),M=If(y=e[v-4],w=e[v-4+1]),E=Df(w,y),S=e[v-14],k=e[v-14+1],B=e[v-32],T=e[v-32+1],R=A+k|0,x=_+S+Pf(R,A)|0;x=(x=x+M+Pf(R=R+E|0,E)|0)+B+Pf(R=R+T|0,T)|0,e[v]=x,e[v+1]=R}for(var C=0;C<160;C+=2){x=e[C],R=e[C+1];var I=Bf(r,n,i),D=Bf(h,c,d),P=Tf(r,h),O=Tf(h,r),L=Rf(a,p),U=Rf(p,a),j=Af[C],N=Af[C+1],z=kf(a,s,f),F=kf(p,m,b),q=g+U|0,W=u+L+Pf(q,g)|0;W=(W=(W=W+z+Pf(q=q+F|0,F)|0)+j+Pf(q=q+N|0,N)|0)+x+Pf(q=q+R|0,R)|0;var H=O+D|0,G=P+I+Pf(H,O)|0;u=f,g=b,f=s,b=m,s=a,m=p,a=o+W+Pf(p=l+q|0,l)|0,o=i,l=d,i=n,d=c,n=r,c=h,r=W+G+Pf(h=q+H|0,q)|0}this._al=this._al+h|0,this._bl=this._bl+c|0,this._cl=this._cl+d|0,this._dl=this._dl+l|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+b|0,this._hl=this._hl+g|0,this._ah=this._ah+r+Pf(this._al,h)|0,this._bh=this._bh+n+Pf(this._bl,c)|0,this._ch=this._ch+i+Pf(this._cl,d)|0,this._dh=this._dh+o+Pf(this._dl,l)|0,this._eh=this._eh+a+Pf(this._el,p)|0,this._fh=this._fh+s+Pf(this._fl,m)|0,this._gh=this._gh+f+Pf(this._gl,b)|0,this._hh=this._hh+u+Pf(this._hl,g)|0},Sf.prototype._hash=function(){var t=_f.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},vf=Sf),vf}var Lf,Uf,jf,Nf,zf,Ff=!1;function qf(){this.init(),this._w=zf,Ss().call(this,128,112)}function Wf(){return Ff||(Ff=!0,Lf={},Uf=Ar(),jf=Of(),Ss(),Nf=hr().Buffer,zf=new Array(160),Uf(qf,jf),qf.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},qf.prototype._hash=function(){var t=Nf.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},Lf=qf),Lf}var Hf,Gf,Yf=!1;function Kf(){return Yf||(Yf=!0,Hf={},(Gf=Hf=function(t){t=t.toLowerCase();var e=Gf[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e}).sha=Ls(),Gf.sha1=Vs(),Gf.sha224=gf(),Gf.sha256=uf(),Gf.sha384=Wf(),Gf.sha512=Of()),Hf}var Vf,Zf,$f,Xf,Jf=!1;function Qf(t){$f.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}function tu(){return Jf||(Jf=!0,Vf={},Zf=hr().Buffer,$f=Pa().Transform,Xf=xi().StringDecoder,Ar()(Qf,$f),Qf.prototype.update=function(t,e,r){"string"==typeof t&&(t=Zf.from(t,e));var n=this._update(t);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},Qf.prototype.setAutoPadding=function(){},Qf.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},Qf.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},Qf.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},Qf.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},Qf.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},Qf.prototype._finalOrDigest=function(t){var e=this.__final()||Zf.alloc(0);return t&&(e=this._toString(e,t,!0)),e},Qf.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new Xf(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},Vf=Qf),Vf}var eu,ru,nu,iu,ou,au,su=!1;function fu(t){au.call(this,"digest"),this._hash=t}function uu(){return su||(su=!0,eu={},ru=Ar(),nu=ts(),iu=ws(),ou=Kf(),au=tu(),ru(fu,au),fu.prototype._update=function(t){this._hash.update(t)},fu.prototype._final=function(){return this._hash.digest()},eu=function(t){return"md5"===(t=t.toLowerCase())?new nu:"rmd160"===t||"ripemd160"===t?new iu:new fu(ou(t))}),eu}var hu,cu,du,lu,pu,mu,bu=!1;function gu(t,e){lu.call(this,"digest"),"string"==typeof e&&(e=du.from(e)),this._alg=t,this._key=e,e.length>mu?e=t(e):e.lengthr)?e=("rmd160"===t?new Ru:xu(t)).update(e).digest():e.lengthqu||e!=e)throw new TypeError("Bad key length")}),Fu}var Gu,Yu,Ku,Vu=!1;function Zu(){return Vu||(Vu=!0,Gu={},Lt(),t.process&&t.process.browser?Yu="utf-8":t.process&&t.process.version?(Ku=parseInt(Lt().version.split(".")[0].slice(1),10),Yu=Ku>=6?"utf-8":"binary"):Yu="utf-8",Gu=Yu),Gu}var $u,Xu,Ju=!1;function Qu(){return Ju||(Ju=!0,$u={},Xu=hr().Buffer,$u=function(t,e,r){if(Xu.isBuffer(t))return t;if("string"==typeof t)return Xu.from(t,e);if(ArrayBuffer.isView(t))return Xu.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}),$u}var th,eh,rh,nh,ih,oh,ah,sh,fh,uh,hh=!1;function ch(t,e,r){var n=function(t){function e(e){return nh(t).update(e).digest()}function r(t){return(new rh).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?eh:e}(t),i="sha512"===t||"sha384"===t?128:64;e.length>i?e=n(e):e.length>>0},Lh=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},Oh.writeUInt32BE=Lh,Uh=function(t,e,r,n){for(var i=0,o=0,a=6;a>=0;a-=2){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>>s+a&1}for(a=6;a>=0;a-=2){for(s=1;s<=25;s+=8)o<<=1,o|=e>>>s+a&1;for(s=1;s<=25;s+=8)o<<=1,o|=t>>>s+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.ip=Uh,jh=function(t,e,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var s=24;s>=0;s-=8)i<<=1,i|=e>>>s+a&1,i<<=1,i|=t>>>s+a&1;for(a=4;a<8;a++)for(s=24;s>=0;s-=8)o<<=1,o|=e>>>s+a&1,o<<=1,o|=t>>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.rip=jh,Nh=function(t,e,r,n){for(var i=0,o=0,a=7;a>=5;a--){for(var s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(s=0;s<=24;s+=8)i<<=1,i|=t>>s+a&1}for(s=0;s<=24;s+=8)i<<=1,i|=e>>s+a&1;for(a=1;a<=3;a++){for(s=0;s<=24;s+=8)o<<=1,o|=e>>s+a&1;for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1}for(s=0;s<=24;s+=8)o<<=1,o|=t>>s+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.pc1=Nh,zh=function(t,e){return t<>>28-e},Oh.r28shl=zh,Fh=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24],qh=function(t,e,r,n){for(var i=0,o=0,a=Fh.length>>>1,s=0;s>>Fh[s]&1;for(s=a;s>>Fh[s]&1;r[n+0]=i>>>0,r[n+1]=o>>>0},Oh.pc2=qh,Wh=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)n<<=6,n|=t>>>o&63;for(o=11;o>=3;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0},Oh.expand=Wh,Hh=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11],Gh=function(t,e){for(var r=0,n=0;n<4;n++)r<<=4,r|=Hh[64*n+(t>>>18-6*n&63)];for(n=0;n<4;n++)r<<=4,r|=Hh[256+64*n+(e>>>18-6*n&63)];return r>>>0},Oh.substitute=Gh,Yh=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7],Kh=function(t){for(var e=0,r=0;r>>Yh[r]&1;return e>>>0},Oh.permute=Kh,Vh=function(t,e,r){for(var n=t.toString(2);n.length0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},nc.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},nc.prototype._pad=function(t,e){if(0===e)return!1;for(;e>>1];r=$h().r28shl(r,o),n=$h().r28shl(n,o),$h().pc2(r,n,t.keys,i)}},cc.prototype._update=function(t,e,r,n){var i=this._desState,o=$h().readUInt32BE(t,e),a=$h().readUInt32BE(t,e+4);$h().ip(o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,o,a,i.tmp,0):this._decrypt(i,o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],$h().writeUInt32BE(r,o,n),$h().writeUInt32BE(r,a,n+4)},cc.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n>>0,o=c}$h().rip(a,o,n,i)},cc.prototype._decrypt=function(t,e,r,n,i){for(var o=r,a=e,s=t.keys.length-2;s>=0;s-=2){var f=t.keys[s],u=t.keys[s+1];$h().expand(o,t.tmp,0),f^=t.tmp[0],u^=t.tmp[1];var h=$h().substitute(f,u),c=o;o=(a^$h().permute(h))>>>0,a=c}$h().rip(o,a,n,i)}),oc}var lc,pc,mc,bc,gc=!1;function vc(t){tc().equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e>o%8,t._prev=Ad(t._prev,r?n:i);return a}function Ad(t,e){var r=t.length,n=-1,i=vd.allocUnsafe(t.length);for(t=vd.concat([t,vd.from([e])]);++n>7;return i}function Md(){return wd||(wd=!0,gd={},vd=hr().Buffer,yd=function(t,e,r){for(var n=e.length,i=vd.allocUnsafe(n),o=-1;++o>>24]^h[p>>>16&255]^c[m>>>8&255]^d[255&b]^e[g++],a=u[p>>>24]^h[m>>>16&255]^c[b>>>8&255]^d[255&l]^e[g++],s=u[m>>>24]^h[b>>>16&255]^c[l>>>8&255]^d[255&p]^e[g++],f=u[b>>>24]^h[l>>>16&255]^c[p>>>8&255]^d[255&m]^e[g++],l=o,p=a,m=s,b=f;return o=(n[l>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^e[g++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&l])^e[g++],s=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[l>>>8&255]<<8|n[255&p])^e[g++],f=(n[b>>>24]<<24|n[l>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[g++],[o>>>=0,a>>>=0,s>>>=0,f>>>=0]}function sl(t){this._key=il(t),this._reset()}function fl(){return nl||(nl=!0,Jd={},Qd=hr().Buffer,tl=[0,1,2,4,8,16,32,64,128,27,54],el=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,f=0;f<256;++f){var u=s^s<<1^s<<2^s<<3^s<<4;u=u>>>8^255&u^99,r[a]=u,n[u]=a;var h=t[a],c=t[h],d=t[c],l=257*t[u]^16843008*u;i[0][a]=l<<24|l>>>8,i[1][a]=l<<16|l>>>16,i[2][a]=l<<8|l>>>24,i[3][a]=l,l=16843009*d^65537*c^257*h^16843008*a,o[0][u]=l<<24|l>>>8,o[1][u]=l<<16|l>>>16,o[2][u]=l<<8|l>>>24,o[3][u]=l,0===a?a=s=1:(a=h^t[t[t[d^h]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}(),sl.blockSize=16,sl.keySize=32,sl.prototype.blockSize=sl.blockSize,sl.prototype.keySize=sl.keySize,sl.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=el.SBOX[a>>>24]<<24|el.SBOX[a>>>16&255]<<16|el.SBOX[a>>>8&255]<<8|el.SBOX[255&a],a^=tl[o/e|0]<<24):e>6&&o%e==4&&(a=el.SBOX[a>>>24]<<24|el.SBOX[a>>>16&255]<<16|el.SBOX[a>>>8&255]<<8|el.SBOX[255&a]),i[o]=i[o-e]^a}for(var s=[],f=0;f>>24]]^el.INV_SUB_MIX[1][el.SBOX[h>>>16&255]]^el.INV_SUB_MIX[2][el.SBOX[h>>>8&255]]^el.INV_SUB_MIX[3][el.SBOX[255&h]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=s},sl.prototype.encryptBlockRaw=function(t){return al(t=il(t),this._keySchedule,el.SUB_MIX,el.SBOX,this._nRounds)},sl.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=Qd.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},sl.prototype.decryptBlock=function(t){var e=(t=il(t))[1];t[1]=t[3],t[3]=e;var r=al(t,this._invKeySchedule,el.INV_SUB_MIX,el.INV_SBOX,this._nRounds),n=Qd.allocUnsafe(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[3],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[1],12),n},sl.prototype.scrub=function(){ol(this._keySchedule),ol(this._invKeySchedule),ol(this._key)},rl=sl,Jd.AES=rl),Jd}var ul,hl,cl,dl=!1;function ll(t){var e=hl.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function pl(t){this.h=t,this.state=hl.alloc(16,0),this.cache=hl.allocUnsafe(0)}function ml(){return dl||(dl=!0,ul={},hl=hr().Buffer,cl=hl.alloc(16,0),pl.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=ll(i)},pl.prototype.update=function(t){var e;for(this.cache=hl.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},pl.prototype.final=function(t,e){return this.cache.length&&this.ghash(hl.concat([this.cache,cl],16)),this.ghash(ll([0,t,0,e])),this.state},ul=pl),ul}var bl,gl,vl,yl,wl,_l,Al,Ml=!1;function El(t,e,r,n){vl.call(this);var i=gl.alloc(4,0);this._cipher=new(fl().AES)(e);var o=this._cipher.encryptBlock(i);this._ghash=new wl(o),r=function(t,e,r){if(12===e.length)return t._finID=gl.concat([e,gl.from([0,0,0,1])]),gl.concat([e,gl.from([0,0,0,2])]);var n=new wl(r),i=e.length,o=i%16;n.update(e),o&&(o=16-o,n.update(gl.alloc(o,0))),n.update(gl.alloc(8,0));var a=8*i,s=gl.alloc(8);s.writeUIntBE(a,0,8),n.update(s),t._finID=n.state;var f=gl.from(t._finID);return Al(f),f}(this,r,o),this._prev=gl.from(r),this._cache=gl.allocUnsafe(0),this._secCache=gl.allocUnsafe(0),this._decrypt=n,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}function Sl(){bl={},fl(),gl=hr().Buffer,vl=tu(),yl=Ar(),wl=ml(),_l=Xc(),Al=Pd(),yl(El,vl),El.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=gl.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},El.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=_l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i0||n>0;){var f=new Ol;f.update(s),f.update(t),e&&f.update(e),s=f.digest();var u=0;if(i>0){var h=o.length-i;u=Math.min(i,s.length),s.copy(o,h,0,u),i-=u}if(u0){var c=a.length-n,d=Math.min(n,s.length-u);s.copy(a,c,u,u+d),n-=d}}return s.fill(0),{key:o,iv:a}}function jl(){return Ll||(Ll=!0,Dl={},Pl=hr().Buffer,Ol=ts(),Dl=Ul),Dl}var Nl,zl,Fl,ql,Wl,Hl,Gl,Yl,Kl,Vl,Zl=!1;function $l(t,e,r){Hl.call(this),this._cache=new Xl,this._cipher=new(fl().AES)(e),this._prev=ql.from(r),this._mode=t,this._autopadding=!0}function Xl(){this.cache=ql.allocUnsafe(0)}function Jl(t,e,r){var n=zl[t.toLowerCase()];if(!n)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=ql.from(e)),e.length!==n.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=ql.from(r)),"GCM"!==n.mode&&r.length!==n.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===n.type?new Wl(n.module,e,r):"auth"===n.type?new Fl(n.module,e,r):new $l(n.module,e,r)}function Ql(t,e){var r=zl[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=Gl(e,!1,r.key,r.iv);return Jl(t,n.key,n.iv)}function tp(){return Zl||(Zl=!0,Nl={},zl=Xd(),Fl=kl(),ql=hr().Buffer,Wl=Il(),Hl=tu(),fl(),Gl=jl(),Ar()($l,Hl),$l.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return ql.concat(n)},Yl=ql.alloc(16,16),$l.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(Yl))throw this._cipher.scrub(),new Error("data not multiple of block length")},$l.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},Xl.prototype.add=function(t){this.cache=ql.concat([this.cache,t])},Xl.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},Xl.prototype.flush=function(){for(var t=16-this.cache.length,e=ql.allocUnsafe(t),r=-1;++r16)throw new Error("unable to decrypt data");for(var r=-1;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},dp.prototype.flush=function(){if(this.cache.length)return this.cache},fp=pp,ep.createDecipher=fp,up=lp,ep.createDecipheriv=up}function bp(){return hp||(hp=!0,mp()),ep}var gp,vp,yp,wp,_p,Ap,Mp,Ep,Sp,kp,Bp,Tp,Rp=!1;function xp(){return Object.keys(Mp)}function Cp(){return Rp||(Rp=!0,Ap={},tp(),bp(),Mp=Gd(),gp=tp().createCipher,Ep=Ap.Cipher=gp,Ap.createCipher=Ep,vp=tp().createCipheriv,Sp=Ap.Cipheriv=vp,Ap.createCipheriv=Sp,yp=bp().createDecipher,kp=Ap.Decipher=yp,Ap.createDecipher=kp,wp=bp().createDecipheriv,Bp=Ap.Decipheriv=wp,Ap.createDecipheriv=Bp,_p=xp,Tp=Ap.getCiphers=_p,Ap.listCiphers=Tp),Ap}var Ip,Dp,Pp,Op,Lp,Up,jp,Np,zp=!1;function Fp(){return zp||(zp=!0,(Pp={})["des-ecb"]={key:8,iv:0},Ip={key:8,iv:8},Op=Pp.des=Ip,Pp["des-cbc"]=Op,Dp={key:24,iv:8},Lp=Pp.des3=Dp,Pp["des-ede3-cbc"]=Lp,Up={key:24,iv:0},Pp["des-ede3"]=Up,jp={key:16,iv:8},Pp["des-ede-cbc"]=jp,Np={key:16,iv:0},Pp["des-ede"]=Np),Pp}var qp,Wp,Hp,Gp,Yp,Kp,Vp,Zp,$p,Xp,Jp,Qp,tm,em,rm,nm=!1;function im(t,e){var r,n;if(t=t.toLowerCase(),Zp[t])r=Zp[t].key,n=Zp[t].iv;else{if(!$p[t])throw new TypeError("invalid suite type");r=8*$p[t].key,n=$p[t].iv}var i=Xp(e,!1,r,n);return am(t,i.key,i.iv)}function om(t,e){var r,n;if(t=t.toLowerCase(),Zp[t])r=Zp[t].key,n=Zp[t].iv;else{if(!$p[t])throw new TypeError("invalid suite type");r=8*$p[t].key,n=$p[t].iv}var i=Xp(e,!1,r,n);return sm(t,i.key,i.iv)}function am(t,e,r){if(t=t.toLowerCase(),Zp[t])return Cp().createCipheriv(t,e,r);if($p[t])return new Vp({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function sm(t,e,r){if(t=t.toLowerCase(),Zp[t])return Cp().createDecipheriv(t,e,r);if($p[t])return new Vp({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}function fm(){return Object.keys($p).concat(Cp().getCiphers())}function um(){return nm||(nm=!0,Kp={},Vp=Wc(),Cp(),Zp=Xd(),$p=Fp(),Xp=jl(),qp=im,Jp=Kp.Cipher=qp,Kp.createCipher=Jp,Wp=am,Qp=Kp.Cipheriv=Wp,Kp.createCipheriv=Qp,Hp=om,tm=Kp.Decipher=Hp,Kp.createDecipher=tm,Gp=sm,em=Kp.Decipheriv=Gp,Kp.createDecipheriv=em,Yp=fm,rm=Kp.getCiphers=Yp,Kp.listCiphers=rm),Kp}var hm,cm=!1;function dm(){hm=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:rr().Buffer}catch(t){}function a(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?u[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var d=h[t],l=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(l).toString(t);n=(p=p.idivn(l)).isZero()?m+n:u[d-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,s,f="le"===e,u=new t(o),h=this.clone();if(f){for(s=0;!h.isZero();s++)a=h.andln(255),h.iushrn(8),u[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(l=d),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?l(this,t,e):r<63?d(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new A(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function g(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(t,e){t.iushrn(this.n,0,e)},g.prototype.imulK=function(t){return t.imul(this.k)},n(v,g),v.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return b[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new M(t)},n(M,A),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function lm(){return cm||(cm=!0,dm()),hm}var pm,mm,bm,gm=!1;function vm(t){this.rand=t}function ym(){return gm||(gm=!0,function(){if(pm={},pm=function(t){return mm||(mm=new vm(null)),mm.generate(t)},bm=vm,pm.Rand=bm,vm.prototype.generate=function(t){return this._rand(t)},vm.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r=0);return n},Mm.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},Mm.prototype.test=function(t,e,r){var n=t.bitLength(),i=_m.mont(t),o=new _m(1).toRed(i);e||(e=Math.max(1,n/48|0));for(var a=t.subn(1),s=0;!a.testn(s);s++);for(var f=t.shrn(s),u=a.toRed(i);e>0;e--){var h=this._randrange(new _m(2),a);r&&r(h);var c=h.toRed(i).redPow(f);if(0!==c.cmp(o)&&0!==c.cmp(u)){for(var d=1;d0;e--){var u=this._randrange(new _m(2),o),h=t.gcd(u);if(0!==h.cmpn(1))return h;var c=u.toRed(n).redPow(s);if(0!==c.cmp(i)&&0!==c.cmp(f)){for(var d=1;dt;)r.ishrn(1);if(r.isEven()&&r.iadd(Cm),r.testn(1)||r.iadd(Im),e.cmp(Im)){if(!e.cmp(Dm))for(;r.mod(Pm).cmp(Om);)r.iadd(Um)}else for(;r.mod(Tm).cmp(Lm);)r.iadd(Um);if(zm(n=r.shrn(1))&&zm(r)&&Fm(n)&&Fm(r)&&xm.test(n)&&xm.test(r))return r}}function Wm(){return Nm||(Nm=!0,Sm={},km=yr(),Sm=qm,qm.simpleSieve=zm,qm.fermatTest=Fm,Bm=lm(),Tm=new Bm(24),Rm=Em(),xm=new Rm,Cm=new Bm(1),Im=new Bm(2),Dm=new Bm(5),new Bm(16),new Bm(8),Pm=new Bm(10),Om=new Bm(3),new Bm(7),Lm=new Bm(11),Um=new Bm(4),new Bm(12),jm=null),Sm}var Hm,Gm=!1;function Ym(){return Gm||(Gm=!0,Hm={},Hm=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')),Hm}var Km,Vm,Zm,$m,Xm,Jm,Qm,tb,eb,rb,nb,ib,ob=!1;function ab(t,e){return e=e||"utf8",Vm.isBuffer(t)||(t=new Vm(t,e)),this._pub=new Zm(t),this}function sb(t,e){return e=e||"utf8",Vm.isBuffer(t)||(t=new Vm(t,e)),this._priv=new Zm(t),this}function fb(t,e,r){this.setGenerator(e),this.__prime=new Zm(t),this._prime=Zm.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=ab,this.setPrivateKey=sb):this._primeCode=8}function ub(t,e){var r=new Vm(t.toArray());return e?r.toString(e):r}function hb(){Km={},Vm=Ke().Buffer,Zm=lm(),$m=Em(),Xm=new $m,Jm=new Zm(24),Qm=new Zm(11),tb=new Zm(10),eb=new Zm(3),rb=new Zm(7),Wm(),nb=yr(),Km=fb,ib={},Object.defineProperty(fb.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),n=[r,t.toString(16)].join("_");if(n in ib)return ib[n];var i,o=0;if(t.isEven()||!Wm().simpleSieve||!Wm().fermatTest(t)||!Xm.test(t))return o+=1,o+="02"===r||"05"===r?8:4,ib[n]=o,o;switch(Xm.test(t.shrn(1))||(o+=2),r){case"02":t.mod(Jm).cmp(Qm)&&(o+=8);break;case"05":(i=t.mod(tb)).cmp(eb)&&i.cmp(rb)&&(o+=8);break;default:o+=4}return ib[n]=o,o}(this.__prime,this.__gen)),this._primeCode}}),fb.prototype.generateKeys=function(){return this._priv||(this._priv=new Zm(nb(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},fb.prototype.computeSecret=function(t){var e=(t=(t=new Zm(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new Vm(e.toArray()),n=this.getPrime();if(r.length=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,n,i){for(var o=0,a=0,s=Math.min(t.length,n),f=e;f=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&a0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){i.prototype.inspect=h}else i.prototype.inspect=h;function h(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?c[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],h=l[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(h).toString(t);n=(p=p.idivn(h)).isZero()?m+n:c[u-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r._strip()}i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return b(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?b(this,t,e):g(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,n+=o/67108864|0,n+=a>>>26,this.words[i]=67108863&a}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this._strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new S(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function A(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},n(_,w),_.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},_.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new _;else if("p224"===t)e=new A;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return y[t]=e,e},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}var Rb,xb,Cb,Ib,Db=!1;function Pb(t){var e,r=t.modulus.byteLength();do{e=new Cb(Ib(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function Ob(t,e){var r=function(t){var e=Pb(t);return{blinder:e.toRed(Cb.mont(t.modulus)).redPow(new Cb(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),n=e.modulus.byteLength(),i=new Cb(t).mul(r.blinder).umod(e.modulus),o=i.toRed(Cb.mont(e.prime1)),a=i.toRed(Cb.mont(e.prime2)),s=e.coefficient,f=e.prime1,u=e.prime2,h=o.redPow(e.exponent1).fromRed(),c=a.redPow(e.exponent2).fromRed(),d=h.isub(c).imul(s).umod(f).imul(u);return c.iadd(d).imul(r.unblinder).umod(e.modulus).toArrayLike(xb,"be",n)}function Lb(){Rb={},xb=Ke().Buffer,Bb||(Bb=!0,Tb()),Cb=kb,Ib=yr(),Ob.getr=Pb,Rb=Ob}function Ub(){return Db||(Db=!0,Lb()),Rb}var jb,Nb=!1;function zb(){return Nb||(Nb=!0,jb={},jb=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')),jb}var Fb,qb,Wb=!1;function Hb(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var n=0;n>8,a=255&i;o?r.push(o,a):r.push(a)}return r}function Gb(t){return 1===t.length?"0"+t:t}function Yb(t){for(var e="",r=0;r(i>>1)-1?(i>>1)-f:f,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n}function tg(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var a,s,f=t.andln(3)+i&3,u=e.andln(3)+o&3;3===f&&(f=-1),3===u&&(u=-1),a=0==(1&f)?0:3!==(n=t.andln(7)+i&7)&&5!==n||2!==u?f:-f,r[0].push(a),s=0==(1&u)?0:3!==(n=e.andln(7)+o&7)&&5!==n||2!==f?u:-u,r[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r}function eg(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}}function rg(t){return"string"==typeof t?Zb.toArray(t,"hex"):t}function ng(t){return new $b(t,"hex","le")}function ig(){return Jb||(Jb=!0,Zb=Vb={},$b=lm(),Xb=tc(),Kb(),Zb.assert=Xb,Zb.toArray=Kb().toArray,Zb.zero2=Kb().zero2,Zb.toHex=Kb().toHex,Zb.encode=Kb().encode,Zb.getNAF=Qb,Zb.getJSF=tg,Zb.cachedProperty=eg,Zb.parseBytes=rg,Zb.intFromLE=ng),Vb}var og,ag,sg,fg,ug,hg=!1;function cg(t,e){this.type=t,this.p=new ag(e.p,16),this.red=e.prime?ag.red(e.prime):ag.mont(this.p),this.zero=new ag(0).toRed(this.red),this.one=new ag(1).toRed(this.red),this.two=new ag(2).toRed(this.red),this.n=e.n&&new ag(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function dg(t,e){this.curve=t,this.type=e,this.precomputed=null}function lg(){return hg||(hg=!0,og={},ag=lm(),ig(),sg=ig().getNAF,fg=ig().getJSF,ug=ig().assert,og=cg,cg.prototype.point=function(){throw new Error("Not implemented")},cg.prototype.validate=function(){throw new Error("Not implemented")},cg.prototype._fixedNafMul=function(t,e){ug(t.precomputed);var r=t._getDoubles(),n=sg(e,1,this._bitLength),i=(1<=o;f--)a=(a<<1)+n[f];s.push(a)}for(var u=this.jpoint(null,null,null),h=this.jpoint(null,null,null),c=i;c>0;c--){for(o=0;o=0;s--){for(var f=0;s>=0&&0===o[s];s--)f++;if(s>=0&&f++,a=a.dblp(f),s<0)break;var u=o[s];ug(0!==u),a="affine"===t.type?u>0?a.mixedAdd(i[u-1>>1]):a.mixedAdd(i[-u-1>>1].neg()):u>0?a.add(i[u-1>>1]):a.add(i[-u-1>>1].neg())}return"affine"===t.type?a.toP():a},cg.prototype._wnafMulAdd=function(t,e,r,n,i){var o,a,s,f=this._wnafT1,u=this._wnafT2,h=this._wnafT3,c=0;for(o=0;o=1;o-=2){var l=o-1,p=o;if(1===f[l]&&1===f[p]){var m=[e[l],null,null,e[p]];0===e[l].y.cmp(e[p].y)?(m[1]=e[l].add(e[p]),m[2]=e[l].toJ().mixedAdd(e[p].neg())):0===e[l].y.cmp(e[p].y.redNeg())?(m[1]=e[l].toJ().mixedAdd(e[p]),m[2]=e[l].add(e[p].neg())):(m[1]=e[l].toJ().mixedAdd(e[p]),m[2]=e[l].toJ().mixedAdd(e[p].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],g=fg(r[l],r[p]);for(c=Math.max(g[0].length,c),h[l]=new Array(c),h[p]=new Array(c),a=0;a=0;o--){for(var A=0;o>=0;){var M=!0;for(a=0;a=0&&A++,w=w.dblp(A),o<0)break;for(a=0;a0?s=u[a][E-1>>1]:E<0&&(s=u[a][-E-1>>1].neg()),w="affine"===s.type?w.mixedAdd(s):w.add(s))}}for(o=0;o=Math.ceil((t.bitLength()+1)/e.step)},dg.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=e,a=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:i},{a:o,b:a}]},wg.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),f=i.mul(r.b),u=o.mul(n.b);return{k1:t.sub(a).sub(s),k2:f.add(u).neg()}},wg.prototype.pointFromX=function(t,e){(t=new mg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},wg.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},wg.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},_g.prototype.isInfinity=function(){return this.inf},_g.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},_g.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},_g.prototype.getX=function(){return this.x.fromRed()},_g.prototype.getY=function(){return this.y.fromRed()},_g.prototype.mul=function(t){return t=new mg(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},_g.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},_g.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},_g.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},_g.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},_g.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},bg(Ag,gg.BasePoint),wg.prototype.jpoint=function(t,e,r){return new Ag(this,t,e,r)},Ag.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},Ag.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ag.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),s=n.redSub(i),f=o.redSub(a);if(0===s.cmpn(0))return 0!==f.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),h=u.redMul(s),c=n.redMul(u),d=f.redSqr().redIAdd(h).redISub(c).redISub(c),l=f.redMul(c.redISub(d)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(s);return this.curve.jpoint(d,l,p)},Ag.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=a.redSqr(),u=f.redMul(a),h=r.redMul(f),c=s.redSqr().redIAdd(u).redISub(h).redISub(h),d=s.redMul(h.redISub(c)).redISub(i.redMul(u)),l=this.z.redMul(a);return this.curve.jpoint(c,d,l)},Ag.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Ag.prototype.inspect=function(){return this.isInfinity()?"":""},Ag.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}),pg}var Eg,Sg,kg,Bg,Tg=!1;function Rg(t){Bg.call(this,"mont",t),this.a=new Sg(t.a,16).toRed(this.red),this.b=new Sg(t.b,16).toRed(this.red),this.i4=new Sg(4).toRed(this.red).redInvm(),this.two=new Sg(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function xg(t,e,r){Bg.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Sg(e,16),this.z=new Sg(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}function Cg(){return Tg||(Tg=!0,Eg={},Sg=lm(),kg=Ar(),Bg=lg(),ig(),kg(Rg,Bg),Eg=Rg,Rg.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},kg(xg,Bg.BasePoint),Rg.prototype.decodePoint=function(t,e){return this.point(ig().toArray(t,e),1)},Rg.prototype.point=function(t,e){return new xg(this,t,e)},Rg.prototype.pointFromJSON=function(t){return xg.fromJSON(this,t)},xg.prototype.precompute=function(){},xg.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},xg.fromJSON=function(t,e){return new xg(t,e[0],e[1]||t.one)},xg.prototype.inspect=function(){return this.isInfinity()?"":""},xg.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},xg.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},xg.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),s=e.z.redMul(o.redAdd(a).redSqr()),f=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(s,f)},xg.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},xg.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},xg.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},xg.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},xg.prototype.getX=function(){return this.normalize(),this.x.fromRed()}),Eg}var Ig,Dg,Pg,Og,Lg,Ug=!1;function jg(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Og.call(this,"edwards",t),this.a=new Dg(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Dg(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Dg(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Lg(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function Ng(t,e,r,n,i){Og.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Dg(e,16),this.y=new Dg(r,16),this.z=n?new Dg(n,16):this.curve.one,this.t=i&&new Dg(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}function zg(){return Ug||(Ug=!0,Ig={},ig(),Dg=lm(),Pg=Ar(),Og=lg(),Lg=ig().assert,Pg(jg,Og),Ig=jg,jg.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},jg.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},jg.prototype.jpoint=function(t,e,r,n){return this.point(t,e,r,n)},jg.prototype.pointFromX=function(t,e){(t=new Dg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=this.c2.redSub(this.a.redMul(r)),i=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=n.redMul(i.redInvm()),a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var s=a.fromRed().isOdd();return(e&&!s||!e&&s)&&(a=a.redNeg()),this.point(t,a)},jg.prototype.pointFromY=function(t,e){(t=new Dg(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),n=r.redSub(this.c2),i=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(i.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var a=o.redSqrt();if(0!==a.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==e&&(a=a.redNeg()),this.point(a,t)},jg.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),n=e.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===n.cmp(i)},Pg(Ng,Og.BasePoint),jg.prototype.pointFromJSON=function(t){return Ng.fromJSON(this,t)},jg.prototype.point=function(t,e,r,n){return new Ng(this,t,e,r,n)},Ng.fromJSON=function(t,e){return new Ng(t,e[0],e[1],e[2])},Ng.prototype.inspect=function(){return this.isInfinity()?"":""},Ng.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Ng.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),s=n.redSub(e),f=i.redMul(a),u=o.redMul(s),h=i.redMul(s),c=a.redMul(o);return this.curve.point(f,u,c,h)},Ng.prototype._projDbl=function(){var t,e,r,n,i,o,a=this.x.redAdd(this.y).redSqr(),s=this.x.redSqr(),f=this.y.redSqr();if(this.curve.twisted){var u=(n=this.curve._mulA(s)).redAdd(f);this.zOne?(t=a.redSub(s).redSub(f).redMul(u.redSub(this.curve.two)),e=u.redMul(n.redSub(f)),r=u.redSqr().redSub(u).redSub(u)):(i=this.z.redSqr(),o=u.redSub(i).redISub(i),t=a.redSub(s).redISub(f).redMul(o),e=u.redMul(n.redSub(f)),r=u.redMul(o))}else n=s.redAdd(f),i=this.curve._mulC(this.z).redSqr(),o=n.redSub(i).redSub(i),t=this.curve._mulC(a.redISub(n)).redMul(o),e=this.curve._mulC(n).redMul(s.redISub(f)),r=n.redMul(o);return this.curve.point(t,e,r)},Ng.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Ng.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),s=i.redAdd(n),f=r.redAdd(e),u=o.redMul(a),h=s.redMul(f),c=o.redMul(f),d=a.redMul(s);return this.curve.point(u,h,d,c)},Ng.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),s=this.curve.d.redMul(o).redMul(a),f=i.redSub(s),u=i.redAdd(s),h=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),c=n.redMul(f).redMul(h);return this.curve.twisted?(e=n.redMul(u).redMul(a.redSub(this.curve._mulA(o))),r=f.redMul(u)):(e=n.redMul(u).redMul(a.redSub(o)),r=this.curve._mulC(f).redMul(u)),this.curve.point(c,e,r)},Ng.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Ng.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Ng.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Ng.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Ng.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Ng.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Ng.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Ng.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Ng.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Ng.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},Ng.prototype.toP=Ng.prototype.normalize,Ng.prototype.mixedAdd=Ng.prototype.add),Ig}var Fg,qg,Wg=!1;function Hg(){return Wg||(Wg=!0,(qg=Fg={}).base=lg(),qg.short=Mg(),qg.mont=Cg(),qg.edwards=zg()),Fg}var Gg,Yg,Kg,Vg,Zg,$g,Xg,Jg,Qg,tv,ev,rv,nv,iv,ov,av,sv,fv,uv,hv,cv,dv,lv,pv,mv,bv,gv,vv,yv,wv=!1;function _v(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Av(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i>6|192,r[n++]=63&o|128):_v(t,i)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++i)),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=63&o|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=63&o|128)}else for(i=0;i>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Sv(t,e){for(var r="",n=0;n>>0}return o}function Rv(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r}function xv(t,e){return t>>>e|t<<32-e}function Cv(t,e){return t<>>32-e}function Iv(t,e){return t+e>>>0}function Dv(t,e,r){return t+e+r>>>0}function Pv(t,e,r,n){return t+e+r+n>>>0}function Ov(t,e,r,n,i){return t+e+r+n+i>>>0}function Lv(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o}function Uv(t,e,r,n){return(e+n>>>0>>0}function jv(t,e,r,n){return e+n>>>0}function Nv(t,e,r,n,i,o,a,s){var f=0,u=e;return f+=(u=u+n>>>0)>>0)>>0)>>0}function zv(t,e,r,n,i,o,a,s){return e+n+o+s>>>0}function Fv(t,e,r,n,i,o,a,s,f,u){var h=0,c=e;return h+=(c=c+n>>>0)>>0)>>0)>>0)>>0}function qv(t,e,r,n,i,o,a,s,f,u){return e+n+o+s+u>>>0}function Wv(t,e,r){return(e<<32-r|t>>>r)>>>0}function Hv(t,e,r){return(t<<32-r|e>>>r)>>>0}function Gv(t,e,r){return t>>>r}function Yv(t,e,r){return(t<<32-r|e>>>r)>>>0}function Kv(){return wv||(wv=!0,Gg={},Yg=tc(),Kg=Ar(),Vg=Kg,Gg.inherits=Vg,Zg=Av,Gg.toArray=Zg,$g=Mv,Gg.toHex=$g,Xg=Ev,Gg.htonl=Xg,Jg=Sv,Gg.toHex32=Jg,Qg=kv,Gg.zero2=Qg,tv=Bv,Gg.zero8=tv,ev=Tv,Gg.join32=ev,rv=Rv,Gg.split32=rv,nv=xv,Gg.rotr32=nv,iv=Cv,Gg.rotl32=iv,ov=Iv,Gg.sum32=ov,av=Dv,Gg.sum32_3=av,sv=Pv,Gg.sum32_4=sv,fv=Ov,Gg.sum32_5=fv,uv=Lv,Gg.sum64=uv,hv=Uv,Gg.sum64_hi=hv,cv=jv,Gg.sum64_lo=cv,dv=Nv,Gg.sum64_4_hi=dv,lv=zv,Gg.sum64_4_lo=lv,pv=Fv,Gg.sum64_5_hi=pv,mv=qv,Gg.sum64_5_lo=mv,bv=Wv,Gg.rotr64_hi=bv,gv=Hv,Gg.rotr64_lo=gv,vv=Gv,Gg.shr64_hi=vv,yv=Yv,Gg.shr64_lo=yv),Gg}var Vv,Zv,$v,Xv=!1;function Jv(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}function Qv(){return Xv||(Xv=!0,Vv={},Kv(),Zv=tc(),$v=Jv,Vv.BlockHash=$v,Jv.prototype.update=function(t,e){if(t=Kv().toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=Kv().join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3}function by(t){return ey(t,17)^ey(t,19)^t>>>10}function gy(){return uy||(uy=!0,ty={},Kv(),ey=Kv().rotr32,ry=hy,ty.ft_1=ry,ny=cy,ty.ch32=ny,iy=dy,ty.maj32=iy,oy=ly,ty.s0_256=oy,ay=py,ty.s1_256=ay,sy=my,ty.g0_256=sy,fy=by,ty.g1_256=fy),ty}var vy,yy,wy,_y,Ay,My,Ey,Sy=!1;function ky(){if(!(this instanceof ky))return new ky;My.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}function By(){return Sy||(Sy=!0,vy={},Kv(),Qv(),gy(),yy=Kv().rotl32,wy=Kv().sum32,_y=Kv().sum32_5,Ay=gy().ft_1,My=Qv().BlockHash,Ey=[1518500249,1859775393,2400959708,3395469782],Kv().inherits(ky,My),vy=ky,ky.blockSize=512,ky.outSize=160,ky.hmacStrength=80,ky.padLength=64,ky.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),t_(t.length<=this.blockSize);for(var e=t.length;e=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}function M_(){return __||(__=!0,y_={},s_(),Kb(),w_=tc(),y_=A_,A_.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},A_.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=Kb().toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"}),E_}var x_,C_,I_,D_=!1;function P_(t,e){if(t instanceof P_)return t;this._importDER(t,e)||(I_(t.r&&t.s,"Signature without r or s"),this.r=new C_(t.r,16),this.s=new C_(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function O_(){this.place=0}function L_(t,e){var r=t[e.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,o=0,a=e.place;o>>=0;return!(i<=127)&&(e.place=a,i)}function U_(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}function N_(){return D_||(D_=!0,x_={},C_=lm(),ig(),I_=ig().assert,x_=P_,P_.prototype._importDER=function(t,e){t=ig().toArray(t,e);var r=new O_;if(48!==t[r.place++])return!1;var n=L_(t,r);if(!1===n)return!1;if(n+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var i=L_(t,r);if(!1===i)return!1;var o=t.slice(r.place,i+r.place);if(r.place+=i,2!==t[r.place++])return!1;var a=L_(t,r);if(!1===a)return!1;if(t.length!==a+r.place)return!1;var s=t.slice(r.place,a+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}return this.r=new C_(o),this.s=new C_(s),this.recoveryParam=null,!0},P_.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=U_(e),r=U_(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];j_(n,e.length),(n=n.concat(e)).push(2),j_(n,r.length);var i=n.concat(r),o=[48];return j_(o,i.length),o=o.concat(i),ig().encode(o,t)}),x_}var z_,F_,q_,W_,H_,G_,Y_,K_,V_=!1;function Z_(t){if(!(this instanceof Z_))return new Z_(t);"string"==typeof t&&(G_(Object.prototype.hasOwnProperty.call(W_,t),"Unknown curve "+t),t=W_[t]),t instanceof W_.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}function $_(){return V_||(V_=!0,z_={},F_=lm(),q_=M_(),ig(),W_=v_(),H_=ym(),G_=ig().assert,Y_=R_(),K_=N_(),z_=Z_,Z_.prototype.keyPair=function(t){return new Y_(this,t)},Z_.prototype.keyFromPrivate=function(t,e){return Y_.fromPrivate(this,t,e)},Z_.prototype.keyFromPublic=function(t,e){return Y_.fromPublic(this,t,e)},Z_.prototype.genKeyPair=function(t){t||(t={});for(var e=new q_({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||H_(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new F_(2));;){var i=new F_(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},Z_.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},Z_.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new F_(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),a=t.toArray("be",i),s=new q_({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),f=this.n.sub(new F_(1)),u=0;;u++){var h=n.k?n.k(u):new F_(s.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(f)>=0)){var c=this.g.mul(h);if(!c.isInfinity()){var d=c.getX(),l=d.umod(this.n);if(0!==l.cmpn(0)){var p=h.invm(this.n).mul(l.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(c.getY().isOdd()?1:0)|(0!==d.cmp(l)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new K_({r:l,s:p,recoveryParam:m})}}}}}},Z_.prototype.verify=function(t,e,r,n){t=this._truncateToN(new F_(t,16)),r=this.keyFromPublic(r,n);var i=(e=new K_(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),f=s.mul(t).umod(this.n),u=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(f,r.getPublic(),u)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(f,r.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},Z_.prototype.recoverPubKey=function(t,e,r,n){G_((3&r)===r,"The recovery param is more than two bits"),e=new K_(e,n);var i=this.n,o=new F_(t),a=e.r,s=e.s,f=1&r,u=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");a=u?this.curve.pointFromX(a.add(this.curve.n),f):this.curve.pointFromX(a,f);var h=e.r.invm(i),c=i.sub(o).mul(h).umod(i),d=s.mul(h).umod(i);return this.g.mulAdd(c,a,d)},Z_.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new K_(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}),z_}var X_,J_,Q_,tA,eA=!1;function rA(t,e){this.eddsa=t,this._secret=Q_(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=Q_(e.pub)}function nA(){return eA||(eA=!0,X_={},ig(),J_=ig().assert,Q_=ig().parseBytes,tA=ig().cachedProperty,rA.fromPublic=function(t,e){return e instanceof rA?e:new rA(t,{pub:e})},rA.fromSecret=function(t,e){return e instanceof rA?e:new rA(t,{secret:e})},rA.prototype.secret=function(){return this._secret},tA(rA,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),tA(rA,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),tA(rA,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,n=e.slice(0,t.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),tA(rA,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),tA(rA,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),tA(rA,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),rA.prototype.sign=function(t){return J_(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},rA.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},rA.prototype.getSecret=function(t){return J_(this._secret,"KeyPair is public only"),ig().encode(this.secret(),t)},rA.prototype.getPublic=function(t){return ig().encode(this.pubBytes(),t)},X_=rA),X_}var iA,oA,aA,sA,fA,uA=!1;function hA(t,e){this.eddsa=t,"object"!=typeof e&&(e=fA(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),aA(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof oA&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}function cA(){return uA||(uA=!0,iA={},oA=lm(),ig(),aA=ig().assert,sA=ig().cachedProperty,fA=ig().parseBytes,sA(hA,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),sA(hA,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),sA(hA,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),sA(hA,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),hA.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},hA.prototype.toHex=function(){return ig().encode(this.toBytes(),"hex").toUpperCase()},iA=hA),iA}var dA,lA,pA,mA,bA,gA=!1;function vA(t){if(pA("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof vA))return new vA(t);t=lA[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=s_().sha512}function yA(){return gA||(gA=!0,dA={},s_(),lA=v_(),ig(),pA=ig().assert,mA=ig().parseBytes,nA(),bA=cA(),dA=vA,vA.prototype.sign=function(t,e){t=mA(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),s=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:s,Rencoded:o})},vA.prototype.verify=function(t,e,r){t=mA(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},vA.prototype.hashInt=function(){for(var t=this.hash(),e=0;e=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function s(t,e,r){var n=a(t,r);return r-1>=e&&(n|=a(t,r-1)<<4),n}function f(t,e,n,i){for(var o=0,a=0,s=Math.min(t.length,n),f=e;f=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&a0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=s(t,e,n)<=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){i.prototype.inspect=h}else i.prototype.inspect=h;function h(){return(this.red?""}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?c[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],h=l[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(h).toString(t);n=(p=p.idivn(h)).isZero()?m+n:c[u-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;h+=(a=(i=0|t.words[p])*(o=0|e.words[l])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,f=0|h}return 0!==f?r.words[u]=0|f:r.length--,r._strip()}i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,l=0|a[1],p=8191&l,m=l>>>13,b=0|a[2],g=8191&b,v=b>>>13,y=0|a[3],w=8191&y,_=y>>>13,A=0|a[4],M=8191&A,E=A>>>13,S=0|a[5],k=8191&S,B=S>>>13,T=0|a[6],R=8191&T,x=T>>>13,C=0|a[7],I=8191&C,D=C>>>13,P=0|a[8],O=8191&P,L=P>>>13,U=0|a[9],j=8191&U,N=U>>>13,z=0|s[0],F=8191&z,q=z>>>13,W=0|s[1],H=8191&W,G=W>>>13,Y=0|s[2],K=8191&Y,V=Y>>>13,Z=0|s[3],$=8191&Z,X=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ht=0|s[8],ct=8191&ht,dt=ht>>>13,lt=0|s[9],pt=8191<,mt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(u+(n=Math.imul(c,F))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(d,F)|0))<<13)|0;u=((o=Math.imul(d,q))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,q))+Math.imul(m,F)|0,o=Math.imul(m,q);var gt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),i=(i=Math.imul(g,q))+Math.imul(v,F)|0,o=Math.imul(v,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var vt=(u+(n=n+Math.imul(c,K)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,K)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,q))+Math.imul(_,F)|0,o=Math.imul(_,q),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,V)|0;var yt=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(M,F),i=(i=Math.imul(M,q))+Math.imul(E,F)|0,o=Math.imul(E,q),n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,V)|0)+Math.imul(v,K)|0,o=o+Math.imul(v,V)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),i=(i=Math.imul(k,q))+Math.imul(B,F)|0,o=Math.imul(B,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,V)|0,n=n+Math.imul(g,$)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(v,$)|0,o=o+Math.imul(v,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,q))+Math.imul(x,F)|0,o=Math.imul(x,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,G)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,V)|0,n=n+Math.imul(w,$)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,$)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var At=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,q))+Math.imul(D,F)|0,o=Math.imul(D,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,G)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,V)|0)+Math.imul(B,K)|0,o=o+Math.imul(B,V)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var Mt=(u+(n=n+Math.imul(c,ft)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,q))+Math.imul(L,F)|0,o=Math.imul(L,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,H)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(R,K)|0,i=(i=i+Math.imul(R,V)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,V)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(m,ft)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,dt)|0)+Math.imul(d,ct)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(j,F),i=(i=Math.imul(j,q))+Math.imul(N,F)|0,o=Math.imul(N,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(D,K)|0,o=o+Math.imul(D,V)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(v,ft)|0,o=o+Math.imul(v,ut)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,dt)|0;var St=(u+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(N,H)|0,o=Math.imul(N,G),n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,V)|0)+Math.imul(L,K)|0,o=o+Math.imul(L,V)|0,n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(D,$)|0,o=o+Math.imul(D,X)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ct)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,dt)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(j,K),i=(i=Math.imul(j,V))+Math.imul(N,K)|0,o=Math.imul(N,V),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(L,$)|0,o=o+Math.imul(L,X)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,at)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,dt)|0;var Bt=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,X))+Math.imul(N,$)|0,o=Math.imul(N,X),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,at)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,at)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(B,ft)|0,o=o+Math.imul(B,ut)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,dt)|0;var Tt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(x,ft)|0,o=o+Math.imul(x,ut)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,dt)|0)+Math.imul(B,ct)|0,o=o+Math.imul(B,dt)|0;var Rt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),i=(i=Math.imul(j,nt))+Math.imul(N,rt)|0,o=Math.imul(N,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,at)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,ft)|0,o=o+Math.imul(D,ut)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,ot),i=(i=Math.imul(j,at))+Math.imul(N,ot)|0,o=Math.imul(N,at),n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(L,ft)|0,o=o+Math.imul(L,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(D,ct)|0,o=o+Math.imul(D,dt)|0;var Ct=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(j,ft),i=(i=Math.imul(j,ut))+Math.imul(N,ft)|0,o=Math.imul(N,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,dt)|0)+Math.imul(L,ct)|0,o=o+Math.imul(L,dt)|0;var It=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(j,ct),i=(i=Math.imul(j,dt))+Math.imul(N,ct)|0,o=Math.imul(N,dt);var Dt=(u+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(L,pt)|0))<<13)|0;u=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(j,pt))|0)+((8191&(i=(i=Math.imul(j,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f[0]=bt,f[1]=gt,f[2]=vt,f[3]=yt,f[4]=wt,f[5]=_t,f[6]=At,f[7]=Mt,f[8]=Et,f[9]=St,f[10]=kt,f[11]=Bt,f[12]=Tt,f[13]=Rt,f[14]=xt,f[15]=Ct,f[16]=It,f[17]=Dt,f[18]=Pt,0!==u&&(f[19]=u,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function g(t,e,r){return b(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(m=p),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?b(this,t,e):g(this,t,e)},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,n+=o/67108864|0,n+=a>>>26,this.words[i]=67108863&a}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(e=0;e>>26-n}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return f&&0!==h&&(f.words[f.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this._strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,f=n.length-o.length;if("mod"!==e){(s=new i(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(o,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(o=s.div.neg()),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(t)),{div:o,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,a,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),a=new i(0),s=new i(0),f=new i(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(h),a.isub(c)),o.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(h),f.isub(c)),s.iushrn(1),f.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s),a.isub(f)):(n.isub(e),s.isub(o),f.isub(a))}return{a:s,b:f,gcd:n.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,a=new i(1),s=new i(0),f=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(e.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),a.isub(s)):(n.isub(e),s.isub(a))}return(o=0===e.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new S(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function A(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},n(_,w),_.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},_.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new _;else if("p224"===t)e=new A;else if("p192"===t)e=new M;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return y[t]=e,e},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,u).cmp(f);)h.redIAdd(f);for(var c=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),l=this.pow(t,o),p=a;0!==l.cmp(s);){for(var m=l,b=0;0!==m.cmp(s);b++)m=m.redSqr();r(b=0;n--){for(var u=e.words[n],h=f-1;h>=0;h--){var c=u>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}f=26}return o},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},n(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function BA(){return SA||(SA=!0,kA()),EA}var TA,RA,xA,CA,IA,DA,PA=!1;function OA(){return PA||(PA=!0,function(){for(IA in TA={},Lt(),RA=Ke(),xA=RA.Buffer,CA={},RA)RA.hasOwnProperty(IA)&&"SlowBuffer"!==IA&&"Buffer"!==IA&&(CA[IA]=RA[IA]);for(IA in DA=CA.Buffer={},xA)xA.hasOwnProperty(IA)&&"allocUnsafe"!==IA&&"allocUnsafeSlow"!==IA&&(DA[IA]=xA[IA]);if(CA.Buffer.prototype=xA.prototype,DA.from&&DA.from!==Uint8Array.from||(DA.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return xA(t,e,r)}),DA.alloc||(DA.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=xA(t);return e&&0!==e.length?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n}),!CA.kStringMaxLength)try{CA.kStringMaxLength=Lt().binding("buffer").kStringMaxLength}catch(t){}CA.constants||(CA.constants={MAX_LENGTH:CA.kMaxLength},CA.kStringMaxLength&&(CA.constants.MAX_STRING_LENGTH=CA.kStringMaxLength)),TA=CA}()),TA}var LA,UA,jA,NA=!1;function zA(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function FA(t,e){this.path=t,this.rethrow(e)}function qA(){return NA||(NA=!0,LA={},UA=Ar(),jA=zA,LA.Reporter=jA,zA.prototype.isError=function(t){return t instanceof FA},zA.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},zA.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},zA.prototype.enterKey=function(t){return this._reporterState.path.push(t)},zA.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},zA.prototype.leaveKey=function(t,e,r){const n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},zA.prototype.path=function(){return this._reporterState.path.join("/")},zA.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},zA.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},zA.prototype.error=function(t){let e;const r=this._reporterState,n=t instanceof FA;if(e=n?t:new FA(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},zA.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},UA(FA,Error),FA.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,FA),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}),LA}var WA,HA,GA,YA,KA,VA,ZA=!1;function $A(t,e){GA.call(this,e),YA.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function XA(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return XA.isEncoderBuffer(t)||(t=new XA(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=YA.byteLength(t);else{if(!YA.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}function JA(){return ZA||(ZA=!0,WA={},HA=Ar(),GA=qA().Reporter,YA=OA().Buffer,HA($A,GA),KA=$A,WA.DecoderBuffer=KA,$A.isDecoderBuffer=function(t){return t instanceof $A||"object"==typeof t&&YA.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},$A.prototype.save=function(){return{offset:this.offset,reporter:GA.prototype.save.call(this)}},$A.prototype.restore=function(t){const e=new $A(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,GA.prototype.restore.call(this,t.reporter),e},$A.prototype.isEmpty=function(){return this.offset===this.length},$A.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},$A.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new $A(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},$A.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},VA=XA,WA.EncoderBuffer=VA,XA.isEncoderBuffer=function(t){return t instanceof XA||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},XA.prototype.join=function(t,e){return t||(t=YA.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):YA.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}),WA}var QA,tM,eM,rM,nM,iM,oM,aM,sM,fM=!1;function uM(t,e,r){const n={};this._baseState=n,n.name=r,n.enc=t,n.parent=e||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}function hM(){return fM||(fM=!0,QA={},tM=qA().Reporter,eM=JA().EncoderBuffer,rM=JA().DecoderBuffer,nM=tc(),oM=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(iM=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"]),aM=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"],QA=uM,sM=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"],uM.prototype.clone=function(){const t=this._baseState,e={};sM.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},uM.prototype._wrap=function(){const t=this._baseState;oM.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},uM.prototype._init=function(t){const e=this._baseState;nM(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),nM.equal(e.children.length,1,"Root node can have only one child")},uM.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(nM(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(nM(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const n=t[r];e[n]=r})),e})))},aM.forEach((function(t){uM.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),iM.forEach((function(t){uM.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return nM(null===e.tag),e.tag=t,this._useArgs(r),this}})),uM.prototype.use=function(t){nM(t);const e=this._baseState;return nM(null===e.use),e.use=t,this},uM.prototype.optional=function(){return this._baseState.optional=!0,this},uM.prototype.def=function(t){const e=this._baseState;return nM(null===e.default),e.default=t,e.optional=!0,this},uM.prototype.explicit=function(t){const e=this._baseState;return nM(null===e.explicit&&null===e.implicit),e.explicit=t,this},uM.prototype.implicit=function(t){const e=this._baseState;return nM(null===e.explicit&&null===e.implicit),e.implicit=t,this},uM.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},uM.prototype.key=function(t){const e=this._baseState;return nM(null===e.key),e.key=t,this},uM.prototype.any=function(){return this._baseState.any=!0,this},uM.prototype.choice=function(t){const e=this._baseState;return nM(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},uM.prototype.contains=function(t){const e=this._baseState;return nM(null===e.use),e.contains=t,this},uM.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let n,i=r.default,o=!0,a=null;if(null!==r.key&&(a=t.enterKey(r.key)),r.optional){let n=null;if(null!==r.explicit?n=r.explicit:null!==r.implicit?n=r.implicit:null!==r.tag&&(n=r.tag),null!==n||r.any){if(o=this._peekTag(t,n,r.any),t.isError(o))return o}else{const n=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(n)}}if(r.obj&&o&&(n=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const n=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const n=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(n))return n;r.any?i=t.raw(e):t=n}if(e&&e.track&&null!==r.tag&&e.track(t.path(),n,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(i=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const n=new rM(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(n,e)}}return r.obj&&o&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==o?null!==a&&t.exitKey(a):t.leaveKey(a,r.key,i),i},uM.prototype._decodeGeneric=function(t,e,r){const n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},uM.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),nM(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},uM.prototype._decodeChoice=function(t,e){const r=this._baseState;let n=null,i=!1;return Object.keys(r.choice).some((function(o){const a=t.save(),s=r.choice[o];try{const r=s._decode(t,e);if(t.isError(r))return!1;n={type:o,value:r},i=!0}catch(e){return t.restore(a),!1}return!0}),this),i?n:t.error("Choice not matched")},uM.prototype._createEncoderBuffer=function(t){return new eM(t,this.reporter)},uM.prototype._encode=function(t,e,r){const n=this._baseState;if(null!==n.default&&n.default===t)return;const i=this._encodeValue(t,e,r);return void 0===i||this._skipDefault(i,e,r)?void 0:i},uM.prototype._encodeValue=function(t,e,r){const n=this._baseState;if(null===n.parent)return n.children[0]._encode(t,e||new tM);let i=null;if(this.reporter=e,n.optional&&void 0===t){if(null===n.default)return;t=n.default}let o=null,a=!1;if(n.any)i=this._createEncoderBuffer(t);else if(n.choice)i=this._encodeChoice(t,e);else if(n.contains)o=this._getUse(n.contains,r)._encode(t,e),a=!0;else if(n.children)o=n.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const n=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const i=r._encode(t[r._baseState.key],e,t);return e.leaveKey(n),i}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===n.tag||"setof"===n.tag){if(!n.args||1!==n.args.length)return e.error("Too many args for : "+n.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),r))}else null!==n.use?i=this._getUse(n.use,r)._encode(t,e):(o=this._encodePrimitive(n.tag,t),a=!0);if(!n.any&&null===n.choice){const t=null!==n.implicit?n.implicit:n.tag,r=null===n.implicit?"universal":"context";null===t?null===n.use&&e.error("Tag could be omitted only for .use()"):null===n.use&&(i=this._encodeComposite(t,a,r,o))}return null!==n.explicit&&(i=this._encodeComposite(n.explicit,!1,"context",i)),i},uM.prototype._encodeChoice=function(t,e){const r=this._baseState,n=r.choice[t.type];return n||nM(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},uM.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},uM.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},uM.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}),QA}var cM,dM,lM,pM,mM,bM=!1;function gM(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const n=t[r];e[n]=r})),e}function vM(){return bM||(bM=!0,(cM={}).tagClass=dM={0:"universal",1:"application",2:"context",3:"private"},lM=gM(dM),cM.tagClassByName=lM,pM={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},cM.tag=pM,mM=gM(pM),cM.tagByName=mM),cM}var yM,wM,_M,AM,MM=!1;function EM(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new SM,this.tree._init(t.body)}function SM(t){AM.call(this,"der",t)}function kM(t){return t<10?"0"+t:t}function BM(){yM={},wM=Ar(),_M=OA().Buffer,AM=hM(),vM(),yM=EM,EM.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},wM(SM,AM),SM.prototype._encodeComposite=function(t,e,r,n){const i=function(t,e,r,n){let i;if("seqof"===t?t="seq":"setof"===t&&(t="set"),vM().tagByName.hasOwnProperty(t))i=vM().tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}return i>=31?n.error("Multi-octet tag encoding unsupported"):(e||(i|=32),i|=vM().tagClassByName[r||"universal"]<<6,i)}(t,e,r,this.reporter);if(n.length<128){const t=_M.alloc(2);return t[0]=i,t[1]=n.length,this._createEncoderBuffer([t,n])}let o=1;for(let t=n.length;t>=256;t>>=8)o++;const a=_M.alloc(2+o);a[0]=i,a[1]=128|o;for(let t=1+o,e=n.length;e>0;t--,e>>=8)a[t]=255&e;return this._createEncoderBuffer([a,n])},SM.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=_M.alloc(2*t.length);for(let r=0;r=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let n=0;for(let e=0;e=128;r>>=7)n++}const i=_M.alloc(n);let o=i.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(i[o--]=127&r;(r>>=7)>0;)i[o--]=128|127&r}return this._createEncoderBuffer(i)},SM.prototype._encodeTime=function(t,e){let r;const n=new Date(t);return"gentime"===e?r=[kM(n.getUTCFullYear()),kM(n.getUTCMonth()+1),kM(n.getUTCDate()),kM(n.getUTCHours()),kM(n.getUTCMinutes()),kM(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[kM(n.getUTCFullYear()%100),kM(n.getUTCMonth()+1),kM(n.getUTCDate()),kM(n.getUTCHours()),kM(n.getUTCMinutes()),kM(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},SM.prototype._encodeNull=function(){return this._createEncoderBuffer("")},SM.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!_M.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=_M.from(e)}if(_M.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=_M.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const n=new Array(r);for(let e=n.length-1;e>=0;e--)n[e]=255&t,t>>=8;return 128&n[0]&&n.unshift(0),this._createEncoderBuffer(_M.from(n))},SM.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},SM.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},SM.prototype._skipDefault=function(t,e,r){const n=this._baseState;let i;if(null===n.default)return!1;const o=t.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,e,r).join()),o.length!==n.defaultBuffer.length)return!1;for(i=0;i>6],i=0==(32&r);if(31==(31&r)){let n=r;for(r=0;128==(128&n);){if(n=t.readUInt8(e),t.isError(n))return n;r<<=7,r|=127&n}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:vM().tag[r]}}function VM(t,e,r){let n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;const i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(let e=0;e0&&r.ishrn(n),r}function WS(t,e,r){var n,i;do{for(n=xS.alloc(0);8*n.length=e)throw new Error("invalid sig")}function ek(){return JS||(JS=!0,YS={},KS=hr().Buffer,VS=BA(),ZS=MA().ec,$S=SS(),XS=TS(),YS=QS),YS}var rk,nk,ik,ok,ak,sk,fk,uk=!1;function hk(t){Pa().Writable.call(this);var e=fk[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=ik(e.hash),this._tag=e.id,this._signType=e.sign}function ck(t){Pa().Writable.call(this);var e=fk[t];if(!e)throw new Error("Unknown message digest");this._hash=ik(e.hash),this._tag=e.id,this._signType=e.sign}function dk(t){return new hk(t)}function lk(t){return new ck(t)}function pk(){return uk||(uk=!0,rk={},nk=hr().Buffer,ik=uu(),Pa(),ok=Ar(),ak=GS(),sk=ek(),fk=Uu(),Object.keys(fk).forEach((function(t){fk[t].id=nk.from(fk[t].id,"hex"),fk[t.toLowerCase()]=fk[t]})),ok(hk,Pa().Writable),hk.prototype._write=function(t,e,r){this._hash.update(t),r()},hk.prototype.update=function(t,e){return"string"==typeof t&&(t=nk.from(t,e)),this._hash.update(t),this},hk.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),n=ak(r,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},ok(ck,Pa().Writable),ck.prototype._write=function(t,e,r){this._hash.update(t),r()},ck.prototype.update=function(t,e){return"string"==typeof t&&(t=nk.from(t,e)),this._hash.update(t),this},ck.prototype.verify=function(t,e,r){"string"==typeof e&&(e=nk.from(e,r)),this.end();var n=this._hash.digest();return sk(e,n,t,this._signType,this._tag)},rk={Sign:dk,Verify:lk,createSign:dk,createVerify:lk}),rk}var mk,bk,gk,vk,yk=!1;function wk(t){this.curveType=vk[t],this.curveType||(this.curveType={name:t}),this.curve=new(MA().ec)(this.curveType.name),this.keys=void 0}function _k(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new bk(t);if(r&&n.lengtho-11)throw new Error("message too long");return n=r?Kk.alloc(o-i-3,255):function(t){var e,r=Kk.allocUnsafe(t),n=0,i=zk(2*t),o=0;for(;nr-a-2)throw new Error("message too long");var s=Kk.alloc(r-n-a-2),f=r-o-1,u=zk(o),h=Wk(Kk.concat([i,s,Kk.alloc(1,1),e],f),qk(u,f)),c=Wk(u,qk(h,o));return new Hk(Kk.concat([Kk.alloc(1),c,h],r))}(o,e);else if(1===n)i=Zk(o,e,r);else{if(3!==n)throw new Error("unknown padding");if((i=new Hk(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?Yk(i,o):Gk(i,o)}}var Xk,Jk,Qk,tB,eB,rB,nB,iB,oB,aB=!1;function sB(t,e){var r=t.modulus.byteLength(),n=nB("sha1").update(oB.alloc(0)).digest(),i=n.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,i+1),a=e.slice(i+1),s=tB(o,Qk(a,i)),f=tB(a,Qk(s,r-i-1));if(function(t,e){t=oB.from(t),e=oB.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++ia||new eB(e).cmp(o.modulus)>=0)throw new Error("decryption error");i=r?iB(new eB(e),o):rB(e,o);var s=oB.alloc(a-i.length);if(i=oB.concat([s,i],a),4===n)return sB(o,i);if(1===n)return function(t,e,r){for(var n=e.slice(0,2),i=2,o=0;0!==e[i++];)if(i>=e.length){o++;break}var a=e.slice(2,i-1);if(("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++,a.length<8&&o++,o)throw new Error("decryption error");return e.slice(i)}(0,i,r);if(3===n)return i;throw new Error("unknown padding")}}var uB,hB,cB,dB,lB,pB=!1;function mB(){uB={},Vk||(Vk=!0,$k()),hB=jk,uB.publicEncrypt=hB,aB||(aB=!0,fB()),cB=Xk,uB.privateDecrypt=cB,dB=function(t,e){return hB(t,e,!0)},uB.privateEncrypt=dB,lB=function(t,e){return cB(t,e,!0)},uB.publicDecrypt=lB}var bB,gB,vB,yB,wB,_B,AB,MB=!1;function EB(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}function SB(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>AB||t<0)throw new TypeError("offset must be a uint32");if(t>wB||t>e)throw new RangeError("offset out of range")}function kB(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>AB||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>wB)throw new RangeError("buffer too small")}function BB(e,r,n,i){if(!(yB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)i=r,r=0,n=e.length;else if("function"==typeof n)i=n,n=e.length-r;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return SB(r,e.length),kB(n,r,e.length),TB(e,r,n,i)}function TB(t,e,r,n){var i=t.buffer,o=new Uint8Array(i,e,r);return _B.getRandomValues(o),n?void Lt().nextTick((function(){n(null,t)})):t}function RB(e,r,n){if(void 0===r&&(r=0),!(yB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return SB(r,e.length),void 0===n&&(n=e.length-r),kB(n,r,e.length),TB(e,r,n)}function xB(){return MB||(MB=!0,vB={},Lt(),hr(),yr(),yB=hr().Buffer,wB=hr().kMaxLength,_B=t.crypto||t.msCrypto,AB=Math.pow(2,32)-1,_B&&_B.getRandomValues?(bB=BB,vB.randomFill=bB,gB=RB,vB.randomFillSync=gB):(bB=EB,vB.randomFill=bB,gB=EB,vB.randomFillSync=gB)),vB}var CB,IB,DB,PB,OB,LB,UB,jB,NB,zB,FB,qB,WB=!1;function HB(){LB={},DB=yr(),IB=LB.prng=DB,CB=LB.pseudoRandomBytes=IB,UB=LB.rng=CB,LB.randomBytes=UB,PB=uu(),jB=LB.Hash=PB,LB.createHash=jB,OB=Pu(),NB=LB.Hmac=OB,LB.createHmac=NB,zB=zu(),FB=Object.keys(zB),["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(FB),Ph(),um(),Ab||(Ab=!0,Sb()),pk(),qB=Ak(),LB.createECDH=qB,pB||(pB=!0,mB()),xB()}function GB(){return WB||(WB=!0,HB()),LB}var YB,KB,VB,ZB,$B,XB,JB,QB,tT,eT,rT,nT,iT,oT,aT,sT,fT,uT,hT,cT,dT,lT,pT,mT,bT,gT,vT,yT,wT,_T,AT,MT,ET,ST,kT,BT,TT,RT,xT,CT,IT,DT,PT,OT,LT,UT,jT,NT,zT,FT,qT,WT,HT,GT,YT,KT,VT,ZT,$T,XT,JT,QT,tR,eR,rR,nR,iR,oR,aR,sR,fR,uR,hR,cR,dR,lR,pR,mR,bR,gR,vR,yR,wR,_R=!1;function AR(t){return ZB.locateFile?ZB.locateFile(t,iT):iT+t}function MR(t){MR.shown||(MR.shown={}),MR.shown[t]||(MR.shown[t]=1,cT(t))}function ER(t,e){t||jR("Assertion failed: "+e)}function SR(t,e,r){for(var n=e+r,i=e;t[i]&&!(i>=n);)++i;if(i-e>16&&t.subarray&&gT)return gT.decode(t.subarray(e,i));for(var o="";e>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|s)}else o+=String.fromCharCode(a)}return o}function kR(t,e){return t?SR(_T,t,e):""}function BR(t,e,r,n){if(!(n>0))return 0;for(var i=r,o=r+n-1,a=0;a=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a);if(s<=127){if(r>=o)break;e[r++]=s}else if(s<=2047){if(r+1>=o)break;e[r++]=192|s>>6,e[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;e[r++]=224|s>>12,e[r++]=128|s>>6&63,e[r++]=128|63&s}else{if(r+3>=o)break;e[r++]=240|s>>18,e[r++]=128|s>>12&63,e[r++]=128|s>>6&63,e[r++]=128|63&s}}return e[r]=0,r-i}function TR(t,e,r){return BR(t,_T,e,r)}function RR(t){for(var e=0,r=0;r=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++r)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}function xR(t,e){for(var r=t,n=r>>1,i=n+e/2;!(n>=i)&&MT[n];)++n;if((r=n<<1)-t>32&&vT)return vT.decode(_T.subarray(t,r));for(var o="",a=0;!(a>=e/2);++a){var s=AT[t+2*a>>1];if(0==s)break;o+=String.fromCharCode(s)}return o}function CR(t,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=e,i=(r-=2)<2*t.length?r/2:t.length,o=0;o>1]=a,e+=2}return AT[e>>1]=0,e-n}function IR(t){return 2*t.length}function DR(t,e){for(var r=0,n="";!(r>=e/4);){var i=ET[t+4*r>>2];if(0==i)break;if(++r,i>=65536){var o=i-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(i)}return n}function PR(t,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=e,i=n+r-4,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o);if(ET[e>>2]=a,(e+=4)+4>i)break}return ET[e>>2]=0,e-n}function OR(t){for(var e=0,r=0;r=55296&&n<=57343&&++r,e+=4}return e}function LR(t){IT++,ZB.monitorRunDependencies&&ZB.monitorRunDependencies(IT)}function UR(t){if(IT--,ZB.monitorRunDependencies&&ZB.monitorRunDependencies(IT),0==IT&&(null!==DT&&(clearInterval(DT),DT=null),PT)){var e=PT;PT=null,e()}}function jR(t){throw ZB.onAbort&&ZB.onAbort(t),cT(t+=""),bT=!0,1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(t)}function NR(t){return t.startsWith(OT)}function zR(t){return t.startsWith("file://")}function FR(t){try{if(t==LT&&pT)return new Uint8Array(pT);if(sT)return sT(t);throw"both async and sync fetching of the wasm failed"}catch(t){jR(t)}}function qR(){var t={a:lR};function e(t,e){var r,n,i=t.exports;ZB.asm=i,mT=ZB.asm.J,r=mT.buffer,yT=r,ZB.HEAP8=wT=new Int8Array(r),ZB.HEAP16=AT=new Int16Array(r),ZB.HEAP32=ET=new Int32Array(r),ZB.HEAPU8=_T=new Uint8Array(r),ZB.HEAPU16=MT=new Uint16Array(r),ZB.HEAPU32=ST=new Uint32Array(r),ZB.HEAPF32=kT=new Float32Array(r),ZB.HEAPF64=BT=new Float64Array(r),TT=ZB.asm.N,n=ZB.asm.K,xT.unshift(n),UR()}function r(t){e(t.instance)}function n(e){return function(){if(!pT&&(tT||eT)){if("function"==typeof fetch&&!zR(LT))return fetch(LT,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+LT+"'";return t.arrayBuffer()})).catch((function(){return FR(LT)}));if(aT)return new Promise((function(t,e){aT(LT,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return FR(LT)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then(e,(function(t){cT("failed to asynchronously prepare wasm: "+t),jR(t)}))}if(LR(),ZB.instantiateWasm)try{return ZB.instantiateWasm(t,e)}catch(t){return cT("Module.instantiateWasm callback failed with error: "+t),!1}return pT||"function"!=typeof WebAssembly.instantiateStreaming||NR(LT)||zR(LT)||"function"!=typeof fetch?n(r):fetch(LT,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(r,(function(t){return cT("wasm streaming compile failed: "+t),cT("falling back to ArrayBuffer instantiation"),n(r)}))})),{}}function WR(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?TT.get(r)():TT.get(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(ZB)}}function HR(){var t=new Error;if(!t.stack){try{throw new Error}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function GR(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(rT)try{return GB(),function(){return GB().randomBytes(1)[0]}}catch(t){}return function(){jR("randomDevice")}}function YR(t){for(var e=function(t,e){return e||(e=dT),Math.ceil(t/e)*e}(t,65536),r=mR(e);t>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return o=28,ET[gR()>>2]=o,-1;default:return-28}}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),-t.errno}var o}function VR(t,e,r){HT.varargs=r;try{var n=HT.getStr(t),i=r?HT.get():0;return WT.open(n,e,i).fd}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),-t.errno}}function ZR(t,e,r,n,i){}function $R(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}function XR(){for(var t=new Array(256),e=0;e<256;++e)t[e]=String.fromCharCode(e);GT=t}function JR(t){for(var e="",r=t;_T[r];)e+=GT[_T[r++]];return e}function QR(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=ZT&&e<=$T?"_"+t:t}function tx(t,e){return t=QR(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ex(t,e){var r=tx(e,(function(t){this.name=e,this.message=t;var r=new Error(t).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}function rx(t){throw new XT(t)}function nx(t){throw new JT(t)}function ix(t,e,r){function n(e){var n=r(e);n.length!==t.length&&nx("Mismatched type converter count");for(var i=0;i>o])},destructorFunction:null})}function sx(t){if(!(this instanceof vx))return!1;if(!(t instanceof vx))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=t.$$.ptrType.registeredClass,i=t.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return e===n&&r===i}function fx(t){rx(t.$$.ptrType.registeredClass.name+" instance already deleted")}function ux(t){}function hx(t){t.count.value-=1,0===t.count.value&&function(t){t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)}(t)}function cx(t){return"undefined"==typeof FinalizationGroup?(cx=function(t){return t},t):(QT=new FinalizationGroup((function(t){for(var e=t.next();!e.done;e=t.next()){var r=e.value;r.ptr?hx(r):console.warn("object already deleted: "+r.ptr)}})),ux=function(t){QT.unregister(t.$$)},(cx=function(t){return QT.register(t,t.$$,t.$$),t})(t))}function dx(){if(this.$$.ptr||fx(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var t,e=cx(Object.create(Object.getPrototypeOf(this),{$$:{value:(t=this.$$,{count:t.count,deleteScheduled:t.deleteScheduled,preservePointerOnDelete:t.preservePointerOnDelete,ptr:t.ptr,ptrType:t.ptrType,smartPtr:t.smartPtr,smartPtrType:t.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function lx(){this.$$.ptr||fx(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&rx("Object already scheduled for deletion"),ux(this),hx(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function px(){return!this.$$.ptr}function mx(){for(;eR.length;){var t=eR.pop();t.$$.deleteScheduled=!1,t.delete()}}function bx(){return this.$$.ptr||fx(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&rx("Object already scheduled for deletion"),eR.push(this),1===eR.length&&tR&&tR(mx),this.$$.deleteScheduled=!0,this}function gx(){vx.prototype.isAliasOf=sx,vx.prototype.clone=dx,vx.prototype.delete=lx,vx.prototype.isDeleted=px,vx.prototype.deleteLater=bx}function vx(){}function yx(t,e,r){if(void 0===t[e].overloadTable){var n=t[e];t[e]=function(){return t[e].overloadTable.hasOwnProperty(arguments.length)||rx("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].overloadTable+")!"),t[e].overloadTable[arguments.length].apply(this,arguments)},t[e].overloadTable=[],t[e].overloadTable[n.argCount]=n}}function wx(t,e,r,n,i,o,a,s){this.name=t,this.constructor=e,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=o,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function _x(t,e,r){for(;e!==r;)e.upcast||rx("Expected null or instance of "+r.name+", got an instance of "+e.name),t=e.upcast(t),e=e.baseClass;return t}function Ax(t,e){if(null===e)return this.isReference&&rx("null is not a valid "+this.name),0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name);var r=e.$$.ptrType.registeredClass;return _x(e.$$.ptr,r,this.registeredClass)}function Mx(t,e){var r;if(null===e)return this.isReference&&rx("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==t&&t.push(this.rawDestructor,r),r):0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&e.$$.ptrType.isConst&&rx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);var n=e.$$.ptrType.registeredClass;if(r=_x(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&rx("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:rx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var i=e.clone();r=this.rawShare(r,eC((function(){i.delete()}))),null!==t&&t.push(this.rawDestructor,r)}break;default:rx("Unsupporting sharing policy")}return r}function Ex(t,e){if(null===e)return this.isReference&&rx("null is not a valid "+this.name),0;e.$$||rx('Cannot pass "'+nC(e)+'" as a '+this.name),e.$$.ptr||rx("Cannot pass deleted object as a pointer of type "+this.name),e.$$.ptrType.isConst&&rx("Cannot convert argument of type "+e.$$.ptrType.name+" to parameter type "+this.name);var r=e.$$.ptrType.registeredClass;return _x(e.$$.ptr,r,this.registeredClass)}function Sx(t){return this.fromWireType(ST[t>>2])}function kx(t){return this.rawGetPointee&&(t=this.rawGetPointee(t)),t}function Bx(t){this.rawDestructor&&this.rawDestructor(t)}function Tx(t){null!==t&&t.delete()}function Rx(t,e,r){if(e===r)return t;if(void 0===r.baseClass)return null;var n=Rx(t,e,r.baseClass);return null===n?null:r.downcast(n)}function xx(){return Object.keys(nR).length}function Cx(){var t=[];for(var e in nR)nR.hasOwnProperty(e)&&t.push(nR[e]);return t}function Ix(t){tR=t,eR.length&&tR&&tR(mx)}function Dx(){ZB.getInheritedInstanceCount=xx,ZB.getLiveInheritedInstances=Cx,ZB.flushPendingDeletes=mx,ZB.setDelayFunction=Ix}function Px(t,e){return e=function(t,e){for(void 0===e&&rx("ptr should not be undefined");t.baseClass;)e=t.upcast(e),t=t.baseClass;return e}(t,e),nR[e]}function Ox(t,e){return e.ptrType&&e.ptr||nx("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&nx("Both smartPtrType and smartPtr must be specified"),e.count={value:1},cx(Object.create(t,{$$:{value:e}}))}function Lx(t){var e=this.getPointee(t);if(!e)return this.destructor(t),null;var r=Px(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=t,r.clone();var n=r.clone();return this.destructor(t),n}function i(){return this.isSmartPointer?Ox(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:t}):Ox(this.registeredClass.instancePrototype,{ptrType:this,ptr:t})}var o,a=this.registeredClass.getActualType(e),s=rR[a];if(!s)return i.call(this);o=this.isConst?s.constPointerType:s.pointerType;var f=Rx(e,this.registeredClass,o.registeredClass);return null===f?i.call(this):this.isSmartPointer?Ox(o.registeredClass.instancePrototype,{ptrType:o,ptr:f,smartPtrType:this,smartPtr:t}):Ox(o.registeredClass.instancePrototype,{ptrType:o,ptr:f})}function Ux(){jx.prototype.getPointee=kx,jx.prototype.destructor=Bx,jx.prototype.argPackAdvance=8,jx.prototype.readValueFromPointer=Sx,jx.prototype.deleteObject=Tx,jx.prototype.fromWireType=Lx}function jx(t,e,r,n,i,o,a,s,f,u,h){this.name=t,this.registeredClass=e,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=o,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=f,this.rawShare=u,this.rawDestructor=h,i||void 0!==e.baseClass?this.toWireType=Mx:n?(this.toWireType=Ax,this.destructorFunction=null):(this.toWireType=Ex,this.destructorFunction=null)}function Nx(t,e,r){return t.includes("j")?function(t,e,r){var n=ZB["dynCall_"+t];return r&&r.length?n.apply(null,[e].concat(r)):n.call(null,e)}(t,e,r):TT.get(e).apply(null,r)}function zx(t,e){var r,n,i,o=(t=JR(t)).includes("j")?(r=t,n=e,i=[],function(){i.length=arguments.length;for(var t=0;t>2)+n]);return r}function Gx(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function Yx(t,e,r,n,i,o){ER(e>0);var a=Hx(e,r);i=zx(n,i);var s=[o],f=[];ix([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.registeredClass.constructor_body&&(t.registeredClass.constructor_body=[]),void 0!==t.registeredClass.constructor_body[e-1])throw new XT("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.registeredClass.constructor_body[e-1]=function(){qx("Cannot construct "+t.name+" due to unbound types",a)},ix([],a,(function(n){return t.registeredClass.constructor_body[e-1]=function(){arguments.length!==e-1&&rx(r+" called with "+arguments.length+" arguments, expected "+(e-1)),f.length=0,s.length=e;for(var t=1;t0?", ":"")+c),d+=(u?"var rv = ":"")+"invoker(fn"+(c.length>0?", ":"")+c+");\n",s)d+="runDestructors(destructors);\n";else for(f=a?1:2;f4&&0==--aR[t].refcount&&(aR[t]=void 0,oR.push(t))}function Jx(){for(var t=0,e=5;e>2])};case 3:return function(t){return this.fromWireType(BT[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function oC(t,e,r){var n=$R(r);ox(t,{name:e=JR(e),fromWireType:function(t){return t},toWireType:function(t,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+nC(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:iC(e,n),destructorFunction:null})}function aC(t,e,r){switch(e){case 0:return r?function(t){return wT[t]}:function(t){return _T[t]};case 1:return r?function(t){return AT[t>>1]}:function(t){return MT[t>>1]};case 2:return r?function(t){return ET[t>>2]}:function(t){return ST[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function sC(t,e,r,n,i){e=JR(e),-1===i&&(i=4294967295);var o=$R(r),a=function(t){return t};if(0===n){var s=32-8*r;a=function(t){return t<>>s}}var f=e.includes("unsigned");ox(t,{name:e,fromWireType:a,toWireType:function(t,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+nC(r)+'" to '+this.name);if(ri)throw new TypeError('Passing a number "'+nC(r)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+n+", "+i+"]!");return f?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:aC(e,o,0!==n),destructorFunction:null})}function fC(t,e,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function i(t){var e=ST,r=e[t>>=2],i=e[t+1];return new n(yT,i,r)}ox(t,{name:r=JR(r),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function uC(t,e){var r="std::string"===(e=JR(e));ox(t,{name:e,fromWireType:function(t){var e,n=ST[t>>2];if(r)for(var i=t+4,o=0;o<=n;++o){var a=t+4+o;if(o==n||0==_T[a]){var s=kR(i,a-i);void 0===e?e=s:(e+=String.fromCharCode(0),e+=s),i=a+1}}else{var f=new Array(n);for(o=0;o>2]=i,r&&n)TR(e,o+4,i+1);else if(n)for(var a=0;a255&&(pR(o),rx("String has UTF-16 code units that do not fit in 8 bits")),_T[o+4+a]=s}else for(a=0;a>2],a=o(),f=t+4,u=0;u<=i;++u){var h=t+4+u*e;if(u==i||0==a[h>>s]){var c=n(f,h-f);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),f=h+e}}return pR(t),r},toWireType:function(t,n){"string"!=typeof n&&rx("Cannot pass non-string to C++ string type "+r);var o=a(n),f=mR(4+o+e);return ST[f>>2]=o>>s,i(n,f+4,o+e),null!==t&&t.push(pR,f),f},argPackAdvance:8,readValueFromPointer:Sx,destructorFunction:function(t){pR(t)}})}function cC(t,e){ox(t,{isVoid:!0,name:e=JR(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(t,e){}})}function dC(t){return t||rx("Cannot use deleted val. handle = "+t),aR[t].value}function lC(t,e){var r=KT[t];return void 0===r&&rx(e+" has unknown type "+Fx(t)),r}function pC(t,e,r){t=dC(t),e=lC(e,"emval::as");var n=[],i=eC(n);return ET[r>>2]=i,e.toWireType(n,t)}function mC(t,e,r,n){var i,o;(t=fR[t])(e=dC(e),r=void 0===(o=sR[i=r])?JR(i):o,null,n)}function bC(t,e){for(var r=function(t,e){for(var r=new Array(t),n=0;n>2)+n],"parameter "+n);return r}(t,e),n=r[0],i=n.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$",o=["retType"],a=[n],s="",f=0;f4&&(aR[t].refcount+=1)}function vC(t){Gx(aR[t].value),Xx(t)}function yC(t,e){return eC((t=lC(t,"_emval_take_value")).readValueFromPointer(e))}function wC(){jR()}function _C(){return void 0===_C.start&&(_C.start=Date.now()),1e3*(Date.now()-_C.start)|0}function AC(t,e){return(t>>>0)+4294967296*e}function MC(t,e){if(t<=0)return t;var r=e<=32?Math.abs(1<=r&&(e<=32||t>r)&&(t=-2*r+t),t}function EC(t,e){return t>=0?t:e<=32?2*Math.abs(1<0?"\n":"")+function(t){var e=HR(),r=e.lastIndexOf("_emscripten_log"),n=e.lastIndexOf("_emscripten_get_callstack"),i=e.indexOf("\n",Math.max(r,n))+1;e=e.slice(i),32&t&&MR("EM_LOG_DEMANGLE is deprecated; ignoring"),8&t&&"undefined"==typeof emscripten_source_map&&(MR('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),t^=8,t|=16);var o=null;if(128&t)for(o=SC(arguments);o[1].includes("_emscripten_");)o=SC(o[0]);var a=e.split("\n");e="";var s=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),f=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var h in a){var c=a[h],d="",l="",p=0,m=0,b=u.exec(c);if(b&&5==b.length)d=b[1],l=b[2],p=b[3],m=b[4];else{if((b=s.exec(c))||(b=f.exec(c)),!(b&&b.length>=4)){e+=c+"\n";continue}d=b[1],l=b[2],p=b[3],m=0|b[4]}var g=!1;if(8&t){var v=emscripten_source_map.originalPositionFor({line:p,column:m});(g=v&&v.source)&&(64&t&&(v.source=v.source.substring(v.source.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=" at "+d+" ("+v.source+":"+v.line+":"+v.column+")\n")}(16&t||!g)&&(64&t&&(l=l.substring(l.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=(g?" = "+d:" at "+d)+" ("+l+":"+p+":"+m+")\n"),128&t&&o[0]&&(o[1]==d&&o[2].length>0&&(e=e.replace(/\s+$/,""),e+=" with values: "+o[1]+o[2]+"\n"),o=SC(o[0]))}return e.replace(/\s+$/,"")}(t)),1&t?4&t?console.error(e):2&t?console.warn(e):512&t?console.info(e):256&t?console.debug(e):console.log(e):6&t?cT(e):hT(e)}function BC(t,e,r){kC(t,SR(function(t,e){var r=t,n=e;function i(t){var e;return n=function(t,e){return"double"!==e&&"i64"!==e||7&t&&(t+=4),t}(n,t),"double"===t?(e=BT[n>>3],n+=8):"i64"==t?(e=[ET[n>>2],ET[n+4>>2]],n+=8):(t="i32",e=ET[n>>2],n+=4),e}for(var o,a,s,f,u=[];;){var h=r;if(0===(o=wT[r>>0]))break;if(a=wT[r+1>>0],37==o){var c=!1,d=!1,l=!1,p=!1,m=!1;t:for(;;){switch(a){case 43:c=!0;break;case 45:d=!0;break;case 35:l=!0;break;case 48:if(p)break t;p=!0;break;case 32:m=!0;break;default:break t}r++,a=wT[r+1>>0]}var b=0;if(42==a)b=i("i32"),r++,a=wT[r+1>>0];else for(;a>=48&&a<=57;)b=10*b+(a-48),r++,a=wT[r+1>>0];var g,v=!1,y=-1;if(46==a){if(y=0,v=!0,r++,42==(a=wT[r+1>>0]))y=i("i32"),r++;else for(;;){var w=wT[r+1>>0];if(w<48||w>57)break;y=10*y+(w-48),r++}a=wT[r+1>>0]}switch(y<0&&(y=6,v=!1),String.fromCharCode(a)){case"h":104==wT[r+2>>0]?(r++,g=1):g=2;break;case"l":108==wT[r+2>>0]?(r++,g=8):g=4;break;case"L":case"q":case"j":g=8;break;case"z":case"t":case"I":g=4;break;default:g=null}switch(g&&r++,a=wT[r+1>>0],String.fromCharCode(a)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var _=100==a||105==a;s=i("i"+8*(g=g||4)),8==g&&(s=117==a?(s[0]>>>0)+4294967296*(s[1]>>>0):AC(s[0],s[1])),g<=4&&(s=(_?MC:EC)(s&Math.pow(256,g)-1,8*g));var A=Math.abs(s),M="";if(100==a||105==a)k=MC(s,8*g).toString(10);else if(117==a)k=EC(s,8*g).toString(10),s=Math.abs(s);else if(111==a)k=(l?"0":"")+A.toString(8);else if(120==a||88==a){if(M=l&&0!=s?"0x":"",s<0){s=-s,k=(A-1).toString(16);for(var E=[],S=0;S=0&&(c?M="+"+M:m&&(M=" "+M)),"-"==k.charAt(0)&&(M="-"+M,k=k.substr(1));M.length+k.lengthR&&R>=-4?(a=(103==a?"f":"F").charCodeAt(0),y-=R+1):(a=(103==a?"e":"E").charCodeAt(0),y--),T=Math.min(y,20)}101==a||69==a?(k=s.toExponential(T),/[eE][-+]\d$/.test(k)&&(k=k.slice(0,-1)+"0"+k.slice(-1))):102!=a&&70!=a||(k=s.toFixed(T),0===s&&((f=s)<0||0===f&&1/f==-1/0)&&(k="-"+k));var x=k.split("e");if(B&&!l)for(;x[0].length>1&&x[0].includes(".")&&("0"==x[0].slice(-1)||"."==x[0].slice(-1));)x[0]=x[0].slice(0,-1);else for(l&&-1==k.indexOf(".")&&(x[0]+=".");y>T++;)x[0]+="0";k=x[0]+(x.length>1?"e"+x[1]:""),69==a&&(k=k.toUpperCase()),s>=0&&(c?k="+"+k:m&&(k=" "+k))}else k=(s<0?"-":"")+"inf",p=!1;for(;k.length>0]);else u=u.concat(NC("(null)".substr(0,I),!0));if(d)for(;I0;)u.push(32);d||u.push(i("i8"));break;case"n":var D=i("i32*");ET[D>>2]=u.length;break;case"%":u.push(o);break;default:for(S=h;S>0])}r+=2}else u.push(o),r+=1}return u}(e,r),0))}function TC(t){_T.length;jR("OOM")}function RC(){if(!RC.strings){var t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:QB||"./this.program"};for(var e in uR)t[e]=uR[e];var r=[];for(var e in t)r.push(e+"="+t[e]);RC.strings=r}return RC.strings}function xC(t,e){try{var r=0;return RC().forEach((function(n,i){var o=e+r;ET[t+4*i>>2]=o,function(t,e,r){for(var n=0;n>0]=t.charCodeAt(n);r||(wT[e>>0]=0)}(n,o),r+=n.length+1})),0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function CC(t,e){try{var r=RC();ET[t>>2]=r.length;var n=0;return r.forEach((function(t){n+=t.length+1})),ET[e>>2]=n,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function IC(t){try{var e=HT.getStreamFromFD(t);return WT.close(e),0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function DC(t,e){try{var r=HT.getStreamFromFD(t),n=r.tty?2:WT.isDir(r.mode)?3:WT.isLink(r.mode)?7:4;return wT[e>>0]=n,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function PC(t,e,r,n){try{var i=HT.getStreamFromFD(t),o=HT.doReadv(i,e,r);return ET[n>>2]=o,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function OC(t,e,r,n,i){try{var o=HT.getStreamFromFD(t),a=4294967296*r+(e>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(WT.llseek(o,a,n),jT=[o.position>>>0,(UT=o.position,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[i>>2]=jT[0],ET[i+4>>2]=jT[1],o.getdents&&0===a&&0===n&&(o.getdents=null),0)}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function LC(t,e,r,n){try{var i=HT.getStreamFromFD(t),o=HT.doWritev(i,e,r);return ET[n>>2]=o,0}catch(t){return void 0!==WT&&t instanceof WT.ErrnoError||jR(t),t.errno}}function UC(t){var e=Date.now();return ET[t>>2]=e/1e3|0,ET[t+4>>2]=e%1e3*1e3|0,0}function jC(t){lT(t)}function NC(t,e,r){var n=r>0?r:RR(t)+1,i=new Array(n),o=BR(t,i,0,i.length);return e&&(i.length=o),i}function zC(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function FC(t){function e(){yR||(yR=!0,ZB.calledRun=!0,bT||(!0,ZB.noFSInit||WT.init.initialized||WT.init(),FT.init(),WR(xT),ZB.onRuntimeInitialized&&ZB.onRuntimeInitialized(),function(){if(ZB.postRun)for("function"==typeof ZB.postRun&&(ZB.postRun=[ZB.postRun]);ZB.postRun.length;)t=ZB.postRun.shift(),CT.unshift(t);var t;WR(CT)}()))}t=t||JB,IT>0||(!function(){if(ZB.preRun)for("function"==typeof ZB.preRun&&(ZB.preRun=[ZB.preRun]);ZB.preRun.length;)t=ZB.preRun.shift(),RT.unshift(t);var t;WR(RT)}(),IT>0||(ZB.setStatus?(ZB.setStatus("Running..."),setTimeout((function(){setTimeout((function(){ZB.setStatus("")}),1),e()}),1)):e()))}function qC(){for(XB in{},YB=Lt(),KB="/Users/wancheng/Documents/GitHub/jessibuca-v2/demo/public",VB=Ke().Buffer,$B={},ZB=void 0!==ZB?ZB:{})ZB.hasOwnProperty(XB)&&($B[XB]=ZB[XB]);for(XB in JB=[],QB="./this.program",function(t,e){throw e},tT=!1,eT=!1,rT=!1,nT=!1,tT="object"==typeof window,eT="function"==typeof importScripts,rT="object"==typeof YB&&"object"==typeof YB.versions&&"string"==typeof YB.versions.node,nT=!tT&&!rT&&!eT,iT="",rT?(iT=eT?Qe().dirname(iT)+"/":KB+"/",oT=function(t,e){return fT||(fT=rr()),uT||(uT=Qe()),t=uT.normalize(t),fT.readFileSync(t,e?null:"utf8")},sT=function(t){var e=oT(t,!0);return e.buffer||(e=new Uint8Array(e)),ER(e.buffer),e},YB.argv.length>1&&(QB=YB.argv[1].replace(/\\/g,"/")),JB=YB.argv.slice(2),ZB,YB.on("uncaughtException",(function(t){if(!(t instanceof zC))throw t})),YB.on("unhandledRejection",jR),function(t){YB.exit(t)},ZB.inspect=function(){return"[Emscripten Module object]"}):nT?("undefined"!=typeof read&&(oT=function(t){return read(t)}),sT=function(t){var e;return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(ER("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?JB=scriptArgs:void 0!==arguments&&(JB=arguments),"function"==typeof quit&&function(t){quit(t)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(tT||eT)&&(eT?iT=self.location.href:"undefined"!=typeof document&&document.currentScript&&(iT=document.currentScript.src),iT=0!==iT.indexOf("blob:")?iT.substr(0,iT.lastIndexOf("/")+1):"",oT=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},eT&&(sT=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),aT=function(t,e,r){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?e(n.response):r()},n.onerror=r,n.send(null)},function(t){document.title=t}),hT=ZB.print||console.log.bind(console),cT=ZB.printErr||console.warn.bind(console),$B)$B.hasOwnProperty(XB)&&(ZB[XB]=$B[XB]);if($B=null,ZB.arguments&&(JB=ZB.arguments),ZB.thisProgram&&(QB=ZB.thisProgram),ZB.quit&&ZB.quit,dT=16,0,lT=function(t){t},ZB.wasmBinary&&(pT=ZB.wasmBinary),ZB.noExitRuntime||!0,"object"!=typeof WebAssembly&&jR("no native wasm support detected"),bT=!1,gT="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,vT="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ZB.INITIAL_MEMORY||67108864,RT=[],xT=[],CT=[],!1,IT=0,DT=null,PT=null,ZB.preloadedImages={},ZB.preloadedAudios={},OT="data:application/octet-stream;base64,",NR(LT="ff.wasm")||(LT=AR(LT)),NT={splitPath:function(t){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e="/"===t.charAt(0),r="/"===t.substr(-1);return(t=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=NT.splitPath(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(t){if("/"===t)return"/";var e=(t=(t=NT.normalize(t)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?t:t.substr(e+1)},extname:function(t){return NT.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return NT.normalize(t.join("/"))},join2:function(t,e){return NT.normalize(t+"/"+e)}},zT={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var n=r>=0?arguments[r]:WT.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,e="/"===n.charAt(0)}return(e?"/":"")+(t=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||"."},relative:function(t,e){function r(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=zT.resolve(t).substr(1),e=zT.resolve(e).substr(1);for(var n=r(t.split("/")),i=r(e.split("/")),o=Math.min(n.length,i.length),a=o,s=0;s0?r.slice(0,n).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;t.input=NC(e,!0)}return t.input.shift()},put_char:function(t,e){null===e||10===e?(hT(SR(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(hT(SR(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){null===e||10===e?(cT(SR(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cT(SR(t.output,0)),t.output=[])}}},qT={ops_table:null,mount:function(t){return qT.createNode(null,"/",16895,0)},createNode:function(t,e,r,n){if(WT.isBlkdev(r)||WT.isFIFO(r))throw new WT.ErrnoError(63);qT.ops_table||(qT.ops_table={dir:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr,lookup:qT.node_ops.lookup,mknod:qT.node_ops.mknod,rename:qT.node_ops.rename,unlink:qT.node_ops.unlink,rmdir:qT.node_ops.rmdir,readdir:qT.node_ops.readdir,symlink:qT.node_ops.symlink},stream:{llseek:qT.stream_ops.llseek}},file:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr},stream:{llseek:qT.stream_ops.llseek,read:qT.stream_ops.read,write:qT.stream_ops.write,allocate:qT.stream_ops.allocate,mmap:qT.stream_ops.mmap,msync:qT.stream_ops.msync}},link:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr,readlink:qT.node_ops.readlink},stream:{}},chrdev:{node:{getattr:qT.node_ops.getattr,setattr:qT.node_ops.setattr},stream:WT.chrdev_stream_ops}});var i=WT.createNode(t,e,r,n);return WT.isDir(i.mode)?(i.node_ops=qT.ops_table.dir.node,i.stream_ops=qT.ops_table.dir.stream,i.contents={}):WT.isFile(i.mode)?(i.node_ops=qT.ops_table.file.node,i.stream_ops=qT.ops_table.file.stream,i.usedBytes=0,i.contents=null):WT.isLink(i.mode)?(i.node_ops=qT.ops_table.link.node,i.stream_ops=qT.ops_table.link.stream):WT.isChrdev(i.mode)&&(i.node_ops=qT.ops_table.chrdev.node,i.stream_ops=qT.ops_table.chrdev.stream),i.timestamp=Date.now(),t&&(t.contents[e]=i,t.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(t){return t.contents?t.contents.subarray?t.contents.subarray(0,t.usedBytes):new Uint8Array(t.contents):new Uint8Array(0)},expandFileStorage:function(t,e){var r=t.contents?t.contents.length:0;if(!(r>=e)){e=Math.max(e,r*(r<1048576?2:1.125)>>>0),0!=r&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(0==e)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=WT.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,WT.isDir(t.mode)?e.size=4096:WT.isFile(t.mode)?e.size=t.usedBytes:WT.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){void 0!==e.mode&&(t.mode=e.mode),void 0!==e.timestamp&&(t.timestamp=e.timestamp),void 0!==e.size&&qT.resizeFileStorage(t,e.size)},lookup:function(t,e){throw WT.genericErrors[44]},mknod:function(t,e,r,n){return qT.createNode(t,e,r,n)},rename:function(t,e,r){if(WT.isDir(t.mode)){var n;try{n=WT.lookupNode(e,r)}catch(t){}if(n)for(var i in n.contents)throw new WT.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=WT.lookupNode(t,e);for(var n in r.contents)throw new WT.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)t.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(t,e,r){var n=qT.createNode(t,e,41471,0);return n.link=r,n},readlink:function(t){if(!WT.isLink(t.mode))throw new WT.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,n,i){var o=t.node.contents;if(i>=t.node.usedBytes)return 0;var a=Math.min(t.node.usedBytes-i,n);if(a>8&&o.subarray)e.set(o.subarray(i,i+a),r);else for(var s=0;s0||n+r8)throw new WT.ErrnoError(32);for(var i=NT.normalizeArray(t.split("/").filter((function(t){return!!t})),!1),o=WT.root,a="/",s=0;s40)throw new WT.ErrnoError(32)}}return{path:a,node:o}},getPath:function(t){for(var e;;){if(WT.isRoot(t)){var r=t.mount.mountpoint;return e?"/"!==r[r.length-1]?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,n=0;n>>0)%WT.nameTable.length},hashAddNode:function(t){var e=WT.hashName(t.parent.id,t.name);t.name_next=WT.nameTable[e],WT.nameTable[e]=t},hashRemoveNode:function(t){var e=WT.hashName(t.parent.id,t.name);if(WT.nameTable[e]===t)WT.nameTable[e]=t.name_next;else for(var r=WT.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=WT.mayLookup(t);if(r)throw new WT.ErrnoError(r,t);for(var n=WT.hashName(t.id,e),i=WT.nameTable[n];i;i=i.name_next){var o=i.name;if(i.parent.id===t.id&&o===e)return i}return WT.lookup(t,e)},createNode:function(t,e,r,n){var i=new WT.FSNode(t,e,r,n);return WT.hashAddNode(i),i},destroyNode:function(t){WT.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return 32768==(61440&t)},isDir:function(t){return 16384==(61440&t)},isLink:function(t){return 40960==(61440&t)},isChrdev:function(t){return 8192==(61440&t)},isBlkdev:function(t){return 24576==(61440&t)},isFIFO:function(t){return 4096==(61440&t)},isSocket:function(t){return 49152==(49152&t)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=WT.flagModes[t];if(void 0===e)throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},nodePermissions:function(t,e){return WT.ignorePermissions||(!e.includes("r")||292&t.mode)&&(!e.includes("w")||146&t.mode)&&(!e.includes("x")||73&t.mode)?0:2},mayLookup:function(t){var e=WT.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{WT.lookupNode(t,e);return 20}catch(t){}return WT.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var n;try{n=WT.lookupNode(t,e)}catch(t){return t.errno}var i=WT.nodePermissions(t,"wx");if(i)return i;if(r){if(!WT.isDir(n.mode))return 54;if(WT.isRoot(n)||WT.getPath(n)===WT.cwd())return 10}else if(WT.isDir(n.mode))return 31;return 0},mayOpen:function(t,e){return t?WT.isLink(t.mode)?32:WT.isDir(t.mode)&&("r"!==WT.flagsToPermissionString(e)||512&e)?31:WT.nodePermissions(t,WT.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||WT.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!WT.streams[r])return r;throw new WT.ErrnoError(33)},getStream:function(t){return WT.streams[t]},createStream:function(t,e,r){WT.FSStream||(WT.FSStream=function(){},WT.FSStream.prototype={object:{get:function(){return this.node},set:function(t){this.node=t}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new WT.FSStream;for(var i in t)n[i]=t[i];t=n;var o=WT.nextfd(e,r);return t.fd=o,WT.streams[o]=t,t},closeStream:function(t){WT.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=WT.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new WT.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return 255&t},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){WT.devices[t]={stream_ops:e}},getDevice:function(t){return WT.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var n=r.pop();e.push(n),r.push.apply(r,n.mounts)}return e},syncfs:function(t,e){"function"==typeof t&&(e=t,t=!1),WT.syncFSRequests++,WT.syncFSRequests>1&&cT("warning: "+WT.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=WT.getMounts(WT.root.mount),n=0;function i(t){return WT.syncFSRequests--,e(t)}function o(t){if(t)return o.errored?void 0:(o.errored=!0,i(t));++n>=r.length&&i(null)}r.forEach((function(e){if(!e.type.syncfs)return o(null);e.type.syncfs(e,t,o)}))},mount:function(t,e,r){var n,i="/"===r,o=!r;if(i&&WT.root)throw new WT.ErrnoError(10);if(!i&&!o){var a=WT.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,WT.isMountpoint(n))throw new WT.ErrnoError(10);if(!WT.isDir(n.mode))throw new WT.ErrnoError(54)}var s={type:t,opts:e,mountpoint:r,mounts:[]},f=t.mount(s);return f.mount=s,s.root=f,i?WT.root=f:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),f},unmount:function(t){var e=WT.lookupPath(t,{follow_mount:!1});if(!WT.isMountpoint(e.node))throw new WT.ErrnoError(28);var r=e.node,n=r.mounted,i=WT.getMounts(n);Object.keys(WT.nameTable).forEach((function(t){for(var e=WT.nameTable[t];e;){var r=e.name_next;i.includes(e.mount)&&WT.destroyNode(e),e=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(n);r.mount.mounts.splice(o,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var n=WT.lookupPath(t,{parent:!0}).node,i=NT.basename(t);if(!i||"."===i||".."===i)throw new WT.ErrnoError(28);var o=WT.mayCreate(n,i);if(o)throw new WT.ErrnoError(o);if(!n.node_ops.mknod)throw new WT.ErrnoError(63);return n.node_ops.mknod(n,i,e,r)},create:function(t,e){return e=void 0!==e?e:438,e&=4095,e|=32768,WT.mknod(t,e,0)},mkdir:function(t,e){return e=void 0!==e?e:511,e&=1023,e|=16384,WT.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),n="",i=0;ithis.length-1||t<0)){var e=t%this.chunkSize,r=t/this.chunkSize|0;return this.getter(r)[e]}},o.prototype.setDataGetter=function(t){this.getter=t},o.prototype.cacheLength=function(){var t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw new Error("Couldn't load "+r+". Status: "+t.status);var e,n=Number(t.getResponseHeader("Content-length")),i=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,o=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;i||(a=n);var s=this;s.setDataGetter((function(t){var e=t*a,i=(t+1)*a-1;if(i=Math.min(i,n-1),void 0===s.chunks[t]&&(s.chunks[t]=function(t,e){if(t>e)throw new Error("invalid range ("+t+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==a&&i.setRequestHeader("Range","bytes="+t+"-"+e),"undefined"!=typeof Uint8Array&&(i.responseType="arraybuffer"),i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):NC(i.responseText||"",!0)}(e,i)),void 0===s.chunks[t])throw new Error("doXHR failed!");return s.chunks[t]})),!o&&n||(a=n=1,n=this.getter(0).length,a=n,hT("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!eT)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new o;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var f=WT.createFile(t,e,s,n,i);s.contents?f.contents=s.contents:s.url&&(f.contents=null,f.url=s.url),Object.defineProperties(f,{usedBytes:{get:function(){return this.contents.length}}});var u={};return Object.keys(f.stream_ops).forEach((function(t){var e=f.stream_ops[t];u[t]=function(){return WT.forceLoadFile(f),e.apply(null,arguments)}})),u.read=function(t,e,r,n,i){WT.forceLoadFile(f);var o=t.node.contents;if(i>=o.length)return 0;var a=Math.min(o.length-i,n);if(o.slice)for(var s=0;s>2]=n.dev,ET[r+4>>2]=0,ET[r+8>>2]=n.ino,ET[r+12>>2]=n.mode,ET[r+16>>2]=n.nlink,ET[r+20>>2]=n.uid,ET[r+24>>2]=n.gid,ET[r+28>>2]=n.rdev,ET[r+32>>2]=0,jT=[n.size>>>0,(UT=n.size,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[r+40>>2]=jT[0],ET[r+44>>2]=jT[1],ET[r+48>>2]=4096,ET[r+52>>2]=n.blocks,ET[r+56>>2]=n.atime.getTime()/1e3|0,ET[r+60>>2]=0,ET[r+64>>2]=n.mtime.getTime()/1e3|0,ET[r+68>>2]=0,ET[r+72>>2]=n.ctime.getTime()/1e3|0,ET[r+76>>2]=0,jT=[n.ino>>>0,(UT=n.ino,+Math.abs(UT)>=1?UT>0?(0|Math.min(+Math.floor(UT/4294967296),4294967295))>>>0:~~+Math.ceil((UT-+(~~UT>>>0))/4294967296)>>>0:0)],ET[r+80>>2]=jT[0],ET[r+84>>2]=jT[1],0},doMsync:function(t,e,r,n,i){var o=_T.slice(t,t+r);WT.msync(e,o,i,r,n)},doMkdir:function(t,e){return"/"===(t=NT.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),WT.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return WT.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var n=WT.readlink(t),i=Math.min(r,RR(n)),o=wT[e+i];return TR(n,e,r+1),wT[e+i]=o,i},doAccess:function(t,e){if(-8&e)return-28;var r;if(!(r=WT.lookupPath(t,{follow:!0}).node))return-44;var n="";return 4&e&&(n+="r"),2&e&&(n+="w"),1&e&&(n+="x"),n&&WT.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var n=WT.getStream(r);return n&&WT.close(n),WT.open(t,e,0,r,r).fd},doReadv:function(t,e,r,n){for(var i=0,o=0;o>2],s=ET[e+(8*o+4)>>2],f=WT.read(t,wT,a,s,n);if(f<0)return-1;if(i+=f,f>2],s=ET[e+(8*o+4)>>2],f=WT.write(t,wT,a,s,n);if(f<0)return-1;i+=f}return i},varargs:void 0,get:function(){return HT.varargs+=4,ET[HT.varargs-4>>2]},getStr:function(t){return kR(t)},getStreamFromFD:function(t){var e=WT.getStream(t);if(!e)throw new WT.ErrnoError(8);return e},get64:function(t,e){return t}},GT=void 0,YT={},KT={},VT={},ZT=48,$T=57,XT=void 0,JT=void 0,QT=!1,tR=void 0,eR=[],rR={},nR={},iR=void 0,oR=[],aR=[{},{value:void 0},{value:null},{value:!0},{value:!1}],sR={},fR=[],uR={},hR=function(t,e,r,n){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=WT.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},cR=365,dR=146,Object.defineProperties(hR.prototype,{read:{get:function(){return(this.mode&cR)===cR},set:function(t){t?this.mode|=cR:this.mode&=~cR}},write:{get:function(){return(this.mode&dR)===dR},set:function(t){t?this.mode|=dR:this.mode&=~dR}},isFolder:{get:function(){return WT.isDir(this.mode)}},isDevice:{get:function(){return WT.isChrdev(this.mode)}}}),WT.FSNode=hR,WT.staticInit(),XR(),XT=ZB.BindingError=ex(Error,"BindingError"),JT=ZB.InternalError=ex(Error,"InternalError"),gx(),Ux(),Dx(),iR=ZB.UnboundTypeError=ex(Error,"UnboundTypeError"),tC(),lR={z:KR,y:VR,t:ZR,D:ax,o:Wx,j:Yx,g:Vx,I:$x,C:rC,m:oC,c:sC,b:fC,n:uC,i:hC,E:cC,r:pC,e:mC,p:Xx,d:bC,H:gC,q:vC,w:yC,a:wC,G:_C,f:BC,u:TC,v:xC,x:CC,l:IC,A:DC,B:PC,s:OC,k:LC,F:UC,h:jC},qR(),ZB.___wasm_call_ctors=function(){return(ZB.___wasm_call_ctors=ZB.asm.K).apply(null,arguments)},pR=ZB._free=function(){return(pR=ZB._free=ZB.asm.L).apply(null,arguments)},mR=ZB._malloc=function(){return(mR=ZB._malloc=ZB.asm.M).apply(null,arguments)},bR=ZB._strlen=function(){return(bR=ZB._strlen=ZB.asm.O).apply(null,arguments)},gR=ZB.___errno_location=function(){return(gR=ZB.___errno_location=ZB.asm.P).apply(null,arguments)},vR=ZB.___getTypeName=function(){return(vR=ZB.___getTypeName=ZB.asm.Q).apply(null,arguments)},ZB.___embind_register_native_and_builtin_types=function(){return(ZB.___embind_register_native_and_builtin_types=ZB.asm.R).apply(null,arguments)},ZB.dynCall_ijiii=function(){return(ZB.dynCall_ijiii=ZB.asm.S).apply(null,arguments)},ZB.dynCall_viiijj=function(){return(ZB.dynCall_viiijj=ZB.asm.T).apply(null,arguments)},ZB.dynCall_jij=function(){return(ZB.dynCall_jij=ZB.asm.U).apply(null,arguments)},ZB.dynCall_jii=function(){return(ZB.dynCall_jii=ZB.asm.V).apply(null,arguments)},ZB.dynCall_jiji=function(){return(ZB.dynCall_jiji=ZB.asm.W).apply(null,arguments)},ZB._ff_h264_cabac_tables=77157,PT=function t(){yR||FC(),yR||(PT=t)},ZB.run=FC,ZB.preInit)for("function"==typeof ZB.preInit&&(ZB.preInit=[ZB.preInit]);ZB.preInit.length>0;)ZB.preInit.pop()();FC(),wR=e(ZB)}var WC=!1;function HC(t){let e=t.next(),r=null;return n=>{var i=new Uint8Array(n);if(r){var o=new Uint8Array(r.length+i.length);o.set(r),o.set(i,r.length),i=o,r=null}for(;i.length>=e.value;){var a=i.slice(e.value);e=t.next(i.slice(0,e.value)),i=a}i.length>0&&(r=i)}}function GC(){({}),_R||(_R=!0,qC()),a(),(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1})(),Date.now||(Date.now=function(){return(new Date).getTime()}),wR.print=function(t){postMessage({cmd:"print",text:t})},wR.printErr=function(t){postMessage({cmd:"printErr",text:t})},wR.postRun=function(){var t=[],e={_firstCheckpoint:0,_lastCheckpoint:0,_intervalBytes:0,_lastSecondBytes:0,addBytes:function(t){0===e._firstCheckpoint?(e._firstCheckpoint=Date.now(),e._lastCheckpoint=e._firstCheckpoint,e._intervalBytes+=t):Date.now()-e._lastCheckpoint<1e3?e._intervalBytes+=t:(e._lastSecondBytes=e._intervalBytes,e._intervalBytes=t,e._lastCheckpoint=Date.now())},reset:function(){e._firstCheckpoint=e._lastCheckpoint=0,e._intervalBytes=0,e._lastSecondBytes=0},getCurrentKBps:function(){e.addBytes(0);var t=(Date.now()-e._lastCheckpoint)/1e3;return 0==t&&(t=1),e._intervalBytes/t/1024},getLastSecondKBps:function(){return e.addBytes(0),0!==e._lastSecondBytes?e._lastSecondBytes/1024:Date.now()-e._lastCheckpoint>=500?e.getCurrentKBps():0}},r={opt:{},initAudioPlanar:function(t,e){postMessage({cmd:"initAudioPlanar",samplerate:e,channels:t});var r=[],n=[],i=0;this.playAudioPlanar=function(e,o){for(var a=o,s=[],f=0,u=0;u<2;u++){var h=wR.HEAPU32[(e>>2)+u]>>2;s[u]=wR.HEAPF32.subarray(h,h+a)}if(i){if(!(a>=(o=1024-i)))return i+=a,r[0]=Float32Array.of(...r[0],...s[0]),void(2==t&&(r[1]=Float32Array.of(...r[1],...s[1])));n[0]=Float32Array.of(...r[0],...s[0].subarray(0,o)),2==t&&(n[1]=Float32Array.of(...r[1],...s[1].subarray(0,o))),postMessage({cmd:"playAudio",buffer:n},n.map((t=>t.buffer))),f=o,a-=o}for(i=a;i>=1024;i-=1024)n[0]=s[0].slice(f,f+=1024),2==t&&(n[1]=s[1].slice(f-1024,f)),postMessage({cmd:"playAudio",buffer:n},n.map((t=>t.buffer)));i&&(r[0]=s[0].slice(f),2==t&&(r[1]=s[1].slice(f)))}},inputFlv:function*(){yield 9;for(var e=new ArrayBuffer(4),r=new Uint8Array(e),o=new Uint32Array(e);;){r[3]=0;var a=yield 15,s=a[4];r[0]=a[7],r[1]=a[6],r[2]=a[5];var f=o[0];r[0]=a[10],r[1]=a[9],r[2]=a[8];var u=o[0];16777215===u&&(r[3]=a[11],u=o[0]);var h=yield f;switch(s){case 8:this.opt.hasAudio&&t.push({ts:u,payload:h,decoder:n,type:0});break;case 9:t.push({ts:u,payload:h,decoder:i,type:h[0]>>4})}}},play:function(r){this.opt.debug&&console.log("Jessibuca play",r),this.getDelay=function(t){return t?(this.firstTimestamp=t,this.startTimestamp=Date.now(),this.getDelay=function(t){return this.delay=Date.now()-this.startTimestamp-(t-this.firstTimestamp),this.delay},-1):-1};if(this.stopId=setInterval((()=>{if(t.length)if(this.dropping){for(e=t.shift();1!==e.type&&t.length;)e=t.shift();1===e.type&&(this.dropping=!1,e.decoder.decode(e.payload))}else{var e=t[0];if(-1===this.getDelay(e.ts))t.shift(),this.ts=e.ts,e.decoder.decode(e.payload);else if(this.delay>this.videoBuffer+1e3)this.dropping=!0;else for(;t.length&&(e=t[0],this.getDelay(e.ts)>this.videoBuffer);)t.shift(),this.ts=e.ts,e.decoder.decode(e.payload)}}),10),this.speedSamplerId=setInterval((()=>{postMessage({cmd:"kBps",kBps:e.getLastSecondKBps()})}),1e3),0==r.indexOf("http")){this.flvMode=!0;var o=this,s=new AbortController;fetch(r,{signal:s.signal}).then((function(t){var r=t.body.getReader(),n=o.inputFlv(),i=HC(n),a=function(){r.read().then((({done:t,value:r})=>{t?n.return(null):(e.addBytes(r.byteLength),i(r),a())})).catch((function(t){n.return(null),o.opt.debug&&console.error(t),-1===t.toString().indexOf("The user aborted a request")&&postMessage({cmd:"printErr",text:t.toString()})}))};a()})).catch((t=>{postMessage({cmd:"printErr",text:t.message})})),this._close=function(){s.abort()}}else{if(this.flvMode=-1!=r.indexOf(".flv"),this.ws=new WebSocket(r),this.ws.binaryType="arraybuffer",this.flvMode){let t=this.inputFlv();var f=HC(t);this.ws.onmessage=t=>{e.addBytes(t.data.byteLength),f(t.data)},this.ws.onerror=e=>{t.return(null),postMessage({cmd:"printErr",text:e.toString()})}}else this.ws.onmessage=r=>{e.addBytes(r.data.byteLength);var o=new DataView(r.data);switch(o.getUint8(0)){case 1:this.opt.hasAudio&&t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:n,type:0});break;case 2:t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:i,type:o.getUint8(5)>>4})}},this.ws.onerror=t=>{postMessage({cmd:"printErr",text:t.toString()})};this._close=function(){this.ws.close(),this.ws=null}}this.setVideoSize=function(t,e){postMessage({cmd:"initSize",w:t,h:e});var r=t*e,n=r>>2;if(this.opt.forceNoOffscreen||"undefined"==typeof OffscreenCanvas)this.draw=function(t,e,i,o){var a=[wR.HEAPU8.subarray(e,e+r),wR.HEAPU8.subarray(i,i+n),wR.HEAPU8.subarray(o,o+n)].map((t=>Uint8Array.from(t)));postMessage({cmd:"render",compositionTime:t,delay:this.delay,ts:this.ts,output:a},a.map((t=>t.buffer)))};else{var i=new OffscreenCanvas(t,e),o=i.getContext("webgl"),s=a().default(o);this.draw=function(o,a,f,u){s(t,e,wR.HEAPU8.subarray(a,a+r),wR.HEAPU8.subarray(f,f+n),wR.HEAPU8.subarray(u,u+n));let h=i.transferToImageBitmap();postMessage({cmd:"render",compositionTime:o,delay:this.delay,ts:this.ts,buffer:h},[h])}}}},close:function(){this._close&&(this.opt.debug&&console.log("worker close"),this._close(),clearInterval(this.stopId),this.stopId=null,clearInterval(this.speedSamplerId),this.speedSamplerId=null,e.reset(),this.ws=null,n.clear(),i.clear(),this.firstTimestamp=0,this.startTimestamp=0,this.delay=0,this.ts=0,this.flvMode=!1,t=[],delete this.playAudioPlanar,delete this.draw,delete this.getDelay)}},n=new wR.AudioDecoder(r),i=new wR.VideoDecoder(r);postMessage({cmd:"init"}),self.onmessage=function(t){var e=t.data;switch(e.cmd){case"init":r.opt=JSON.parse(e.opt),n.sample_rate=e.sampleRate;break;case"getProp":postMessage({cmd:"getProp",value:r[e.prop]});break;case"setProp":r[e.prop]=e.value;break;case"play":r.play(e.url);break;case"setVideoBuffer":r.videoBuffer=1e3*e.time|0;break;case"close":r.close()}}}}"undefined"==typeof importScripts?yt||(yt=!0,{},c(),N(),K(),X(),gt(),y(),O(),vt=class{constructor(t){if(this._opt=Object.assign(y().DEFAULT_OPTIONS,t),this.$container=t.container,"string"==typeof t.container&&(this.$container=document.querySelector(t.container)),!this.$container)throw new Error("Jessibuca need container option");delete this._opt.container,this._opt.debug&&console.log("options",this._opt),gt().default(this),c().default(this),N().default(this),X().default(this),K().default(this)}set fullscreen(t){t?(O().checkFull()||this.$container.requestFullscreen(),O().$domToggle(this.$doms.minScreenDom,!0),O().$domToggle(this.$doms.fullscreenDom,!1)):(O().checkFull()&&document.exitFullscreen(),O().$domToggle(this.$doms.minScreenDom,!1),O().$domToggle(this.$doms.fullscreenDom,!0)),this._fullscreen!==t&&(this.onFullscreen(t),this._trigger(y().EVEMTS.fullscreen,t)),this._fullscreen=t}get fullscreen(){return this._fullscreen}set playing(t){t?(O().$domToggle(this.$doms.playBigDom,!1),O().$domToggle(this.$doms.playDom,!1),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.screenshotsDom,!0),O().$domToggle(this.$doms.recordDom,!0),this._quieting?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0))):(this.$doms.speedDom&&(this.$doms.speedDom.innerText=""),this._playUrl&&(O().$domToggle(this.$doms.playDom,!0),O().$domToggle(this.$doms.playBigDom,!0),O().$domToggle(this.$doms.pauseDom,!1)),O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!1),O().$domToggle(this.$doms.screenshotsDom,!1),O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!1)),this._playing!==t&&(t?(this.onPlay(),this._trigger(y().EVEMTS.play)):(this.onPause(),this._trigger(y().EVEMTS.pause))),this._playing=t}get playing(){return this._playing}set quieting(t){t?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0)),this._quieting!==t&&(this.onMute(t),this._trigger(y().EVEMTS.mute,t)),this._quieting=t}get quieting(){return this._quieting}set loading(t){t?(O().$hideBtns(this.$doms),O().$domToggle(this.$doms.fullscreenDom,!0),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.loadingDom,!0)):O().$initBtns(this.$doms),this._loading=t}get loading(){return this._loading}set recording(t){t?(O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!0)):(O().$domToggle(this.$doms.recordDom,!0),O().$domToggle(this.$doms.recordingDom,!1)),this._recording!==t&&(this.onRecord(t),this._trigger(y().EVEMTS.record,t),this._recording=t)}get recording(){return this._recording}isPlaying(){return this.playing}isMute(){return this.quieting}setDebug(t){this._opt.isDebug=!!t}setTimeout(t){this._opt.timeout=Number(t)}setVod(t){this._opt.vod=!!t}setNoOffscreen(t){this._opt.forceNoOffscreen=!!t}setScaleMode(t){0===(t=Number(t))?(this._opt.isFullResize=!1,this._opt.isResize=!1):1===t?(this._opt.isFullResize=!1,this._opt.isResize=!0):2===t&&(this._opt.isFullResize=!0),this._resize()}mute(){this._mute()}cancelMute(){this._cancelMute()}audioResume(){this._cancelMute()}pause(){this._pause()}play(t){this._play(t)}close(){this._close()}destroy(){this._close(),this._destroyAudioContext(),this._destroyContextGL(),this._decoderWorker.terminate(),this._removeEventListener(),this._initCheckVariable(),this._off(),this._removeContainerChild()}clearView(){this._clearView()}resize(){this._resize()}setBufferTime(t){t=Number(t),this._decoderWorker.postMessage({cmd:y().POST_MESSAGE.setVideoBuffer,time:t})}setRotate(t){t=parseInt(t,10),this._opt.rotate!==t&&-1!==[0,90,270].indexOf(t)&&(this._opt.rotate=t,this.resize())}setVolume(t){if(this._gainNode){if(t=parseFloat(t),isNaN(t))return;this._gainNode.gain.setValueAtTime(t,this._audioContext.currentTime)}}setKeepScreenOn(){this._opt.keepScreenOn=!0}setFullscreen(t){const e=!!t;this.fullscreen!==e&&(this.fullscreen=e)}hasLoaded(){return this._hasLoaded}screenshot(t,e,r){this._screenshot(t,e,r)}on(t,e){this._on(t,e)}},window.Jessibuca=vt):WC||(WC=!0,GC())}(); \ No newline at end of file diff --git a/web_src/src/core/jessibuca/logo.png b/web_src/src/core/jessibuca/logo.png new file mode 100644 index 00000000..751de2a4 Binary files /dev/null and b/web_src/src/core/jessibuca/logo.png differ diff --git a/web_src/src/core/jessibuca/renderer.js b/web_src/src/core/jessibuca/renderer.js new file mode 100644 index 00000000..754f436e --- /dev/null +++ b/web_src/src/core/jessibuca/renderer.js @@ -0,0 +1,1711 @@ +!(function () { + /** + * @param opt + * container: DOM 容器 + * contextOptions: + * videoBuffer: + * forceNoGL: + * isNotMute: + * decoder: + * @constructor + */ + function Jessibuca(opt) { + this._opt = opt; + + if (typeof opt.container === "string") { + this._opt.container = document.getElementById(opt.container); + } + if (!this._opt.container) { + throw new Error('Jessibuca need container option'); + return; + } + + this._canvasElement = document.createElement("canvas"); + this._canvasElement.style.position = "absolute"; + this._canvasElement.style.top = 0; + this._canvasElement.style.left = 0; + this._opt.container.appendChild(this._canvasElement); + this._container = this._opt.container; + this._container.style.overflow = "hidden"; + this._containerOldPostion = { + position: this._container.style.position, + top: this._container.style.top, + left: this._container.style.left, + width: this._container.style.width, + height: this._container.style.height + } + if (this._containerOldPostion.position != "absolute") { + this._container.style.position = "relative" + } + this._opt.videoBuffer = opt.videoBuffer || 0; + this._opt.text = opt.text || ''; + // + this._opt.isResize = opt.isResize === false ? opt.isResize : true; + this._opt.isFullResize = opt.isFullResize === true ? opt.isFullResize : false; + this._opt.isDebug = opt.debug === true; + this._opt.timeout = typeof opt.timeout === 'number' ? opt.timeout : 30; + this._opt.supportDblclickFullscreen = opt.supportDblclickFullscreen === true; + this._opt.showBandwidth = opt.showBandwidth === true; + this._opt.operateBtns = Object.assign({ + fullscreen: false, + screenshot: false, + play: false, + audio: false + }, opt.operateBtns || {}); + this._opt.keepScreenOn = opt.keepScreenOn === true; + this._opt.rotate = typeof opt.rotate === 'number' ? opt.rotate : 0; + + if (!opt.forceNoGL && !this.supportOffscreen()) this._initContextGL(); + this._audioContext = new (window.AudioContext || window.webkitAudioContext)(); + this._gainNode = this._audioContext.createGain(); + this._audioEnabled(true); + if (!opt.isNotMute) { + this._audioEnabled(false); + } + if (this._contextGL) { + this._initProgram(); + this._initBuffers(); + this._initTextures(); + } + this._onresize = () => this.resize(); + this._onfullscreenchange = () => this._fullscreenchange(); + window.addEventListener("resize", this._onresize); + document.addEventListener('fullscreenchange', this._onfullscreenchange); + this._decoderWorker = new Worker(opt.decoder || 'ff.js') + var _this = this; + this._hasLoaded = false; + this._stats = { + buf: 0, + fps: 0, + abps: '', + vbps: '', + ts: '' + }; + this._audioPlayBuffers = []; + + if (this._opt.supportDblclickFullscreen) { + this._canvasElement.addEventListener('dblclick', function () { + _this.fullscreen = !_this.fullscreen; + }, false); + } + this.onPlay = noop; + this.onPause = noop; + this.onRecord = noop; + this.onFullscreen = noop; + this.onMute = noop; + this.onLoad = noop; + this.onLog = noop; + this.onError = noop; + this.onTimeUpdate = noop; + this.onInitSize = noop; + this._onMessage(); + this._initDom(); + this._initStatus(); + this._initEventListener(); + this._hideBtns(); + // + this._initWakeLock(); + this._enableWakeLock(); + }; + + function noop() { + + } + + Jessibuca.prototype._initDom = function () { + var playBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII='; + var pauseBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII='; + var screenshotBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC'; + var fullscreenBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg=='; + var minScreenBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg=='; + var quietBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg=='; + var playAudioBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg=='; + var recordBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg=='; + var recordingBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg=='; + var gifBase64 = 'data:image/gif;base64,R0lGODlhgACAAKIAAP///93d3bu7u5mZmQAA/wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAEACwCAAIAfAB8AAAD/0i63P4wygYqmDjrzbtflvWNZGliYXiubKuloivPLlzReD7al+7/Eh5wSFQIi8hHYBkwHUmD6CD5YTJLz49USuVYraRsZ7vtar7XnQ1Kjpoz6LRHvGlz35O4nEPP2O94EnpNc2sef1OBGIOFMId/inB6jSmPdpGScR19EoiYmZobnBCIiZ95k6KGGp6ni4wvqxilrqBfqo6skLW2YBmjDa28r6Eosp27w8Rov8ekycqoqUHODrTRvXsQwArC2NLF29UM19/LtxO5yJd4Au4CK7DUNxPebG4e7+8n8iv2WmQ66BtoYpo/dvfacBjIkITBE9DGlMvAsOIIZjIUAixliv9ixYZVtLUos5GjwI8gzc3iCGghypQqrbFsme8lwZgLZtIcYfNmTJ34WPTUZw5oRxdD9w0z6iOpO15MgTh1BTTJUKos39jE+o/KS64IFVmsFfYT0aU7capdy7at27dw48qdS7eu3bt480I02vUbX2F/JxYNDImw4GiGE/P9qbhxVpWOI/eFKtlNZbWXuzlmG1mv58+gQ4seTbq06dOoU6vGQZJy0FNlMcV+czhQ7SQmYd8eMhPs5BxVdfcGEtV3buDBXQ+fURxx8oM6MT9P+Fh6dOrH2zavc13u9JXVJb520Vp8dvC76wXMuN5Sepm/1WtkEZHDefnzR9Qvsd9+/wi8+en3X0ntYVcSdAE+UN4zs7ln24CaLagghIxBaGF8kFGoIYV+Ybghh841GIyI5ICIFoklJsigihmimJOLEbLYIYwxSgigiZ+8l2KB+Ml4oo/w8dijjcrouCORKwIpnJIjMnkkksalNeR4fuBIm5UEYImhIlsGCeWNNJphpJdSTlkml1jWeOY6TnaRpppUctcmFW9mGSaZceYopH9zkjnjUe59iR5pdapWaGqHopboaYua1qije67GJ6CuJAAAIfkEBQUABAAsCgACAFcAMAAAA/9Iutz+ML5Ag7w46z0r5WAoSp43nihXVmnrdusrv+s332dt4Tyo9yOBUJD6oQBIQGs4RBlHySSKyczVTtHoidocPUNZaZAr9F5FYbGI3PWdQWn1mi36buLKFJvojsHjLnshdhl4L4IqbxqGh4gahBJ4eY1kiX6LgDN7fBmQEJI4jhieD4yhdJ2KkZk8oiSqEaatqBekDLKztBG2CqBACq4wJRi4PZu1sA2+v8C6EJexrBAD1AOBzsLE0g/V1UvYR9sN3eR6lTLi4+TlY1wz6Qzr8u1t6FkY8vNzZTxaGfn6mAkEGFDgL4LrDDJDyE4hEIbdHB6ESE1iD4oVLfLAqPETIsOODwmCDJlv5MSGJklaS6khAQAh+QQFBQAEACwfAAIAVwAwAAAD/0i63P5LSAGrvTjrNuf+YKh1nWieIumhbFupkivPBEzR+GnnfLj3ooFwwPqdAshAazhEGUXJJIrJ1MGOUamJ2jQ9QVltkCv0XqFh5IncBX01afGYnDqD40u2z76JK/N0bnxweC5sRB9vF34zh4gjg4uMjXobihWTlJUZlw9+fzSHlpGYhTminKSepqebF50NmTyor6qxrLO0L7YLn0ALuhCwCrJAjrUqkrjGrsIkGMW/BMEPJcphLgDaABjUKNEh29vdgTLLIOLpF80s5xrp8ORVONgi8PcZ8zlRJvf40tL8/QPYQ+BAgjgMxkPIQ6E6hgkdjoNIQ+JEijMsasNY0RQix4gKP+YIKXKkwJIFF6JMudFEAgAh+QQFBQAEACw8AAIAQgBCAAAD/kg0PPowykmrna3dzXvNmSeOFqiRaGoyaTuujitv8Gx/661HtSv8gt2jlwIChYtc0XjcEUnMpu4pikpv1I71astytkGh9wJGJk3QrXlcKa+VWjeSPZHP4Rtw+I2OW81DeBZ2fCB+UYCBfWRqiQp0CnqOj4J1jZOQkpOUIYx/m4oxg5cuAaYBO4Qop6c6pKusrDevIrG2rkwptrupXB67vKAbwMHCFcTFxhLIt8oUzLHOE9Cy0hHUrdbX2KjaENzey9Dh08jkz8Tnx83q66bt8PHy8/T19vf4+fr6AP3+/wADAjQmsKDBf6AOKjS4aaHDgZMeSgTQcKLDhBYPEswoA1BBAgAh+QQFBQAEACxOAAoAMABXAAAD7Ei6vPOjyUkrhdDqfXHm4OZ9YSmNpKmiqVqykbuysgvX5o2HcLxzup8oKLQQix0UcqhcVo5ORi+aHFEn02sDeuWqBGCBkbYLh5/NmnldxajX7LbPBK+PH7K6narfO/t+SIBwfINmUYaHf4lghYyOhlqJWgqDlAuAlwyBmpVnnaChoqOkpaanqKmqKgGtrq+wsbA1srW2ry63urasu764Jr/CAb3Du7nGt7TJsqvOz9DR0tPU1TIA2ACl2dyi3N/aneDf4uPklObj6OngWuzt7u/d8fLY9PXr9eFX+vv8+PnYlUsXiqC3c6PmUUgAACH5BAUFAAQALE4AHwAwAFcAAAPpSLrc/m7IAau9bU7MO9GgJ0ZgOI5leoqpumKt+1axPJO1dtO5vuM9yi8TlAyBvSMxqES2mo8cFFKb8kzWqzDL7Xq/4LB4TC6bz1yBes1uu9uzt3zOXtHv8xN+Dx/x/wJ6gHt2g3Rxhm9oi4yNjo+QkZKTCgGWAWaXmmOanZhgnp2goaJdpKGmp55cqqusrZuvsJays6mzn1m4uRAAvgAvuBW/v8GwvcTFxqfIycA3zA/OytCl0tPPO7HD2GLYvt7dYd/ZX99j5+Pi6tPh6+bvXuTuzujxXens9fr7YPn+7egRI9PPHrgpCQAAIfkEBQUABAAsPAA8AEIAQgAAA/lIutz+UI1Jq7026h2x/xUncmD5jehjrlnqSmz8vrE8u7V5z/m5/8CgcEgsGo/IpHLJbDqf0Kh0ShBYBdTXdZsdbb/Yrgb8FUfIYLMDTVYz2G13FV6Wz+lX+x0fdvPzdn9WeoJGAYcBN39EiIiKeEONjTt0kZKHQGyWl4mZdREAoQAcnJhBXBqioqSlT6qqG6WmTK+rsa1NtaGsuEu6o7yXubojsrTEIsa+yMm9SL8osp3PzM2cStDRykfZ2tfUtS/bRd3ewtzV5pLo4eLjQuUp70Hx8t9E9eqO5Oku5/ztdkxi90qPg3x2EMpR6IahGocPCxp8AGtigwQAIfkEBQUABAAsHwBOAFcAMAAAA/9Iutz+MMo36pg4682J/V0ojs1nXmSqSqe5vrDXunEdzq2ta3i+/5DeCUh0CGnF5BGULC4tTeUTFQVONYAs4CfoCkZPjFar83rBx8l4XDObSUL1Ott2d1U4yZwcs5/xSBB7dBMBhgEYfncrTBGDW4WHhomKUY+QEZKSE4qLRY8YmoeUfkmXoaKInJ2fgxmpqqulQKCvqRqsP7WooriVO7u8mhu5NacasMTFMMHCm8qzzM2RvdDRK9PUwxzLKdnaz9y/Kt8SyR3dIuXmtyHpHMcd5+jvWK4i8/TXHff47SLjQvQLkU+fG29rUhQ06IkEG4X/Rryp4mwUxSgLL/7IqFETB8eONT6ChCFy5ItqJomES6kgAQAh+QQFBQAEACwKAE4AVwAwAAAD/0i63A4QuEmrvTi3yLX/4MeNUmieITmibEuppCu3sDrfYG3jPKbHveDktxIaF8TOcZmMLI9NyBPanFKJp4A2IBx4B5lkdqvtfb8+HYpMxp3Pl1qLvXW/vWkli16/3dFxTi58ZRcChwIYf3hWBIRchoiHiotWj5AVkpIXi4xLjxiaiJR/T5ehoomcnZ+EGamqq6VGoK+pGqxCtaiiuJVBu7yaHrk4pxqwxMUzwcKbyrPMzZG90NGDrh/JH8t72dq3IN1jfCHb3L/e5ebh4ukmxyDn6O8g08jt7tf26ybz+m/W9GNXzUQ9fm1Q/APoSWAhhfkMAmpEbRhFKwsvCsmosRIHx444PoKcIXKkjIImjTzjkQAAIfkEBQUABAAsAgA8AEIAQgAAA/VIBNz+8KlJq72Yxs1d/uDVjVxogmQqnaylvkArT7A63/V47/m2/8CgcEgsGo/IpHLJbDqf0Kh0Sj0FroGqDMvVmrjgrDcTBo8v5fCZki6vCW33Oq4+0832O/at3+f7fICBdzsChgJGeoWHhkV0P4yMRG1BkYeOeECWl5hXQ5uNIAOjA1KgiKKko1CnqBmqqk+nIbCkTq20taVNs7m1vKAnurtLvb6wTMbHsUq4wrrFwSzDzcrLtknW16tI2tvERt6pv0fi48jh5h/U6Zs77EXSN/BE8jP09ZFA+PmhP/xvJgAMSGBgQINvEK5ReIZhQ3QEMTBLAAAh+QQFBQAEACwCAB8AMABXAAAD50i6DA4syklre87qTbHn4OaNYSmNqKmiqVqyrcvBsazRpH3jmC7yD98OCBF2iEXjBKmsAJsWHDQKmw571l8my+16v+CweEwum8+hgHrNbrvbtrd8znbR73MVfg838f8BeoB7doN0cYZvaIuMjY6PkJGSk2gClgJml5pjmp2YYJ6dX6GeXaShWaeoVqqlU62ir7CXqbOWrLafsrNctjIDwAMWvC7BwRWtNsbGFKc+y8fNsTrQ0dK3QtXAYtrCYd3eYN3c49/a5NVj5eLn5u3s6e7x8NDo9fbL+Mzy9/T5+tvUzdN3Zp+GBAAh+QQJBQAEACwCAAIAfAB8AAAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdArcQK2TOL7/nl4PSMwIfcUk5YhUOh3M5nNKiOaoWCuWqt1Ou16l9RpOgsvEMdocXbOZ7nQ7DjzTaeq7zq6P5fszfIASAYUBIYKDDoaGIImKC4ySH3OQEJKYHZWWi5iZG0ecEZ6eHEOio6SfqCaqpaytrpOwJLKztCO2jLi1uoW8Ir6/wCHCxMG2x7muysukzb230M6H09bX2Nna29zd3t/g4cAC5OXm5+jn3Ons7eba7vHt2fL16tj2+QL0+vXw/e7WAUwnrqDBgwgTKlzIsKHDh2gGSBwAccHEixAvaqTYcFCjRoYeNyoM6REhyZIHT4o0qPIjy5YTTcKUmHImx5cwE85cmJPnSYckK66sSAAj0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gwxZJAAA7'; + var playBigBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAByBJREFUeNrlXFlIVV0U3vsaaINmZoX0YAR6y8oGMkKLoMESSjBoUJEoIogoIggigoryIQoKGqi3Roh6TKGBIkNEe6hMgzTNKLPSUlMrNdvrf/juurlP5zpc7znb+r+X755pn7W+Pe+9zpVimIEUKVKJiUIKKWRqKs5OmwZOTBQkSFBUFK5HR+tPt7WBOzpwX3U1jquqwGVleK6iQkoppSQy7a8xEBERLVwIPnsWXF9PrqCxEXzxInjpUrDH47YO0h2hw8JwtG4deN8+8OzZA0vl7Vt/iZZCCtnUhPPt7fp9o0fjvpgYHHu9uD8+Hsdsh52hggTV1uLg2DHwpUvSIz3S093ttE4hB5qSxYuRAc+f910im5vBFy6As7LALORQ7RgzBullZIBPngQ3NPRt1+vXeH7NGtN69u8oERFFRIDPnQMrZe8YZ0huLhwMDzdjb1gYC4zj4uKAeaFIkbpxAwfWvse48FOngp89s7eeS1p2Nlg63vQF7Y8iRWrlSthZXR2wZhAR0dy55gwlIqI5c8AfPtgbeuUKHIqKMi3soP3z1UzwiRP2NbqtDbxsmXuGacK3tOgG/fwJ3rbNtIDO+J2ZiQzp6ND97uzE+RUrHDaAmxprif/+HQasXm1aKKcBPxcsADc1/VEjFClS8+eH7oXcuSpSpJ480V/Y0wPOyjItjNtgofWmiPHuHa7Hxg79RUT0e1Rjxb/X1ASnDw9vf/3S9bl1K/iEFSlSixbZdz7Xr5t2fLgBuuTn2xfUjRsHmVBYGNg6gWpo+FtHNU4DuowYAZ3Ky+11GzOm/4SIiGjDBvuczM52zAHua4iI6OpVcGEheO1a8PCdP/j9CNRyKFKk9u4doBDWCRXXBOcE0GekgVBUhPuSk00LPTAdCwp0+3n0GBER4AFenbQiJ8cdg7dvpwGB5xunT4PHjTMtuL0/qan29q9fH+AB62jnyxe31moGlwFWNDbCzq1bcez+snLffr14odtrMzrCBet6/Pnz7hoabAZY8fgxT5iGRwbs36/b19kJHjnS49+BEkIIMXmy/vjt26YdCA4pKdgHKC2Fo5cvh2xiFBTu3NGPw8Ox/5CW5tG3/hi8VffokRmDQwUeNOTlwc/KSmRIbq67djx9Cm5p+W2akEKmpfnaSt5zZdTXY8+0udmQcg5h0iQwD3MfPgRPn+7UG6GjUjiqrNSver0eVIWEBP85EiSIN7H/dSxZAuY1roMHHRt02OqamOhrgnoN46SQQn76ZFoad8Hj8kOH4D/PZJOSQvYKW11jYnxNkHWK3NFhWhKz8HrB9+7xaCU06fYKIiBBgiIjfRlgHTf/j+NlNMTFgceOHXJSJEgQ9wXCVyOk9AlvLfEDWDT6X+DAAXSiHz8OOSkppJCRkfrJ9vYR+NHaql8wNV42jVevUFJ37kQ8kHX8PlRMmOD/SYIEtbZ69IAkvsATs38dP36ADx8GJyc7IzyD+xbhqxE1Nb4a8PKlfiE+HsOxyEgYZI1A+9tRUADetQtNTF2dU29CJ84Twhkz9KtVVb4+oKxMvxAWxjM101KFBvX1qNmbNkHwNWucFl4HT/QmTvSfIkGCSks9HC2MsxxzyTekp5uWLjh0dYHz88FeL2ry5ctm7LHq2NMD7rXUg6rC0cKM9+/BfQS1hghDXg1VpEjdvasvLpqHf3VWs/P+/QA3Lltm75jz8T7BZQAvn9tscJgWXpEiNWuWvd2bNwcQwONbnq6p0R8oLnYnA7Zs6Vvw7m7Yd/z4gDe5DQH2Xrum29/SwoObfh7cts1egFWrnDU4Lg785g2Ytx4LC2H4zJmmhe3XD5+dsJsD1xhHjgwwgfBwPFBXpydQXe3uFqXzfU9o7ZUSXFRkX/IHMcENGKXgixY27fBwA8TZudO+5dixY4gJ37xpyQVfvEtmpmnHTQMFMiUFevBeL6OkZMg1GQlER4P5wwTGt29g65bmvw/4HShanD+5mjIlxC+cNw/cKxqYw7RDHZY9TOEXXpEiVVurC8+jtJUrnTNAkSK1fDle2NWlG9DeDs7IMC2UM35zU2Mt8Urhel6eywalp+vCMzhM++hRDlo1LeCg/dNGNdy5Wtt4LvEuCv+HodqHCu/e2Y8Cyss5aNW0sAPzh8fx1uEkgyMGHWxqgjM8NhYGWoNSraMnvm6+89aXDHjmap1AMUpKcD9/+D2MAYNzcsD9fRDNsZMcwsedfehiPJFeUhJ4925wWVnfdvFHiDt2gEM/MXT+rwp47UMKKeT27Ti7Zw+YA6UCgbdKKyr8cTVSSCEbG3Ge/5yDwWtD48fjfv6rAl7C6LUeb4uvX8FnzuD5U6ewjP35s9M6uQaUJP4Qgz8E4SbJ2sk5BV5jevAAvHmzqS9/hs0XJxBi1CgOWtVjVnlHKSEB16Oj/wgoE0L8LsFcM169AldV8Q4UjouKULKtNch9/AdsEf6XQYgIsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0xMlQxMTo1NjowNSswODowMGcMj/QAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMTJUMTE6NTY6MDUrMDg6MDAWUTdIAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9wZHMzeWYxNGczYi9ib2Zhbmcuc3Zn11us5wAAAABJRU5ErkJggg=='; + + function _setStyle(dom, cssObj) { + Object.keys(cssObj).forEach(function (key) { + dom.style[key] = cssObj[key]; + }) + } + + var doms = {}; + + var fragment = document.createDocumentFragment(); + var btnWrap = document.createElement('div'); + var control1 = document.createElement('div'); + var control2 = document.createElement('div'); + var textDom = document.createElement('div'); + var speedDom = document.createElement('div'); + var playDom = document.createElement('div'); + var playBigDom = document.createElement('div'); + var pauseDom = document.createElement('div'); + var screenshotsDom = document.createElement('div'); + var fullscreenDom = document.createElement('div'); + var minScreenDom = document.createElement('div'); + var loadingDom = document.createElement('div'); + var loadingTextDom = document.createElement('div'); + var quietAudioDom = document.createElement('div'); + var playAudioDom = document.createElement('div'); + var recordDom = document.createElement('div'); + var recordingDom = document.createElement('div'); + var bgDom = document.createElement('div'); + + loadingTextDom.innerText = this._opt.loadingText || ''; + textDom.innerText = this._opt.text || ''; + speedDom.innerText = ''; + playDom.title = '播放'; + pauseDom.title = '暂停'; + screenshotsDom.title = '截屏'; + fullscreenDom.title = '全屏'; + minScreenDom.title = '退出全屏'; + quietAudioDom.title = '静音'; + playAudioDom.title = '取消静音'; + recordDom.title = '录制'; + recordingDom.title = '取消录制'; + + var wrapStyle = { + height: '38px', + zIndex: 11, + position: 'absolute', + left: 0, + bottom: 0, + width: '100%', + background: 'rgba(0,0,0)' + }; + + var bgStyle = { + position: 'absolute', + width: '100%', + height: '100%', + }; + + if (this._opt.background) { + bgStyle = Object.assign({}, bgStyle, { + backgroundRepeat: "no-repeat", + backgroundPosition: "center", + backgroundSize: '100%', + backgroundImage: "url('" + this._opt.background + "')" + }) + } + + // + var loadingStyle = { + position: 'absolute', + width: '100%', + height: '100%', + textAlign: 'center', + color: "#fff", + display: 'none', + backgroundImage: "url('" + gifBase64 + "')", + backgroundRepeat: "no-repeat", + backgroundPosition: "center", + backgroundSize: "40px 40px", + }; + + var playBigStyle = { + position: 'absolute', + width: '100%', + height: '100%', + display: 'none', + background: 'rgba(0,0,0,0.4)', + backgroundImage: "url('" + playBigBase64 + "')", + backgroundRepeat: "no-repeat", + backgroundPosition: "center", + backgroundSize: "48px 48px", + cursor: "pointer" + }; + + var loadingTextStyle = { + position: 'absolute', + width: "100%", + top: '60%', + textAlign: 'center', + } + var controlStyle = { + position: 'absolute', + top: 0, + height: '100%', + display: 'flex', + alignItems: 'center', + }; + var styleObj = { + display: 'none', + position: 'relative', + fontSize: '13px', + color: '#fff', + lineHeight: '20px', + marginLeft: '5px', + marginRight: '5px', + userSelect: 'none' + }; + var styleObj2 = { + display: 'none', + position: 'relative', + width: '16px', + height: '16px', + marginLeft: '8px', + marginRight: '8px', + backgroundRepeat: "no-repeat", + backgroundPosition: "center", + backgroundSize: '100%', + cursor: 'pointer', + }; + _setStyle(bgDom, bgStyle); + _setStyle(btnWrap, wrapStyle); + _setStyle(loadingDom, loadingStyle); + _setStyle(playBigDom, playBigStyle); + _setStyle(loadingTextDom, loadingTextStyle); + _setStyle(control1, Object.assign({}, controlStyle, { + left: 0 + })); + _setStyle(control2, Object.assign({}, controlStyle, { + right: 0 + })); + _setStyle(textDom, styleObj); + _setStyle(speedDom, styleObj); + _setStyle(playDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + playBase64 + "')", + })); + + _setStyle(pauseDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + pauseBase64 + "')" + })); + + _setStyle(screenshotsDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + screenshotBase64 + "')" + })); + + _setStyle(fullscreenDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + fullscreenBase64 + "')" + })); + + _setStyle(minScreenDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + minScreenBase64 + "')" + })); + + _setStyle(quietAudioDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + quietBase64 + "')" + })); + + _setStyle(playAudioDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + playAudioBase64 + "')" + })); + + _setStyle(recordDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + recordBase64 + "')" + })); + + _setStyle(recordingDom, Object.assign({}, styleObj2, { + backgroundImage: "url('" + recordingBase64 + "')" + })); + + loadingDom.appendChild(loadingTextDom); + if (this._opt.text) { + control1.appendChild(textDom); + doms.textDom = textDom; + } + if (this._opt.showBandwidth) { + control1.appendChild(speedDom); + doms.speedDom = speedDom; + } + + // record + //control2.appendChild(recordingDom); + //control2.appendChild(recordDom); + + // screenshots + if (this._opt.operateBtns.screenshot) { + control2.appendChild(screenshotsDom); + doms.screenshotsDom = screenshotsDom; + } + + // play stop + if (this._opt.operateBtns.play) { + control2.appendChild(playDom); + control2.appendChild(pauseDom); + doms.playDom = playDom; + doms.pauseDom = pauseDom; + } + + // audio + if (this._opt.operateBtns.audio) { + control2.appendChild(playAudioDom); + control2.appendChild(quietAudioDom); + doms.playAudioDom = playAudioDom; + doms.quietAudioDom = quietAudioDom; + } + + // fullscreen + if (this._opt.operateBtns.fullscreen) { + control2.appendChild(fullscreenDom); + control2.appendChild(minScreenDom); + doms.fullscreenDom = fullscreenDom; + doms.minScreenDom = minScreenDom; + } + + btnWrap.appendChild(control1); + btnWrap.appendChild(control2); + + fragment.appendChild(bgDom); + doms.bgDom = bgDom; + fragment.appendChild(loadingDom); + doms.loadingDom = loadingDom; + if (this._showControl()) { + fragment.appendChild(btnWrap); + } + if (this._opt.operateBtns.play) { + fragment.appendChild(playBigDom); + doms.playBigDom = playBigDom; + } + this._container.appendChild(fragment); + this._doms = doms; + }; + + Jessibuca.prototype._initWakeLock = function () { + this._wakeLock = null; + var _this = this; + var handleWakeLock = () => { + if (this._wakeLock !== null && "visible" === document.visibilityState) { + _this._enableWakeLock(); + } + }; + + document.addEventListener('visibilitychange', handleWakeLock); + document.addEventListener('fullscreenchange', handleWakeLock); + }; + + Jessibuca.prototype._enableWakeLock = function () { + if (this._opt.keepScreenOn) { + if ("wakeLock" in navigator) { + var _this = this; + navigator.wakeLock.request("screen").then((lock) => { + _this._wakeLock = lock; + _this._wakeLock.addEventListener('release', function () { + }); + }) + } + } + }; + + Jessibuca.prototype._showControl = function () { + var result = false; + + var hasBtnShow = false; + Object.keys(this._opt.operateBtns).forEach((key) => { + if (this._opt.operateBtns[key]) { + hasBtnShow = true; + } + }); + + if (this._opt.showBandwidth || this._opt.text || hasBtnShow) { + result = true; + } + + return result; + }; + + Jessibuca.prototype._onMessage = function () { + var _this = this; + this._decoderWorker.onmessage = function (event) { + var msg = event.data; + switch (msg.cmd) { + case "init": + _this._opt.isDebug && console.log("decoder worker init") + + _this.setBufferTime(_this._opt.videoBuffer); + if (!_this._hasLoaded) { + _this._opt.isDebug && console.log("has loaded"); + _this._hasLoaded = true; + _this.onLoad(); + _this._trigger('load'); + } + break + case "initSize": + _this._canvasElement.width = msg.w; + _this._canvasElement.height = msg.h; + _this.onInitSize(); + _this.resize(); + _this._trigger('videoInfo', { w: msg.w, h: msg.h }); + if (_this.supportOffscreen()) { + //const offscreen = _this._canvasElement.transferControlToOffscreen(); + //this.postMessage({ cmd: "init", canvas: offscreen }, [offscreen]) + } + if (_this.isWebGL()) { + + } else { + _this._initRGB(msg.w, msg.h) + } + break + case "render": + if (_this.loading) { + _this.loading = false; + _this.playing = true; + _this._opt.isDebug && console.log("clear check loading timeout"); + _this._clearCheckLoading(); + } + if (_this.playing) { + if (!_this.supportOffscreen()) { + if (_this.isWebGL()) { + _this._drawNextOutputPictureGL(msg.output); + } else { + _this._drawNextOutputPictureRGBA(msg.buffer); + } + } else { + _this._canvasElement.getContext("bitmaprenderer").transferFromImageBitmap(msg.buffer); + } + } + // _this._decoderWorker.postMessage({ cmd: "setBuffer", buffer: msg.output }, msg.output.map(x => x.buffer)) + _this._trigger('timeUpdate', msg.ts); + _this.onTimeUpdate(msg.ts); + _this._updateStats({ bps: msg.bps, ts: msg.ts }); + _this._checkHeart(); + break + case "initAudio": + _this._opt.isDebug && console.log('initAudio'); + _this._initAudioPlay(msg.frameCount, msg.samplerate, msg.channels) + _this._trigger('audioInfo', { + numOfChannels: msg.channels, // 声频通道 + length: msg.frameCount, // 帧数 + sampleRate: msg.samplerate // 采样率 + }); + break + case "playAudio": + if (_this.playing && !_this.quieting) { + _this._opt.isDebug && console.log('playAudio,ts', msg.ts); + _this._playAudio(msg.buffer) + } + break + case "print": + _this.onLog(msg.text) + this._trigger('log', msg.text); + _this._opt.isDebug && console.log(msg.text); + break + case "printErr": + _this.onLog(msg.text); + this._trigger('log', msg.text); + _this.onError(msg.text); + this._trigger('error', msg.text); + _this._opt.isDebug && console.error(msg.text); + break; + case "initAudioPlanar": + _this._opt.isDebug && console.log('initAudioPlanar'); + _this._initAudioPlanar(msg); + _this._trigger('audioInfo', { + numOfChannels: msg.channels, // 声频通道 + length: undefined, // 帧数 + sampleRate: msg.samplerate // 采样率 + }); + break; + default: + _this._opt.isDebug && console.log(msg); + _this[msg.cmd](msg) + } + }; + }; + + Jessibuca.prototype._initEventListener = function () { + var _this = this; + + this._doms.playDom && this._doms.playDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.play(); + }, false); + + this._doms.playBigDom && this._doms.playBigDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.play(); + }, false); + + this._doms.pauseDom && this._doms.pauseDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.pause(); + }, false); + + // screenshots + this._doms.screenshotsDom && this._doms.screenshotsDom.addEventListener('click', function (e) { + e.stopPropagation(); + var filename = _this._opt.text + '' + _now(); + _this._screenshot(filename); + }, false); + // + this._doms.fullscreenDom && this._doms.fullscreenDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.fullscreen = true; + }, false); + // + this._doms.minScreenDom && this._doms.minScreenDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.fullscreen = false; + }, false); + // + this._doms.recordDom && this._doms.recordDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.recording = true; + }, false); + // + this._doms.recordingDom && this._doms.recordingDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.recording = false; + }, false); + + this._doms.quietAudioDom && this._doms.quietAudioDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.cancelMute(); + }, false); + + this._doms.playAudioDom && this._doms.playAudioDom.addEventListener('click', function (e) { + e.stopPropagation(); + _this.mute(); + }, false); + }; + /** + * set debug + * @param flag + */ + Jessibuca.prototype.setDebug = function (flag) { + this._opt.isDebug = !!flag; + }; + /** + * mute + */ + Jessibuca.prototype.mute = function () { + this._audioEnabled(false); + this._audioPlayBuffers = []; + this.quieting = true; + }; + + /** + * cancel mute + */ + Jessibuca.prototype.cancelMute = function () { + this._audioEnabled(true); + this.quieting = false; + }; + + /** + * link to cancelMute + */ + Jessibuca.prototype.audioResume = function () { + this.cancelMute(); + }; + + /** + * 设置旋转角度 + */ + Jessibuca.prototype.setRotate = function (deg) { + deg = parseInt(deg, 10) + const list = [0, 90, 270]; + if (this._opt.rotate === deg || list.indexOf(deg) === -1) { + return; + } + this._opt.rotate = deg; + this.resize(); + }; + + Jessibuca.prototype._initStatus = function () { + this._loading = true; + this.loading = true; + this._recording = false; + this.recording = false; + this._playing = false; + this.playing = false; + this._audioPlaying = false; + this._quieting = this._opt.isNotMute ? false : true; + this.quieting = this._opt.isNotMute ? false : true; + this._fullscreen = false; + this.fullscreen = false; + } + + Jessibuca.prototype._initBtns = function () { + // show + _domToggle(this._doms.pauseDom, true); + _domToggle(this._doms.screenshotsDom, true); + _domToggle(this._doms.fullscreenDom, true); + _domToggle(this._doms.quietAudioDom, true); + _domToggle(this._doms.textDom, true); + _domToggle(this._doms.speedDom, true); + _domToggle(this._doms.recordDom, true); + // hide + _domToggle(this._doms.loadingDom, false); + _domToggle(this._doms.playDom, false); + _domToggle(this._doms.playBigDom, false); + _domToggle(this._doms.bgDom, false); + }; + + Jessibuca.prototype._hideBtns = function () { + var _this = this; + Object.keys(this._doms).forEach(function (dom) { + if (dom !== 'bgDom') { + _domToggle(_this._doms[dom], false); + } + }) + }; + + function _checkFull() { + var isFull = document.fullscreenElement || window.webkitFullscreenElement || document.msFullscreenElement; + if (isFull === undefined) isFull = false; + return !!isFull; + } + + Jessibuca.prototype._updateStats = function (options) { + options = options || {}; + + if (!this._startBpsTime) { + this._startBpsTime = _now(); + } + var _nowTime = _now(); + var timestamp = _nowTime - this._startBpsTime; + + if (timestamp < 1 * 1000) { + this._bps += (options.bps || 0); + this._stats.fps += 1; + this._stats.vbps += parseInt((options.bps || 0)); + return; + } + this._stats.ts = options.ts; + this._doms.speedDom && (this._doms.speedDom.innerText = _bpsSize(this._bps)); + this._trigger('bps', this._bps); + this._trigger('stats', this._stats); + this._trigger('performance', _fpsStatus(this._stats.fps)); + this._bps = 0; + this._stats.fps = 0; + this._stats.vbps = 0; + this._startBpsTime = _nowTime; + }; + + + Jessibuca.prototype._checkHeart = function () { + if (this._checkHeartTimeout) { + clearTimeout(this._checkHeartTimeout); + this._checkHeartTimeout = null; + } + var _this = this; + this._checkHeartTimeout = setTimeout(function () { + _this._opt.isDebug && console.log('check heart timeout'); + _this._trigger('timeout'); + _this.recording = false; + _this.playing = false; + _this._close(); + }, this._opt.timeout * 1000); + }; + + Jessibuca.prototype._checkLoading = function () { + if (this._checkLoadingTimeout) { + clearTimeout(this._checkLoadingTimeout); + this._checkLoadingTimeout = null; + } + var _this = this; + this._checkLoadingTimeout = setTimeout(function () { + _this._opt.isDebug && console.log('check loading timeout'); + _this._trigger('timeout'); + _this.playing = false; + _this._close(); + _domToggle(_this._doms.loadingDom, false); + }, this._opt.timeout * 1000); + }; + + Jessibuca.prototype._clearCheckLoading = function () { + if (this._checkLoadingTimeout) { + clearTimeout(this._checkLoadingTimeout); + this._checkLoadingTimeout = null; + } + }; + + Jessibuca.prototype._initCheckVariable = function () { + this._startBpsTime = ''; + this._bps = 0; + if (this._checkHeartTimeout) { + clearTimeout(this._checkHeartTimeout); + this._checkHeartTimeout = null; + } + } + + Jessibuca.prototype._limitAudioPlayBufferSize = function () { + console.log(this._audioPlayBuffers.length) + // if (this._audioPlayBuffers.length > 2) { + // this._audioPlayBuffers.shift(); + // } + }; + Jessibuca.prototype._closeAudio = function () { + + } + // + Jessibuca.prototype._initAudioPlanar = function (msg) { + var channels = msg.channels + var samplerate = msg.samplerate + var context = this._audioContext; + this._audioPlaying = false; + if (!context) return false; + var _this = this + this._playAudio = function (buffer) { + var _audioPlayBuffers = [buffer]; + // _this._isDebug() && console.log('_initAudioPlanar-_playAudio'); + var frameCount = buffer[0].length + var scriptNode = context.createScriptProcessor(frameCount, 0, channels); + scriptNode.onaudioprocess = function (audioProcessingEvent) { + if (_audioPlayBuffers.length) { + var buffer = _audioPlayBuffers.shift() + for (var channel = 0; channel < channels; channel++) { + var nowBuffering = audioProcessingEvent.outputBuffer.getChannelData(channel); + for (var i = 0; i < frameCount; i++) { + nowBuffering[i] = buffer[channel][i] + } + } + } + }; + scriptNode.connect(_this._gainNode); + _this._closeAudio = function () { + scriptNode.disconnect(_this._gainNode) + _this._gainNode.disconnect(context.destination); + delete _this._closeAudio + _audioPlayBuffers = []; + } + _this._gainNode.connect(context.destination); + _this._playAudio = function (fromBuffer) { + _audioPlayBuffers.push(fromBuffer); + } + }; + } + + function _unlock(context) { + context.resume(); + var source = context.createBufferSource(); + source.buffer = context.createBuffer(1, 1, 22050); + source.connect(context.destination); + if (source.noteOn) + source.noteOn(0); + else + source.start(0); + } + + function _domToggle(dom, toggle) { + if (dom) { + dom.style.display = toggle ? 'block' : "none"; + } + } + + function _dataURLToFile(dataURL) { + const arr = dataURL.split(","); + const bstr = atob(arr[1]); + const type = arr[0].replace("data:", "").replace(";base64", "") + let n = bstr.length, u8arr = new Uint8Array(n); + while (n--) { + u8arr[n] = bstr.charCodeAt(n); + } + return new File([u8arr], 'file', { type }); + } + + function _downloadImg(content, fileName) { + const aLink = document.createElement("a"); + aLink.download = fileName; + aLink.href = URL.createObjectURL(content); + aLink.click(); + URL.revokeObjectURL(content); + } + + function _bpsSize(value) { + if (null == value || value === '') { + return "0 KB/S"; + } + var srcsize = parseFloat(value); + var size = srcsize / 1024; + size = size.toFixed(2); + return size + 'KB/S'; + } + + function _fpsStatus(fps) { + var result = 0; + if (fps >= 24) { + result = 2; + } else if (fps >= 15) { + result = 1; + } + + return result; + } + + /** + * set audio + * @param flag + */ + Jessibuca.prototype._audioEnabled = function (flag) { + if (flag) { + _unlock(this._audioContext) + this._audioEnabled = function (flag) { + if (flag) { + // 恢复 + this._audioContext.resume(); + + } else { + // 暂停 + this._audioContext.suspend(); + } + } + } else { + this._audioContext.suspend(); + } + } + + Jessibuca.prototype._playAudio = function (data) { + this._isDebug() && console.log('_playAudio'); + var context = this._audioContext; + this._audioPlaying = false; + var isDecoding = false; + if (!context) return false; + this._audioPlayBuffers = []; + var decodeQueue = [] + var _this = this + var playNextBuffer = function (e) { + if (_this._audioPlayBuffers.length) { + playBuffer(_this._audioPlayBuffers.shift()) + } + }; + var playBuffer = function (buffer) { + _this._audioPlaying = true; + var audioBufferSouceNode = context.createBufferSource(); + audioBufferSouceNode.buffer = buffer; + audioBufferSouceNode.connect(_this._gainNode); + _this._gainNode.connect(context.destination); + audioBufferSouceNode.start(); + if (!_this._audioInterval) { + _this._audioInterval = setInterval(playNextBuffer, buffer.duration * 1000 - 1); + } + } + var decodeAudio = function () { + if (decodeQueue.length) { + context.decodeAudioData(decodeQueue.shift(), tryPlay, decodeAudio); + } else { + isDecoding = false + } + } + var tryPlay = function (buffer) { + decodeAudio() + if (_this._audioPlaying) { + _this._limitAudioPlayBufferSize(); + _this._audioPlayBuffers.push(buffer); + } else { + playBuffer(buffer) + } + } + var playAudio = function (data) { + _this._isDebug() && console.log('_playAudio-playAudio'); + decodeQueue.push(...data) + if (!isDecoding) { + isDecoding = true + decodeAudio() + } + } + this._playAudio = playAudio + playAudio(data) + } + + Jessibuca.prototype._isDebug = function () { + return this._opt.isDebug; + } + Jessibuca.prototype._initAudioPlay = function (frameCount, samplerate, channels) { + var context = this._audioContext; + this._audioPlaying = false; + this._audioPlayBuffers = []; + if (!context) return false; + var _this = this + var resampled = samplerate < 22050; + if (resampled) { + _this._opt.isDebug && console.log("resampled!") + } + var audioBuffer = resampled ? context.createBuffer(channels, frameCount << 1, samplerate << 1) : context.createBuffer(channels, frameCount, samplerate); + var playNextBuffer = function () { + _this._audioPlaying = false; + _this._isDebug() && console.log("playNextBuffer:", _this._audioPlayBuffers.length) + if (_this._audioPlayBuffers.length) { + playAudio(_this._audioPlayBuffers.shift()); + } + }; + + var copyToCtxBuffer = channels > 1 ? function (fromBuffer) { + for (var channel = 0; channel < channels; channel++) { + var nowBuffering = audioBuffer.getChannelData(channel); + if (resampled) { + for (var i = 0; i < frameCount; i++) { + nowBuffering[i * 2] = nowBuffering[i * 2 + 1] = fromBuffer[i * (channel + 1)] / 32768; + } + } else + for (var i = 0; i < frameCount; i++) { + nowBuffering[i] = fromBuffer[i * (channel + 1)] / 32768; + } + + } + } : function (fromBuffer) { + var nowBuffering = audioBuffer.getChannelData(0); + for (var i = 0; i < nowBuffering.length; i++) { + nowBuffering[i] = fromBuffer[i] / 32768; + } + }; + var playAudio = function (fromBuffer) { + _this._isDebug() && console.log('_initAudioPlay-playAudio,_audioPlaying', _this._audioPlaying); + if (_this._audioPlaying) { + _this._limitAudioPlayBufferSize(); + _this._audioPlayBuffers.push(fromBuffer); + return; + } + _this._audioPlaying = true; + copyToCtxBuffer(fromBuffer); + var source = context.createBufferSource(); + source.buffer = audioBuffer; + source.connect(_this._gainNode); + _this._gainNode.connect(context.destination); + if (!_this._audioInterval) { + _this._audioInterval = setInterval(playNextBuffer, audioBuffer.duration * 1000); + } + source.start(); + }; + this._playAudio = playAudio; + }; + /** + * Returns true if the canvas supports WebGL + */ + Jessibuca.prototype.isWebGL = function () { + return this.supportOffscreen() || !!this._contextGL; + }; + Jessibuca.prototype.supportOffscreen = function () { + return typeof this._canvasElement.transferControlToOffscreen == 'function' + } + /** + * set timeout + * @param time + */ + Jessibuca.prototype.setTimeout = function (time) { + if (typeof time === 'number') { + this._opt.timeout = Number(time); + } + }; + + /** + * @desc 视频缩放模式, 当视频分辨率比例与canvas显示区域比例不同时,缩放效果不同: + 0 视频画面完全填充canvas区域,画面会被拉伸 + 1 视频画面做等比缩放后,高或宽对齐canvas区域,画面不被拉伸,但有黑边(默认) + 2 视频画面做等比缩放后,完全填充canvas区域,画面不被拉伸,没有黑边,但画面显示不全 + * @param type + * + */ + Jessibuca.prototype.setScaleMode = function (type) { + if (type === 0) { + this._opt.isFullResize = false; + this._opt.isResize = false; + } else if (type === 1) { + this._opt.isFullResize = false; + this._opt.isResize = true; + } else if (type === 2) { + this._opt.isFullResize = true; + } + this.resize(); + }; + + /** + * Create the GL context from the canvas element + */ + Jessibuca.prototype._initContextGL = function () { + var canvas = this._canvasElement; + var gl = null; + + var validContextNames = ["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"]; + var nameIndex = 0; + + while (!gl && nameIndex < validContextNames.length) { + var contextName = validContextNames[nameIndex]; + + try { + var contextOptions = { preserveDrawingBuffer: true }; + if (this._opt.contextOptions) { + contextOptions = Object.assign(contextOptions, this._opt.contextOptions); + } + + gl = canvas.getContext(contextName, contextOptions); + } catch (e) { + gl = null; + } + + if (!gl || typeof gl.getParameter !== "function") { + gl = null; + } + + ++nameIndex; + } + ; + + this._contextGL = gl; + }; + + /** + * Initialize GL shader program + */ + Jessibuca.prototype._initProgram = function () { + var gl = this._contextGL; + + var vertexShaderScript = [ + 'attribute vec4 vertexPos;', + 'attribute vec4 texturePos;', + 'varying vec2 textureCoord;', + + 'void main()', + '{', + 'gl_Position = vertexPos;', + 'textureCoord = texturePos.xy;', + '}' + ].join('\n'); + + var fragmentShaderScript = [ + 'precision highp float;', + 'varying highp vec2 textureCoord;', + 'uniform sampler2D ySampler;', + 'uniform sampler2D uSampler;', + 'uniform sampler2D vSampler;', + 'const mat4 YUV2RGB = mat4', + '(', + '1.1643828125, 0, 1.59602734375, -.87078515625,', + '1.1643828125, -.39176171875, -.81296875, .52959375,', + '1.1643828125, 2.017234375, 0, -1.081390625,', + '0, 0, 0, 1', + ');', + + 'void main(void) {', + 'highp float y = texture2D(ySampler, textureCoord).r;', + 'highp float u = texture2D(uSampler, textureCoord).r;', + 'highp float v = texture2D(vSampler, textureCoord).r;', + 'gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;', + '}' + ].join('\n'); + + var vertexShader = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(vertexShader, vertexShaderScript); + gl.compileShader(vertexShader); + if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) { + this._opt.isDebug && console.log('Vertex shader failed to compile: ' + gl.getShaderInfoLog(vertexShader)); + } + + var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fragmentShader, fragmentShaderScript); + gl.compileShader(fragmentShader); + if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) { + this._opt.isDebug && console.log('Fragment shader failed to compile: ' + gl.getShaderInfoLog(fragmentShader)); + } + + var program = gl.createProgram(); + gl.attachShader(program, vertexShader); + gl.attachShader(program, fragmentShader); + gl.linkProgram(program); + if (!gl.getProgramParameter(program, gl.LINK_STATUS)) { + this._opt.isDebug && console.log('Program failed to compile: ' + gl.getProgramInfoLog(program)); + } + + gl.useProgram(program); + + this._shaderProgram = program; + }; + + /** + * Initialize vertex buffers and attach to shader program + */ + Jessibuca.prototype._initBuffers = function () { + var gl = this._contextGL; + var program = this._shaderProgram; + + var vertexPosBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]), gl.STATIC_DRAW); + + var vertexPosRef = gl.getAttribLocation(program, 'vertexPos'); + gl.enableVertexAttribArray(vertexPosRef); + gl.vertexAttribPointer(vertexPosRef, 2, gl.FLOAT, false, 0, 0); + + var texturePosBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]), gl.STATIC_DRAW); + + var texturePosRef = gl.getAttribLocation(program, 'texturePos'); + gl.enableVertexAttribArray(texturePosRef); + gl.vertexAttribPointer(texturePosRef, 2, gl.FLOAT, false, 0, 0); + + this._texturePosBuffer = texturePosBuffer; + }; + + /** + * Initialize GL textures and attach to shader program + */ + Jessibuca.prototype._initTextures = function () { + var gl = this._contextGL; + var program = this._shaderProgram; + + var yTextureRef = this._initTexture(); + var ySamplerRef = gl.getUniformLocation(program, 'ySampler'); + gl.uniform1i(ySamplerRef, 0); + this._yTextureRef = yTextureRef; + + var uTextureRef = this._initTexture(); + var uSamplerRef = gl.getUniformLocation(program, 'uSampler'); + gl.uniform1i(uSamplerRef, 1); + this._uTextureRef = uTextureRef; + + var vTextureRef = this._initTexture(); + var vSamplerRef = gl.getUniformLocation(program, 'vSampler'); + gl.uniform1i(vSamplerRef, 2); + this._vTextureRef = vTextureRef; + }; + + /** + * Create and configure a single texture + */ + Jessibuca.prototype._initTexture = function () { + var gl = this._contextGL; + + var textureRef = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, textureRef); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.bindTexture(gl.TEXTURE_2D, null); + + return textureRef; + }; + + /** + * Draw picture data to the canvas. + * If this object is using WebGL, the data must be an I420 formatted ArrayBuffer, + * Otherwise, data must be an RGBA formatted ArrayBuffer. + */ + Jessibuca.prototype._drawNextOutputPicture = function (data) { + if (this._contextGL) { + this._drawNextOutputPictureGL(data); + } else { + this._drawNextOutputPictureRGBA(data); + } + }; + + /** + * Draw the next output picture using WebGL + */ + Jessibuca.prototype._drawNextOutputPictureGL = function (data) { + var gl = this._contextGL; + var texturePosBuffer = this._texturePosBuffer; + var yTextureRef = this._yTextureRef; + var uTextureRef = this._uTextureRef; + var vTextureRef = this._vTextureRef; + var croppingParams = this.croppingParams + var width = this._canvasElement.width + var height = this._canvasElement.height + if (croppingParams) { + gl.viewport(0, 0, croppingParams.width, croppingParams.height); + var tTop = croppingParams.top / height; + var tLeft = croppingParams.left / width; + var tBottom = croppingParams.height / height; + var tRight = croppingParams.width / width; + var texturePosValues = new Float32Array([tRight, tTop, tLeft, tTop, tRight, tBottom, tLeft, tBottom]); + + gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); + gl.bufferData(gl.ARRAY_BUFFER, texturePosValues, gl.DYNAMIC_DRAW); + } else { + gl.viewport(0, 0, this._canvasElement.width, this._canvasElement.height); + } + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, yTextureRef); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[0]); + + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, uTextureRef); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width / 2, height / 2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[1]); + + gl.activeTexture(gl.TEXTURE2); + gl.bindTexture(gl.TEXTURE_2D, vTextureRef); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width / 2, height / 2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[2]); + + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); + }; + + /** + * Draw next output picture using ARGB data on a 2d canvas. + */ + Jessibuca.prototype._drawNextOutputPictureRGBA = function (data) { + this.imageData.data.set(data); + var croppingParams = this.croppingParams + if (!croppingParams) { + this.ctx2d.putImageData(this.imageData, 0, 0); + } else { + this.ctx2d.putImageData(this.imageData, -croppingParams.left, -croppingParams.top, 0, 0, croppingParams.width, croppingParams.height); + } + }; + Jessibuca.prototype.ctx2d = null; + Jessibuca.prototype.imageData = null; + Jessibuca.prototype._initRGB = function (width, height) { + this.ctx2d = this._canvasElement.getContext('2d'); + this.imageData = this.ctx2d.getImageData(0, 0, width, height); + this.clear = function () { + this.ctx2d.clearRect(0, 0, width, height) + }; + }; + + /** + * + */ + Jessibuca.prototype.pause = function () { + this._close(); + if (this.loading) { + _domToggle(this._doms.loadingDom, false); + } + this.recording = false; + this.playing = false; + }; + + /** + * + * @private + */ + Jessibuca.prototype._close = function () { + // if (this._audioInterval) { + // clearInterval(this._audioInterval) + // this._audioInterval = null; + // } + this._closeAudio() + this._audioPlayBuffers = []; + this._audioPlaying = false; + delete this._playAudio; + this._decoderWorker.postMessage({ cmd: "close" }) + + if (this._wakeLock) { + this._wakeLock.release(); + this._wakeLock = null; + } + + // this._contextGL.clear(this._contextGL.COLOR_BUFFER_BIT); + this._initCheckVariable(); + } + + /** + * close + */ + Jessibuca.prototype.close = function () { + this._close(); + this.clearView(); + }; + + /** + * destroy + * @desc delete worker, + */ + Jessibuca.prototype.destroy = function () { + // destroy + this._close(); + this._decoderWorker.terminate() + window.removeEventListener("resize", this._onresize); + window.removeEventListener('fullscreenchange', this._onfullscreenchange); + this._initCheckVariable(); + this._clearCheckLoading(); + this._off(); + this._hasLoaded = false; + // remove dom + while (this._container.firstChild) { + this._container.removeChild(this._container.firstChild); + } + if (this._wakeLock) { + this._wakeLock.release(); + } + } + + /** + * 清理画布为黑色背景 + * 用于canvas重用进行多个流切换播放时,将上一个画面清理 + * 避免后一个视频播放之前出现前一个视频最后一个画面 + */ + Jessibuca.prototype.clearView = function () { + this._contextGL.clear(this._contextGL.COLOR_BUFFER_BIT); + }; + /** + * play + * @param url + */ + Jessibuca.prototype.play = function (url) { + if (!this.playUrl && !url) { + return; + } + var needDelay = false; + if (url) { + if (this.playUrl) { + this._close(); + needDelay = true; + this.clearView(); + } + this.loading = true; + _domToggle(this._doms.bgDom, false); + this._checkLoading(); + this.playUrl = url; + } else if (this.playUrl) { + // retry + if (this.loading) { + this._hideBtns(); + _domToggle(this._doms.fullscreenDom, true); + _domToggle(this._doms.pauseDom, true); + _domToggle(this._doms.loadingDom, true); + this._checkLoading(); + } else { + this.playing = true; + } + } + this._initCheckVariable(); + + if (needDelay) { + var _this = this; + setTimeout(function () { + _this._decoderWorker.postMessage({ cmd: "play", url: _this.playUrl, isWebGL: _this.isWebGL() }) + }, 300); + } else { + this._decoderWorker.postMessage({ cmd: "play", url: this.playUrl, isWebGL: this.isWebGL() }) + } + }; + /** + * has loaded + * @returns {boolean} + */ + Jessibuca.prototype.hasLoaded = function () { + return this._hasLoaded; + }; + + Object.defineProperty(Jessibuca.prototype, "fullscreen", { + set(value) { + if (value) { + if (!_checkFull()) { + this._container.requestFullscreen(); + } + _domToggle(this._doms.minScreenDom, true); + _domToggle(this._doms.fullscreenDom, false); + } else { + if (_checkFull()) { + document.exitFullscreen(); + } + _domToggle(this._doms.minScreenDom, false); + _domToggle(this._doms.fullscreenDom, true); + } + + if (this._fullscreen !== value) { + this.onFullscreen(value); + this._trigger('fullscreen', value); + } + this._fullscreen = value; + }, + get() { + return this._fullscreen; + } + }); + + Object.defineProperty(Jessibuca.prototype, 'playing', { + set(value) { + if (value) { + _domToggle(this._doms.playBigDom, false); + _domToggle(this._doms.playDom, false); + _domToggle(this._doms.pauseDom, true); + + _domToggle(this._doms.screenshotsDom, true); + _domToggle(this._doms.recordDom, true); + if (this._quieting) { + _domToggle(this._doms.quietAudioDom, true); + _domToggle(this._doms.playAudioDom, false); + } else { + _domToggle(this._doms.quietAudioDom, false); + _domToggle(this._doms.playAudioDom, true); + } + } else { + this._doms.speedDom && (this._doms.speedDom.innerText = ''); + if (this.playUrl) { + _domToggle(this._doms.playDom, true); + _domToggle(this._doms.playBigDom, true); + _domToggle(this._doms.pauseDom, false); + } + + // 在停止状态下录像,截屏,音量是非激活,只有播放,最大化时可点击 + _domToggle(this._doms.recordDom, false); + _domToggle(this._doms.recordingDom, false); + _domToggle(this._doms.screenshotsDom, false); + _domToggle(this._doms.quietAudioDom, false); + _domToggle(this._doms.playAudioDom, false); + } + + if (this._playing !== value) { + if (value) { + this.onPlay(); + this._trigger('play'); + } else { + this.onPause(); + this._trigger('pause'); + } + } + this._playing = value; + }, + get() { + return this._playing; + } + }); + + Object.defineProperty(Jessibuca.prototype, 'recording', { + set(value) { + if (value) { + _domToggle(this._doms.recordDom, false); + _domToggle(this._doms.recordingDom, true); + } else { + _domToggle(this._doms.recordDom, true); + _domToggle(this._doms.recordingDom, false); + + } + if (this._recording !== value) { + this.onRecord(value); + this._trigger('record', value); + this._recording = value; + } + }, + get() { + return this._recording; + } + }); + + Object.defineProperty(Jessibuca.prototype, 'quieting', { + set(value) { + if (value) { + _domToggle(this._doms.quietAudioDom, true); + _domToggle(this._doms.playAudioDom, false); + } else { + _domToggle(this._doms.quietAudioDom, false); + _domToggle(this._doms.playAudioDom, true); + } + if (this._quieting !== value) { + this.onMute(value); + this._trigger('mute', value); + } + this._quieting = value; + }, + get() { + return this._quieting; + } + }); + + Object.defineProperty(Jessibuca.prototype, 'loading', { + set(value) { + if (value) { + this._hideBtns(); + _domToggle(this._doms.fullscreenDom, true); + _domToggle(this._doms.pauseDom, true); + _domToggle(this._doms.loadingDom, true); + } else { + this._initBtns(); + } + this._loading = value; + }, + get() { + return this._loading; + } + }); + + /** + * resize + */ + Jessibuca.prototype.resize = function () { + var width = this._container.clientWidth; + var height = this._container.clientHeight; + if (this._showControl()) { + height -= 38; + } + var resizeWidth = this._canvasElement.width; + var resizeHeight = this._canvasElement.height; + var rotate = this._opt.rotate; + var wScale = width / resizeWidth; + var hScale = height / resizeHeight; + var scale = wScale > hScale ? hScale : wScale; + if (!this._opt.isResize) { + if (wScale !== hScale) { + scale = wScale + ',' + hScale; + } + } + // + if (this._opt.isFullResize) { + scale = wScale > hScale ? wScale : hScale; + } + + let transform = "scale(" + scale + ")"; + + if (rotate) { + transform += ' rotate(' + rotate + 'deg)' + } + + this._opt.isDebug && console.log('wScale', wScale, 'hScale', hScale, 'scale', scale, 'rotate', rotate); + this._canvasElement.style.transform = transform; + this._canvasElement.style.left = ((width - resizeWidth) / 2) + "px" + this._canvasElement.style.top = ((height - resizeHeight) / 2) + "px" + } + + Jessibuca.prototype._fullscreenchange = function () { + this.fullscreen = _checkFull(); + } + + /** + * change buffer + * @param buffer + */ + Jessibuca.prototype.changeBuffer = function (buffer) { + this._stats.buf = Number(buffer) * 1000; + this._decoderWorker.postMessage({ cmd: "setVideoBuffer", time: Number(buffer) }); + }; + /** + * 设置最大缓冲时长,单位秒,播放器会自动消除延迟。 + * @param buffer + */ + Jessibuca.prototype.setBufferTime = function (buffer) { + this.changeBuffer(buffer); + }; + + /** + * 设置音量大小,取值0.0 — 1.0 + * 当为0.0时,完全无声 + * 当为1.0时,最大音量,默认值 + * @param volume + */ + Jessibuca.prototype.setVolume = function (volume) { + if (this._gainNode) { + volume = parseFloat(volume); + if (isNaN(volume)) { + return; + } + this._isDebug() && console.log('set volume:', volume); + this._gainNode.gain.setValueAtTime(volume, this._audioContext.currentTime); + } + }; + + /** + * 开启屏幕常亮, 在play前调用 + * 在手机浏览器上, canvas标签渲染视频并不会像video标签那样保持屏幕常亮 + * H5目前在chrome\edge 84, android chrome 84及以上有原生亮屏API, 需要是https页面 + * 其余平台为模拟实现,此时为兼容实现,并不保证所有浏览器都支持 + */ + Jessibuca.prototype.setKeepScreenOn = function () { + this._opt.keepScreenOn = true; + }; + + + /** + * set fullscreen + * @param flag + */ + Jessibuca.prototype.setFullscreen = function (flag) { + var fullscreen = !!flag; + if (this.fullscreen !== fullscreen) { + this.fullscreen = fullscreen; + } + }; + + function _now() { + return new Date().getTime(); + } + + Jessibuca.prototype._screenshot = function (filename, format, quality) { + filename = filename || _now(); + var formatType = { + png: 'image/png', + jpeg: 'image/jpeg', + webp: 'image/webp' + }; + var encoderOptions = 0.92; + + if (typeof quality !== 'undefined') { + encoderOptions = Number(quality); + } + + var dataURL = this._canvasElement.toDataURL(formatType[format] || formatType.png, encoderOptions); + _downloadImg(_dataURLToFile(dataURL), filename); + } + + /** + * 截图,调用后弹出下载框保存截图 + * @param filename 保存的文件名 默认时间戳 + * @param format 截图的格式,可选png或jpeg或者webp + * @param quality 可选参数,当格式是jpeg或者webp时,压缩质量,取值0.0 ~ 1.0 + */ + Jessibuca.prototype.screenshot = function (filename, format, quality) { + this._screenshot(filename, format, quality); + }; + + + var eventSplitter = /\s+/; + + // Execute callbacks + function _callEach(list, args, context) { + if (list) { + for (var i = 0, len = list.length; i < len; i += 1) { + list[i].apply(context, args); + } + } + } + + /** + * + * @param events + * @param callback + * @returns {Jessibuca} + */ + Jessibuca.prototype.on = function (events, callback) { + var cache, event, list; + if (!callback) return this; + cache = this.__events || (this.__events = {}); + events = events.split(eventSplitter); + while (event = events.shift()) { + list = cache[event] || (cache[event] = []); + list.push(callback); + } + return this; + }; + /** + * + * @param events + * @param callback + * @returns {Jessibuca} + * @private + */ + Jessibuca.prototype._off = function () { + var cache; + if (!(cache = this.__events)) return this; + delete this.__events; + return this; + }; + + /** + * + * @param events + * @returns {Jessibuca} + * @private + */ + Jessibuca.prototype._trigger = function (events) { + var cache, event, all, list, i, len, rest = [], args; + if (!(cache = this.__events)) return this; + events = events.split(eventSplitter); + // Fill up `rest` with the callback arguments. Since we're only copying + // the tail of `arguments`, a loop is much faster than Array#slice. + for (i = 1, len = arguments.length; i < len; i++) { + rest[i - 1] = arguments[i]; + } + // For each event, walk through the list of callbacks twice, first to + // trigger the event, then to trigger any `"all"` callbacks. + while (event = events.shift()) { + if (list = cache[event]) list = list.slice(); + // Execute event callbacks. + _callEach(list, rest, this); + } + return this; + } + + if (typeof define === 'function') { + define(function () { + return Jessibuca; + }); + } else if (typeof exports !== 'undefined') { + module.exports = Jessibuca; + } else { + window.Jessibuca = Jessibuca; + } +})(); diff --git a/web_src/src/core/jessibuca/tech.png b/web_src/src/core/jessibuca/tech.png new file mode 100644 index 00000000..792b32c8 Binary files /dev/null and b/web_src/src/core/jessibuca/tech.png differ diff --git a/web_src/src/core/lazy_use.js b/web_src/src/core/lazy_use.js new file mode 100644 index 00000000..f44153e2 --- /dev/null +++ b/web_src/src/core/lazy_use.js @@ -0,0 +1,119 @@ +import Vue from 'vue' + +// base library +import { + Alert, + Avatar, + Badge, + Breadcrumb, + Button, + Card, + Checkbox, + Col, + ConfigProvider, + DatePicker, + Descriptions, + Divider, + Drawer, + Dropdown, + Form, + Icon, + Input, + InputNumber, + Layout, + List, + Menu, + message, + Modal, + notification, + PageHeader, + Popconfirm, + Popover, + Progress, + Radio, + Result, + Row, + Select, + Slider, + Skeleton, + Space, + Spin, + Statistic, + Steps, + Switch, + Table, + Tabs, + Tag, + TimePicker, + Tooltip, + Upload, + FormModel +} from 'ant-design-vue' + +// ext library +import VueCropper from 'vue-cropper' +import VueClipboard from 'vue-clipboard2' +import Dialog from '@/components/Dialog' +import MultiTab from '@/components/MultiTab' +import PageLoading from '@/components/PageLoading' + +Vue.use(ConfigProvider) +Vue.use(Layout) +Vue.use(Input) +Vue.use(InputNumber) +Vue.use(Button) +Vue.use(Switch) +Vue.use(Radio) +Vue.use(Checkbox) +Vue.use(Select) +Vue.use(Card) +Vue.use(Form) +Vue.use(Row) +Vue.use(Col) +Vue.use(Modal) +Vue.use(Table) +Vue.use(Tabs) +Vue.use(Icon) +Vue.use(Badge) +Vue.use(Popover) +Vue.use(Dropdown) +Vue.use(List) +Vue.use(Avatar) +Vue.use(Breadcrumb) +Vue.use(Steps) +Vue.use(Spin) +Vue.use(Menu) +Vue.use(Drawer) +Vue.use(Tooltip) +Vue.use(Alert) +Vue.use(Tag) +Vue.use(Divider) +Vue.use(DatePicker) +Vue.use(TimePicker) +Vue.use(Upload) +Vue.use(Progress) +Vue.use(Skeleton) +Vue.use(Popconfirm) +Vue.use(PageHeader) +Vue.use(Result) +Vue.use(Statistic) +Vue.use(Descriptions) +Vue.use(Space) +Vue.use(Slider) +Vue.use(FormModel) + +Vue.prototype.$confirm = Modal.confirm +Vue.prototype.$message = message +Vue.prototype.$notification = notification +Vue.prototype.$info = Modal.info +Vue.prototype.$success = Modal.success +Vue.prototype.$error = Modal.error +Vue.prototype.$warning = Modal.warning + +Vue.use(Dialog) // this.$dialog func +Vue.use(MultiTab) +Vue.use(PageLoading) +Vue.use(VueCropper) +Vue.use(VueClipboard) + +process.env.NODE_ENV !== 'production' && console.warn('[antd-pro] NOTICE: Antd use lazy-load.') diff --git a/web_src/src/core/loadMap.js b/web_src/src/core/loadMap.js new file mode 100644 index 00000000..9e656d4f --- /dev/null +++ b/web_src/src/core/loadMap.js @@ -0,0 +1,9 @@ +/** + * 按需加载地图API + */ + +export function loadBMap(funcName) { + const script = document.createElement("script"); + script.src = "//api.map.baidu.com/api?v=2.0&ak=rk73w8dv1rkE4UdZsataG68VarhYQzrx&s=1&callback=" + funcName; + document.body.appendChild(script); +} \ No newline at end of file diff --git a/web_src/src/core/use.js b/web_src/src/core/use.js new file mode 100644 index 00000000..00de707e --- /dev/null +++ b/web_src/src/core/use.js @@ -0,0 +1,21 @@ +import Vue from 'vue' + +// base library +import Antd from 'ant-design-vue' +import VueCropper from 'vue-cropper' +import 'ant-design-vue/dist/antd.less' + +// ext library +import VueClipboard from 'vue-clipboard2' +import MultiTab from '@/components/MultiTab' +import PageLoading from '@/components/PageLoading' + +VueClipboard.config.autoSetContainer = true + +Vue.use(Antd) +Vue.use(MultiTab) +Vue.use(PageLoading) +Vue.use(VueClipboard) +Vue.use(VueCropper) + +process.env.NODE_ENV !== 'production' && console.warn('[antd-pro] WARNING: Antd now use fulled imported.') diff --git a/web_src/src/global.less b/web_src/src/global.less new file mode 100644 index 00000000..0f2b1021 --- /dev/null +++ b/web_src/src/global.less @@ -0,0 +1,94 @@ +@import '~ant-design-vue/es/style/themes/default.less'; + +html, +body, +#app, #root { + height: 100%; +} + +.colorWeak { + filter: invert(80%); +} + +.ant-layout.layout-basic { + height: 100vh; + min-height: 100vh; +} + +canvas { + display: block; +} + +body { + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +ul, +ol { + list-style: none; +} + +// 数据列表 样式 +.table-alert { + margin-bottom: 16px; +} +// 数据列表 操作 +.table-operator { + margin-bottom: 18px; + + button { + margin-right: 8px; + } +} +// 数据列表 搜索条件 +.table-page-search-wrapper { + + .ant-form-inline { + .ant-form-item { + display: flex; + margin-bottom: 24px; + margin-right: 0; + + .ant-form-item-control-wrapper { + flex: 1 1; + display: inline-block; + vertical-align: middle; + } + + > .ant-form-item-label { + line-height: 32px; + padding-right: 8px; + width: auto; + } + .ant-form-item-control { + height: 32px; + line-height: 32px; + } + } + } + + .table-page-search-submitButtons { + display: block; + margin-bottom: 24px; + white-space: nowrap; + } +} + +@media (max-width: @screen-xs) { + .ant-table { + width: 100%; + overflow-x: auto; + &-thead > tr, + &-tbody > tr { + > th, + > td { + white-space: pre; + > span { + display: block; + } + } + } + } +} diff --git a/web_src/src/layouts/BasicLayout.less b/web_src/src/layouts/BasicLayout.less new file mode 100644 index 00000000..a0762ece --- /dev/null +++ b/web_src/src/layouts/BasicLayout.less @@ -0,0 +1,36 @@ +@import "~ant-design-vue/es/style/themes/default.less"; + +.ant-pro-global-header-index-right { + margin-right: 8px; + + &.ant-pro-global-header-index-dark { + .ant-pro-global-header-index-action { + color: hsla(0, 0%, 100%, .85); + + &:hover { + background: #1890ff; + } + } + } + + .ant-pro-account-avatar { + .antd-pro-global-header-index-avatar { + margin: ~'calc((@{layout-header-height} - 24px) / 2)' 0; + margin-right: 8px; + color: @primary-color; + vertical-align: top; + background: rgba(255, 255, 255, 0.85); + } + } + + .menu { + .anticon { + margin-right: 8px; + } + + .ant-dropdown-menu-item { + min-width: 100px; + } + } +} + diff --git a/web_src/src/layouts/BasicLayout.vue b/web_src/src/layouts/BasicLayout.vue new file mode 100644 index 00000000..0d5c132e --- /dev/null +++ b/web_src/src/layouts/BasicLayout.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/web_src/src/layouts/BlankLayout.vue b/web_src/src/layouts/BlankLayout.vue new file mode 100644 index 00000000..1bfbfbf9 --- /dev/null +++ b/web_src/src/layouts/BlankLayout.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/web_src/src/layouts/PageView.vue b/web_src/src/layouts/PageView.vue new file mode 100644 index 00000000..86df4858 --- /dev/null +++ b/web_src/src/layouts/PageView.vue @@ -0,0 +1,12 @@ + + + diff --git a/web_src/src/layouts/RouteView.vue b/web_src/src/layouts/RouteView.vue new file mode 100644 index 00000000..edae19e9 --- /dev/null +++ b/web_src/src/layouts/RouteView.vue @@ -0,0 +1,32 @@ + diff --git a/web_src/src/layouts/UserLayout.vue b/web_src/src/layouts/UserLayout.vue new file mode 100644 index 00000000..7e073f12 --- /dev/null +++ b/web_src/src/layouts/UserLayout.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/web_src/src/layouts/index.js b/web_src/src/layouts/index.js new file mode 100644 index 00000000..1d62d6c0 --- /dev/null +++ b/web_src/src/layouts/index.js @@ -0,0 +1,7 @@ +import UserLayout from './UserLayout' +import BlankLayout from './BlankLayout' +import BasicLayout from './BasicLayout' +import RouteView from './RouteView' +import PageView from './PageView' + +export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView } diff --git a/web_src/src/locales/index.js b/web_src/src/locales/index.js new file mode 100644 index 00000000..ce12b05c --- /dev/null +++ b/web_src/src/locales/index.js @@ -0,0 +1,59 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' +import storage from 'store' +import moment from 'moment' + +// default lang +import enUS from './lang/en-US' + +Vue.use(VueI18n) + +export const defaultLang = 'en-US' + +const messages = { + 'en-US': { + ...enUS + } +} + +const i18n = new VueI18n({ + silentTranslationWarn: true, + locale: defaultLang, + fallbackLocale: defaultLang, + messages +}) + +const loadedLanguages = [defaultLang] + +function setI18nLanguage (lang) { + i18n.locale = lang + // request.headers['Accept-Language'] = lang + document.querySelector('html').setAttribute('lang', lang) + return lang +} + +export function loadLanguageAsync (lang = defaultLang) { + return new Promise(resolve => { + // 缓存语言设置 + storage.set('lang', lang) + if (i18n.locale !== lang) { + if (!loadedLanguages.includes(lang)) { + return import(/* webpackChunkName: "lang-[request]" */ `./lang/${lang}`).then(msg => { + const locale = msg.default + i18n.setLocaleMessage(lang, locale) + loadedLanguages.push(lang) + moment.updateLocale(locale.momentName, locale.momentLocale) + return setI18nLanguage(lang) + }) + } + return resolve(setI18nLanguage(lang)) + } + return resolve(lang) + }) +} + +export function i18nRender (key) { + return i18n.t(`${key}`) +} + +export default i18n diff --git a/web_src/src/locales/lang/en-US.js b/web_src/src/locales/lang/en-US.js new file mode 100644 index 00000000..8d856f97 --- /dev/null +++ b/web_src/src/locales/lang/en-US.js @@ -0,0 +1,35 @@ +import antdEnUS from 'ant-design-vue/es/locale-provider/en_US' +import momentEU from 'moment/locale/eu' +import global from './en-US/global' + +import menu from './en-US/menu' +import setting from './en-US/setting' +import user from './en-US/user' + +import dashboard from './en-US/dashboard' +import form from './en-US/form' +import result from './en-US/result' +import account from './en-US/account' + +const components = { + antLocale: antdEnUS, + momentName: 'eu', + momentLocale: momentEU +} + +export default { + message: '-', + + 'layouts.usermenu.dialog.title': 'Message', + 'layouts.usermenu.dialog.content': 'Are you sure you would like to logout?', + 'layouts.userLayout.title': 'Ant Design is the most influential web design specification in Xihu district', + ...components, + ...global, + ...menu, + ...setting, + ...user, + ...dashboard, + ...form, + ...result, + ...account +} diff --git a/web_src/src/locales/lang/en-US/account.js b/web_src/src/locales/lang/en-US/account.js new file mode 100644 index 00000000..65a4774b --- /dev/null +++ b/web_src/src/locales/lang/en-US/account.js @@ -0,0 +1,5 @@ +import settings from './account/settings' + +export default { + ...settings + } diff --git a/web_src/src/locales/lang/en-US/account/settings.js b/web_src/src/locales/lang/en-US/account/settings.js new file mode 100644 index 00000000..74ec4302 --- /dev/null +++ b/web_src/src/locales/lang/en-US/account/settings.js @@ -0,0 +1,62 @@ +export default { + 'account.settings.menuMap.basic': 'Basic Settings', + 'account.settings.menuMap.security': 'Security Settings', + 'account.settings.menuMap.custom': 'Custom Settings', + 'account.settings.menuMap.binding': 'Account Binding', + 'account.settings.menuMap.notification': 'New Message Notification', + 'account.settings.basic.avatar': 'Avatar', + 'account.settings.basic.change-avatar': 'Change avatar', + 'account.settings.basic.email': 'Email', + 'account.settings.basic.email-message': 'Please input your email!', + 'account.settings.basic.nickname': 'Nickname', + 'account.settings.basic.nickname-message': 'Please input your Nickname!', + 'account.settings.basic.profile': 'Personal profile', + 'account.settings.basic.profile-message': 'Please input your personal profile!', + 'account.settings.basic.profile-placeholder': 'Brief introduction to yourself', + 'account.settings.basic.country': 'Country/Region', + 'account.settings.basic.country-message': 'Please input your country!', + 'account.settings.basic.geographic': 'Province or city', + 'account.settings.basic.geographic-message': 'Please input your geographic info!', + 'account.settings.basic.address': 'Street Address', + 'account.settings.basic.address-message': 'Please input your address!', + 'account.settings.basic.phone': 'Phone Number', + 'account.settings.basic.phone-message': 'Please input your phone!', + 'account.settings.basic.update': 'Update Information', + 'account.settings.basic.update.success': 'Update basic information successfully', + 'account.settings.security.strong': 'Strong', + 'account.settings.security.medium': 'Medium', + 'account.settings.security.weak': 'Weak', + 'account.settings.security.password': 'Account Password', + 'account.settings.security.password-description': 'Current password strength:', + 'account.settings.security.phone': 'Security Phone', + 'account.settings.security.phone-description': 'Bound phone:', + 'account.settings.security.question': 'Security Question', + 'account.settings.security.question-description': + 'The security question is not set, and the security policy can effectively protect the account security', + 'account.settings.security.email': 'Backup Email', + 'account.settings.security.email-description': 'Bound Email:', + 'account.settings.security.mfa': 'MFA Device', + 'account.settings.security.mfa-description': + 'Unbound MFA device, after binding, can be confirmed twice', + 'account.settings.security.modify': 'Modify', + 'account.settings.security.set': 'Set', + 'account.settings.security.bind': 'Bind', + 'account.settings.binding.taobao': 'Binding Taobao', + 'account.settings.binding.taobao-description': 'Currently unbound Taobao account', + 'account.settings.binding.alipay': 'Binding Alipay', + 'account.settings.binding.alipay-description': 'Currently unbound Alipay account', + 'account.settings.binding.dingding': 'Binding DingTalk', + 'account.settings.binding.dingding-description': 'Currently unbound DingTalk account', + 'account.settings.binding.bind': 'Bind', + 'account.settings.notification.password': 'Account Password', + 'account.settings.notification.password-description': + 'Messages from other users will be notified in the form of a station letter', + 'account.settings.notification.messages': 'System Messages', + 'account.settings.notification.messages-description': + 'System messages will be notified in the form of a station letter', + 'account.settings.notification.todo': 'To-do Notification', + 'account.settings.notification.todo-description': + 'The to-do list will be notified in the form of a letter from the station', + 'account.settings.settings.open': 'Open', + 'account.settings.settings.close': 'Close' +} diff --git a/web_src/src/locales/lang/en-US/dashboard.js b/web_src/src/locales/lang/en-US/dashboard.js new file mode 100644 index 00000000..9d408927 --- /dev/null +++ b/web_src/src/locales/lang/en-US/dashboard.js @@ -0,0 +1,5 @@ +import analysis from './dashboard/analysis' + +export default { + ...analysis + } diff --git a/web_src/src/locales/lang/en-US/dashboard/analysis.js b/web_src/src/locales/lang/en-US/dashboard/analysis.js new file mode 100644 index 00000000..6738d12b --- /dev/null +++ b/web_src/src/locales/lang/en-US/dashboard/analysis.js @@ -0,0 +1,36 @@ +export default { + 'dashboard.analysis.test': 'Gongzhuan No.{no} shop', + 'dashboard.analysis.introduce': 'Introduce', + 'dashboard.analysis.total-sales': 'Total Sales', + 'dashboard.analysis.day-sales': 'Daily Sales', + 'dashboard.analysis.visits': 'Visits', + 'dashboard.analysis.visits-trend': 'Visits Trend', + 'dashboard.analysis.visits-ranking': 'Visits Ranking', + 'dashboard.analysis.day-visits': 'Daily Visits', + 'dashboard.analysis.week': 'WoW Change', + 'dashboard.analysis.day': 'DoD Change', + 'dashboard.analysis.payments': 'Payments', + 'dashboard.analysis.conversion-rate': 'Conversion Rate', + 'dashboard.analysis.operational-effect': 'Operational Effect', + 'dashboard.analysis.sales-trend': 'Stores Sales Trend', + 'dashboard.analysis.sales-ranking': 'Sales Ranking', + 'dashboard.analysis.all-year': 'All Year', + 'dashboard.analysis.all-month': 'All Month', + 'dashboard.analysis.all-week': 'All Week', + 'dashboard.analysis.all-day': 'All day', + 'dashboard.analysis.search-users': 'Search Users', + 'dashboard.analysis.per-capita-search': 'Per Capita Search', + 'dashboard.analysis.online-top-search': 'Online Top Search', + 'dashboard.analysis.the-proportion-of-sales': 'The Proportion Of Sales', + 'dashboard.analysis.dropdown-option-one': 'Operation one', + 'dashboard.analysis.dropdown-option-two': 'Operation two', + 'dashboard.analysis.channel.all': 'ALL', + 'dashboard.analysis.channel.online': 'Online', + 'dashboard.analysis.channel.stores': 'Stores', + 'dashboard.analysis.sales': 'Sales', + 'dashboard.analysis.traffic': 'Traffic', + 'dashboard.analysis.table.rank': 'Rank', + 'dashboard.analysis.table.search-keyword': 'Keyword', + 'dashboard.analysis.table.users': 'Users', + 'dashboard.analysis.table.weekly-range': 'Weekly Range' +} diff --git a/web_src/src/locales/lang/en-US/form.js b/web_src/src/locales/lang/en-US/form.js new file mode 100644 index 00000000..d004e527 --- /dev/null +++ b/web_src/src/locales/lang/en-US/form.js @@ -0,0 +1,5 @@ +import basicForm from './form/basicForm' + +export default { + ...basicForm + } diff --git a/web_src/src/locales/lang/en-US/form/basicForm.js b/web_src/src/locales/lang/en-US/form/basicForm.js new file mode 100644 index 00000000..3ef4bc0b --- /dev/null +++ b/web_src/src/locales/lang/en-US/form/basicForm.js @@ -0,0 +1,61 @@ +export default { + 'form.basic-form.basic.title': 'Basic form', + 'form.basic-form.basic.description': + 'Form pages are used to collect or verify information to users, and basic forms are common in scenarios where there are fewer data items.', + 'form.basic-form.title.label': 'Title', + 'form.basic-form.title.placeholder': 'Give the target a name', + 'form.basic-form.title.required': 'Please enter a title', + 'form.basic-form.date.label': 'Start and end date', + 'form.basic-form.placeholder.start': 'Start date', + 'form.basic-form.placeholder.end': 'End date', + 'form.basic-form.date.required': 'Please select the start and end date', + 'form.basic-form.goal.label': 'Goal description', + 'form.basic-form.goal.placeholder': 'Please enter your work goals', + 'form.basic-form.goal.required': 'Please enter a description of the goal', + 'form.basic-form.standard.label': 'Metrics', + 'form.basic-form.standard.placeholder': 'Please enter a metric', + 'form.basic-form.standard.required': 'Please enter a metric', + 'form.basic-form.client.label': 'Client', + 'form.basic-form.label.tooltip': 'Target service object', + 'form.basic-form.client.placeholder': + 'Please describe your customer service, internal customers directly @ Name / job number', + 'form.basic-form.client.required': 'Please describe the customers you serve', + 'form.basic-form.invites.label': 'Inviting critics', + 'form.basic-form.invites.placeholder': + 'Please direct @ Name / job number, you can invite up to 5 people', + 'form.basic-form.weight.label': 'Weight', + 'form.basic-form.weight.placeholder': 'Please enter weight', + 'form.basic-form.public.label': 'Target disclosure', + 'form.basic-form.label.help': 'Customers and invitees are shared by default', + 'form.basic-form.radio.public': 'Public', + 'form.basic-form.radio.partially-public': 'Partially public', + 'form.basic-form.radio.private': 'Private', + 'form.basic-form.publicUsers.placeholder': 'Open to', + 'form.basic-form.option.A': 'Colleague A', + 'form.basic-form.option.B': 'Colleague B', + 'form.basic-form.option.C': 'Colleague C', + 'form.basic-form.email.required': 'Please enter your email!', + 'form.basic-form.email.wrong-format': 'The email address is in the wrong format!', + 'form.basic-form.userName.required': 'Please enter your userName!', + 'form.basic-form.password.required': 'Please enter your password!', + 'form.basic-form.password.twice': 'The passwords entered twice do not match!', + 'form.basic-form.strength.msg': + "Please enter at least 6 characters and don't use passwords that are easy to guess.", + 'form.basic-form.strength.strong': 'Strength: strong', + 'form.basic-form.strength.medium': 'Strength: medium', + 'form.basic-form.strength.short': 'Strength: too short', + 'form.basic-form.confirm-password.required': 'Please confirm your password!', + 'form.basic-form.phone-number.required': 'Please enter your phone number!', + 'form.basic-form.phone-number.wrong-format': 'Malformed phone number!', + 'form.basic-form.verification-code.required': 'Please enter the verification code!', + 'form.basic-form.form.get-captcha': 'Get Captcha', + 'form.basic-form.captcha.second': 'sec', + 'form.basic-form.form.optional': ' (optional) ', + 'form.basic-form.form.submit': 'Submit', + 'form.basic-form.form.save': 'Save', + 'form.basic-form.email.placeholder': 'Email', + 'form.basic-form.password.placeholder': 'Password', + 'form.basic-form.confirm-password.placeholder': 'Confirm password', + 'form.basic-form.phone-number.placeholder': 'Phone number', + 'form.basic-form.verification-code.placeholder': 'Verification code' +} diff --git a/web_src/src/locales/lang/en-US/global.js b/web_src/src/locales/lang/en-US/global.js new file mode 100644 index 00000000..1b0a940e --- /dev/null +++ b/web_src/src/locales/lang/en-US/global.js @@ -0,0 +1,6 @@ +export default { + submit: 'Submit', + save: 'Save', + 'submit.ok': 'Submit successfully', + 'save.ok': 'Saved successfully' +} diff --git a/web_src/src/locales/lang/en-US/menu.js b/web_src/src/locales/lang/en-US/menu.js new file mode 100644 index 00000000..4d4eabc6 --- /dev/null +++ b/web_src/src/locales/lang/en-US/menu.js @@ -0,0 +1,21 @@ +export default { + 'menu.welcome': 'Welcome', + 'menu.home': 'Home', + 'menu.dashboard': 'Dashboard', + 'menu.dashboard.monitor': 'Monitor', + 'menu.video.device-manage': 'Video Platform', + 'menu.video.device-list': 'Device Manage', + 'menu.video.record-manage': 'Cloud Record', + 'menu.video.record-list': 'Device Record List', + 'menu.video.nvr-record-list': 'NVR Record List', + 'menu.video.video-matrix' : 'Video Matrix Square', + 'menu.video.square-matrix': 'Video Matrix Square', + 'menu.video.device-warning-manage': 'Device Warning', + 'menu.video.device-warning-list': 'Warning List', + 'menu.video.stream-proxy-manage': 'Stream Proxy', + 'menu.video.stream-proxy-list': 'Proxy List', + 'menu.video.gbPlatform-manage': 'GbPlatform Manage', + 'menu.video.gbPlatform-list': 'Parent Platform List', + 'menu.video.media-server-manage': 'Media Server Manage', + 'menu.video.media-server-list': 'Media Server List' +} diff --git a/web_src/src/locales/lang/en-US/result.js b/web_src/src/locales/lang/en-US/result.js new file mode 100644 index 00000000..75d3a4d6 --- /dev/null +++ b/web_src/src/locales/lang/en-US/result.js @@ -0,0 +1,7 @@ +import success from './result/success' +import fail from './result/fail' + +export default { + ...success, + ...fail + } diff --git a/web_src/src/locales/lang/en-US/result/fail.js b/web_src/src/locales/lang/en-US/result/fail.js new file mode 100644 index 00000000..168909c3 --- /dev/null +++ b/web_src/src/locales/lang/en-US/result/fail.js @@ -0,0 +1,11 @@ +export default { + 'result.fail.error.title': 'Submission Failed', + 'result.fail.error.description': + 'Please check and modify the following information before resubmitting.', + 'result.fail.error.hint-title': 'The content you submitted has the following error:', + 'result.fail.error.hint-text1': 'Your account has been frozen', + 'result.fail.error.hint-btn1': 'Thaw immediately', + 'result.fail.error.hint-text2': 'Your account is not yet eligible to apply', + 'result.fail.error.hint-btn2': 'Upgrade immediately', + 'result.fail.error.btn-text': 'Return to modify' +} diff --git a/web_src/src/locales/lang/en-US/result/success.js b/web_src/src/locales/lang/en-US/result/success.js new file mode 100644 index 00000000..fad6c1d2 --- /dev/null +++ b/web_src/src/locales/lang/en-US/result/success.js @@ -0,0 +1,19 @@ +export default { + 'result.success.title': 'Submission Success', + 'result.success.description': + 'The submission results page is used to feed back the results of a series of operational tasks. If it is a simple operation, use the Message global prompt feedback. This text area can show a simple supplementary explanation. If there is a similar requirement for displaying “documents”, the following gray area can present more complicated content.', + 'result.success.operate-title': 'Project Name', + 'result.success.operate-id': 'Project ID', + 'result.success.principal': 'Principal', + 'result.success.operate-time': 'Effective time', + 'result.success.step1-title': 'Create project', + 'result.success.step1-operator': 'Qu Lili', + 'result.success.step2-title': 'Departmental preliminary review', + 'result.success.step2-operator': 'Zhou Maomao', + 'result.success.step2-extra': 'Urge', + 'result.success.step3-title': 'Financial review', + 'result.success.step4-title': 'Finish', + 'result.success.btn-return': 'Back List', + 'result.success.btn-project': 'View Project', + 'result.success.btn-print': 'Print' +} diff --git a/web_src/src/locales/lang/en-US/setting.js b/web_src/src/locales/lang/en-US/setting.js new file mode 100644 index 00000000..f42ce9fe --- /dev/null +++ b/web_src/src/locales/lang/en-US/setting.js @@ -0,0 +1,29 @@ +export default { + 'app.setting.pagestyle': 'Page style setting', + 'app.setting.pagestyle.light': 'Light style', + 'app.setting.pagestyle.dark': 'Dark style', + 'app.setting.pagestyle.realdark': 'RealDark style', + 'app.setting.themecolor': 'Theme Color', + 'app.setting.navigationmode': 'Navigation Mode', + 'app.setting.content-width': 'Content Width', + 'app.setting.fixedheader': 'Fixed Header', + 'app.setting.fixedsidebar': 'Fixed Sidebar', + 'app.setting.sidemenu': 'Side Menu Layout', + 'app.setting.topmenu': 'Top Menu Layout', + 'app.setting.content-width.fixed': 'Fixed', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.othersettings': 'Other Settings', + 'app.setting.weakmode': 'Weak Mode', + 'app.setting.copy': 'Copy Setting', + 'app.setting.loading': 'Loading theme', + 'app.setting.copyinfo': 'copy success,please replace defaultSettings in src/config/defaultSettings.js', + 'app.setting.production.hint': 'Setting panel shows in development environment only, please manually modify', + 'app.setting.themecolor.daybreak': 'Daybreak Blue', + 'app.setting.themecolor.dust': 'Dust Red', + 'app.setting.themecolor.volcano': 'Volcano', + 'app.setting.themecolor.sunset': 'Sunset Orange', + 'app.setting.themecolor.cyan': 'Cyan', + 'app.setting.themecolor.green': 'Polar Green', + 'app.setting.themecolor.geekblue': 'Geek Blue', + 'app.setting.themecolor.purple': 'Golden Purple' +} diff --git a/web_src/src/locales/lang/en-US/user.js b/web_src/src/locales/lang/en-US/user.js new file mode 100644 index 00000000..561210ce --- /dev/null +++ b/web_src/src/locales/lang/en-US/user.js @@ -0,0 +1,45 @@ +export default { + 'user.login.userName': 'userName', + 'user.login.password': 'password', + 'user.login.username.placeholder': 'Account: admin', + 'user.login.password.placeholder': 'password: admin or ant.design', + 'user.login.message-invalid-credentials': + 'Invalid username or password(admin/ant.design)', + 'user.login.message-invalid-verification-code': 'Invalid verification code', + 'user.login.tab-login-credentials': 'Credentials', + 'user.login.tab-login-mobile': 'Mobile number', + 'user.login.mobile.placeholder': 'Mobile number', + 'user.login.mobile.verification-code.placeholder': 'Verification code', + 'user.login.remember-me': 'Remember me', + 'user.login.forgot-password': 'Forgot your password?', + 'user.login.sign-in-with': 'Sign in with', + 'user.login.signup': 'Sign up', + 'user.login.login': 'Login', + 'user.register.register': 'Register', + 'user.register.email.placeholder': 'Email', + 'user.register.password.placeholder': 'Password ', + 'user.register.password.popover-message': 'Please enter at least 6 characters. Please do not use passwords that are easy to guess. ', + 'user.register.confirm-password.placeholder': 'Confirm password', + 'user.register.get-verification-code': 'Get code', + 'user.register.sign-in': 'Already have an account?', + 'user.register-result.msg': 'Account:registered at {email}', + 'user.register-result.activation-email': + 'The activation email has been sent to your email address and is valid for 24 hours. Please log in to the email in time and click on the link in the email to activate the account.', + 'user.register-result.back-home': 'Back to home', + 'user.register-result.view-mailbox': 'View mailbox', + 'user.email.required': 'Please enter your email!', + 'user.email.wrong-format': 'The email address is in the wrong format!', + 'user.userName.required': 'Please enter account name or email address', + 'user.password.required': 'Please enter your password!', + 'user.password.twice.msg': 'The passwords entered twice do not match!', + 'user.password.strength.msg': + 'The password is not strong enough', + 'user.password.strength.strong': 'Strength: strong', + 'user.password.strength.medium': 'Strength: medium', + 'user.password.strength.low': 'Strength: low', + 'user.password.strength.short': 'Strength: too short', + 'user.confirm-password.required': 'Please confirm your password!', + 'user.phone-number.required': 'Please enter your phone number!', + 'user.phone-number.wrong-format': 'Please enter a valid phone number', + 'user.verification-code.required': 'Please enter the verification code!' +} diff --git a/web_src/src/locales/lang/zh-CN.js b/web_src/src/locales/lang/zh-CN.js new file mode 100644 index 00000000..111eab4f --- /dev/null +++ b/web_src/src/locales/lang/zh-CN.js @@ -0,0 +1,34 @@ +import antd from 'ant-design-vue/es/locale-provider/zh_CN' +import momentCN from 'moment/locale/zh-cn' +import global from './zh-CN/global' + +import menu from './zh-CN/menu' +import setting from './zh-CN/setting' +import user from './zh-CN/user' +import dashboard from './zh-CN/dashboard' +import form from './zh-CN/form' +import result from './zh-CN/result' +import account from './zh-CN/account' + +const components = { + antLocale: antd, + momentName: 'zh-cn', + momentLocale: momentCN +} + +export default { + message: '-', + + 'layouts.usermenu.dialog.title': '信息', + 'layouts.usermenu.dialog.content': '您确定要注销吗?', + 'layouts.userLayout.title': 'Ant Design 是西湖区最具影响力的 Web 设计规范', + ...components, + ...global, + ...menu, + ...setting, + ...user, + ...dashboard, + ...form, + ...result, + ...account +} diff --git a/web_src/src/locales/lang/zh-CN/account.js b/web_src/src/locales/lang/zh-CN/account.js new file mode 100644 index 00000000..65a4774b --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/account.js @@ -0,0 +1,5 @@ +import settings from './account/settings' + +export default { + ...settings + } diff --git a/web_src/src/locales/lang/zh-CN/account/settings.js b/web_src/src/locales/lang/zh-CN/account/settings.js new file mode 100644 index 00000000..c6c2eac1 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/account/settings.js @@ -0,0 +1,57 @@ +export default { + 'account.settings.menuMap.basic': '基本设置', + 'account.settings.menuMap.security': '安全设置', + 'account.settings.menuMap.custom': '个性化', + 'account.settings.menuMap.binding': '账号绑定', + 'account.settings.menuMap.notification': '新消息通知', + 'account.settings.basic.avatar': '头像', + 'account.settings.basic.change-avatar': '更换头像', + 'account.settings.basic.email': '邮箱', + 'account.settings.basic.email-message': '请输入您的邮箱!', + 'account.settings.basic.nickname': '昵称', + 'account.settings.basic.nickname-message': '请输入您的昵称!', + 'account.settings.basic.profile': '个人简介', + 'account.settings.basic.profile-message': '请输入个人简介!', + 'account.settings.basic.profile-placeholder': '个人简介', + 'account.settings.basic.country': '国家/地区', + 'account.settings.basic.country-message': '请输入您的国家或地区!', + 'account.settings.basic.geographic': '所在省市', + 'account.settings.basic.geographic-message': '请输入您的所在省市!', + 'account.settings.basic.address': '街道地址', + 'account.settings.basic.address-message': '请输入您的街道地址!', + 'account.settings.basic.phone': '联系电话', + 'account.settings.basic.phone-message': '请输入您的联系电话!', + 'account.settings.basic.update': '更新基本信息', + 'account.settings.basic.update.success': '更新基本信息成功', + 'account.settings.security.strong': '强', + 'account.settings.security.medium': '中', + 'account.settings.security.weak': '弱', + 'account.settings.security.password': '账户密码', + 'account.settings.security.password-description': '当前密码强度:', + 'account.settings.security.phone': '密保手机', + 'account.settings.security.phone-description': '已绑定手机:', + 'account.settings.security.question': '密保问题', + 'account.settings.security.question-description': '未设置密保问题,密保问题可有效保护账户安全', + 'account.settings.security.email': '备用邮箱', + 'account.settings.security.email-description': '已绑定邮箱:', + 'account.settings.security.mfa': 'MFA 设备', + 'account.settings.security.mfa-description': '未绑定 MFA 设备,绑定后,可以进行二次确认', + 'account.settings.security.modify': '修改', + 'account.settings.security.set': '设置', + 'account.settings.security.bind': '绑定', + 'account.settings.binding.taobao': '绑定淘宝', + 'account.settings.binding.taobao-description': '当前未绑定淘宝账号', + 'account.settings.binding.alipay': '绑定支付宝', + 'account.settings.binding.alipay-description': '当前未绑定支付宝账号', + 'account.settings.binding.dingding': '绑定钉钉', + 'account.settings.binding.dingding-description': '当前未绑定钉钉账号', + 'account.settings.binding.bind': '绑定', + 'account.settings.notification.password': '账户密码', + 'account.settings.notification.password-description': '其他用户的消息将以站内信的形式通知', + 'account.settings.notification.messages': '系统消息', + 'account.settings.notification.messages-description': '系统消息将以站内信的形式通知', + 'account.settings.notification.todo': '待办任务', + 'account.settings.notification.todo-description': '待办任务将以站内信的形式通知', + 'account.settings.settings.open': '开', + 'account.settings.settings.close': '关' +} diff --git a/web_src/src/locales/lang/zh-CN/dashboard.js b/web_src/src/locales/lang/zh-CN/dashboard.js new file mode 100644 index 00000000..9d408927 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/dashboard.js @@ -0,0 +1,5 @@ +import analysis from './dashboard/analysis' + +export default { + ...analysis + } diff --git a/web_src/src/locales/lang/zh-CN/dashboard/analysis.js b/web_src/src/locales/lang/zh-CN/dashboard/analysis.js new file mode 100644 index 00000000..b34f6a6d --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/dashboard/analysis.js @@ -0,0 +1,36 @@ +export default { + 'dashboard.analysis.test': '工专路 {no} 号店', + 'dashboard.analysis.introduce': '指标说明', + 'dashboard.analysis.total-sales': '总销售额', + 'dashboard.analysis.day-sales': '日均销售额¥', + 'dashboard.analysis.visits': '访问量', + 'dashboard.analysis.visits-trend': '访问量趋势', + 'dashboard.analysis.visits-ranking': '门店访问量排名', + 'dashboard.analysis.day-visits': '日访问量', + 'dashboard.analysis.week': '周同比', + 'dashboard.analysis.day': '日同比', + 'dashboard.analysis.payments': '支付笔数', + 'dashboard.analysis.conversion-rate': '转化率', + 'dashboard.analysis.operational-effect': '运营活动效果', + 'dashboard.analysis.sales-trend': '销售趋势', + 'dashboard.analysis.sales-ranking': '门店销售额排名', + 'dashboard.analysis.all-year': '全年', + 'dashboard.analysis.all-month': '本月', + 'dashboard.analysis.all-week': '本周', + 'dashboard.analysis.all-day': '今日', + 'dashboard.analysis.search-users': '搜索用户数', + 'dashboard.analysis.per-capita-search': '人均搜索次数', + 'dashboard.analysis.online-top-search': '线上热门搜索', + 'dashboard.analysis.the-proportion-of-sales': '销售额类别占比', + 'dashboard.analysis.dropdown-option-one': '操作一', + 'dashboard.analysis.dropdown-option-two': '操作二', + 'dashboard.analysis.channel.all': '全部渠道', + 'dashboard.analysis.channel.online': '线上', + 'dashboard.analysis.channel.stores': '门店', + 'dashboard.analysis.sales': '销售额', + 'dashboard.analysis.traffic': '客流量', + 'dashboard.analysis.table.rank': '排名', + 'dashboard.analysis.table.search-keyword': '搜索关键词', + 'dashboard.analysis.table.users': '用户数', + 'dashboard.analysis.table.weekly-range': '周涨幅' +} diff --git a/web_src/src/locales/lang/zh-CN/form.js b/web_src/src/locales/lang/zh-CN/form.js new file mode 100644 index 00000000..d004e527 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/form.js @@ -0,0 +1,5 @@ +import basicForm from './form/basicForm' + +export default { + ...basicForm + } diff --git a/web_src/src/locales/lang/zh-CN/form/basicForm.js b/web_src/src/locales/lang/zh-CN/form/basicForm.js new file mode 100644 index 00000000..7941075e --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/form/basicForm.js @@ -0,0 +1,58 @@ +export default { + 'form.basic-form.basic.title': '基础表单', + 'form.basic-form.basic.description': + '表单页用于向用户收集或验证信息,基础表单常见于数据项较少的表单场景。', + 'form.basic-form.title.label': '标题', + 'form.basic-form.title.placeholder': '给目标起个名字', + 'form.basic-form.title.required': '请输入标题', + 'form.basic-form.date.label': '起止日期', + 'form.basic-form.placeholder.start': '开始日期', + 'form.basic-form.placeholder.end': '结束日期', + 'form.basic-form.date.required': '请选择起止日期', + 'form.basic-form.goal.label': '目标描述', + 'form.basic-form.goal.placeholder': '请输入你的阶段性工作目标', + 'form.basic-form.goal.required': '请输入目标描述', + 'form.basic-form.standard.label': '衡量标准', + 'form.basic-form.standard.placeholder': '请输入衡量标准', + 'form.basic-form.standard.required': '请输入衡量标准', + 'form.basic-form.client.label': '客户', + 'form.basic-form.client.required': '请描述你服务的客户', + 'form.basic-form.label.tooltip': '目标的服务对象', + 'form.basic-form.client.placeholder': '请描述你服务的客户,内部客户直接 @姓名/工号', + 'form.basic-form.invites.label': '邀评人', + 'form.basic-form.invites.placeholder': '请直接 @姓名/工号,最多可邀请 5 人', + 'form.basic-form.weight.label': '权重', + 'form.basic-form.weight.placeholder': '请输入', + 'form.basic-form.public.label': '目标公开', + 'form.basic-form.label.help': '客户、邀评人默认被分享', + 'form.basic-form.radio.public': '公开', + 'form.basic-form.radio.partially-public': '部分公开', + 'form.basic-form.radio.private': '不公开', + 'form.basic-form.publicUsers.placeholder': '公开给', + 'form.basic-form.option.A': '同事一', + 'form.basic-form.option.B': '同事二', + 'form.basic-form.option.C': '同事三', + 'form.basic-form.email.required': '请输入邮箱地址!', + 'form.basic-form.email.wrong-format': '邮箱地址格式错误!', + 'form.basic-form.userName.required': '请输入用户名!', + 'form.basic-form.password.required': '请输入密码!', + 'form.basic-form.password.twice': '两次输入的密码不匹配!', + 'form.basic-form.strength.msg': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'form.basic-form.strength.strong': '强度:强', + 'form.basic-form.strength.medium': '强度:中', + 'form.basic-form.strength.short': '强度:太短', + 'form.basic-form.confirm-password.required': '请确认密码!', + 'form.basic-form.phone-number.required': '请输入手机号!', + 'form.basic-form.phone-number.wrong-format': '手机号格式错误!', + 'form.basic-form.verification-code.required': '请输入验证码!', + 'form.basic-form.form.get-captcha': '获取验证码', + 'form.basic-form.captcha.second': '秒', + 'form.basic-form.form.optional': '(选填)', + 'form.basic-form.form.submit': '提交', + 'form.basic-form.form.save': '保存', + 'form.basic-form.email.placeholder': '邮箱', + 'form.basic-form.password.placeholder': '至少6位密码,区分大小写', + 'form.basic-form.confirm-password.placeholder': '确认密码', + 'form.basic-form.phone-number.placeholder': '手机号', + 'form.basic-form.verification-code.placeholder': '验证码' +} diff --git a/web_src/src/locales/lang/zh-CN/global.js b/web_src/src/locales/lang/zh-CN/global.js new file mode 100644 index 00000000..d4a32d6c --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/global.js @@ -0,0 +1,6 @@ +export default { + submit: '提交', + save: '保存', + 'submit.ok': '提交成功', + 'save.ok': '保存成功' +} diff --git a/web_src/src/locales/lang/zh-CN/menu.js b/web_src/src/locales/lang/zh-CN/menu.js new file mode 100644 index 00000000..80140b06 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/menu.js @@ -0,0 +1,21 @@ +export default { + 'menu.welcome': '欢迎', + 'menu.home': '主页', + 'menu.dashboard': '仪表盘', + 'menu.dashboard.monitor': '控制台', + 'menu.video.device-manage': '设备管理', + 'menu.video.device-list': '设备列表', + 'menu.video.record-manage': '云端录像', + 'menu.video.record-list': '设备录像列表', + 'menu.video.nvr-record-list': 'NVR录像列表', + 'menu.video.video-matrix': '视频广场', + 'menu.video.square-matrix': '视频矩阵', + 'menu.video.device-warning-manage': '报警管理', + 'menu.video.device-warning-list': '报警列表', + 'menu.video.stream-proxy-manage': '拉流代理', + 'menu.video.stream-proxy-list': '代理列表', + 'menu.video.gbPlatform-manage': '国标级联', + 'menu.video.gbPlatform-list': '上级平台列表', + 'menu.video.media-server-manage': '节点管理', + 'menu.video.media-server-list': '流媒体节点列表' +} diff --git a/web_src/src/locales/lang/zh-CN/result.js b/web_src/src/locales/lang/zh-CN/result.js new file mode 100644 index 00000000..75d3a4d6 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/result.js @@ -0,0 +1,7 @@ +import success from './result/success' +import fail from './result/fail' + +export default { + ...success, + ...fail + } diff --git a/web_src/src/locales/lang/zh-CN/result/fail.js b/web_src/src/locales/lang/zh-CN/result/fail.js new file mode 100644 index 00000000..a9279e10 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/result/fail.js @@ -0,0 +1,10 @@ +export default { + 'result.fail.error.title': '提交失败', + 'result.fail.error.description': '请核对并修改以下信息后,再重新提交。', + 'result.fail.error.hint-title': '您提交的内容有如下错误:', + 'result.fail.error.hint-text1': '您的账户已被冻结', + 'result.fail.error.hint-btn1': '立即解冻', + 'result.fail.error.hint-text2': '您的账户还不具备申请资格', + 'result.fail.error.hint-btn2': '立即升级', + 'result.fail.error.btn-text': '返回修改' +} diff --git a/web_src/src/locales/lang/zh-CN/result/success.js b/web_src/src/locales/lang/zh-CN/result/success.js new file mode 100644 index 00000000..bd18f9fb --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/result/success.js @@ -0,0 +1,19 @@ +export default { + 'result.success.title': '提交成功', + 'result.success.description': + '提交结果页用于反馈一系列操作任务的处理结果, 如果仅是简单操作,使用 Message 全局提示反馈即可。 本文字区域可以展示简单的补充说明,如果有类似展示 “单据”的需求,下面这个灰色区域可以呈现比较复杂的内容。', + 'result.success.operate-title': '项目名称', + 'result.success.operate-id': '项目 ID', + 'result.success.principal': '负责人', + 'result.success.operate-time': '生效时间', + 'result.success.step1-title': '创建项目', + 'result.success.step1-operator': '曲丽丽', + 'result.success.step2-title': '部门初审', + 'result.success.step2-operator': '周毛毛', + 'result.success.step2-extra': '催一下', + 'result.success.step3-title': '财务复核', + 'result.success.step4-title': '完成', + 'result.success.btn-return': '返回列表', + 'result.success.btn-project': '查看项目', + 'result.success.btn-print': '打印' +} diff --git a/web_src/src/locales/lang/zh-CN/setting.js b/web_src/src/locales/lang/zh-CN/setting.js new file mode 100644 index 00000000..0166d0b2 --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/setting.js @@ -0,0 +1,29 @@ +export default { + 'app.setting.pagestyle': '整体风格设置', + 'app.setting.pagestyle.light': '亮色菜单风格', + 'app.setting.pagestyle.dark': '暗色菜单风格', + 'app.setting.pagestyle.realdark': '暗黑模式', + 'app.setting.themecolor': '主题色', + 'app.setting.navigationmode': '导航模式', + 'app.setting.content-width': '内容区域宽度', + 'app.setting.fixedheader': '固定 Header', + 'app.setting.fixedsidebar': '固定侧边栏', + 'app.setting.sidemenu': '侧边菜单布局', + 'app.setting.topmenu': '顶部菜单布局', + 'app.setting.content-width.fixed': 'Fixed', + 'app.setting.content-width.fluid': 'Fluid', + 'app.setting.othersettings': '其他设置', + 'app.setting.weakmode': '色弱模式', + 'app.setting.copy': '拷贝设置', + 'app.setting.loading': '加载主题中', + 'app.setting.copyinfo': '拷贝设置成功 src/config/defaultSettings.js', + 'app.setting.production.hint': '配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件', + 'app.setting.themecolor.daybreak': '拂晓蓝', + 'app.setting.themecolor.dust': '薄暮', + 'app.setting.themecolor.volcano': '火山', + 'app.setting.themecolor.sunset': '日暮', + 'app.setting.themecolor.cyan': '明青', + 'app.setting.themecolor.green': '极光绿', + 'app.setting.themecolor.geekblue': '极客蓝', + 'app.setting.themecolor.purple': '酱紫' +} diff --git a/web_src/src/locales/lang/zh-CN/user.js b/web_src/src/locales/lang/zh-CN/user.js new file mode 100644 index 00000000..37731d9e --- /dev/null +++ b/web_src/src/locales/lang/zh-CN/user.js @@ -0,0 +1,43 @@ +export default { + 'user.login.userName': '用户名', + 'user.login.password': '密码', + 'user.login.username.placeholder': '账户: admin', + 'user.login.password.placeholder': '密码: admin or ant.design', + 'user.login.message-invalid-credentials': '账户或密码错误(admin/ant.design)', + 'user.login.message-invalid-verification-code': '验证码错误', + 'user.login.tab-login-credentials': '账户密码登录', + 'user.login.tab-login-mobile': '手机号登录', + 'user.login.mobile.placeholder': '手机号', + 'user.login.mobile.verification-code.placeholder': '验证码', + 'user.login.remember-me': '自动登录', + 'user.login.forgot-password': '忘记密码', + 'user.login.sign-in-with': '其他登录方式', + 'user.login.signup': '注册账户', + 'user.login.login': '登录', + 'user.register.register': '注册', + 'user.register.email.placeholder': '邮箱', + 'user.register.password.placeholder': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'user.register.password.popover-message': '请至少输入 6 个字符。请不要使用容易被猜到的密码。', + 'user.register.confirm-password.placeholder': '确认密码', + 'user.register.get-verification-code': '获取验证码', + 'user.register.sign-in': '使用已有账户登录', + 'user.register-result.msg': '你的账户:{email} 注册成功', + 'user.register-result.activation-email': + '激活邮件已发送到你的邮箱中,邮件有效期为24小时。请及时登录邮箱,点击邮件中的链接激活帐户。', + 'user.register-result.back-home': '返回首页', + 'user.register-result.view-mailbox': '查看邮箱', + 'user.email.required': '请输入邮箱地址!', + 'user.email.wrong-format': '邮箱地址格式错误!', + 'user.userName.required': '请输入帐户名或邮箱地址', + 'user.password.required': '请输入密码!', + 'user.password.twice.msg': '两次输入的密码不匹配!', + 'user.password.strength.msg': '密码强度不够 ', + 'user.password.strength.strong': '强度:强', + 'user.password.strength.medium': '强度:中', + 'user.password.strength.low': '强度:低', + 'user.password.strength.short': '强度:太短', + 'user.confirm-password.required': '请确认密码!', + 'user.phone-number.required': '请输入正确的手机号', + 'user.phone-number.wrong-format': '手机号格式错误!', + 'user.verification-code.required': '请输入验证码!' +} diff --git a/web_src/src/main.js b/web_src/src/main.js index ffd7fde5..6d2152f5 100644 --- a/web_src/src/main.js +++ b/web_src/src/main.js @@ -1,61 +1,62 @@ -import Vue from 'vue'; -import App from './App.vue'; -Vue.config.productionTip = false; -import ElementUI from 'element-ui'; -import 'element-ui/lib/theme-chalk/index.css'; -import router from './router/index.js'; -import axios from 'axios'; -import VueCookies from 'vue-cookies'; -import echarts from 'echarts'; - -import VueClipboard from 'vue-clipboard2'; -import { Notification } from 'element-ui'; +// with polyfills +import 'core-js/stable' +import 'regenerator-runtime/runtime' + +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import store from './store/' +import i18n from './locales' +import {VueAxios} from './utils/request' +import ProLayout, {PageHeaderWrapper} from '@ant-design-vue/pro-layout' +import themePluginConfig from '../config/themePluginConfig' + +import bootstrap from './core/bootstrap' +import './core/lazy_use' // use lazy load components +import './permission' // permission control +import './utils/filter' // global filter +import './global.less' // global style + +//引入Font Awesome Icon +import './utils/fontAwesomeIcon'; +import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome'; + +Vue.component('font-awesome-icon', FontAwesomeIcon); + +//生成sse id import Fingerprint2 from 'fingerprintjs2'; -import VueClipboards from 'vue-clipboards'; - -// 生成唯一ID -Fingerprint2.get(function(components) { - const values = components.map(function(component,index) { +Fingerprint2.get(components => { + const values = components.map(function (component, index) { if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 return component.value.replace(/\bNetType\/\w+\b/, ''); } return component.value; }) - //console.log(values) //使用的浏览器信息npm + //console.log(values) //使用的浏览器信息npm // 生成最终id let port = window.location.port; - console.log(port); const fingerPrint = Fingerprint2.x64hash128(values.join(port), 31) Vue.prototype.$browserId = fingerPrint; - console.log("唯一标识码:" + fingerPrint); + console.log("浏览器唯一标识码:" + fingerPrint); }); -Vue.use(VueClipboard); -Vue.use(ElementUI); -Vue.use(VueCookies); -Vue.use(VueClipboards); -Vue.prototype.$axios = axios; -Vue.prototype.$notify = Notification; - -axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : ""; - -// api 返回401自动回登陆页面 -axios.interceptors.response.use(function (response) { - // 对响应数据做点什么 - return response; -}, function (error) { - // 对响应错误做点什么 - if (error.response.status === 401) { - console.log("Received 401 Response") - router.push('/login'); - } - return Promise.reject(error); -}); +Vue.config.productionTip = false + +// mount axios to `Vue.$http` and `this.$http` +Vue.use(VueAxios) +// use pro-layout components +Vue.component('pro-layout', ProLayout) +Vue.component('page-container', PageHeaderWrapper) +Vue.component('page-header-wrapper', PageHeaderWrapper) -Vue.prototype.$cookies.config(60*30); +window.umi_plugin_ant_themeVar = themePluginConfig.theme new Vue({ - router: router, - render: h => h(App), + router, + store, + i18n, + // init localstorage, vuex, Logo message + created: bootstrap, + render: h => h(App) }).$mount('#app') diff --git a/web_src/src/permission.js b/web_src/src/permission.js new file mode 100644 index 00000000..7c5eebd9 --- /dev/null +++ b/web_src/src/permission.js @@ -0,0 +1,44 @@ +import router from './router' +import store from './store' +import NProgress from 'nprogress' // progress bar +import '@/components/NProgress/nprogress.less' // progress bar custom style +import notification from 'ant-design-vue/es/notification' +import {domTitle, setDocumentTitle} from '@/utils/domUtil' +import {i18nRender} from '@/locales' + +NProgress.configure({showSpinner: false}) // NProgress Configuration + +router.beforeEach((to, from, next) => { + NProgress.start() // start progress bar + to.meta && typeof to.meta.title !== 'undefined' && setDocumentTitle(`${i18nRender(to.meta.title)} - ${domTitle}`) + if (store.getters.addRouters.length === 0) { + // generate dynamic router + store.dispatch('GenerateRoutes', {}).then(() => { + // 动态添加可访问路由表 + // VueRouter@3.5.0+ New API + store.getters.addRouters.forEach(r => { + router.addRoute(r) + }) + // 请求带有 redirect 重定向时,登录自动重定向到该地址 + const redirect = decodeURIComponent(from.query.redirect || to.path) + if (to.path === redirect) { + // set the replace: true so the navigation will not leave a history record + next({...to, replace: true}) + } else { + // 跳转到目的路由 + next({path: redirect}) + } + }).catch(() => { + notification.error({ + message: '错误', + description: '菜单生成失败' + }) + }) + } else { + next() + } +}) + +router.afterEach(() => { + NProgress.done() // finish progress bar +}) diff --git a/web_src/src/router/generator-routers.js b/web_src/src/router/generator-routers.js new file mode 100644 index 00000000..64153e9b --- /dev/null +++ b/web_src/src/router/generator-routers.js @@ -0,0 +1,153 @@ +// eslint-disable-next-line +import * as loginService from '@/api/login' +// eslint-disable-next-line +import {BasicLayout, BlankLayout, PageView, RouteView} from '@/layouts' + +// 前端路由表 +const constantRouterComponents = { + // 基础页面 layout 必须引入 + BasicLayout: BasicLayout, + BlankLayout: BlankLayout, + RouteView: RouteView, + PageView: PageView, + '403': () => import(/* webpackChunkName: "error" */ '@/views/exception/403'), + '404': () => import(/* webpackChunkName: "error" */ '@/views/exception/404'), + '500': () => import(/* webpackChunkName: "error" */ '@/views/exception/500'), + + Analysis: () => import('@/views/dashboard/Analysis'), + + // exception + Exception403: () => import(/* webpackChunkName: "fail" */ '@/views/exception/403'), + Exception404: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'), + Exception500: () => import(/* webpackChunkName: "fail" */ '@/views/exception/500') + +} + +// 前端未找到页面路由(固定不用改) +const notFoundRouter = { + path: '*', + redirect: '/404', + hidden: true +} + +// 根级菜单 +const rootRouter = { + key: '', + name: 'index', + path: '', + component: 'BasicLayout', + redirect: '/dashboard', + meta: { + title: '首页' + }, + children: [] +} + +/** + * 动态生成菜单 + * @param token + * @returns {Promise} + */ +export const generatorDynamicRouter = token => { + return new Promise((resolve, reject) => { + loginService + .getCurrentUserNav(token) + .then(res => { + console.log('generatorDynamicRouter response:', res) + const {result} = res + const menuNav = [] + const childrenNav = [] + // 后端数据, 根级树数组, 根级 PID + listToTree(result, childrenNav, 0) + rootRouter.children = childrenNav + menuNav.push(rootRouter) + console.log('menuNav', menuNav) + const routers = generator(menuNav) + routers.push(notFoundRouter) + console.log('routers', routers) + resolve(routers) + }) + .catch(err => { + reject(err) + }) + }) +} + +/** + * 格式化树形结构数据 生成 vue-router 层级路由表 + * + * @param routerMap + * @param parent + * @returns {*} + */ +export const generator = (routerMap, parent) => { + return routerMap.map(item => { + const {title, show, hideChildren, hiddenHeaderContent, target, icon} = item.meta || {} + const currentRouter = { + // 如果路由设置了 path,则作为默认 path,否则 路由地址 动态拼接生成如 /dashboard/workplace + path: item.path || `${(parent && parent.path) || ''}/${item.key}`, + // 路由名称,建议唯一 + name: item.name || item.key || '', + // 该路由对应页面的 组件 :方案1 + // component: constantRouterComponents[item.component || item.key], + // 该路由对应页面的 组件 :方案2 (动态加载) + component: constantRouterComponents[item.component || item.key] || (() => import(`@/views/${item.component}`)), + + // meta: 页面标题, 菜单图标, 页面权限(供指令权限用,可去掉) + meta: { + title: title, + icon: icon || undefined, + hiddenHeaderContent: hiddenHeaderContent, + target: target, + permission: item.name + } + } + // 是否设置了隐藏菜单 + if (show === false) { + currentRouter.hidden = true + } + // 是否设置了隐藏子菜单 + if (hideChildren) { + currentRouter.hideChildrenInMenu = true + } + // 为了防止出现后端返回结果不规范,处理有可能出现拼接出两个 反斜杠 + if (!currentRouter.path.startsWith('http')) { + currentRouter.path = currentRouter.path.replace('//', '/') + } + // 重定向 + item.redirect && (currentRouter.redirect = item.redirect) + // 是否有子菜单,并递归处理 + if (item.children && item.children.length > 0) { + // Recursion + currentRouter.children = generator(item.children, currentRouter) + } + return currentRouter + }) +} + +/** + * 数组转树形结构 + * @param list 源数组 + * @param tree 树 + * @param parentId 父ID + */ +const listToTree = (list, tree, parentId) => { + list.forEach(item => { + // 判断是否为父级菜单 + if (item.parentId === parentId) { + const child = { + ...item, + key: item.key || item.name, + children: [] + } + // 迭代 list, 找到当前菜单相符合的所有子菜单 + listToTree(list, child.children, item.id) + // 删掉不存在 children 值的属性 + if (child.children.length <= 0) { + delete child.children + } + // 加入到树中 + tree.push(child) + } + }) +} diff --git a/web_src/src/router/index.js b/web_src/src/router/index.js index 59bbb236..afda6226 100644 --- a/web_src/src/router/index.js +++ b/web_src/src/router/index.js @@ -1,110 +1,17 @@ import Vue from 'vue' -import VueRouter from 'vue-router' +import Router from 'vue-router' +import { constantRouterMap } from '@/config/router.config' -import control from '../components/control.vue' -import deviceList from '../components/DeviceList.vue' -import channelList from '../components/channelList.vue' -import pushVideoList from '../components/PushVideoList.vue' -import streamProxyList from '../components/StreamProxyList.vue' -import devicePosition from '../components/devicePosition.vue' -import login from '../components/Login.vue' -import parentPlatformList from '../components/ParentPlatformList.vue' -import cloudRecord from '../components/CloudRecord.vue' -import mediaServerManger from '../components/MediaServerManger.vue' -import test from '../components/test.vue' -import web from '../components/setting/Web.vue' -import sip from '../components/setting/Sip.vue' -import media from '../components/setting/Media.vue' - -import wasmPlayer from '../components/dialog/jessibuca.vue' -import rtcPlayer from '../components/dialog/rtcPlayer.vue' - -const originalPush = VueRouter.prototype.push -VueRouter.prototype.push = function push(location) { +// hack router push callback +const originalPush = Router.prototype.push +Router.prototype.push = function push (location, onResolve, onReject) { + if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) return originalPush.call(this, location).catch(err => err) } -Vue.use(VueRouter) - +Vue.use(Router) -export default new VueRouter({ - mode:'hash', - routes: [ - { - path: '/', - component: control, - }, - { - path: '/deviceList', - component: deviceList, - }, - { - path: '/pushVideoList', - component: pushVideoList, - }, - { - path: '/streamProxyList', - component: streamProxyList, - }, - { - path: '/login', - name: '登录', - component: login, - }, - { - path: '/channelList/:deviceId/:parentChannelId/:count/:page', - name: 'channelList', - component: channelList, - }, - { - path: '/parentPlatformList/:count/:page', - name: 'parentPlatformList', - component: parentPlatformList, - }, - { - path: '/devicePosition/:deviceId/:parentChannelId/:count/:page', - name: 'devicePosition', - component: devicePosition, - }, - { - path: '/cloudRecord', - name: 'cloudRecord', - component: cloudRecord, - }, - { - path: '/mediaServerManger', - name: 'mediaServerManger', - component: mediaServerManger, - }, - { - path: '/setting/web', - name: 'web', - component: web, - }, - { - path: '/setting/sip', - name: 'sip', - component: sip, - }, - { - path: '/setting/media', - name: 'media', - component: media, - }, - { - path: '/test', - name: 'test', - component: test, - }, - { - path: '/play/wasm/:url', - name: 'wasmPlayer', - component: wasmPlayer, - }, - { - path: '/play/rtc/:url', - name: 'rtcPlayer', - component: rtcPlayer, - }, - ] +export default new Router({ + mode: 'history', + routes: constantRouterMap }) diff --git a/web_src/src/store/app-mixin.js b/web_src/src/store/app-mixin.js new file mode 100644 index 00000000..c910ae95 --- /dev/null +++ b/web_src/src/store/app-mixin.js @@ -0,0 +1,32 @@ +import { mapState } from 'vuex' + +const baseMixin = { + computed: { + ...mapState({ + layout: state => state.app.layout, + navTheme: state => state.app.theme, + primaryColor: state => state.app.color, + colorWeak: state => state.app.weak, + fixedHeader: state => state.app.fixedHeader, + fixedSidebar: state => state.app.fixedSidebar, + contentWidth: state => state.app.contentWidth, + autoHideHeader: state => state.app.autoHideHeader, + + isMobile: state => state.app.isMobile, + sideCollapsed: state => state.app.sideCollapsed, + multiTab: state => state.app.multiTab + }), + isTopMenu () { + return this.layout === 'topmenu' + } + }, + methods: { + isSideMenu () { + return !this.isTopMenu + } + } +} + +export { + baseMixin +} diff --git a/web_src/src/store/device-mixin.js b/web_src/src/store/device-mixin.js new file mode 100644 index 00000000..2510707d --- /dev/null +++ b/web_src/src/store/device-mixin.js @@ -0,0 +1,11 @@ +import { mapState } from 'vuex' + +const deviceMixin = { + computed: { + ...mapState({ + isMobile: state => state.app.isMobile + }) + } +} + +export { deviceMixin } diff --git a/web_src/src/store/getters.js b/web_src/src/store/getters.js new file mode 100644 index 00000000..f3343172 --- /dev/null +++ b/web_src/src/store/getters.js @@ -0,0 +1,10 @@ +const getters = { + isMobile: state => state.app.isMobile, + lang: state => state.app.lang, + theme: state => state.app.theme, + color: state => state.app.color, + addRouters: state => state.permission.addRouters, + multiTab: state => state.app.multiTab +} + +export default getters diff --git a/web_src/src/store/i18n-mixin.js b/web_src/src/store/i18n-mixin.js new file mode 100644 index 00000000..715b0c8b --- /dev/null +++ b/web_src/src/store/i18n-mixin.js @@ -0,0 +1,16 @@ +import { mapState } from 'vuex' + +const i18nMixin = { + computed: { + ...mapState({ + currentLang: state => state.app.lang + }) + }, + methods: { + setLang (lang) { + this.$store.dispatch('setLang', lang) + } + } +} + +export default i18nMixin diff --git a/web_src/src/store/index.js b/web_src/src/store/index.js new file mode 100644 index 00000000..2947d275 --- /dev/null +++ b/web_src/src/store/index.js @@ -0,0 +1,24 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +import app from './modules/app' + +// default router permission control +// import permission from './modules/permission' + +// dynamic router permission control (Experimental) +import permission from './modules/permission' +import getters from './getters' + +Vue.use(Vuex) + +export default new Vuex.Store({ + modules: { + app, + permission + }, + state: {}, + mutations: {}, + actions: {}, + getters +}) diff --git a/web_src/src/store/modules/app.js b/web_src/src/store/modules/app.js new file mode 100644 index 00000000..6a0c6ef9 --- /dev/null +++ b/web_src/src/store/modules/app.js @@ -0,0 +1,99 @@ +import storage from 'store' +import { + SIDEBAR_TYPE, + TOGGLE_MOBILE_TYPE, + TOGGLE_NAV_THEME, + TOGGLE_LAYOUT, + TOGGLE_FIXED_HEADER, + TOGGLE_FIXED_SIDEBAR, + TOGGLE_CONTENT_WIDTH, + TOGGLE_HIDE_HEADER, + TOGGLE_COLOR, + TOGGLE_WEAK, + TOGGLE_MULTI_TAB, + // i18n + APP_LANGUAGE +} from '@/store/mutation-types' +import { loadLanguageAsync } from '@/locales' + +const app = { + state: { + sideCollapsed: false, + isMobile: false, + theme: 'dark', + layout: '', + contentWidth: '', + fixedHeader: false, + fixedSidebar: false, + autoHideHeader: false, + color: '', + weak: false, + multiTab: true, + lang: 'en-US', + _antLocale: {} + }, + mutations: { + [SIDEBAR_TYPE]: (state, type) => { + state.sideCollapsed = type + storage.set(SIDEBAR_TYPE, type) + }, + [TOGGLE_MOBILE_TYPE]: (state, isMobile) => { + state.isMobile = isMobile + }, + [TOGGLE_NAV_THEME]: (state, theme) => { + state.theme = theme + storage.set(TOGGLE_NAV_THEME, theme) + }, + [TOGGLE_LAYOUT]: (state, mode) => { + state.layout = mode + storage.set(TOGGLE_LAYOUT, mode) + }, + [TOGGLE_FIXED_HEADER]: (state, mode) => { + state.fixedHeader = mode + storage.set(TOGGLE_FIXED_HEADER, mode) + }, + [TOGGLE_FIXED_SIDEBAR]: (state, mode) => { + state.fixedSidebar = mode + storage.set(TOGGLE_FIXED_SIDEBAR, mode) + }, + [TOGGLE_CONTENT_WIDTH]: (state, type) => { + state.contentWidth = type + storage.set(TOGGLE_CONTENT_WIDTH, type) + }, + [TOGGLE_HIDE_HEADER]: (state, type) => { + state.autoHideHeader = type + storage.set(TOGGLE_HIDE_HEADER, type) + }, + [TOGGLE_COLOR]: (state, color) => { + state.color = color + storage.set(TOGGLE_COLOR, color) + }, + [TOGGLE_WEAK]: (state, mode) => { + state.weak = mode + storage.set(TOGGLE_WEAK, mode) + }, + [APP_LANGUAGE]: (state, lang, antd = {}) => { + state.lang = lang + state._antLocale = antd + storage.set(APP_LANGUAGE, lang) + }, + [TOGGLE_MULTI_TAB]: (state, bool) => { + storage.set(TOGGLE_MULTI_TAB, bool) + state.multiTab = bool + } + }, + actions: { + setLang ({ commit }, lang) { + return new Promise((resolve, reject) => { + commit(APP_LANGUAGE, lang) + loadLanguageAsync(lang).then(() => { + resolve() + }).catch((e) => { + reject(e) + }) + }) + } + } +} + +export default app diff --git a/web_src/src/store/modules/async-router.js b/web_src/src/store/modules/async-router.js new file mode 100644 index 00000000..014b3230 --- /dev/null +++ b/web_src/src/store/modules/async-router.js @@ -0,0 +1,31 @@ +/** + * 向后端请求用户的菜单,动态生成路由 + */ +import { constantRouterMap } from '@/config/router.config' +import { generatorDynamicRouter } from '@/router/generator-routers' + +const permission = { + state: { + routers: constantRouterMap, + addRouters: [] + }, + mutations: { + SET_ROUTERS: (state, routers) => { + state.addRouters = routers + state.routers = constantRouterMap.concat(routers) + } + }, + actions: { + GenerateRoutes ({ commit }, data) { + return new Promise(resolve => { + const { token } = data + generatorDynamicRouter(token).then(routers => { + commit('SET_ROUTERS', routers) + resolve() + }) + }) + } + } +} + +export default permission diff --git a/web_src/src/store/modules/permission.js b/web_src/src/store/modules/permission.js new file mode 100644 index 00000000..67ae7b20 --- /dev/null +++ b/web_src/src/store/modules/permission.js @@ -0,0 +1,26 @@ +import { asyncRouterMap, constantRouterMap } from '@/config/router.config' +import cloneDeep from 'lodash.clonedeep' + +const permission = { + state: { + routers: constantRouterMap, + addRouters: [] + }, + mutations: { + SET_ROUTERS: (state, routers) => { + state.addRouters = routers + state.routers = constantRouterMap.concat(routers) + } + }, + actions: { + GenerateRoutes ({ commit }, data) { + return new Promise(resolve => { + const routerMap = cloneDeep(asyncRouterMap) + commit('SET_ROUTERS', routerMap) + resolve() + }) + } + } +} + +export default permission diff --git a/web_src/src/store/mutation-types.js b/web_src/src/store/mutation-types.js new file mode 100644 index 00000000..d2785d20 --- /dev/null +++ b/web_src/src/store/mutation-types.js @@ -0,0 +1,22 @@ +export const SIDEBAR_TYPE = 'sidebar_type' +export const TOGGLE_MOBILE_TYPE = 'is_mobile' +export const TOGGLE_NAV_THEME = 'nav_theme' +export const TOGGLE_LAYOUT = 'layout' +export const TOGGLE_FIXED_HEADER = 'fixed_header' +export const TOGGLE_FIXED_SIDEBAR = 'fixed_sidebar' +export const TOGGLE_CONTENT_WIDTH = 'content_width' +export const TOGGLE_HIDE_HEADER = 'auto_hide_header' +export const TOGGLE_COLOR = 'color' +export const TOGGLE_WEAK = 'weak' +export const TOGGLE_MULTI_TAB = 'multi_tab' +export const APP_LANGUAGE = 'app_language' + +export const CONTENT_WIDTH_TYPE = { + Fluid: 'Fluid', + Fixed: 'Fixed' +} + +export const NAV_THEME = { + LIGHT: 'light', + DARK: 'dark' +} diff --git a/web_src/src/components/GeoConvertTools.js b/web_src/src/utils/GeoConvertTools.js similarity index 100% rename from web_src/src/components/GeoConvertTools.js rename to web_src/src/utils/GeoConvertTools.js diff --git a/web_src/src/utils/axios.js b/web_src/src/utils/axios.js new file mode 100644 index 00000000..3b91f6b5 --- /dev/null +++ b/web_src/src/utils/axios.js @@ -0,0 +1,35 @@ +const VueAxios = { + vm: {}, + // eslint-disable-next-line no-unused-vars + install (Vue, instance) { + if (this.installed) { + return + } + this.installed = true + + if (!instance) { + // eslint-disable-next-line no-console + console.error('You have to install axios') + return + } + + Vue.axios = instance + + Object.defineProperties(Vue.prototype, { + axios: { + get: function get () { + return instance + } + }, + $http: { + get: function get () { + return instance + } + } + }) + } +} + +export { + VueAxios +} diff --git a/web_src/src/utils/domUtil.js b/web_src/src/utils/domUtil.js new file mode 100644 index 00000000..be930270 --- /dev/null +++ b/web_src/src/utils/domUtil.js @@ -0,0 +1,21 @@ +import config from '@/config/defaultSettings' + +export const setDocumentTitle = function (title) { + document.title = title + const ua = navigator.userAgent + // eslint-disable-next-line + const regex = /\bMicroMessenger\/([\d\.]+)/ + if (regex.test(ua) && /ip(hone|od|ad)/i.test(ua)) { + const i = document.createElement('iframe') + i.src = '/favicon.ico' + i.style.display = 'none' + i.onload = function () { + setTimeout(function () { + i.remove() + }, 9) + } + document.body.appendChild(i) + } +} + +export const domTitle = config.title diff --git a/web_src/src/utils/filter.js b/web_src/src/utils/filter.js new file mode 100644 index 00000000..45702c62 --- /dev/null +++ b/web_src/src/utils/filter.js @@ -0,0 +1,20 @@ +import Vue from 'vue' +import moment from 'moment' +import 'moment/locale/zh-cn' +moment.locale('zh-cn') + +Vue.filter('NumberFormat', function (value) { + if (!value) { + return '0' + } + const intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断 + return intPartFormat +}) + +Vue.filter('dayjs', function (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return moment(dataStr).format(pattern) +}) + +Vue.filter('moment', function (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return moment(dataStr).format(pattern) +}) diff --git a/web_src/src/utils/fontAwesomeIcon.js b/web_src/src/utils/fontAwesomeIcon.js new file mode 100644 index 00000000..0a5fa91b --- /dev/null +++ b/web_src/src/utils/fontAwesomeIcon.js @@ -0,0 +1,64 @@ +//引入Font Awesome +import {library} from '@fortawesome/fontawesome-svg-core'; +import { + faStop, + faPause, + faPlay, + faVolumeUp, + faVolumeMute, + faCamera, + faSync, + faRedo, + faExpand, + faCompress, + faInfo, + faInfoCircle, + faExclamationTriangle, + faVideo, + faDownload, + faHdd, + faCog, + faCogs, + faArrowLeft, + faBell, + faSearch, + faBan, + faCheck, + faTrash, + faPlus, + faAngleDoubleRight, + faShare, faCircle +} from '@fortawesome/free-solid-svg-icons'; + +library.add( + faStop, + faPause, + faPlay, + faVolumeUp, + faVolumeMute, + faCamera, + faSync, + faExpand, + faCompress, + faRedo, + faInfo, + faInfoCircle, + faExclamationTriangle, + faVideo, + faDownload, + faHdd, + faCog, + faCogs, + faArrowLeft, + faBell, + faSearch, + faBan, + faCheck, + faTrash, + faPlus, + faAngleDoubleRight, + faShare, + faCircle +); + +export default library \ No newline at end of file diff --git a/web_src/src/utils/request.js b/web_src/src/utils/request.js new file mode 100644 index 00000000..bcf420ac --- /dev/null +++ b/web_src/src/utils/request.js @@ -0,0 +1,56 @@ +import axios from 'axios' +import store from '@/store' +import storage from 'store' +import notification from 'ant-design-vue/es/notification' +import { VueAxios } from './axios' + +// 创建 axios 实例 +const request = axios.create({ + // API 请求的默认前缀 + baseURL: process.env.VUE_APP_API_BASE_URL, + timeout: 6000 // 请求超时时间 +}) + +// 异常拦截处理器 +const errorHandler = (error) => { + if (error.response) { + const data = error.response.data + if (error.response.status === 403) { + notification.error({ + message: 'Forbidden', + description: data.message + }) + } + if (error.response.status === 401 && !(data.result && data.result.isLogin)) { + notification.error({ + message: 'Unauthorized', + description: 'Authorization verification failed' + }) + } + } + return Promise.reject(error) +} + +// request interceptor +request.interceptors.request.use(config => { + return config +}, errorHandler) + +// response interceptor +request.interceptors.response.use((response) => { + return response.data +}, errorHandler) + +const installer = { + vm: {}, + install (Vue) { + Vue.use(VueAxios, request) + } +} + +export default request + +export { + installer as VueAxios, + request as axios +} diff --git a/web_src/src/utils/routeConvert.js b/web_src/src/utils/routeConvert.js new file mode 100644 index 00000000..e88b0d6d --- /dev/null +++ b/web_src/src/utils/routeConvert.js @@ -0,0 +1,30 @@ +import cloneDeep from 'lodash.clonedeep' + +export function convertRoutes (nodes) { + if (!nodes) return null + + nodes = cloneDeep(nodes) + + let queue = Array.isArray(nodes) ? nodes.concat() : [nodes] + + while (queue.length) { + const levelSize = queue.length + + for (let i = 0; i < levelSize; i++) { + const node = queue.shift() + + if (!node.children || !node.children.length) continue + + node.children.forEach(child => { + // 转化相对路径 + if (child.path[0] !== '/' && !child.path.startsWith('http')) { + child.path = node.path.replace(/(\w*)[/]*$/, `$1/${child.path}`) + } + }) + + queue = queue.concat(node.children) + } + } + + return nodes +} diff --git a/web_src/src/utils/screenLog.js b/web_src/src/utils/screenLog.js new file mode 100644 index 00000000..00c93ae0 --- /dev/null +++ b/web_src/src/utils/screenLog.js @@ -0,0 +1,18 @@ +/* eslint-disable */ +export const printANSI = () => { + // console.clear() + console.log('[antd pro] created()') + // ASCII - ANSI Shadow + let text = ` + █████╗ ███╗ ██╗████████╗██████╗ ██████╗ ██████╗ ██████╗ +██╔══██╗████╗ ██║╚══██╔══╝██╔══██╗ ██╔══██╗██╔══██╗██╔═══██╗ +███████║██╔██╗ ██║ ██║ ██║ ██║ ██████╔╝██████╔╝██║ ██║ +██╔══██║██║╚██╗██║ ██║ ██║ ██║ ██╔═══╝ ██╔══██╗██║ ██║ +██║ ██║██║ ╚████║ ██║ ██████╔╝ ██║ ██║ ██║╚██████╔╝ +╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ +\t\t\t\t\tPublished ${APP_VERSION}-${GIT_HASH} @ antdv.com +\t\t\t\t\tBuild date: ${BUILD_DATE}` + console.log(`%c${text}`, 'color: #fc4d50') + console.log('%c感谢使用 antd pro!', 'color: #000; font-size: 14px; font-family: Hiragino Sans GB,Microsoft YaHei,\\\\5FAE\\8F6F\\96C5\\9ED1,Droid Sans Fallback,Source Sans,Wenquanyi Micro Hei,WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei,Apple LiGothic Medium,SimHei,ST Heiti,WenQuanYi Zen Hei Sharp,sans-serif;') + console.log('%cThanks for using antd pro!', 'color: #fff; font-size: 14px; font-weight: 300; text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;') +} diff --git a/web_src/src/utils/util.js b/web_src/src/utils/util.js new file mode 100644 index 00000000..2e6866e1 --- /dev/null +++ b/web_src/src/utils/util.js @@ -0,0 +1,95 @@ +export function timeFix () { + const time = new Date() + const hour = time.getHours() + return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好' +} + +export function welcome () { + const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了'] + const index = Math.floor(Math.random() * arr.length) + return arr[index] +} + +/** + * 触发 window.resize + */ +export function triggerWindowResizeEvent () { + const event = document.createEvent('HTMLEvents') + event.initEvent('resize', true, true) + event.eventType = 'message' + window.dispatchEvent(event) +} + +export function handleScrollHeader (callback) { + let timer = 0 + + let beforeScrollTop = window.pageYOffset + callback = callback || function () {} + window.addEventListener( + 'scroll', + event => { + clearTimeout(timer) + timer = setTimeout(() => { + let direction = 'up' + const afterScrollTop = window.pageYOffset + const delta = afterScrollTop - beforeScrollTop + if (delta === 0) { + return false + } + direction = delta > 0 ? 'down' : 'up' + callback(direction) + beforeScrollTop = afterScrollTop + }, 50) + }, + false + ) +} + +export function isIE () { + const bw = window.navigator.userAgent + const compare = (s) => bw.indexOf(s) >= 0 + const ie11 = (() => 'ActiveXObject' in window)() + return compare('MSIE') || ie11 +} + +/** + * Remove loading animate + * @param id parent element id or class + * @param timeout + */ +export function removeLoadingAnimate (id = '', timeout = 1500) { + if (id === '') { + return + } + setTimeout(() => { + document.body.removeChild(document.getElementById(id)) + }, timeout) +} +export function scorePassword (pass) { + let score = 0 + if (!pass) { + return score + } + // award every unique letter until 5 repetitions + const letters = {} + for (let i = 0; i < pass.length; i++) { + letters[pass[i]] = (letters[pass[i]] || 0) + 1 + score += 5.0 / letters[pass[i]] + } + + // bonus points for mixing it up + const variations = { + digits: /\d/.test(pass), + lower: /[a-z]/.test(pass), + upper: /[A-Z]/.test(pass), + nonWords: /\W/.test(pass) + } + + let variationCount = 0 + for (var check in variations) { + variationCount += (variations[check] === true) ? 1 : 0 + } + score += (variationCount - 1) * 10 + + return parseInt(score) +} diff --git a/web_src/src/utils/utils.less b/web_src/src/utils/utils.less new file mode 100644 index 00000000..ba75a67f --- /dev/null +++ b/web_src/src/utils/utils.less @@ -0,0 +1,50 @@ +.textOverflow() { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + word-break: break-all; +} + +.textOverflowMulti(@line: 3, @bg: #fff) { + position: relative; + max-height: @line * 1.5em; + margin-right: -1em; + padding-right: 1em; + overflow: hidden; + line-height: 1.5em; + text-align: justify; + &::before { + position: absolute; + right: 14px; + bottom: 0; + padding: 0 1px; + background: @bg; + content: '...'; + } + &::after { + position: absolute; + right: 14px; + width: 1em; + height: 1em; + margin-top: 0.2em; + background: white; + content: ''; + } +} + +// mixins for clearfix +// ------------------------ +.clearfix() { + zoom: 1; + &::before, + &::after { + display: table; + content: ' '; + } + &::after { + clear: both; + height: 0; + font-size: 0; + visibility: hidden; + } +} \ No newline at end of file diff --git a/web_src/src/views/dashboard/MediaInfo.vue b/web_src/src/views/dashboard/MediaInfo.vue new file mode 100644 index 00000000..3cfd45a1 --- /dev/null +++ b/web_src/src/views/dashboard/MediaInfo.vue @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/dashboard/Monitor.vue b/web_src/src/views/dashboard/Monitor.vue new file mode 100644 index 00000000..7f06e977 --- /dev/null +++ b/web_src/src/views/dashboard/Monitor.vue @@ -0,0 +1,340 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/dashboard/MonitorIndex.vue b/web_src/src/views/dashboard/MonitorIndex.vue new file mode 100644 index 00000000..43576919 --- /dev/null +++ b/web_src/src/views/dashboard/MonitorIndex.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/dashboard/SIPInfo.vue b/web_src/src/views/dashboard/SIPInfo.vue new file mode 100644 index 00000000..8e6be840 --- /dev/null +++ b/web_src/src/views/dashboard/SIPInfo.vue @@ -0,0 +1,55 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/device/DeviceChannelList.vue b/web_src/src/views/device/DeviceChannelList.vue new file mode 100644 index 00000000..2b4b7bb2 --- /dev/null +++ b/web_src/src/views/device/DeviceChannelList.vue @@ -0,0 +1,294 @@ + + + diff --git a/web_src/src/views/device/DeviceEdit.vue b/web_src/src/views/device/DeviceEdit.vue new file mode 100644 index 00000000..33f9b010 --- /dev/null +++ b/web_src/src/views/device/DeviceEdit.vue @@ -0,0 +1,76 @@ + + + \ No newline at end of file diff --git a/web_src/src/views/device/DeviceIndex.vue b/web_src/src/views/device/DeviceIndex.vue new file mode 100644 index 00000000..e24d251c --- /dev/null +++ b/web_src/src/views/device/DeviceIndex.vue @@ -0,0 +1,56 @@ + + + diff --git a/web_src/src/views/device/DeviceList.vue b/web_src/src/views/device/DeviceList.vue new file mode 100644 index 00000000..fd0d016b --- /dev/null +++ b/web_src/src/views/device/DeviceList.vue @@ -0,0 +1,297 @@ + + + diff --git a/web_src/src/views/device/DevicePosition.vue b/web_src/src/views/device/DevicePosition.vue new file mode 100644 index 00000000..ad0dcf57 --- /dev/null +++ b/web_src/src/views/device/DevicePosition.vue @@ -0,0 +1,199 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/device/GBRecords.vue b/web_src/src/views/device/GBRecords.vue new file mode 100644 index 00000000..1affd37a --- /dev/null +++ b/web_src/src/views/device/GBRecords.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/device/RecordPlayer.vue b/web_src/src/views/device/RecordPlayer.vue new file mode 100644 index 00000000..045765be --- /dev/null +++ b/web_src/src/views/device/RecordPlayer.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/web_src/src/views/exception/403.vue b/web_src/src/views/exception/403.vue new file mode 100644 index 00000000..fb1bf361 --- /dev/null +++ b/web_src/src/views/exception/403.vue @@ -0,0 +1,20 @@ + + + diff --git a/web_src/src/views/exception/404.vue b/web_src/src/views/exception/404.vue new file mode 100644 index 00000000..3142e7b1 --- /dev/null +++ b/web_src/src/views/exception/404.vue @@ -0,0 +1,20 @@ + + + diff --git a/web_src/src/views/exception/500.vue b/web_src/src/views/exception/500.vue new file mode 100644 index 00000000..2770b774 --- /dev/null +++ b/web_src/src/views/exception/500.vue @@ -0,0 +1,20 @@ + + + diff --git a/web_src/src/views/gbPlatform/ChannelForGb.vue b/web_src/src/views/gbPlatform/ChannelForGb.vue new file mode 100644 index 00000000..3b1260dd --- /dev/null +++ b/web_src/src/views/gbPlatform/ChannelForGb.vue @@ -0,0 +1,218 @@ + + + \ No newline at end of file diff --git a/web_src/src/views/gbPlatform/ChannelForStream.vue b/web_src/src/views/gbPlatform/ChannelForStream.vue new file mode 100644 index 00000000..b5fb5c55 --- /dev/null +++ b/web_src/src/views/gbPlatform/ChannelForStream.vue @@ -0,0 +1,188 @@ + + + \ No newline at end of file diff --git a/web_src/src/views/gbPlatform/GbPlatformEdit.vue b/web_src/src/views/gbPlatform/GbPlatformEdit.vue new file mode 100644 index 00000000..42ab4ecd --- /dev/null +++ b/web_src/src/views/gbPlatform/GbPlatformEdit.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/web_src/src/views/gbPlatform/GbPlatformIndex.vue b/web_src/src/views/gbPlatform/GbPlatformIndex.vue new file mode 100644 index 00000000..0c5b61be --- /dev/null +++ b/web_src/src/views/gbPlatform/GbPlatformIndex.vue @@ -0,0 +1,50 @@ + + + diff --git a/web_src/src/views/gbPlatform/GbPlatformList.vue b/web_src/src/views/gbPlatform/GbPlatformList.vue new file mode 100644 index 00000000..5e4ac5f2 --- /dev/null +++ b/web_src/src/views/gbPlatform/GbPlatformList.vue @@ -0,0 +1,172 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/MediaServerDetail.vue b/web_src/src/views/mediaServer/MediaServerDetail.vue new file mode 100644 index 00000000..12c263ba --- /dev/null +++ b/web_src/src/views/mediaServer/MediaServerDetail.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/MediaServerEdit.vue b/web_src/src/views/mediaServer/MediaServerEdit.vue new file mode 100644 index 00000000..edb1d84d --- /dev/null +++ b/web_src/src/views/mediaServer/MediaServerEdit.vue @@ -0,0 +1,239 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/MediaServerIndex.vue b/web_src/src/views/mediaServer/MediaServerIndex.vue new file mode 100644 index 00000000..e6743526 --- /dev/null +++ b/web_src/src/views/mediaServer/MediaServerIndex.vue @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/MediaServerList.vue b/web_src/src/views/mediaServer/MediaServerList.vue new file mode 100644 index 00000000..b3aae800 --- /dev/null +++ b/web_src/src/views/mediaServer/MediaServerList.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/stepForm/MediaServerStepForm.vue b/web_src/src/views/mediaServer/stepForm/MediaServerStepForm.vue new file mode 100644 index 00000000..b67adbf4 --- /dev/null +++ b/web_src/src/views/mediaServer/stepForm/MediaServerStepForm.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/stepForm/StepBaseForm.vue b/web_src/src/views/mediaServer/stepForm/StepBaseForm.vue new file mode 100644 index 00000000..dc1ca823 --- /dev/null +++ b/web_src/src/views/mediaServer/stepForm/StepBaseForm.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/stepForm/StepDetailForm.vue b/web_src/src/views/mediaServer/stepForm/StepDetailForm.vue new file mode 100644 index 00000000..f36c5aeb --- /dev/null +++ b/web_src/src/views/mediaServer/stepForm/StepDetailForm.vue @@ -0,0 +1,208 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/mediaServer/stepForm/StepSubmitForm.vue b/web_src/src/views/mediaServer/stepForm/StepSubmitForm.vue new file mode 100644 index 00000000..c3741387 --- /dev/null +++ b/web_src/src/views/mediaServer/stepForm/StepSubmitForm.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/records/NVRRecordDetail.vue b/web_src/src/views/records/NVRRecordDetail.vue new file mode 100644 index 00000000..c12997f4 --- /dev/null +++ b/web_src/src/views/records/NVRRecordDetail.vue @@ -0,0 +1,166 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/records/NVRRecordIndex.vue b/web_src/src/views/records/NVRRecordIndex.vue new file mode 100644 index 00000000..8184e036 --- /dev/null +++ b/web_src/src/views/records/NVRRecordIndex.vue @@ -0,0 +1,44 @@ + + + diff --git a/web_src/src/views/records/NVRRecords.vue b/web_src/src/views/records/NVRRecords.vue new file mode 100644 index 00000000..96d34ba7 --- /dev/null +++ b/web_src/src/views/records/NVRRecords.vue @@ -0,0 +1,133 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/records/RecordDetail.vue b/web_src/src/views/records/RecordDetail.vue new file mode 100644 index 00000000..668e549e --- /dev/null +++ b/web_src/src/views/records/RecordDetail.vue @@ -0,0 +1,169 @@ + + + diff --git a/web_src/src/views/records/RecordIndex.vue b/web_src/src/views/records/RecordIndex.vue new file mode 100644 index 00000000..1b2cccba --- /dev/null +++ b/web_src/src/views/records/RecordIndex.vue @@ -0,0 +1,44 @@ + + + diff --git a/web_src/src/views/records/RecordList.vue b/web_src/src/views/records/RecordList.vue new file mode 100644 index 00000000..1d7a03fc --- /dev/null +++ b/web_src/src/views/records/RecordList.vue @@ -0,0 +1,204 @@ + + + diff --git a/web_src/src/views/streamProxy/PlayerDialog.vue b/web_src/src/views/streamProxy/PlayerDialog.vue new file mode 100644 index 00000000..3343c5a2 --- /dev/null +++ b/web_src/src/views/streamProxy/PlayerDialog.vue @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/streamProxy/StreamProxyEdit.vue b/web_src/src/views/streamProxy/StreamProxyEdit.vue new file mode 100644 index 00000000..33c847e9 --- /dev/null +++ b/web_src/src/views/streamProxy/StreamProxyEdit.vue @@ -0,0 +1,206 @@ + + + \ No newline at end of file diff --git a/web_src/src/views/streamProxy/StreamProxyList.vue b/web_src/src/views/streamProxy/StreamProxyList.vue new file mode 100644 index 00000000..d688b874 --- /dev/null +++ b/web_src/src/views/streamProxy/StreamProxyList.vue @@ -0,0 +1,294 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/videoSquare/squareIndex.vue b/web_src/src/views/videoSquare/squareIndex.vue new file mode 100644 index 00000000..d3c0276d --- /dev/null +++ b/web_src/src/views/videoSquare/squareIndex.vue @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/videoSquare/squareMatrixOne.vue b/web_src/src/views/videoSquare/squareMatrixOne.vue new file mode 100644 index 00000000..5145bf4a --- /dev/null +++ b/web_src/src/views/videoSquare/squareMatrixOne.vue @@ -0,0 +1,109 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/videoSquare/squareMatrixThree.vue b/web_src/src/views/videoSquare/squareMatrixThree.vue new file mode 100644 index 00000000..d41f7df9 --- /dev/null +++ b/web_src/src/views/videoSquare/squareMatrixThree.vue @@ -0,0 +1,150 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/videoSquare/squareMatrixTwo.vue b/web_src/src/views/videoSquare/squareMatrixTwo.vue new file mode 100644 index 00000000..7e90c82f --- /dev/null +++ b/web_src/src/views/videoSquare/squareMatrixTwo.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/web_src/src/views/warning/WarningList.vue b/web_src/src/views/warning/WarningList.vue new file mode 100644 index 00000000..b1889bcd --- /dev/null +++ b/web_src/src/views/warning/WarningList.vue @@ -0,0 +1,246 @@ + + + + + \ No newline at end of file diff --git a/web_src/static/.gitkeep b/web_src/static/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/web_src/static/EasyPlayer.swf b/web_src/static/EasyPlayer.swf deleted file mode 100755 index eaa53fb1..00000000 Binary files a/web_src/static/EasyPlayer.swf and /dev/null differ diff --git a/web_src/static/css/iconfont.css b/web_src/static/css/iconfont.css deleted file mode 100644 index 0f9b6085..00000000 --- a/web_src/static/css/iconfont.css +++ /dev/null @@ -1,1659 +0,0 @@ -@font-face { - font-family: "iconfont"; /* Project id 1291092 */ - src: url('iconfont.woff2?t=1631767887536') format('woff2'), - url('iconfont.woff?t=1631767887536') format('woff'), - url('iconfont.ttf?t=1631767887536') format('truetype'); -} - -.iconfont { - font-family: "iconfont" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-online:before { - content: "\e600"; -} - -.icon-xiangqing2:before { - content: "\e798"; -} - -.icon-record:before { - content: "\e7a6"; -} - -.icon-audio-mute:before { - content: "\e792"; -} - -.icon-audio-high:before { - content: "\e793"; -} - -.icon-record1:before { - content: "\e7f8"; -} - -.icon-audio-line:before { - content: "\e794"; -} - -.icon-record2:before { - content: "\e795"; -} - -.icon-audio-fill:before { - content: "\e796"; -} - -.icon-PTZ:before { - content: "\e797"; -} - -.icon-camera1196054easyiconnet:before { - content: "\e791"; -} - -.icon-weibiaoti10:before { - content: "\e78f"; -} - -.icon-weibiaoti11:before { - content: "\e790"; -} - -.icon-page-next1:before { - content: "\e69c"; -} - -.icon-page-last1:before { - content: "\e69d"; -} - -.icon-ptz-down1:before { - content: "\e69e"; -} - -.icon-file-search1:before { - content: "\e69f"; -} - -.icon-page-first1:before { - content: "\e6a0"; -} - -.icon-fork1:before { - content: "\e6a1"; -} - -.icon-ptz-middle1:before { - content: "\e6a2"; -} - -.icon-ptz-upright1:before { - content: "\e6a3"; -} - -.icon-ptz-downleft1:before { - content: "\e6a4"; -} - -.icon-window-restore1:before { - content: "\e6a5"; -} - -.icon-plus1:before { - content: "\e6a6"; -} - -.icon-ptz-right1:before { - content: "\e6a7"; -} - -.icon-stop:before { - content: "\e6a8"; -} - -.icon-refresh1:before { - content: "\e6a9"; -} - -.icon-tool-polyline1:before { - content: "\e6aa"; -} - -.icon-tool-point1:before { - content: "\e6ab"; -} - -.icon-minus1:before { - content: "\e6ac"; -} - -.icon-ptz-wiper1:before { - content: "\e6ad"; -} - -.icon-tool-select1:before { - content: "\e6ae"; -} - -.icon-tool-polygon1:before { - content: "\e6af"; -} - -.icon-settings1:before { - content: "\e6b0"; -} - -.icon-search1:before { - content: "\e6b1"; -} - -.icon-ir-vis1:before { - content: "\e6b2"; -} - -.icon-ptz-light1:before { - content: "\e6b3"; -} - -.icon-ptz-up1:before { - content: "\e6b4"; -} - -.icon-ptz-upleft1:before { - content: "\e6b5"; -} - -.icon-temp-stream1:before { - content: "\e6b6"; -} - -.icon-tool-mouse1:before { - content: "\e6b7"; -} - -.icon-zhongyingwenyingwen-01:before { - content: "\e6b8"; -} - -.icon-zhongyingwenyingwen02-01:before { - content: "\e6b9"; -} - -.icon-crop2:before { - content: "\e6ba"; -} - -.icon-expander-down2:before { - content: "\e6bb"; -} - -.icon-window-restore2:before { - content: "\e6bc"; -} - -.icon-file-jpg2:before { - content: "\e6bd"; -} - -.icon-asterisk3:before { - content: "\e6be"; -} - -.icon-ffc2:before { - content: "\e6bf"; -} - -.icon-file-record2:before { - content: "\e6c0"; -} - -.icon-file-stream2:before { - content: "\e6c1"; -} - -.icon-fork2:before { - content: "\e6c2"; -} - -.icon-file-mp42:before { - content: "\e6c3"; -} - -.icon-ir-vis2:before { - content: "\e6c4"; -} - -.icon-file-search2:before { - content: "\e6c5"; -} - -.icon-pause:before { - content: "\e6c6"; -} - -.icon-play1:before { - content: "\e6c7"; -} - -.icon-page-previous2:before { - content: "\e6c8"; -} - -.icon-page-next2:before { - content: "\e6c9"; -} - -.icon-minus2:before { - content: "\e6ca"; -} - -.icon-page-last2:before { - content: "\e6cb"; -} - -.icon-page-first2:before { - content: "\e6cc"; -} - -.icon-ptz-downleft2:before { - content: "\e6cd"; -} - -.icon-ptz-downright2:before { - content: "\e6ce"; -} - -.icon-ptz-middle2:before { - content: "\e6cf"; -} - -.icon-ptz-down2:before { - content: "\e6d0"; -} - -.icon-plus2:before { - content: "\e6d1"; -} - -.icon-ptz-left2:before { - content: "\e6d2"; -} - -.icon-ptz-up2:before { - content: "\e6d3"; -} - -.icon-ptz-right2:before { - content: "\e6d4"; -} - -.icon-ptz-light2:before { - content: "\e6d5"; -} - -.icon-ptz-wiper2:before { - content: "\e6d6"; -} - -.icon-ptz-upright2:before { - content: "\e6d7"; -} - -.icon-search2:before { - content: "\e6d8"; -} - -.icon-refresh2:before { - content: "\e6d9"; -} - -.icon-ptz-upleft2:before { - content: "\e6da"; -} - -.icon-stop1:before { - content: "\e6db"; -} - -.icon-tool-mouse2:before { - content: "\e6dc"; -} - -.icon-settings2:before { - content: "\e6dd"; -} - -.icon-tool-polygon2:before { - content: "\e6de"; -} - -.icon-tool-point2:before { - content: "\e6df"; -} - -.icon-temp-stream2:before { - content: "\e6e0"; -} - -.icon-tool-polyline2:before { - content: "\e6e1"; -} - -.icon-window-maximize2:before { - content: "\e6e2"; -} - -.icon-window-minimize2:before { - content: "\e6e3"; -} - -.icon-tool-select2:before { - content: "\e6e4"; -} - -.icon-video-stream2:before { - content: "\e6e5"; -} - -.icon-bianji1:before { - content: "\e6e6"; -} - -.icon-caidanzhankai1:before { - content: "\e6e7"; -} - -.icon-cha11:before { - content: "\e6e8"; -} - -.icon-caidanshouqi1:before { - content: "\e6e9"; -} - -.icon-zhongyingwen2zhongwen1:before { - content: "\e6ea"; -} - -.icon-bofang011:before { - content: "\e6eb"; -} - -.icon-zuo:before { - content: "\e6ec"; -} - -.icon-baojing1:before { - content: "\e6ed"; -} - -.icon-fuxuankuang-true1:before { - content: "\e6ee"; -} - -.icon-bofang2:before { - content: "\e6ef"; -} - -.icon-baojingshezhi1:before { - content: "\e6f0"; -} - -.icon-jiahao2:before { - content: "\e6f1"; -} - -.icon-huifangxuanzhong1:before { - content: "\e6f2"; -} - -.icon-cewen1:before { - content: "\e6f3"; -} - -.icon-baojingjilu2:before { - content: "\e6f4"; -} - -.icon-danxuan1:before { - content: "\e6f5"; -} - -.icon-pingmufenge1:before { - content: "\e6f6"; -} - -.icon-luxiangguanli1:before { - content: "\e6f7"; -} - -.icon-goukuang:before { - content: "\e6f8"; -} - -.icon-shanchu11:before { - content: "\e6f9"; -} - -.icon-cha02:before { - content: "\e6fa"; -} - -.icon-huifang1:before { - content: "\e6fb"; -} - -.icon-rili1:before { - content: "\e6fc"; -} - -.icon-quanping1:before { - content: "\e6fd"; -} - -.icon-jianhao1:before { - content: "\e6fe"; -} - -.icon-shijian1:before { - content: "\e6ff"; -} - -.icon-shishiyulanxuanzhong1:before { - content: "\e700"; -} - -.icon-shouji1:before { - content: "\e701"; -} - -.icon-shouyexuanzhong1:before { - content: "\e702"; -} - -.icon-luxiang01:before { - content: "\e703"; -} - -.icon-shishiyulan:before { - content: "\e704"; -} - -.icon-quxiao:before { - content: "\e601"; -} - -.icon-sousuo1:before { - content: "\e705"; -} - -.icon-file-record:before { - content: "\e602"; -} - -.icon-shebeiguanli1:before { - content: "\e706"; -} - -.icon-play:before { - content: "\e603"; -} - -.icon-suo1:before { - content: "\e707"; -} - -.icon-file-stream:before { - content: "\e604"; -} - -.icon-tuichudenglu1:before { - content: "\e708"; -} - -.icon-ptz-middle:before { - content: "\e606"; -} - -.icon-wenhao1:before { - content: "\e709"; -} - -.icon-minus:before { - content: "\e607"; -} - -.icon-shezhixuanzhong:before { - content: "\e70a"; -} - -.icon-fork:before { - content: "\e608"; -} - -.icon-shezhiweixuanzhong1:before { - content: "\e70b"; -} - -.icon-ptz-up:before { - content: "\e609"; -} - -.icon-shuju2:before { - content: "\e70c"; -} - -.icon-file-jpg:before { - content: "\e60a"; -} - -.icon-xiazai011:before { - content: "\e70d"; -} - -.icon-ptz-left:before { - content: "\e60b"; -} - -.icon-xiala11:before { - content: "\e70e"; -} - -.icon-ptz-down:before { - content: "\e60c"; -} - -.icon-shuaxin:before { - content: "\e70f"; -} - -.icon-file-search:before { - content: "\e60d"; -} - -.icon-pingmufenge01:before { - content: "\e710"; -} - -.icon-crop:before { - content: "\e60e"; -} - -.icon-yonghu1:before { - content: "\e711"; -} - -.icon-asterisk:before { - content: "\e60f"; -} - -.icon-wenhao01:before { - content: "\e712"; -} - -.icon-expander-down:before { - content: "\e610"; -} - -.icon-you:before { - content: "\e713"; -} - -.icon-ptz-right:before { - content: "\e611"; -} - -.icon-shujuxuanzhong1:before { - content: "\e714"; -} - -.icon-ptz-wiper:before { - content: "\e612"; -} - -.icon-kuangxuan1:before { - content: "\e715"; -} - -.icon-ir-vis:before { - content: "\e613"; -} - -.icon-yonghuguanli1:before { - content: "\e716"; -} - -.icon-ptz-upleft:before { - content: "\e614"; -} - -.icon-zhongyingwenyingwen:before { - content: "\e717"; -} - -.icon-ptz-downright:before { - content: "\e615"; -} - -.icon-xiala2:before { - content: "\e718"; -} - -.icon-search:before { - content: "\e616"; -} - -.icon-luxiang:before { - content: "\e719"; -} - -.icon-ptz-upright:before { - content: "\e617"; -} - -.icon-zanting2:before { - content: "\e71a"; -} - -.icon-ptz-downleft:before { - content: "\e618"; -} - -.icon-kefu:before { - content: "\e71b"; -} - -.icon-tool-point:before { - content: "\e619"; -} - -.icon-jiqiren:before { - content: "\e71c"; -} - -.icon-ptz-light:before { - content: "\e61a"; -} - -.icon-huanliuzhan:before { - content: "\e71d"; -} - -.icon-tool-polyline:before { - content: "\e61b"; -} - -.icon-shouji2:before { - content: "\e71e"; -} - -.icon-file-mp4:before { - content: "\e61c"; -} - -.icon-cangku:before { - content: "\e71f"; -} - -.icon-window-maximize:before { - content: "\e61d"; -} - -.icon-shuaxin11:before { - content: "\e720"; -} - -.icon-page-next:before { - content: "\e61e"; -} - -.icon-weixiu:before { - content: "\e721"; -} - -.icon-ffc:before { - content: "\e61f"; -} - -.icon-biandianzhan:before { - content: "\e722"; -} - -.icon-tool-mouse:before { - content: "\e620"; -} - -.icon-youxiang:before { - content: "\e723"; -} - -.icon-settings:before { - content: "\e621"; -} - -.icon-qq:before { - content: "\e724"; -} - -.icon-page-last:before { - content: "\e622"; -} - -.icon-dianhua01:before { - content: "\e725"; -} - -.icon-window-restore:before { - content: "\e624"; -} - -.icon-fasongyoujian:before { - content: "\e726"; -} - -.icon-tool-select:before { - content: "\e625"; -} - -.icon-gaotieyunhangcopy:before { - content: "\e727"; -} - -.icon-video-stream:before { - content: "\e627"; -} - -.icon-dizhi:before { - content: "\e728"; -} - -.icon-page-first:before { - content: "\e628"; -} - -.icon-anfangbaojingmian:before { - content: "\e729"; -} - -.icon-page-previous:before { - content: "\e629"; -} - -.icon-piliangcaozuo1:before { - content: "\e72a"; -} - -.icon-refresh:before { - content: "\e62a"; -} - -.icon-qiyeguanli1:before { - content: "\e72b"; -} - -.icon-temp-stream:before { - content: "\e62b"; -} - -.icon-luxiangguanli2:before { - content: "\e72c"; -} - -.icon-tool-polygon:before { - content: "\e62c"; -} - -.icon-quanxianguanli1:before { - content: "\e72d"; -} - -.icon-window-minimize:before { - content: "\e62d"; -} - -.icon-shezhi1:before { - content: "\e72e"; -} - -.icon-plus:before { - content: "\e62e"; -} - -.icon-shishi1:before { - content: "\e72f"; -} - -.icon-qiyeguanli:before { - content: "\e62f"; -} - -.icon-shujuquanxian1:before { - content: "\e730"; -} - -.icon-quanxianguanli:before { - content: "\e630"; -} - -.icon-shishiyulanxuanzhong2:before { - content: "\e731"; -} - -.icon-shujuquanxian:before { - content: "\e631"; -} - -.icon-renzheng:before { - content: "\e732"; -} - -.icon--_baojinglianxiren:before { - content: "\e632"; -} - -.icon-shuju3:before { - content: "\e733"; -} - -.icon-yuechi:before { - content: "\e633"; -} - -.icon-shouye1:before { - content: "\e734"; -} - -.icon-xitongguanli:before { - content: "\e634"; -} - -.icon-zuzhi1:before { - content: "\e735"; -} - -.icon-zuzhi:before { - content: "\e635"; -} - -.icon-zuzhiguanli1:before { - content: "\e736"; -} - -.icon-renzheng6:before { - content: "\e636"; -} - -.icon-xitongguanli1:before { - content: "\e737"; -} - -.icon-yonghuguanli01:before { - content: "\e637"; -} - -.icon-yuechi1:before { - content: "\e738"; -} - -.icon-baojingmoban:before { - content: "\e638"; -} - -.icon-baojinglianxiren:before { - content: "\e739"; -} - -.icon-zuzhiguanli:before { - content: "\e639"; -} - -.icon-baojingjilu3:before { - content: "\e73a"; -} - -.icon-yonghuguanli:before { - content: "\e63a"; -} - -.icon-huifangxuanzhong2:before { - content: "\e73b"; -} - -.icon-bumenguanli:before { - content: "\e63b"; -} - -.icon-caiwu1:before { - content: "\e73c"; -} - -.icon-shishi:before { - content: "\e63c"; -} - -.icon-baojingguize1:before { - content: "\e73d"; -} - -.icon-baojing:before { - content: "\e63d"; -} - -.icon-bumenguanli1:before { - content: "\e73e"; -} - -.icon-shezhi:before { - content: "\e63e"; -} - -.icon-baojing2:before { - content: "\e73f"; -} - -.icon-huifangxuanzhong:before { - content: "\e63f"; -} - -.icon-yonghuguanli2:before { - content: "\e740"; -} - -.icon-luxiangguanli:before { - content: "\e640"; -} - -.icon-huifang2:before { - content: "\e741"; -} - -.icon-huifang:before { - content: "\e642"; -} - -.icon-baojingmoban1:before { - content: "\e742"; -} - -.icon-shouye:before { - content: "\e643"; -} - -.icon-dingdanxiangqing1:before { - content: "\e743"; -} - -.icon-shishiyulanxuanzhong:before { - content: "\e644"; -} - -.icon-fapiaoguanli1:before { - content: "\e744"; -} - -.icon-caiwu:before { - content: "\e645"; -} - -.icon-shiyonggaikuang1:before { - content: "\e745"; -} - -.icon-baojingjilu:before { - content: "\e646"; -} - -.icon-zengzhifuwu1:before { - content: "\e746"; -} - -.icon-baojingguize:before { - content: "\e647"; -} - -.icon-yiguanzhu:before { - content: "\e747"; -} - -.icon-shuju:before { - content: "\e648"; -} - -.icon-baojingtuisongshezhi1:before { - content: "\e748"; -} - -.icon-piliangcaozuo:before { - content: "\e649"; -} - -.icon-quxiao1:before { - content: "\e749"; -} - -.icon-suo:before { - content: "\e64a"; -} - -.icon-xiangqing1:before { - content: "\e74a"; -} - -.icon-yonghu:before { - content: "\e64b"; -} - -.icon-xufei1:before { - content: "\e74b"; -} - -.icon-shouji:before { - content: "\e64c"; -} - -.icon-zhifu1:before { - content: "\e74c"; -} - -.icon-tianjiadian:before { - content: "\e64d"; -} - -.icon-kuang:before { - content: "\e74d"; -} - -.icon-tianjiaxian:before { - content: "\e64e"; -} - -.icon-shouzhimingxi:before { - content: "\e74e"; -} - -.icon-tianjiaxuanqu:before { - content: "\e64f"; -} - -.icon-shouzhimingxi1:before { - content: "\e74f"; -} - -.icon-xuanzeduixiang:before { - content: "\e650"; -} - -.icon-daochu:before { - content: "\e750"; -} - -.icon-baojing01:before { - content: "\e651"; -} - -.icon-daochu1:before { - content: "\e751"; -} - -.icon-baojingjilu1:before { - content: "\e652"; -} - -.icon-daping:before { - content: "\e752"; -} - -.icon-baojingshezhi:before { - content: "\e653"; -} - -.icon-shaixuan:before { - content: "\e753"; -} - -.icon-cewen:before { - content: "\e654"; -} - -.icon-zhifu2:before { - content: "\e754"; -} - -.icon-tuichudenglu:before { - content: "\e655"; -} - -.icon-shaixuan1:before { - content: "\e755"; -} - -.icon-shezhiweixuanzhong:before { - content: "\e656"; -} - -.icon-zhifu3:before { - content: "\e756"; -} - -.icon-shezhixuanzhong1:before { - content: "\e657"; -} - -.icon-xia:before { - content: "\e757"; -} - -.icon-shouyexuanzhong:before { - content: "\e658"; -} - -.icon-xia1:before { - content: "\e758"; -} - -.icon-shujuxuanzhong:before { - content: "\e659"; -} - -.icon-yanzhengma:before { - content: "\e759"; -} - -.icon-shuju1:before { - content: "\e65a"; -} - -.icon-tongxunlu:before { - content: "\e75a"; -} - -.icon-bianji:before { - content: "\e65b"; -} - -.icon-yanzhengma1:before { - content: "\e75b"; -} - -.icon-rili:before { - content: "\e65c"; -} - -.icon-tongxunlu1:before { - content: "\e75c"; -} - -.icon-shanchu:before { - content: "\e65d"; -} - -.icon-yingyongbangding:before { - content: "\e75d"; -} - -.icon-jiahao:before { - content: "\e65e"; -} - -.icon-yingyongbangding1:before { - content: "\e75e"; -} - -.icon-wenhao:before { - content: "\e65f"; -} - -.icon-yingyongbangding2:before { - content: "\e75f"; -} - -.icon-zhongyingwen:before { - content: "\e660"; -} - -.icon-dapingzhanshi:before { - content: "\e760"; -} - -.icon-kuangxuan:before { - content: "\e661"; -} - -.icon-jiankong:before { - content: "\e761"; -} - -.icon-cha1:before { - content: "\e662"; -} - -.icon-touxiang:before { - content: "\e762"; -} - -.icon-bofang01:before { - content: "\e663"; -} - -.icon-lou:before { - content: "\e763"; -} - -.icon-caidanzhankai:before { - content: "\e664"; -} - -.icon-jiankong1:before { - content: "\e764"; -} - -.icon-caidanshouqi:before { - content: "\e665"; -} - -.icon-lou1:before { - content: "\e765"; -} - -.icon-danxuan:before { - content: "\e666"; -} - -.icon-dapingzhanshi1:before { - content: "\e766"; -} - -.icon-fuxuankuangxuanzhong:before { - content: "\e667"; -} - -.icon-touxiang1:before { - content: "\e767"; -} - -.icon-fuxuankuang-true:before { - content: "\e668"; -} - -.icon-shebei:before { - content: "\e768"; -} - -.icon-jianhao:before { - content: "\e669"; -} - -.icon-shebeii:before { - content: "\e769"; -} - -.icon-shanchu1:before { - content: "\e66a"; -} - -.icon-bianji11:before { - content: "\e76a"; -} - -.icon-shijian:before { - content: "\e66b"; -} - -.icon-jilu:before { - content: "\e76b"; -} - -.icon-jiahao1:before { - content: "\e66c"; -} - -.icon-yun:before { - content: "\e76c"; -} - -.icon-sousuo:before { - content: "\e66d"; -} - -.icon-baojing3:before { - content: "\e76d"; -} - -.icon-zhongyingwen2zhongwen:before { - content: "\e66e"; -} - -.icon-zhinengyangan:before { - content: "\e76e"; -} - -.icon-xiala:before { - content: "\e66f"; -} - -.icon-yongdiananquan:before { - content: "\e76f"; -} - -.icon-xiala1:before { - content: "\e670"; -} - -.icon-zhinengmensuo:before { - content: "\e770"; -} - -.icon-xiazai01:before { - content: "\e671"; -} - -.icon-xiaokongyujing:before { - content: "\e771"; -} - -.icon-pingmufenge02:before { - content: "\e672"; -} - -.icon-zhinengdianbiao:before { - content: "\e772"; -} - -.icon-shezhi01:before { - content: "\e673"; -} - -.icon-zhinengshuibiao:before { - content: "\e773"; -} - -.icon-zuixiaohuaxi:before { - content: "\e674"; -} - -.icon-shuiyajiance01:before { - content: "\e774"; -} - -.icon-zuidahuaxi:before { - content: "\e675"; -} - -.icon-zhinengzhaoming:before { - content: "\e775"; -} - -.icon-huifuxi:before { - content: "\e676"; -} - -.icon-zhinengmenjin:before { - content: "\e776"; -} - -.icon-guanbixi:before { - content: "\e677"; -} - -.icon-tingchechang:before { - content: "\e777"; -} - -.icon-baocunJPG:before { - content: "\e678"; -} - -.icon-xiala3:before { - content: "\e778"; -} - -.icon-quxian:before { - content: "\e679"; -} - -.icon-zhinengkongtiao:before { - content: "\e779"; -} - -.icon-tingzhiyulan:before { - content: "\e67a"; -} - -.icon-sousuo2:before { - content: "\e77a"; -} - -.icon-wenduliuluzhi:before { - content: "\e67b"; -} - -.icon-shang1:before { - content: "\e77b"; -} - -.icon-shuaxin1:before { - content: "\e67c"; -} - -.icon-1_jingdianchuwuweixuanzhong:before { - content: "\e77c"; -} - -.icon-shangjiantou:before { - content: "\e67d"; -} - -.icon-dianti:before { - content: "\e77d"; -} - -.icon-shang:before { - content: "\e67e"; -} - -.icon-zhuangtai:before { - content: "\e77e"; -} - -.icon-zixun:before { - content: "\e67f"; -} - -.icon-keshi:before { - content: "\e77f"; -} - -.icon-youxiang01:before { - content: "\e680"; -} - -.icon-chongzhijilu:before { - content: "\e780"; -} - -.icon-QQ:before { - content: "\e681"; -} - -.icon-jingshi:before { - content: "\e781"; -} - -.icon-dianhua:before { - content: "\e682"; -} - -.icon-bianji2:before { - content: "\e782"; -} - -.icon-pingmufenge:before { - content: "\e683"; -} - -.icon-fuzhi:before { - content: "\e783"; -} - -.icon-gou:before { - content: "\e684"; -} - -.icon-guanyu:before { - content: "\e784"; -} - -.icon-dingdanxiangqing:before { - content: "\e685"; -} - -.icon-shishiyulan-01:before { - content: "\e785"; -} - -.icon-shiyonggaikuang:before { - content: "\e686"; -} - -.icon-shujuchakan:before { - content: "\e786"; -} - -.icon-fapiaoguanli:before { - content: "\e687"; -} - -.icon-shanchu2:before { - content: "\e787"; -} - -.icon-xiangqing:before { - content: "\e688"; -} - -.icon-xitongpeizhi:before { - content: "\e788"; -} - -.icon-baojingtuisongshezhi:before { - content: "\e689"; -} - -.icon-tezhengwendu:before { - content: "\e789"; -} - -.icon-zhifu:before { - content: "\e68a"; -} - -.icon-quanzhenwendu:before { - content: "\e78a"; -} - -.icon-zengzhifuwu:before { - content: "\e68b"; -} - -.icon-fenxiang:before { - content: "\e78b"; -} - -.icon-xufei:before { - content: "\e68c"; -} - -.icon-fenxiang01:before { - content: "\e78c"; -} - -.icon-asterisk1:before { - content: "\e68d"; -} - -.icon-wenhao2:before { - content: "\e78d"; -} - -.icon-window-maximize1:before { - content: "\e68e"; -} - -.icon-dian:before { - content: "\e78e"; -} - -.icon-crop1:before { - content: "\e68f"; -} - -.icon-asterisk2:before { - content: "\e690"; -} - -.icon-file-record1:before { - content: "\e691"; -} - -.icon-ffc1:before { - content: "\e692"; -} - -.icon-file-mp41:before { - content: "\e693"; -} - -.icon-window-minimize1:before { - content: "\e694"; -} - -.icon-ptz-downright1:before { - content: "\e695"; -} - -.icon-video-stream1:before { - content: "\e696"; -} - -.icon-file-jpg1:before { - content: "\e697"; -} - -.icon-file-stream1:before { - content: "\e698"; -} - -.icon-page-previous1:before { - content: "\e699"; -} - -.icon-expander-down1:before { - content: "\e69a"; -} - -.icon-ptz-left1:before { - content: "\e69b"; -} - -.icon-yinpinwenjian1:before { - content: "\e623"; -} - -.icon-yinpinwenjian2:before { - content: "\e626"; -} - -.icon-xiazaiyinpinwenjian:before { - content: "\e605"; -} - -.icon-yinpinwenjian:before { - content: "\e641"; -} - diff --git a/web_src/static/css/iconfont.woff2 b/web_src/static/css/iconfont.woff2 deleted file mode 100644 index 42e2ecae..00000000 Binary files a/web_src/static/css/iconfont.woff2 and /dev/null differ diff --git a/web_src/static/css/login.css b/web_src/static/css/login.css deleted file mode 100755 index e0f04940..00000000 --- a/web_src/static/css/login.css +++ /dev/null @@ -1,420 +0,0 @@ - - - - -/*////////////////////////////////////////////////////////////////// -[ FONT ]*/ - -@font-face { - font-family: Poppins-Regular; - src: url('../fonts/poppins/Poppins-Regular.ttf'); -} - -@font-face { - font-family: Poppins-Medium; - src: url('../fonts/poppins/Poppins-Medium.ttf'); -} - -@font-face { - font-family: Poppins-Bold; - src: url('../fonts/poppins/Poppins-Bold.ttf'); -} - -@font-face { - font-family: Poppins-SemiBold; - src: url('../fonts/poppins/Poppins-SemiBold.ttf'); -} - -.limiter { - width: 100%; - margin: 0 auto; - font-family: Poppins-Regular, sans-serif; -} - -.container-login100 { - width: 100%; - min-height: 100vh; - display: -webkit-box; - display: -webkit-flex; - display: -moz-box; - display: -ms-flexbox; - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: center; - background: #f2f2f2; -} - -.wrap-login100 { - background: #fff; - border-radius: 10px; - overflow: hidden; - padding: 77px 55px 33px 55px; - - box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1); - -o-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1); - -ms-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1); -} - - -/*------------------------------------------------------------------ -[ Form ]*/ - -.login100-form { - width: 100%; -} - -.login100-form-title { - display: block; - font-family: Poppins-Bold; - font-size: 30px; - color: #333333; - line-height: 1.2; - text-align: center; - -} -.login100-form-title i { - font-size: 60px; -} - -/*------------------------------------------------------------------ -[ Input ]*/ - -.wrap-input100 { - width: 100%; - position: relative; - border-bottom: 2px solid #adadad; - margin-bottom: 37px; -} - -.input100 { - font-family: Poppins-Regular; - font-size: 15px; - color: #555555; - line-height: 1.2; - - display: block; - width: 100%; - height: 45px; - background: transparent; - padding: 0 5px; - outline: none; - border: none; -} -.input100::-webkit-input-placeholder { color: #adadad;} -.input100:-moz-placeholder { color: #adadad;} -.input100::-moz-placeholder { color: #adadad;} -.input100:-ms-input-placeholder { color: #adadad;} - -/*---------------------------------------------*/ -.focus-input100 { - position: absolute; - display: block; - width: 100%; - height: 100%; - top: 0; - left: 0; - pointer-events: none; - color:transparent; -} - -.focus-input100::before { - content: ""; - display: block; - position: absolute; - bottom: -2px; - left: 0; - width: 0; - height: 2px; - - -webkit-transition: all 0.4s; - -o-transition: all 0.4s; - -moz-transition: all 0.4s; - transition: all 0.4s; - - background: #6a7dfe; - background: -webkit-linear-gradient(left, #21d4fd, #b721ff); - background: -o-linear-gradient(left, #21d4fd, #b721ff); - background: -moz-linear-gradient(left, #21d4fd, #b721ff); - background: linear-gradient(left, #21d4fd, #b721ff); -} - -.focus-input100::after { - font-family: Poppins-Regular; - font-size: 15px; - color: #999999; - line-height: 1.2; - - content: attr(data-placeholder); - display: block; - width: 100%; - position: absolute; - top: 16px; - left: 0px; - padding-left: 5px; - - -webkit-transition: all 0.4s; - -o-transition: all 0.4s; - -moz-transition: all 0.4s; - transition: all 0.4s; -} - -.input100:focus + .focus-input100::after { - top: -15px; -} - -.input100:focus + .focus-input100::before { - width: 100%; -} - -.has-val.input100 + .focus-input100::after { - top: -15px; -} - -.has-val.input100 + .focus-input100::before { - width: 100%; -} - -/*---------------------------------------------*/ -.btn-show-pass { - font-size: 15px; - color: #999999; - - display: -webkit-box; - display: -webkit-flex; - display: -moz-box; - display: -ms-flexbox; - display: flex; - align-items: center; - position: absolute; - height: 100%; - top: 0; - right: 0; - padding-right: 5px; - cursor: pointer; - -webkit-transition: all 0.4s; - -o-transition: all 0.4s; - -moz-transition: all 0.4s; - transition: all 0.4s; -} - -.btn-show-pass:hover { - color: #6a7dfe; - color: -webkit-linear-gradient(left, #21d4fd, #b721ff); - color: -o-linear-gradient(left, #21d4fd, #b721ff); - color: -moz-linear-gradient(left, #21d4fd, #b721ff); - color: linear-gradient(left, #21d4fd, #b721ff); -} - -.btn-show-pass.active { - color: #6a7dfe; - color: -webkit-linear-gradient(left, #21d4fd, #b721ff); - color: -o-linear-gradient(left, #21d4fd, #b721ff); - color: -moz-linear-gradient(left, #21d4fd, #b721ff); - color: linear-gradient(left, #21d4fd, #b721ff); -} - - - -/*------------------------------------------------------------------ -[ Button ]*/ -.container-login100-form-btn { - display: -webkit-box; - display: -webkit-flex; - display: -moz-box; - display: -ms-flexbox; - display: flex; - flex-wrap: wrap; - justify-content: center; - padding-top: 13px; -} - -.wrap-login100-form-btn { - width: 100%; - display: block; - position: relative; - z-index: 1; - border-radius: 25px; - overflow: hidden; - margin: 0 auto; -} - -.login100-form-bgbtn { - position: absolute; - z-index: -1; - width: 300%; - height: 100%; - background: #a64bf4; - background: -webkit-linear-gradient(right, #21d4fd, #b721ff, #21d4fd, #b721ff); - background: -o-linear-gradient(right, #21d4fd, #b721ff, #21d4fd, #b721ff); - background: -moz-linear-gradient(right, #21d4fd, #b721ff, #21d4fd, #b721ff); - background: linear-gradient(right, #21d4fd, #b721ff, #21d4fd, #b721ff); - top: 0; - left: -100%; - - -webkit-transition: all 0.4s; - -o-transition: all 0.4s; - -moz-transition: all 0.4s; - transition: all 0.4s; -} - -.login100-form-btn { - font-family: Poppins-Medium; - font-size: 15px; - color: #fff; - line-height: 1.2; - text-transform: uppercase; - - display: -webkit-box; - display: -webkit-flex; - display: -moz-box; - display: -ms-flexbox; - display: flex; - justify-content: center; - align-items: center; - padding: 0 20px; - width: 100%; - height: 50px; - outline: none !important; - border: none; - background: transparent; -} - -.login100-form-btn:hover { - cursor: pointer; -} - -.wrap-login100-form-btn:hover .login100-form-bgbtn { - left: 0; -} - - -/*------------------------------------------------------------------ -[ Responsive ]*/ - -@media (max-width: 576px) { - .wrap-login100 { - padding: 77px 15px 33px 15px; - } -} - - - -/*------------------------------------------------------------------ -[ Alert validate ]*/ - -.validate-input { - position: relative; -} - -.alert-validate::before { - content: attr(data-validate); - position: absolute; - max-width: 70%; - background-color: #fff; - border: 1px solid #c80000; - border-radius: 2px; - padding: 4px 25px 4px 10px; - top: 50%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - right: 0px; - pointer-events: none; - - font-family: Poppins-Regular; - color: #c80000; - font-size: 13px; - line-height: 1.4; - text-align: left; - - visibility: hidden; - opacity: 0; - - -webkit-transition: opacity 0.4s; - -o-transition: opacity 0.4s; - -moz-transition: opacity 0.4s; - transition: opacity 0.4s; -} - -.alert-validate::after { - content: "\f06a"; - font-family: FontAwesome; - font-size: 16px; - color: #c80000; - - display: block; - position: absolute; - background-color: #fff; - top: 50%; - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); - right: 5px; -} - -.alert-validate:hover:before { - visibility: visible; - opacity: 1; -} - -@media (max-width: 992px) { - .alert-validate::before { - visibility: visible; - opacity: 1; - } -} - -/** util **/ -.p-b-26 {padding-bottom: 26px;} -.p-b-48 {padding-bottom: 48px;} -.p-t-115 {padding-top: 115px;} - -@keyframes login { - from {width: 100%} - to {width: 50px} -} - -.login-loading{ - width: 50px; - animation-name: login; - animation-duration: 0.5s; -} -.login-loading > .login100-form-btn { - visibility: hidden !important; -} -.login-loading-class{ - stroke: rgb(255, 255, 255) !important; - background-color: transparent !important; -} - -.login-loading-class > .el-loading-spinner .path { - stroke: rgb(255, 255, 255) !important; -} - - - - -/**font**/ -/* .zmdi { - display: inline-block; - font: normal normal normal 14px/1 'Material-Design-Iconic-Font'; - font-size: 14px; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.zmdi-font::before { - content: '\f16a'; -} -.login100-form-title i { - font-size: 60px; -} */ - diff --git a/web_src/static/fonts/poppins/Poppins-Bold.ttf b/web_src/static/fonts/poppins/Poppins-Bold.ttf deleted file mode 100755 index 44313ca4..00000000 Binary files a/web_src/static/fonts/poppins/Poppins-Bold.ttf and /dev/null differ diff --git a/web_src/static/fonts/poppins/Poppins-Medium.ttf b/web_src/static/fonts/poppins/Poppins-Medium.ttf deleted file mode 100755 index 5b46f198..00000000 Binary files a/web_src/static/fonts/poppins/Poppins-Medium.ttf and /dev/null differ diff --git a/web_src/static/fonts/poppins/Poppins-Regular.ttf b/web_src/static/fonts/poppins/Poppins-Regular.ttf deleted file mode 100755 index 246a861a..00000000 Binary files a/web_src/static/fonts/poppins/Poppins-Regular.ttf and /dev/null differ diff --git a/web_src/static/fonts/poppins/Poppins-SemiBold.ttf b/web_src/static/fonts/poppins/Poppins-SemiBold.ttf deleted file mode 100755 index 3bbad2a8..00000000 Binary files a/web_src/static/fonts/poppins/Poppins-SemiBold.ttf and /dev/null differ diff --git a/web_src/static/js/ZLMRTCClient.js b/web_src/static/js/ZLMRTCClient.js deleted file mode 100644 index 288028c0..00000000 --- a/web_src/static/js/ZLMRTCClient.js +++ /dev/null @@ -1,7546 +0,0 @@ -var ZLMRTCClient = (function (exports) { - 'use strict'; - - const Events$1 = { - WEBRTC_NOT_SUPPORT: 'WEBRTC_NOT_SUPPORT', - WEBRTC_ICE_CANDIDATE_ERROR: 'WEBRTC_ICE_CANDIDATE_ERROR', - WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED: 'WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED', - WEBRTC_ON_REMOTE_STREAMS: 'WEBRTC_ON_REMOTE_STREAMS', - WEBRTC_ON_LOCAL_STREAM: 'WEBRTC_ON_LOCAL_STREAM' - }; - - const VERSION = '1.0.1'; - const BUILD_DATE = 'Mon Apr 05 2021 10:22:48 GMT+0800 (中国标准时间)'; - - // Copyright (C) <2018> Intel Corporation - // - // SPDX-License-Identifier: Apache-2.0 - // eslint-disable-next-line require-jsdoc - function isFirefox() { - return window.navigator.userAgent.match('Firefox') !== null; - } // eslint-disable-next-line require-jsdoc - - function isChrome() { - return window.navigator.userAgent.match('Chrome') !== null; - } // eslint-disable-next-line require-jsdoc - - function isEdge() { - return window.navigator.userAgent.match(/Edge\/(\d+).(\d+)$/) !== null; - } // eslint-disable-next-line require-jsdoc - - // Copyright (C) <2018> Intel Corporation - /** - * @class AudioSourceInfo - * @classDesc Source info about an audio track. Values: 'mic', 'screen-cast', 'file', 'mixed'. - * @memberOf Owt.Base - * @readonly - * @enum {string} - */ - - const AudioSourceInfo = { - MIC: 'mic', - SCREENCAST: 'screen-cast', - FILE: 'file', - MIXED: 'mixed' - }; - /** - * @class VideoSourceInfo - * @classDesc Source info about a video track. Values: 'camera', 'screen-cast', 'file', 'mixed'. - * @memberOf Owt.Base - * @readonly - * @enum {string} - */ - - const VideoSourceInfo = { - CAMERA: 'camera', - SCREENCAST: 'screen-cast', - FILE: 'file', - MIXED: 'mixed' - }; - /** - * @class TrackKind - * @classDesc Kind of a track. Values: 'audio' for audio track, 'video' for video track, 'av' for both audio and video tracks. - * @memberOf Owt.Base - * @readonly - * @enum {string} - */ - - const TrackKind = { - /** - * Audio tracks. - * @type string - */ - AUDIO: 'audio', - - /** - * Video tracks. - * @type string - */ - VIDEO: 'video', - - /** - * Both audio and video tracks. - * @type string - */ - AUDIO_AND_VIDEO: 'av' - }; - /** - * @class Resolution - * @memberOf Owt.Base - * @classDesc The Resolution defines the size of a rectangle. - * @constructor - * @param {number} width - * @param {number} height - */ - - class Resolution { - // eslint-disable-next-line require-jsdoc - constructor(width, height) { - /** - * @member {number} width - * @instance - * @memberof Owt.Base.Resolution - */ - this.width = width; - /** - * @member {number} height - * @instance - * @memberof Owt.Base.Resolution - */ - - this.height = height; - } - - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - let logDisabled_ = true; - let deprecationWarnings_ = true; - - /** - * Extract browser version out of the provided user agent string. - * - * @param {!string} uastring userAgent string. - * @param {!string} expr Regular expression used as match criteria. - * @param {!number} pos position in the version string to be returned. - * @return {!number} browser version. - */ - function extractVersion(uastring, expr, pos) { - const match = uastring.match(expr); - return match && match.length >= pos && parseInt(match[pos], 10); - } - - // Wraps the peerconnection event eventNameToWrap in a function - // which returns the modified event object (or false to prevent - // the event). - function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { - if (!window.RTCPeerConnection) { - return; - } - const proto = window.RTCPeerConnection.prototype; - const nativeAddEventListener = proto.addEventListener; - proto.addEventListener = function(nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap) { - return nativeAddEventListener.apply(this, arguments); - } - const wrappedCallback = (e) => { - const modifiedEvent = wrapper(e); - if (modifiedEvent) { - if (cb.handleEvent) { - cb.handleEvent(modifiedEvent); - } else { - cb(modifiedEvent); - } - } - }; - this._eventMap = this._eventMap || {}; - if (!this._eventMap[eventNameToWrap]) { - this._eventMap[eventNameToWrap] = new Map(); - } - this._eventMap[eventNameToWrap].set(cb, wrappedCallback); - return nativeAddEventListener.apply(this, [nativeEventName, - wrappedCallback]); - }; - - const nativeRemoveEventListener = proto.removeEventListener; - proto.removeEventListener = function(nativeEventName, cb) { - if (nativeEventName !== eventNameToWrap || !this._eventMap - || !this._eventMap[eventNameToWrap]) { - return nativeRemoveEventListener.apply(this, arguments); - } - if (!this._eventMap[eventNameToWrap].has(cb)) { - return nativeRemoveEventListener.apply(this, arguments); - } - const unwrappedCb = this._eventMap[eventNameToWrap].get(cb); - this._eventMap[eventNameToWrap].delete(cb); - if (this._eventMap[eventNameToWrap].size === 0) { - delete this._eventMap[eventNameToWrap]; - } - if (Object.keys(this._eventMap).length === 0) { - delete this._eventMap; - } - return nativeRemoveEventListener.apply(this, [nativeEventName, - unwrappedCb]); - }; - - Object.defineProperty(proto, 'on' + eventNameToWrap, { - get() { - return this['_on' + eventNameToWrap]; - }, - set(cb) { - if (this['_on' + eventNameToWrap]) { - this.removeEventListener(eventNameToWrap, - this['_on' + eventNameToWrap]); - delete this['_on' + eventNameToWrap]; - } - if (cb) { - this.addEventListener(eventNameToWrap, - this['_on' + eventNameToWrap] = cb); - } - }, - enumerable: true, - configurable: true - }); - } - - function disableLog(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + typeof bool + - '. Please use a boolean.'); - } - logDisabled_ = bool; - return (bool) ? 'adapter.js logging disabled' : - 'adapter.js logging enabled'; - } - - /** - * Disable or enable deprecation warnings - * @param {!boolean} bool set to true to disable warnings. - */ - function disableWarnings(bool) { - if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + typeof bool + - '. Please use a boolean.'); - } - deprecationWarnings_ = !bool; - return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled'); - } - - function log$1() { - if (typeof window === 'object') { - if (logDisabled_) { - return; - } - if (typeof console !== 'undefined' && typeof console.log === 'function') { - console.log.apply(console, arguments); - } - } - } - - /** - * Shows a deprecation warning suggesting the modern and spec-compatible API. - */ - function deprecated(oldMethod, newMethod) { - if (!deprecationWarnings_) { - return; - } - console.warn(oldMethod + ' is deprecated, please use ' + newMethod + - ' instead.'); - } - - /** - * Browser detector. - * - * @return {object} result containing browser and version - * properties. - */ - function detectBrowser(window) { - // Returned result object. - const result = {browser: null, version: null}; - - // Fail early if it's not a browser - if (typeof window === 'undefined' || !window.navigator) { - result.browser = 'Not a browser.'; - return result; - } - - const {navigator} = window; - - if (navigator.mozGetUserMedia) { // Firefox. - result.browser = 'firefox'; - result.version = extractVersion(navigator.userAgent, - /Firefox\/(\d+)\./, 1); - } else if (navigator.webkitGetUserMedia || - (window.isSecureContext === false && window.webkitRTCPeerConnection && - !window.RTCIceGatherer)) { - // Chrome, Chromium, Webview, Opera. - // Version matches Chrome/WebRTC version. - // Chrome 74 removed webkitGetUserMedia on http as well so we need the - // more complicated fallback to webkitRTCPeerConnection. - result.browser = 'chrome'; - result.version = extractVersion(navigator.userAgent, - /Chrom(e|ium)\/(\d+)\./, 2); - } else if (navigator.mediaDevices && - navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)) { // Edge. - result.browser = 'edge'; - result.version = extractVersion(navigator.userAgent, - /Edge\/(\d+).(\d+)$/, 2); - } else if (window.RTCPeerConnection && - navigator.userAgent.match(/AppleWebKit\/(\d+)\./)) { // Safari. - result.browser = 'safari'; - result.version = extractVersion(navigator.userAgent, - /AppleWebKit\/(\d+)\./, 1); - result.supportsUnifiedPlan = window.RTCRtpTransceiver && - 'currentDirection' in window.RTCRtpTransceiver.prototype; - } else { // Default fallthrough: not supported. - result.browser = 'Not a supported browser.'; - return result; - } - - return result; - } - - /** - * Checks if something is an object. - * - * @param {*} val The something you want to check. - * @return true if val is an object, false otherwise. - */ - function isObject$1(val) { - return Object.prototype.toString.call(val) === '[object Object]'; - } - - /** - * Remove all empty objects and undefined values - * from a nested object -- an enhanced and vanilla version - * of Lodash's `compact`. - */ - function compactObject(data) { - if (!isObject$1(data)) { - return data; - } - - return Object.keys(data).reduce(function(accumulator, key) { - const isObj = isObject$1(data[key]); - const value = isObj ? compactObject(data[key]) : data[key]; - const isEmptyObject = isObj && !Object.keys(value).length; - if (value === undefined || isEmptyObject) { - return accumulator; - } - return Object.assign(accumulator, {[key]: value}); - }, {}); - } - - /* iterates the stats graph recursively. */ - function walkStats(stats, base, resultSet) { - if (!base || resultSet.has(base.id)) { - return; - } - resultSet.set(base.id, base); - Object.keys(base).forEach(name => { - if (name.endsWith('Id')) { - walkStats(stats, stats.get(base[name]), resultSet); - } else if (name.endsWith('Ids')) { - base[name].forEach(id => { - walkStats(stats, stats.get(id), resultSet); - }); - } - }); - } - - /* filter getStats for a sender/receiver track. */ - function filterStats(result, track, outbound) { - const streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp'; - const filteredResult = new Map(); - if (track === null) { - return filteredResult; - } - const trackStats = []; - result.forEach(value => { - if (value.type === 'track' && - value.trackIdentifier === track.id) { - trackStats.push(value); - } - }); - trackStats.forEach(trackStat => { - result.forEach(stats => { - if (stats.type === streamStatsType && stats.trackId === trackStat.id) { - walkStats(result, stats, filteredResult); - } - }); - }); - return filteredResult; - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - const logging = log$1; - - function shimGetUserMedia$3(window, browserDetails) { - const navigator = window && window.navigator; - - if (!navigator.mediaDevices) { - return; - } - - const constraintsToChrome_ = function(c) { - if (typeof c !== 'object' || c.mandatory || c.optional) { - return c; - } - const cc = {}; - Object.keys(c).forEach(key => { - if (key === 'require' || key === 'advanced' || key === 'mediaSource') { - return; - } - const r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]}; - if (r.exact !== undefined && typeof r.exact === 'number') { - r.min = r.max = r.exact; - } - const oldname_ = function(prefix, name) { - if (prefix) { - return prefix + name.charAt(0).toUpperCase() + name.slice(1); - } - return (name === 'deviceId') ? 'sourceId' : name; - }; - if (r.ideal !== undefined) { - cc.optional = cc.optional || []; - let oc = {}; - if (typeof r.ideal === 'number') { - oc[oldname_('min', key)] = r.ideal; - cc.optional.push(oc); - oc = {}; - oc[oldname_('max', key)] = r.ideal; - cc.optional.push(oc); - } else { - oc[oldname_('', key)] = r.ideal; - cc.optional.push(oc); - } - } - if (r.exact !== undefined && typeof r.exact !== 'number') { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_('', key)] = r.exact; - } else { - ['min', 'max'].forEach(mix => { - if (r[mix] !== undefined) { - cc.mandatory = cc.mandatory || {}; - cc.mandatory[oldname_(mix, key)] = r[mix]; - } - }); - } - }); - if (c.advanced) { - cc.optional = (cc.optional || []).concat(c.advanced); - } - return cc; - }; - - const shimConstraints_ = function(constraints, func) { - if (browserDetails.version >= 61) { - return func(constraints); - } - constraints = JSON.parse(JSON.stringify(constraints)); - if (constraints && typeof constraints.audio === 'object') { - const remap = function(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - constraints = JSON.parse(JSON.stringify(constraints)); - remap(constraints.audio, 'autoGainControl', 'googAutoGainControl'); - remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression'); - constraints.audio = constraintsToChrome_(constraints.audio); - } - if (constraints && typeof constraints.video === 'object') { - // Shim facingMode for mobile & surface pro. - let face = constraints.video.facingMode; - face = face && ((typeof face === 'object') ? face : {ideal: face}); - const getSupportedFacingModeLies = browserDetails.version < 66; - - if ((face && (face.exact === 'user' || face.exact === 'environment' || - face.ideal === 'user' || face.ideal === 'environment')) && - !(navigator.mediaDevices.getSupportedConstraints && - navigator.mediaDevices.getSupportedConstraints().facingMode && - !getSupportedFacingModeLies)) { - delete constraints.video.facingMode; - let matches; - if (face.exact === 'environment' || face.ideal === 'environment') { - matches = ['back', 'rear']; - } else if (face.exact === 'user' || face.ideal === 'user') { - matches = ['front']; - } - if (matches) { - // Look for matches in label, or use last cam for back (typical). - return navigator.mediaDevices.enumerateDevices() - .then(devices => { - devices = devices.filter(d => d.kind === 'videoinput'); - let dev = devices.find(d => matches.some(match => - d.label.toLowerCase().includes(match))); - if (!dev && devices.length && matches.includes('back')) { - dev = devices[devices.length - 1]; // more likely the back cam - } - if (dev) { - constraints.video.deviceId = face.exact ? {exact: dev.deviceId} : - {ideal: dev.deviceId}; - } - constraints.video = constraintsToChrome_(constraints.video); - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }); - } - } - constraints.video = constraintsToChrome_(constraints.video); - } - logging('chrome: ' + JSON.stringify(constraints)); - return func(constraints); - }; - - const shimError_ = function(e) { - if (browserDetails.version >= 64) { - return e; - } - return { - name: { - PermissionDeniedError: 'NotAllowedError', - PermissionDismissedError: 'NotAllowedError', - InvalidStateError: 'NotAllowedError', - DevicesNotFoundError: 'NotFoundError', - ConstraintNotSatisfiedError: 'OverconstrainedError', - TrackStartError: 'NotReadableError', - MediaDeviceFailedDueToShutdown: 'NotAllowedError', - MediaDeviceKillSwitchOn: 'NotAllowedError', - TabCaptureError: 'AbortError', - ScreenCaptureError: 'AbortError', - DeviceCaptureError: 'AbortError' - }[e.name] || e.name, - message: e.message, - constraint: e.constraint || e.constraintName, - toString() { - return this.name + (this.message && ': ') + this.message; - } - }; - }; - - const getUserMedia_ = function(constraints, onSuccess, onError) { - shimConstraints_(constraints, c => { - navigator.webkitGetUserMedia(c, onSuccess, e => { - if (onError) { - onError(shimError_(e)); - } - }); - }); - }; - navigator.getUserMedia = getUserMedia_.bind(navigator); - - // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia - // function which returns a Promise, it does not accept spec-style - // constraints. - if (navigator.mediaDevices.getUserMedia) { - const origGetUserMedia = navigator.mediaDevices.getUserMedia. - bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function(cs) { - return shimConstraints_(cs, c => origGetUserMedia(c).then(stream => { - if (c.audio && !stream.getAudioTracks().length || - c.video && !stream.getVideoTracks().length) { - stream.getTracks().forEach(track => { - track.stop(); - }); - throw new DOMException('', 'NotFoundError'); - } - return stream; - }, e => Promise.reject(shimError_(e)))); - }; - } - } - - /* - * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - function shimGetDisplayMedia$2(window, getSourceId) { - if (window.navigator.mediaDevices && - 'getDisplayMedia' in window.navigator.mediaDevices) { - return; - } - if (!(window.navigator.mediaDevices)) { - return; - } - // getSourceId is a function that returns a promise resolving with - // the sourceId of the screen/window/tab to be shared. - if (typeof getSourceId !== 'function') { - console.error('shimGetDisplayMedia: getSourceId argument is not ' + - 'a function'); - return; - } - window.navigator.mediaDevices.getDisplayMedia = - function getDisplayMedia(constraints) { - return getSourceId(constraints) - .then(sourceId => { - const widthSpecified = constraints.video && constraints.video.width; - const heightSpecified = constraints.video && - constraints.video.height; - const frameRateSpecified = constraints.video && - constraints.video.frameRate; - constraints.video = { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: sourceId, - maxFrameRate: frameRateSpecified || 3 - } - }; - if (widthSpecified) { - constraints.video.mandatory.maxWidth = widthSpecified; - } - if (heightSpecified) { - constraints.video.mandatory.maxHeight = heightSpecified; - } - return window.navigator.mediaDevices.getUserMedia(constraints); - }); - }; - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimMediaStream(window) { - window.MediaStream = window.MediaStream || window.webkitMediaStream; - } - - function shimOnTrack$1(window) { - if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in - window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { - get() { - return this._ontrack; - }, - set(f) { - if (this._ontrack) { - this.removeEventListener('track', this._ontrack); - } - this.addEventListener('track', this._ontrack = f); - }, - enumerable: true, - configurable: true - }); - const origSetRemoteDescription = - window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = - function setRemoteDescription() { - if (!this._ontrackpoly) { - this._ontrackpoly = (e) => { - // onaddstream does not fire when a track is added to an existing - // stream. But stream.onaddtrack is implemented so we use that. - e.stream.addEventListener('addtrack', te => { - let receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = this.getReceivers() - .find(r => r.track && r.track.id === te.track.id); - } else { - receiver = {track: te.track}; - } - - const event = new Event('track'); - event.track = te.track; - event.receiver = receiver; - event.transceiver = {receiver}; - event.streams = [e.stream]; - this.dispatchEvent(event); - }); - e.stream.getTracks().forEach(track => { - let receiver; - if (window.RTCPeerConnection.prototype.getReceivers) { - receiver = this.getReceivers() - .find(r => r.track && r.track.id === track.id); - } else { - receiver = {track}; - } - const event = new Event('track'); - event.track = track; - event.receiver = receiver; - event.transceiver = {receiver}; - event.streams = [e.stream]; - this.dispatchEvent(event); - }); - }; - this.addEventListener('addstream', this._ontrackpoly); - } - return origSetRemoteDescription.apply(this, arguments); - }; - } else { - // even if RTCRtpTransceiver is in window, it is only used and - // emitted in unified-plan. Unfortunately this means we need - // to unconditionally wrap the event. - wrapPeerConnectionEvent(window, 'track', e => { - if (!e.transceiver) { - Object.defineProperty(e, 'transceiver', - {value: {receiver: e.receiver}}); - } - return e; - }); - } - } - - function shimGetSendersWithDtmf(window) { - // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack. - if (typeof window === 'object' && window.RTCPeerConnection && - !('getSenders' in window.RTCPeerConnection.prototype) && - 'createDTMFSender' in window.RTCPeerConnection.prototype) { - const shimSenderWithDtmf = function(pc, track) { - return { - track, - get dtmf() { - if (this._dtmf === undefined) { - if (track.kind === 'audio') { - this._dtmf = pc.createDTMFSender(track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - }, - _pc: pc - }; - }; - - // augment addTrack when getSenders is not available. - if (!window.RTCPeerConnection.prototype.getSenders) { - window.RTCPeerConnection.prototype.getSenders = function getSenders() { - this._senders = this._senders || []; - return this._senders.slice(); // return a copy of the internal state. - }; - const origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = - function addTrack(track, stream) { - let sender = origAddTrack.apply(this, arguments); - if (!sender) { - sender = shimSenderWithDtmf(this, track); - this._senders.push(sender); - } - return sender; - }; - - const origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = - function removeTrack(sender) { - origRemoveTrack.apply(this, arguments); - const idx = this._senders.indexOf(sender); - if (idx !== -1) { - this._senders.splice(idx, 1); - } - }; - } - const origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - this._senders = this._senders || []; - origAddStream.apply(this, [stream]); - stream.getTracks().forEach(track => { - this._senders.push(shimSenderWithDtmf(this, track)); - }); - }; - - const origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = - function removeStream(stream) { - this._senders = this._senders || []; - origRemoveStream.apply(this, [stream]); - - stream.getTracks().forEach(track => { - const sender = this._senders.find(s => s.track === track); - if (sender) { // remove sender - this._senders.splice(this._senders.indexOf(sender), 1); - } - }); - }; - } else if (typeof window === 'object' && window.RTCPeerConnection && - 'getSenders' in window.RTCPeerConnection.prototype && - 'createDTMFSender' in window.RTCPeerConnection.prototype && - window.RTCRtpSender && - !('dtmf' in window.RTCRtpSender.prototype)) { - const origGetSenders = window.RTCPeerConnection.prototype.getSenders; - window.RTCPeerConnection.prototype.getSenders = function getSenders() { - const senders = origGetSenders.apply(this, []); - senders.forEach(sender => sender._pc = this); - return senders; - }; - - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = this._pc.createDTMFSender(this.track); - } else { - this._dtmf = null; - } - } - return this._dtmf; - } - }); - } - } - - function shimGetStats(window) { - if (!window.RTCPeerConnection) { - return; - } - - const origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function getStats() { - const [selector, onSucc, onErr] = arguments; - - // If selector is a function then we are in the old style stats so just - // pass back the original getStats format to avoid breaking old users. - if (arguments.length > 0 && typeof selector === 'function') { - return origGetStats.apply(this, arguments); - } - - // When spec-style getStats is supported, return those when called with - // either no arguments or the selector argument is null. - if (origGetStats.length === 0 && (arguments.length === 0 || - typeof selector !== 'function')) { - return origGetStats.apply(this, []); - } - - const fixChromeStats_ = function(response) { - const standardReport = {}; - const reports = response.result(); - reports.forEach(report => { - const standardStats = { - id: report.id, - timestamp: report.timestamp, - type: { - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[report.type] || report.type - }; - report.names().forEach(name => { - standardStats[name] = report.stat(name); - }); - standardReport[standardStats.id] = standardStats; - }); - - return standardReport; - }; - - // shim getStats with maplike support - const makeMapStats = function(stats) { - return new Map(Object.keys(stats).map(key => [key, stats[key]])); - }; - - if (arguments.length >= 2) { - const successCallbackWrapper_ = function(response) { - onSucc(makeMapStats(fixChromeStats_(response))); - }; - - return origGetStats.apply(this, [successCallbackWrapper_, - selector]); - } - - // promise-support - return new Promise((resolve, reject) => { - origGetStats.apply(this, [ - function(response) { - resolve(makeMapStats(fixChromeStats_(response))); - }, reject]); - }).then(onSucc, onErr); - }; - } - - function shimSenderReceiverGetStats(window) { - if (!(typeof window === 'object' && window.RTCPeerConnection && - window.RTCRtpSender && window.RTCRtpReceiver)) { - return; - } - - // shim sender stats. - if (!('getStats' in window.RTCRtpSender.prototype)) { - const origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function getSenders() { - const senders = origGetSenders.apply(this, []); - senders.forEach(sender => sender._pc = this); - return senders; - }; - } - - const origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function addTrack() { - const sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function getStats() { - const sender = this; - return this._pc.getStats().then(result => - /* Note: this will include stats of all senders that - * send a track with the same id as sender.track as - * it is not possible to identify the RTCRtpSender. - */ - filterStats(result, sender.track, true)); - }; - } - - // shim receiver stats. - if (!('getStats' in window.RTCRtpReceiver.prototype)) { - const origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = - function getReceivers() { - const receivers = origGetReceivers.apply(this, []); - receivers.forEach(receiver => receiver._pc = this); - return receivers; - }; - } - wrapPeerConnectionEvent(window, 'track', e => { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function getStats() { - const receiver = this; - return this._pc.getStats().then(result => - filterStats(result, receiver.track, false)); - }; - } - - if (!('getStats' in window.RTCRtpSender.prototype && - 'getStats' in window.RTCRtpReceiver.prototype)) { - return; - } - - // shim RTCPeerConnection.getStats(track). - const origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function getStats() { - if (arguments.length > 0 && - arguments[0] instanceof window.MediaStreamTrack) { - const track = arguments[0]; - let sender; - let receiver; - let err; - this.getSenders().forEach(s => { - if (s.track === track) { - if (sender) { - err = true; - } else { - sender = s; - } - } - }); - this.getReceivers().forEach(r => { - if (r.track === track) { - if (receiver) { - err = true; - } else { - receiver = r; - } - } - return r.track === track; - }); - if (err || (sender && receiver)) { - return Promise.reject(new DOMException( - 'There are more than one sender or receiver for the track.', - 'InvalidAccessError')); - } else if (sender) { - return sender.getStats(); - } else if (receiver) { - return receiver.getStats(); - } - return Promise.reject(new DOMException( - 'There is no sender or receiver for the track.', - 'InvalidAccessError')); - } - return origGetStats.apply(this, arguments); - }; - } - - function shimAddTrackRemoveTrackWithNative(window) { - // shim addTrack/removeTrack with native variants in order to make - // the interactions with legacy getLocalStreams behave as in other browsers. - // Keeps a mapping stream.id => [stream, rtpsenders...] - window.RTCPeerConnection.prototype.getLocalStreams = - function getLocalStreams() { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - return Object.keys(this._shimmedLocalStreams) - .map(streamId => this._shimmedLocalStreams[streamId][0]); - }; - - const origAddTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addTrack = - function addTrack(track, stream) { - if (!stream) { - return origAddTrack.apply(this, arguments); - } - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - const sender = origAddTrack.apply(this, arguments); - if (!this._shimmedLocalStreams[stream.id]) { - this._shimmedLocalStreams[stream.id] = [stream, sender]; - } else if (this._shimmedLocalStreams[stream.id].indexOf(sender) === -1) { - this._shimmedLocalStreams[stream.id].push(sender); - } - return sender; - }; - - const origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - - stream.getTracks().forEach(track => { - const alreadyExists = this.getSenders().find(s => s.track === track); - if (alreadyExists) { - throw new DOMException('Track already exists.', - 'InvalidAccessError'); - } - }); - const existingSenders = this.getSenders(); - origAddStream.apply(this, arguments); - const newSenders = this.getSenders() - .filter(newSender => existingSenders.indexOf(newSender) === -1); - this._shimmedLocalStreams[stream.id] = [stream].concat(newSenders); - }; - - const origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = - function removeStream(stream) { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - delete this._shimmedLocalStreams[stream.id]; - return origRemoveStream.apply(this, arguments); - }; - - const origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; - window.RTCPeerConnection.prototype.removeTrack = - function removeTrack(sender) { - this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - if (sender) { - Object.keys(this._shimmedLocalStreams).forEach(streamId => { - const idx = this._shimmedLocalStreams[streamId].indexOf(sender); - if (idx !== -1) { - this._shimmedLocalStreams[streamId].splice(idx, 1); - } - if (this._shimmedLocalStreams[streamId].length === 1) { - delete this._shimmedLocalStreams[streamId]; - } - }); - } - return origRemoveTrack.apply(this, arguments); - }; - } - - function shimAddTrackRemoveTrack(window, browserDetails) { - if (!window.RTCPeerConnection) { - return; - } - // shim addTrack and removeTrack. - if (window.RTCPeerConnection.prototype.addTrack && - browserDetails.version >= 65) { - return shimAddTrackRemoveTrackWithNative(window); - } - - // also shim pc.getLocalStreams when addTrack is shimmed - // to return the original streams. - const origGetLocalStreams = window.RTCPeerConnection.prototype - .getLocalStreams; - window.RTCPeerConnection.prototype.getLocalStreams = - function getLocalStreams() { - const nativeStreams = origGetLocalStreams.apply(this); - this._reverseStreams = this._reverseStreams || {}; - return nativeStreams.map(stream => this._reverseStreams[stream.id]); - }; - - const origAddStream = window.RTCPeerConnection.prototype.addStream; - window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - this._streams = this._streams || {}; - this._reverseStreams = this._reverseStreams || {}; - - stream.getTracks().forEach(track => { - const alreadyExists = this.getSenders().find(s => s.track === track); - if (alreadyExists) { - throw new DOMException('Track already exists.', - 'InvalidAccessError'); - } - }); - // Add identity mapping for consistency with addTrack. - // Unless this is being used with a stream from addTrack. - if (!this._reverseStreams[stream.id]) { - const newStream = new window.MediaStream(stream.getTracks()); - this._streams[stream.id] = newStream; - this._reverseStreams[newStream.id] = stream; - stream = newStream; - } - origAddStream.apply(this, [stream]); - }; - - const origRemoveStream = window.RTCPeerConnection.prototype.removeStream; - window.RTCPeerConnection.prototype.removeStream = - function removeStream(stream) { - this._streams = this._streams || {}; - this._reverseStreams = this._reverseStreams || {}; - - origRemoveStream.apply(this, [(this._streams[stream.id] || stream)]); - delete this._reverseStreams[(this._streams[stream.id] ? - this._streams[stream.id].id : stream.id)]; - delete this._streams[stream.id]; - }; - - window.RTCPeerConnection.prototype.addTrack = - function addTrack(track, stream) { - if (this.signalingState === 'closed') { - throw new DOMException( - 'The RTCPeerConnection\'s signalingState is \'closed\'.', - 'InvalidStateError'); - } - const streams = [].slice.call(arguments, 1); - if (streams.length !== 1 || - !streams[0].getTracks().find(t => t === track)) { - // this is not fully correct but all we can manage without - // [[associated MediaStreams]] internal slot. - throw new DOMException( - 'The adapter.js addTrack polyfill only supports a single ' + - ' stream which is associated with the specified track.', - 'NotSupportedError'); - } - - const alreadyExists = this.getSenders().find(s => s.track === track); - if (alreadyExists) { - throw new DOMException('Track already exists.', - 'InvalidAccessError'); - } - - this._streams = this._streams || {}; - this._reverseStreams = this._reverseStreams || {}; - const oldStream = this._streams[stream.id]; - if (oldStream) { - // this is using odd Chrome behaviour, use with caution: - // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815 - // Note: we rely on the high-level addTrack/dtmf shim to - // create the sender with a dtmf sender. - oldStream.addTrack(track); - - // Trigger ONN async. - Promise.resolve().then(() => { - this.dispatchEvent(new Event('negotiationneeded')); - }); - } else { - const newStream = new window.MediaStream([track]); - this._streams[stream.id] = newStream; - this._reverseStreams[newStream.id] = stream; - this.addStream(newStream); - } - return this.getSenders().find(s => s.track === track); - }; - - // replace the internal stream id with the external one and - // vice versa. - function replaceInternalStreamId(pc, description) { - let sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(internalId => { - const externalStream = pc._reverseStreams[internalId]; - const internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(internalStream.id, 'g'), - externalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp - }); - } - function replaceExternalStreamId(pc, description) { - let sdp = description.sdp; - Object.keys(pc._reverseStreams || []).forEach(internalId => { - const externalStream = pc._reverseStreams[internalId]; - const internalStream = pc._streams[externalStream.id]; - sdp = sdp.replace(new RegExp(externalStream.id, 'g'), - internalStream.id); - }); - return new RTCSessionDescription({ - type: description.type, - sdp - }); - } - ['createOffer', 'createAnswer'].forEach(function(method) { - const nativeMethod = window.RTCPeerConnection.prototype[method]; - const methodObj = {[method]() { - const args = arguments; - const isLegacyCall = arguments.length && - typeof arguments[0] === 'function'; - if (isLegacyCall) { - return nativeMethod.apply(this, [ - (description) => { - const desc = replaceInternalStreamId(this, description); - args[0].apply(null, [desc]); - }, - (err) => { - if (args[1]) { - args[1].apply(null, err); - } - }, arguments[2] - ]); - } - return nativeMethod.apply(this, arguments) - .then(description => replaceInternalStreamId(this, description)); - }}; - window.RTCPeerConnection.prototype[method] = methodObj[method]; - }); - - const origSetLocalDescription = - window.RTCPeerConnection.prototype.setLocalDescription; - window.RTCPeerConnection.prototype.setLocalDescription = - function setLocalDescription() { - if (!arguments.length || !arguments[0].type) { - return origSetLocalDescription.apply(this, arguments); - } - arguments[0] = replaceExternalStreamId(this, arguments[0]); - return origSetLocalDescription.apply(this, arguments); - }; - - // TODO: mangle getStats: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats-streamidentifier - - const origLocalDescription = Object.getOwnPropertyDescriptor( - window.RTCPeerConnection.prototype, 'localDescription'); - Object.defineProperty(window.RTCPeerConnection.prototype, - 'localDescription', { - get() { - const description = origLocalDescription.get.apply(this); - if (description.type === '') { - return description; - } - return replaceInternalStreamId(this, description); - } - }); - - window.RTCPeerConnection.prototype.removeTrack = - function removeTrack(sender) { - if (this.signalingState === 'closed') { - throw new DOMException( - 'The RTCPeerConnection\'s signalingState is \'closed\'.', - 'InvalidStateError'); - } - // We can not yet check for sender instanceof RTCRtpSender - // since we shim RTPSender. So we check if sender._pc is set. - if (!sender._pc) { - throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' + - 'does not implement interface RTCRtpSender.', 'TypeError'); - } - const isLocal = sender._pc === this; - if (!isLocal) { - throw new DOMException('Sender was not created by this connection.', - 'InvalidAccessError'); - } - - // Search for the native stream the senders track belongs to. - this._streams = this._streams || {}; - let stream; - Object.keys(this._streams).forEach(streamid => { - const hasTrack = this._streams[streamid].getTracks() - .find(track => sender.track === track); - if (hasTrack) { - stream = this._streams[streamid]; - } - }); - - if (stream) { - if (stream.getTracks().length === 1) { - // if this is the last track of the stream, remove the stream. This - // takes care of any shimmed _senders. - this.removeStream(this._reverseStreams[stream.id]); - } else { - // relying on the same odd chrome behaviour as above. - stream.removeTrack(sender.track); - } - this.dispatchEvent(new Event('negotiationneeded')); - } - }; - } - - function shimPeerConnection$2(window, browserDetails) { - if (!window.RTCPeerConnection && window.webkitRTCPeerConnection) { - // very basic support for old versions. - window.RTCPeerConnection = window.webkitRTCPeerConnection; - } - if (!window.RTCPeerConnection) { - return; - } - - // shim implicit creation of RTCSessionDescription/RTCIceCandidate - if (browserDetails.version < 53) { - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'] - .forEach(function(method) { - const nativeMethod = window.RTCPeerConnection.prototype[method]; - const methodObj = {[method]() { - arguments[0] = new ((method === 'addIceCandidate') ? - window.RTCIceCandidate : - window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }}; - window.RTCPeerConnection.prototype[method] = methodObj[method]; - }); - } - } - - // Attempt to fix ONN in plan-b mode. - function fixNegotiationNeeded(window, browserDetails) { - wrapPeerConnectionEvent(window, 'negotiationneeded', e => { - const pc = e.target; - if (browserDetails.version < 72 || (pc.getConfiguration && - pc.getConfiguration().sdpSemantics === 'plan-b')) { - if (pc.signalingState !== 'stable') { - return; - } - } - return e; - }); - } - - var chromeShim = /*#__PURE__*/Object.freeze({ - __proto__: null, - shimMediaStream: shimMediaStream, - shimOnTrack: shimOnTrack$1, - shimGetSendersWithDtmf: shimGetSendersWithDtmf, - shimGetStats: shimGetStats, - shimSenderReceiverGetStats: shimSenderReceiverGetStats, - shimAddTrackRemoveTrackWithNative: shimAddTrackRemoveTrackWithNative, - shimAddTrackRemoveTrack: shimAddTrackRemoveTrack, - shimPeerConnection: shimPeerConnection$2, - fixNegotiationNeeded: fixNegotiationNeeded, - shimGetUserMedia: shimGetUserMedia$3, - shimGetDisplayMedia: shimGetDisplayMedia$2 - }); - - /* - * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - // Edge does not like - // 1) stun: filtered after 14393 unless ?transport=udp is present - // 2) turn: that does not have all of turn:host:port?transport=udp - // 3) turn: with ipv6 addresses - // 4) turn: occurring muliple times - function filterIceServers$1(iceServers, edgeVersion) { - let hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(server => { - if (server && (server.urls || server.url)) { - let urls = server.urls || server.url; - if (server.url && !server.urls) { - deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - } - const isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(url => { - // filter STUN unconditionally. - if (url.indexOf('stun:') === 0) { - return false; - } - - const validTurn = url.startsWith('turn') && - !url.startsWith('turn:[') && - url.includes('transport=udp'); - if (validTurn && !hasTurn) { - hasTurn = true; - return true; - } - return validTurn && !hasTurn; - }); - - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; - } - }); - } - - function createCommonjsModule(fn) { - var module = { exports: {} }; - return fn(module, module.exports), module.exports; - } - - /* eslint-env node */ - - var sdp = createCommonjsModule(function (module) { - - // SDP helpers. - var SDPUtils = {}; - - // Generate an alphanumeric identifier for cname or mids. - // TODO: use UUIDs instead? https://gist.github.com/jed/982883 - SDPUtils.generateIdentifier = function() { - return Math.random().toString(36).substr(2, 10); - }; - - // The RTCP CNAME used by all peerconnections from the same JS. - SDPUtils.localCName = SDPUtils.generateIdentifier(); - - // Splits SDP into lines, dealing with both CRLF and LF. - SDPUtils.splitLines = function(blob) { - return blob.trim().split('\n').map(function(line) { - return line.trim(); - }); - }; - // Splits SDP into sessionpart and mediasections. Ensures CRLF. - SDPUtils.splitSections = function(blob) { - var parts = blob.split('\nm='); - return parts.map(function(part, index) { - return (index > 0 ? 'm=' + part : part).trim() + '\r\n'; - }); - }; - - // returns the session description. - SDPUtils.getDescription = function(blob) { - var sections = SDPUtils.splitSections(blob); - return sections && sections[0]; - }; - - // returns the individual media sections. - SDPUtils.getMediaSections = function(blob) { - var sections = SDPUtils.splitSections(blob); - sections.shift(); - return sections; - }; - - // Returns lines that start with a certain prefix. - SDPUtils.matchPrefix = function(blob, prefix) { - return SDPUtils.splitLines(blob).filter(function(line) { - return line.indexOf(prefix) === 0; - }); - }; - - // Parses an ICE candidate line. Sample input: - // candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8 - // rport 55996" - SDPUtils.parseCandidate = function(line) { - var parts; - // Parse both variants. - if (line.indexOf('a=candidate:') === 0) { - parts = line.substring(12).split(' '); - } else { - parts = line.substring(10).split(' '); - } - - var candidate = { - foundation: parts[0], - component: parseInt(parts[1], 10), - protocol: parts[2].toLowerCase(), - priority: parseInt(parts[3], 10), - ip: parts[4], - address: parts[4], // address is an alias for ip. - port: parseInt(parts[5], 10), - // skip parts[6] == 'typ' - type: parts[7] - }; - - for (var i = 8; i < parts.length; i += 2) { - switch (parts[i]) { - case 'raddr': - candidate.relatedAddress = parts[i + 1]; - break; - case 'rport': - candidate.relatedPort = parseInt(parts[i + 1], 10); - break; - case 'tcptype': - candidate.tcpType = parts[i + 1]; - break; - case 'ufrag': - candidate.ufrag = parts[i + 1]; // for backward compability. - candidate.usernameFragment = parts[i + 1]; - break; - default: // extension handling, in particular ufrag - candidate[parts[i]] = parts[i + 1]; - break; - } - } - return candidate; - }; - - // Translates a candidate object into SDP candidate attribute. - SDPUtils.writeCandidate = function(candidate) { - var sdp = []; - sdp.push(candidate.foundation); - sdp.push(candidate.component); - sdp.push(candidate.protocol.toUpperCase()); - sdp.push(candidate.priority); - sdp.push(candidate.address || candidate.ip); - sdp.push(candidate.port); - - var type = candidate.type; - sdp.push('typ'); - sdp.push(type); - if (type !== 'host' && candidate.relatedAddress && - candidate.relatedPort) { - sdp.push('raddr'); - sdp.push(candidate.relatedAddress); - sdp.push('rport'); - sdp.push(candidate.relatedPort); - } - if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') { - sdp.push('tcptype'); - sdp.push(candidate.tcpType); - } - if (candidate.usernameFragment || candidate.ufrag) { - sdp.push('ufrag'); - sdp.push(candidate.usernameFragment || candidate.ufrag); - } - return 'candidate:' + sdp.join(' '); - }; - - // Parses an ice-options line, returns an array of option tags. - // a=ice-options:foo bar - SDPUtils.parseIceOptions = function(line) { - return line.substr(14).split(' '); - }; - - // Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input: - // a=rtpmap:111 opus/48000/2 - SDPUtils.parseRtpMap = function(line) { - var parts = line.substr(9).split(' '); - var parsed = { - payloadType: parseInt(parts.shift(), 10) // was: id - }; - - parts = parts[0].split('/'); - - parsed.name = parts[0]; - parsed.clockRate = parseInt(parts[1], 10); // was: clockrate - parsed.channels = parts.length === 3 ? parseInt(parts[2], 10) : 1; - // legacy alias, got renamed back to channels in ORTC. - parsed.numChannels = parsed.channels; - return parsed; - }; - - // Generate an a=rtpmap line from RTCRtpCodecCapability or - // RTCRtpCodecParameters. - SDPUtils.writeRtpMap = function(codec) { - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - var channels = codec.channels || codec.numChannels || 1; - return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate + - (channels !== 1 ? '/' + channels : '') + '\r\n'; - }; - - // Parses an a=extmap line (headerextension from RFC 5285). Sample input: - // a=extmap:2 urn:ietf:params:rtp-hdrext:toffset - // a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset - SDPUtils.parseExtmap = function(line) { - var parts = line.substr(9).split(' '); - return { - id: parseInt(parts[0], 10), - direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv', - uri: parts[1] - }; - }; - - // Generates a=extmap line from RTCRtpHeaderExtensionParameters or - // RTCRtpHeaderExtension. - SDPUtils.writeExtmap = function(headerExtension) { - return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) + - (headerExtension.direction && headerExtension.direction !== 'sendrecv' - ? '/' + headerExtension.direction - : '') + - ' ' + headerExtension.uri + '\r\n'; - }; - - // Parses an ftmp line, returns dictionary. Sample input: - // a=fmtp:96 vbr=on;cng=on - // Also deals with vbr=on; cng=on - SDPUtils.parseFmtp = function(line) { - var parsed = {}; - var kv; - var parts = line.substr(line.indexOf(' ') + 1).split(';'); - for (var j = 0; j < parts.length; j++) { - kv = parts[j].trim().split('='); - parsed[kv[0].trim()] = kv[1]; - } - return parsed; - }; - - // Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters. - SDPUtils.writeFmtp = function(codec) { - var line = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.parameters && Object.keys(codec.parameters).length) { - var params = []; - Object.keys(codec.parameters).forEach(function(param) { - if (codec.parameters[param]) { - params.push(param + '=' + codec.parameters[param]); - } else { - params.push(param); - } - }); - line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\r\n'; - } - return line; - }; - - // Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input: - // a=rtcp-fb:98 nack rpsi - SDPUtils.parseRtcpFb = function(line) { - var parts = line.substr(line.indexOf(' ') + 1).split(' '); - return { - type: parts.shift(), - parameter: parts.join(' ') - }; - }; - // Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters. - SDPUtils.writeRtcpFb = function(codec) { - var lines = ''; - var pt = codec.payloadType; - if (codec.preferredPayloadType !== undefined) { - pt = codec.preferredPayloadType; - } - if (codec.rtcpFeedback && codec.rtcpFeedback.length) { - // FIXME: special handling for trr-int? - codec.rtcpFeedback.forEach(function(fb) { - lines += 'a=rtcp-fb:' + pt + ' ' + fb.type + - (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') + - '\r\n'; - }); - } - return lines; - }; - - // Parses an RFC 5576 ssrc media attribute. Sample input: - // a=ssrc:3735928559 cname:something - SDPUtils.parseSsrcMedia = function(line) { - var sp = line.indexOf(' '); - var parts = { - ssrc: parseInt(line.substr(7, sp - 7), 10) - }; - var colon = line.indexOf(':', sp); - if (colon > -1) { - parts.attribute = line.substr(sp + 1, colon - sp - 1); - parts.value = line.substr(colon + 1); - } else { - parts.attribute = line.substr(sp + 1); - } - return parts; - }; - - SDPUtils.parseSsrcGroup = function(line) { - var parts = line.substr(13).split(' '); - return { - semantics: parts.shift(), - ssrcs: parts.map(function(ssrc) { - return parseInt(ssrc, 10); - }) - }; - }; - - // Extracts the MID (RFC 5888) from a media section. - // returns the MID or undefined if no mid line was found. - SDPUtils.getMid = function(mediaSection) { - var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0]; - if (mid) { - return mid.substr(6); - } - }; - - SDPUtils.parseFingerprint = function(line) { - var parts = line.substr(14).split(' '); - return { - algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge. - value: parts[1] - }; - }; - - // Extracts DTLS parameters from SDP media section or sessionpart. - // FIXME: for consistency with other functions this should only - // get the fingerprint line as input. See also getIceParameters. - SDPUtils.getDtlsParameters = function(mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, - 'a=fingerprint:'); - // Note: a=setup line is ignored since we use the 'auto' role. - // Note2: 'algorithm' is not case sensitive except in Edge. - return { - role: 'auto', - fingerprints: lines.map(SDPUtils.parseFingerprint) - }; - }; - - // Serializes DTLS parameters to SDP. - SDPUtils.writeDtlsParameters = function(params, setupType) { - var sdp = 'a=setup:' + setupType + '\r\n'; - params.fingerprints.forEach(function(fp) { - sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\r\n'; - }); - return sdp; - }; - - // Parses a=crypto lines into - // https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#dictionary-rtcsrtpsdesparameters-members - SDPUtils.parseCryptoLine = function(line) { - var parts = line.substr(9).split(' '); - return { - tag: parseInt(parts[0], 10), - cryptoSuite: parts[1], - keyParams: parts[2], - sessionParams: parts.slice(3), - }; - }; - - SDPUtils.writeCryptoLine = function(parameters) { - return 'a=crypto:' + parameters.tag + ' ' + - parameters.cryptoSuite + ' ' + - (typeof parameters.keyParams === 'object' - ? SDPUtils.writeCryptoKeyParams(parameters.keyParams) - : parameters.keyParams) + - (parameters.sessionParams ? ' ' + parameters.sessionParams.join(' ') : '') + - '\r\n'; - }; - - // Parses the crypto key parameters into - // https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#rtcsrtpkeyparam* - SDPUtils.parseCryptoKeyParams = function(keyParams) { - if (keyParams.indexOf('inline:') !== 0) { - return null; - } - var parts = keyParams.substr(7).split('|'); - return { - keyMethod: 'inline', - keySalt: parts[0], - lifeTime: parts[1], - mkiValue: parts[2] ? parts[2].split(':')[0] : undefined, - mkiLength: parts[2] ? parts[2].split(':')[1] : undefined, - }; - }; - - SDPUtils.writeCryptoKeyParams = function(keyParams) { - return keyParams.keyMethod + ':' - + keyParams.keySalt + - (keyParams.lifeTime ? '|' + keyParams.lifeTime : '') + - (keyParams.mkiValue && keyParams.mkiLength - ? '|' + keyParams.mkiValue + ':' + keyParams.mkiLength - : ''); - }; - - // Extracts all SDES paramters. - SDPUtils.getCryptoParameters = function(mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, - 'a=crypto:'); - return lines.map(SDPUtils.parseCryptoLine); - }; - - // Parses ICE information from SDP media section or sessionpart. - // FIXME: for consistency with other functions this should only - // get the ice-ufrag and ice-pwd lines as input. - SDPUtils.getIceParameters = function(mediaSection, sessionpart) { - var ufrag = SDPUtils.matchPrefix(mediaSection + sessionpart, - 'a=ice-ufrag:')[0]; - var pwd = SDPUtils.matchPrefix(mediaSection + sessionpart, - 'a=ice-pwd:')[0]; - if (!(ufrag && pwd)) { - return null; - } - return { - usernameFragment: ufrag.substr(12), - password: pwd.substr(10), - }; - }; - - // Serializes ICE parameters to SDP. - SDPUtils.writeIceParameters = function(params) { - return 'a=ice-ufrag:' + params.usernameFragment + '\r\n' + - 'a=ice-pwd:' + params.password + '\r\n'; - }; - - // Parses the SDP media section and returns RTCRtpParameters. - SDPUtils.parseRtpParameters = function(mediaSection) { - var description = { - codecs: [], - headerExtensions: [], - fecMechanisms: [], - rtcp: [] - }; - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - for (var i = 3; i < mline.length; i++) { // find all codecs from mline[3..] - var pt = mline[i]; - var rtpmapline = SDPUtils.matchPrefix( - mediaSection, 'a=rtpmap:' + pt + ' ')[0]; - if (rtpmapline) { - var codec = SDPUtils.parseRtpMap(rtpmapline); - var fmtps = SDPUtils.matchPrefix( - mediaSection, 'a=fmtp:' + pt + ' '); - // Only the first a=fmtp: is considered. - codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {}; - codec.rtcpFeedback = SDPUtils.matchPrefix( - mediaSection, 'a=rtcp-fb:' + pt + ' ') - .map(SDPUtils.parseRtcpFb); - description.codecs.push(codec); - // parse FEC mechanisms from rtpmap lines. - switch (codec.name.toUpperCase()) { - case 'RED': - case 'ULPFEC': - description.fecMechanisms.push(codec.name.toUpperCase()); - break; - } - } - } - SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function(line) { - description.headerExtensions.push(SDPUtils.parseExtmap(line)); - }); - // FIXME: parse rtcp. - return description; - }; - - // Generates parts of the SDP media section describing the capabilities / - // parameters. - SDPUtils.writeRtpDescription = function(kind, caps) { - var sdp = ''; - - // Build the mline. - sdp += 'm=' + kind + ' '; - sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs. - sdp += ' UDP/TLS/RTP/SAVPF '; - sdp += caps.codecs.map(function(codec) { - if (codec.preferredPayloadType !== undefined) { - return codec.preferredPayloadType; - } - return codec.payloadType; - }).join(' ') + '\r\n'; - - sdp += 'c=IN IP4 0.0.0.0\r\n'; - sdp += 'a=rtcp:9 IN IP4 0.0.0.0\r\n'; - - // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb. - caps.codecs.forEach(function(codec) { - sdp += SDPUtils.writeRtpMap(codec); - sdp += SDPUtils.writeFmtp(codec); - sdp += SDPUtils.writeRtcpFb(codec); - }); - var maxptime = 0; - caps.codecs.forEach(function(codec) { - if (codec.maxptime > maxptime) { - maxptime = codec.maxptime; - } - }); - if (maxptime > 0) { - sdp += 'a=maxptime:' + maxptime + '\r\n'; - } - sdp += 'a=rtcp-mux\r\n'; - - if (caps.headerExtensions) { - caps.headerExtensions.forEach(function(extension) { - sdp += SDPUtils.writeExtmap(extension); - }); - } - // FIXME: write fecMechanisms. - return sdp; - }; - - // Parses the SDP media section and returns an array of - // RTCRtpEncodingParameters. - SDPUtils.parseRtpEncodingParameters = function(mediaSection) { - var encodingParameters = []; - var description = SDPUtils.parseRtpParameters(mediaSection); - var hasRed = description.fecMechanisms.indexOf('RED') !== -1; - var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1; - - // filter a=ssrc:... cname:, ignore PlanB-msid - var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:') - .map(function(line) { - return SDPUtils.parseSsrcMedia(line); - }) - .filter(function(parts) { - return parts.attribute === 'cname'; - }); - var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc; - var secondarySsrc; - - var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID') - .map(function(line) { - var parts = line.substr(17).split(' '); - return parts.map(function(part) { - return parseInt(part, 10); - }); - }); - if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) { - secondarySsrc = flows[0][1]; - } - - description.codecs.forEach(function(codec) { - if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) { - var encParam = { - ssrc: primarySsrc, - codecPayloadType: parseInt(codec.parameters.apt, 10) - }; - if (primarySsrc && secondarySsrc) { - encParam.rtx = {ssrc: secondarySsrc}; - } - encodingParameters.push(encParam); - if (hasRed) { - encParam = JSON.parse(JSON.stringify(encParam)); - encParam.fec = { - ssrc: primarySsrc, - mechanism: hasUlpfec ? 'red+ulpfec' : 'red' - }; - encodingParameters.push(encParam); - } - } - }); - if (encodingParameters.length === 0 && primarySsrc) { - encodingParameters.push({ - ssrc: primarySsrc - }); - } - - // we support both b=AS and b=TIAS but interpret AS as TIAS. - var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b='); - if (bandwidth.length) { - if (bandwidth[0].indexOf('b=TIAS:') === 0) { - bandwidth = parseInt(bandwidth[0].substr(7), 10); - } else if (bandwidth[0].indexOf('b=AS:') === 0) { - // use formula from JSEP to convert b=AS to TIAS value. - bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95 - - (50 * 40 * 8); - } else { - bandwidth = undefined; - } - encodingParameters.forEach(function(params) { - params.maxBitrate = bandwidth; - }); - } - return encodingParameters; - }; - - // parses http://draft.ortc.org/#rtcrtcpparameters* - SDPUtils.parseRtcpParameters = function(mediaSection) { - var rtcpParameters = {}; - - // Gets the first SSRC. Note tha with RTX there might be multiple - // SSRCs. - var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:') - .map(function(line) { - return SDPUtils.parseSsrcMedia(line); - }) - .filter(function(obj) { - return obj.attribute === 'cname'; - })[0]; - if (remoteSsrc) { - rtcpParameters.cname = remoteSsrc.value; - rtcpParameters.ssrc = remoteSsrc.ssrc; - } - - // Edge uses the compound attribute instead of reducedSize - // compound is !reducedSize - var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize'); - rtcpParameters.reducedSize = rsize.length > 0; - rtcpParameters.compound = rsize.length === 0; - - // parses the rtcp-mux attrіbute. - // Note that Edge does not support unmuxed RTCP. - var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux'); - rtcpParameters.mux = mux.length > 0; - - return rtcpParameters; - }; - - // parses either a=msid: or a=ssrc:... msid lines and returns - // the id of the MediaStream and MediaStreamTrack. - SDPUtils.parseMsid = function(mediaSection) { - var parts; - var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:'); - if (spec.length === 1) { - parts = spec[0].substr(7).split(' '); - return {stream: parts[0], track: parts[1]}; - } - var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:') - .map(function(line) { - return SDPUtils.parseSsrcMedia(line); - }) - .filter(function(msidParts) { - return msidParts.attribute === 'msid'; - }); - if (planB.length > 0) { - parts = planB[0].value.split(' '); - return {stream: parts[0], track: parts[1]}; - } - }; - - // SCTP - // parses draft-ietf-mmusic-sctp-sdp-26 first and falls back - // to draft-ietf-mmusic-sctp-sdp-05 - SDPUtils.parseSctpDescription = function(mediaSection) { - var mline = SDPUtils.parseMLine(mediaSection); - var maxSizeLine = SDPUtils.matchPrefix(mediaSection, 'a=max-message-size:'); - var maxMessageSize; - if (maxSizeLine.length > 0) { - maxMessageSize = parseInt(maxSizeLine[0].substr(19), 10); - } - if (isNaN(maxMessageSize)) { - maxMessageSize = 65536; - } - var sctpPort = SDPUtils.matchPrefix(mediaSection, 'a=sctp-port:'); - if (sctpPort.length > 0) { - return { - port: parseInt(sctpPort[0].substr(12), 10), - protocol: mline.fmt, - maxMessageSize: maxMessageSize - }; - } - var sctpMapLines = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:'); - if (sctpMapLines.length > 0) { - var parts = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:')[0] - .substr(10) - .split(' '); - return { - port: parseInt(parts[0], 10), - protocol: parts[1], - maxMessageSize: maxMessageSize - }; - } - }; - - // SCTP - // outputs the draft-ietf-mmusic-sctp-sdp-26 version that all browsers - // support by now receiving in this format, unless we originally parsed - // as the draft-ietf-mmusic-sctp-sdp-05 format (indicated by the m-line - // protocol of DTLS/SCTP -- without UDP/ or TCP/) - SDPUtils.writeSctpDescription = function(media, sctp) { - var output = []; - if (media.protocol !== 'DTLS/SCTP') { - output = [ - 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.protocol + '\r\n', - 'c=IN IP4 0.0.0.0\r\n', - 'a=sctp-port:' + sctp.port + '\r\n' - ]; - } else { - output = [ - 'm=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.port + '\r\n', - 'c=IN IP4 0.0.0.0\r\n', - 'a=sctpmap:' + sctp.port + ' ' + sctp.protocol + ' 65535\r\n' - ]; - } - if (sctp.maxMessageSize !== undefined) { - output.push('a=max-message-size:' + sctp.maxMessageSize + '\r\n'); - } - return output.join(''); - }; - - // Generate a session ID for SDP. - // https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1 - // recommends using a cryptographically random +ve 64-bit value - // but right now this should be acceptable and within the right range - SDPUtils.generateSessionId = function() { - return Math.random().toString().substr(2, 21); - }; - - // Write boilder plate for start of SDP - // sessId argument is optional - if not supplied it will - // be generated randomly - // sessVersion is optional and defaults to 2 - // sessUser is optional and defaults to 'thisisadapterortc' - SDPUtils.writeSessionBoilerplate = function(sessId, sessVer, sessUser) { - var sessionId; - var version = sessVer !== undefined ? sessVer : 2; - if (sessId) { - sessionId = sessId; - } else { - sessionId = SDPUtils.generateSessionId(); - } - var user = sessUser || 'thisisadapterortc'; - // FIXME: sess-id should be an NTP timestamp. - return 'v=0\r\n' + - 'o=' + user + ' ' + sessionId + ' ' + version + - ' IN IP4 127.0.0.1\r\n' + - 's=-\r\n' + - 't=0 0\r\n'; - }; - - SDPUtils.writeMediaSection = function(transceiver, caps, type, stream) { - var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp += SDPUtils.writeIceParameters( - transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp += SDPUtils.writeDtlsParameters( - transceiver.dtlsTransport.getLocalParameters(), - type === 'offer' ? 'actpass' : 'active'); - - sdp += 'a=mid:' + transceiver.mid + '\r\n'; - - if (transceiver.direction) { - sdp += 'a=' + transceiver.direction + '\r\n'; - } else if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp += 'a=recvonly\r\n'; - } else { - sdp += 'a=inactive\r\n'; - } - - if (transceiver.rtpSender) { - // spec. - var msid = 'msid:' + stream.id + ' ' + - transceiver.rtpSender.track.id + '\r\n'; - sdp += 'a=' + msid; - - // for Chrome. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + - ' ' + msid; - if (transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + - ' ' + msid; - sdp += 'a=ssrc-group:FID ' + - transceiver.sendEncodingParameters[0].ssrc + ' ' + - transceiver.sendEncodingParameters[0].rtx.ssrc + - '\r\n'; - } - } - // FIXME: this should be written by writeRtpDescription. - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + - ' cname:' + SDPUtils.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + - ' cname:' + SDPUtils.localCName + '\r\n'; - } - return sdp; - }; - - // Gets the direction from the mediaSection or the sessionpart. - SDPUtils.getDirection = function(mediaSection, sessionpart) { - // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv. - var lines = SDPUtils.splitLines(mediaSection); - for (var i = 0; i < lines.length; i++) { - switch (lines[i]) { - case 'a=sendrecv': - case 'a=sendonly': - case 'a=recvonly': - case 'a=inactive': - return lines[i].substr(2); - // FIXME: What should happen here? - } - } - if (sessionpart) { - return SDPUtils.getDirection(sessionpart); - } - return 'sendrecv'; - }; - - SDPUtils.getKind = function(mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - return mline[0].substr(2); - }; - - SDPUtils.isRejected = function(mediaSection) { - return mediaSection.split(' ', 2)[1] === '0'; - }; - - SDPUtils.parseMLine = function(mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var parts = lines[0].substr(2).split(' '); - return { - kind: parts[0], - port: parseInt(parts[1], 10), - protocol: parts[2], - fmt: parts.slice(3).join(' ') - }; - }; - - SDPUtils.parseOLine = function(mediaSection) { - var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0]; - var parts = line.substr(2).split(' '); - return { - username: parts[0], - sessionId: parts[1], - sessionVersion: parseInt(parts[2], 10), - netType: parts[3], - addressType: parts[4], - address: parts[5] - }; - }; - - // a very naive interpretation of a valid SDP. - SDPUtils.isValidSDP = function(blob) { - if (typeof blob !== 'string' || blob.length === 0) { - return false; - } - var lines = SDPUtils.splitLines(blob); - for (var i = 0; i < lines.length; i++) { - if (lines[i].length < 2 || lines[i].charAt(1) !== '=') { - return false; - } - // TODO: check the modifier a bit more. - } - return true; - }; - - // Expose public methods. - { - module.exports = SDPUtils; - } - }); - - /* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - - - function fixStatsType(stat) { - return { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[stat.type] || stat.type; - } - - function writeMediaSection(transceiver, caps, type, stream, dtlsRole) { - var sdp$1 = sdp.writeRtpDescription(transceiver.kind, caps); - - // Map ICE parameters (ufrag, pwd) to SDP. - sdp$1 += sdp.writeIceParameters( - transceiver.iceGatherer.getLocalParameters()); - - // Map DTLS parameters to SDP. - sdp$1 += sdp.writeDtlsParameters( - transceiver.dtlsTransport.getLocalParameters(), - type === 'offer' ? 'actpass' : dtlsRole || 'active'); - - sdp$1 += 'a=mid:' + transceiver.mid + '\r\n'; - - if (transceiver.rtpSender && transceiver.rtpReceiver) { - sdp$1 += 'a=sendrecv\r\n'; - } else if (transceiver.rtpSender) { - sdp$1 += 'a=sendonly\r\n'; - } else if (transceiver.rtpReceiver) { - sdp$1 += 'a=recvonly\r\n'; - } else { - sdp$1 += 'a=inactive\r\n'; - } - - if (transceiver.rtpSender) { - var trackId = transceiver.rtpSender._initialTrackId || - transceiver.rtpSender.track.id; - transceiver.rtpSender._initialTrackId = trackId; - // spec. - var msid = 'msid:' + (stream ? stream.id : '-') + ' ' + - trackId + '\r\n'; - sdp$1 += 'a=' + msid; - // for Chrome. Legacy should no longer be required. - sdp$1 += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + - ' ' + msid; - - // RTX - if (transceiver.sendEncodingParameters[0].rtx) { - sdp$1 += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + - ' ' + msid; - sdp$1 += 'a=ssrc-group:FID ' + - transceiver.sendEncodingParameters[0].ssrc + ' ' + - transceiver.sendEncodingParameters[0].rtx.ssrc + - '\r\n'; - } - } - // FIXME: this should be written by writeRtpDescription. - sdp$1 += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc + - ' cname:' + sdp.localCName + '\r\n'; - if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) { - sdp$1 += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc + - ' cname:' + sdp.localCName + '\r\n'; - } - return sdp$1; - } - - // Edge does not like - // 1) stun: filtered after 14393 unless ?transport=udp is present - // 2) turn: that does not have all of turn:host:port?transport=udp - // 3) turn: with ipv6 addresses - // 4) turn: occurring muliple times - function filterIceServers(iceServers, edgeVersion) { - var hasTurn = false; - iceServers = JSON.parse(JSON.stringify(iceServers)); - return iceServers.filter(function(server) { - if (server && (server.urls || server.url)) { - var urls = server.urls || server.url; - if (server.url && !server.urls) { - console.warn('RTCIceServer.url is deprecated! Use urls instead.'); - } - var isString = typeof urls === 'string'; - if (isString) { - urls = [urls]; - } - urls = urls.filter(function(url) { - var validTurn = url.indexOf('turn:') === 0 && - url.indexOf('transport=udp') !== -1 && - url.indexOf('turn:[') === -1 && - !hasTurn; - - if (validTurn) { - hasTurn = true; - return true; - } - return url.indexOf('stun:') === 0 && edgeVersion >= 14393 && - url.indexOf('?transport=udp') === -1; - }); - - delete server.url; - server.urls = isString ? urls[0] : urls; - return !!urls.length; - } - }); - } - - // Determines the intersection of local and remote capabilities. - function getCommonCapabilities(localCapabilities, remoteCapabilities) { - var commonCapabilities = { - codecs: [], - headerExtensions: [], - fecMechanisms: [] - }; - - var findCodecByPayloadType = function(pt, codecs) { - pt = parseInt(pt, 10); - for (var i = 0; i < codecs.length; i++) { - if (codecs[i].payloadType === pt || - codecs[i].preferredPayloadType === pt) { - return codecs[i]; - } - } - }; - - var rtxCapabilityMatches = function(lRtx, rRtx, lCodecs, rCodecs) { - var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs); - var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs); - return lCodec && rCodec && - lCodec.name.toLowerCase() === rCodec.name.toLowerCase(); - }; - - localCapabilities.codecs.forEach(function(lCodec) { - for (var i = 0; i < remoteCapabilities.codecs.length; i++) { - var rCodec = remoteCapabilities.codecs[i]; - if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() && - lCodec.clockRate === rCodec.clockRate) { - if (lCodec.name.toLowerCase() === 'rtx' && - lCodec.parameters && rCodec.parameters.apt) { - // for RTX we need to find the local rtx that has a apt - // which points to the same local codec as the remote one. - if (!rtxCapabilityMatches(lCodec, rCodec, - localCapabilities.codecs, remoteCapabilities.codecs)) { - continue; - } - } - rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy - // number of channels is the highest common number of channels - rCodec.numChannels = Math.min(lCodec.numChannels, - rCodec.numChannels); - // push rCodec so we reply with offerer payload type - commonCapabilities.codecs.push(rCodec); - - // determine common feedback mechanisms - rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) { - for (var j = 0; j < lCodec.rtcpFeedback.length; j++) { - if (lCodec.rtcpFeedback[j].type === fb.type && - lCodec.rtcpFeedback[j].parameter === fb.parameter) { - return true; - } - } - return false; - }); - // FIXME: also need to determine .parameters - // see https://github.com/openpeer/ortc/issues/569 - break; - } - } - }); - - localCapabilities.headerExtensions.forEach(function(lHeaderExtension) { - for (var i = 0; i < remoteCapabilities.headerExtensions.length; - i++) { - var rHeaderExtension = remoteCapabilities.headerExtensions[i]; - if (lHeaderExtension.uri === rHeaderExtension.uri) { - commonCapabilities.headerExtensions.push(rHeaderExtension); - break; - } - } - }); - - // FIXME: fecMechanisms - return commonCapabilities; - } - - // is action=setLocalDescription with type allowed in signalingState - function isActionAllowedInSignalingState(action, type, signalingState) { - return { - offer: { - setLocalDescription: ['stable', 'have-local-offer'], - setRemoteDescription: ['stable', 'have-remote-offer'] - }, - answer: { - setLocalDescription: ['have-remote-offer', 'have-local-pranswer'], - setRemoteDescription: ['have-local-offer', 'have-remote-pranswer'] - } - }[type][action].indexOf(signalingState) !== -1; - } - - function maybeAddCandidate(iceTransport, candidate) { - // Edge's internal representation adds some fields therefore - // not all fieldѕ are taken into account. - var alreadyAdded = iceTransport.getRemoteCandidates() - .find(function(remoteCandidate) { - return candidate.foundation === remoteCandidate.foundation && - candidate.ip === remoteCandidate.ip && - candidate.port === remoteCandidate.port && - candidate.priority === remoteCandidate.priority && - candidate.protocol === remoteCandidate.protocol && - candidate.type === remoteCandidate.type; - }); - if (!alreadyAdded) { - iceTransport.addRemoteCandidate(candidate); - } - return !alreadyAdded; - } - - - function makeError(name, description) { - var e = new Error(description); - e.name = name; - // legacy error codes from https://heycam.github.io/webidl/#idl-DOMException-error-names - e.code = { - NotSupportedError: 9, - InvalidStateError: 11, - InvalidAccessError: 15, - TypeError: undefined, - OperationError: undefined - }[name]; - return e; - } - - var rtcpeerconnection = function(window, edgeVersion) { - // https://w3c.github.io/mediacapture-main/#mediastream - // Helper function to add the track to the stream and - // dispatch the event ourselves. - function addTrackToStreamAndFireEvent(track, stream) { - stream.addTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('addtrack', - {track: track})); - } - - function removeTrackFromStreamAndFireEvent(track, stream) { - stream.removeTrack(track); - stream.dispatchEvent(new window.MediaStreamTrackEvent('removetrack', - {track: track})); - } - - function fireAddTrack(pc, track, receiver, streams) { - var trackEvent = new Event('track'); - trackEvent.track = track; - trackEvent.receiver = receiver; - trackEvent.transceiver = {receiver: receiver}; - trackEvent.streams = streams; - window.setTimeout(function() { - pc._dispatchEvent('track', trackEvent); - }); - } - - var RTCPeerConnection = function(config) { - var pc = this; - - var _eventTarget = document.createDocumentFragment(); - ['addEventListener', 'removeEventListener', 'dispatchEvent'] - .forEach(function(method) { - pc[method] = _eventTarget[method].bind(_eventTarget); - }); - - this.canTrickleIceCandidates = null; - - this.needNegotiation = false; - - this.localStreams = []; - this.remoteStreams = []; - - this._localDescription = null; - this._remoteDescription = null; - - this.signalingState = 'stable'; - this.iceConnectionState = 'new'; - this.connectionState = 'new'; - this.iceGatheringState = 'new'; - - config = JSON.parse(JSON.stringify(config || {})); - - this.usingBundle = config.bundlePolicy === 'max-bundle'; - if (config.rtcpMuxPolicy === 'negotiate') { - throw(makeError('NotSupportedError', - 'rtcpMuxPolicy \'negotiate\' is not supported')); - } else if (!config.rtcpMuxPolicy) { - config.rtcpMuxPolicy = 'require'; - } - - switch (config.iceTransportPolicy) { - case 'all': - case 'relay': - break; - default: - config.iceTransportPolicy = 'all'; - break; - } - - switch (config.bundlePolicy) { - case 'balanced': - case 'max-compat': - case 'max-bundle': - break; - default: - config.bundlePolicy = 'balanced'; - break; - } - - config.iceServers = filterIceServers(config.iceServers || [], edgeVersion); - - this._iceGatherers = []; - if (config.iceCandidatePoolSize) { - for (var i = config.iceCandidatePoolSize; i > 0; i--) { - this._iceGatherers.push(new window.RTCIceGatherer({ - iceServers: config.iceServers, - gatherPolicy: config.iceTransportPolicy - })); - } - } else { - config.iceCandidatePoolSize = 0; - } - - this._config = config; - - // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ... - // everything that is needed to describe a SDP m-line. - this.transceivers = []; - - this._sdpSessionId = sdp.generateSessionId(); - this._sdpSessionVersion = 0; - - this._dtlsRole = undefined; // role for a=setup to use in answers. - - this._isClosed = false; - }; - - Object.defineProperty(RTCPeerConnection.prototype, 'localDescription', { - configurable: true, - get: function() { - return this._localDescription; - } - }); - Object.defineProperty(RTCPeerConnection.prototype, 'remoteDescription', { - configurable: true, - get: function() { - return this._remoteDescription; - } - }); - - // set up event handlers on prototype - RTCPeerConnection.prototype.onicecandidate = null; - RTCPeerConnection.prototype.onaddstream = null; - RTCPeerConnection.prototype.ontrack = null; - RTCPeerConnection.prototype.onremovestream = null; - RTCPeerConnection.prototype.onsignalingstatechange = null; - RTCPeerConnection.prototype.oniceconnectionstatechange = null; - RTCPeerConnection.prototype.onconnectionstatechange = null; - RTCPeerConnection.prototype.onicegatheringstatechange = null; - RTCPeerConnection.prototype.onnegotiationneeded = null; - RTCPeerConnection.prototype.ondatachannel = null; - - RTCPeerConnection.prototype._dispatchEvent = function(name, event) { - if (this._isClosed) { - return; - } - this.dispatchEvent(event); - if (typeof this['on' + name] === 'function') { - this['on' + name](event); - } - }; - - RTCPeerConnection.prototype._emitGatheringStateChange = function() { - var event = new Event('icegatheringstatechange'); - this._dispatchEvent('icegatheringstatechange', event); - }; - - RTCPeerConnection.prototype.getConfiguration = function() { - return this._config; - }; - - RTCPeerConnection.prototype.getLocalStreams = function() { - return this.localStreams; - }; - - RTCPeerConnection.prototype.getRemoteStreams = function() { - return this.remoteStreams; - }; - - // internal helper to create a transceiver object. - // (which is not yet the same as the WebRTC 1.0 transceiver) - RTCPeerConnection.prototype._createTransceiver = function(kind, doNotAdd) { - var hasBundleTransport = this.transceivers.length > 0; - var transceiver = { - track: null, - iceGatherer: null, - iceTransport: null, - dtlsTransport: null, - localCapabilities: null, - remoteCapabilities: null, - rtpSender: null, - rtpReceiver: null, - kind: kind, - mid: null, - sendEncodingParameters: null, - recvEncodingParameters: null, - stream: null, - associatedRemoteMediaStreams: [], - wantReceive: true - }; - if (this.usingBundle && hasBundleTransport) { - transceiver.iceTransport = this.transceivers[0].iceTransport; - transceiver.dtlsTransport = this.transceivers[0].dtlsTransport; - } else { - var transports = this._createIceAndDtlsTransports(); - transceiver.iceTransport = transports.iceTransport; - transceiver.dtlsTransport = transports.dtlsTransport; - } - if (!doNotAdd) { - this.transceivers.push(transceiver); - } - return transceiver; - }; - - RTCPeerConnection.prototype.addTrack = function(track, stream) { - if (this._isClosed) { - throw makeError('InvalidStateError', - 'Attempted to call addTrack on a closed peerconnection.'); - } - - var alreadyExists = this.transceivers.find(function(s) { - return s.track === track; - }); - - if (alreadyExists) { - throw makeError('InvalidAccessError', 'Track already exists.'); - } - - var transceiver; - for (var i = 0; i < this.transceivers.length; i++) { - if (!this.transceivers[i].track && - this.transceivers[i].kind === track.kind) { - transceiver = this.transceivers[i]; - } - } - if (!transceiver) { - transceiver = this._createTransceiver(track.kind); - } - - this._maybeFireNegotiationNeeded(); - - if (this.localStreams.indexOf(stream) === -1) { - this.localStreams.push(stream); - } - - transceiver.track = track; - transceiver.stream = stream; - transceiver.rtpSender = new window.RTCRtpSender(track, - transceiver.dtlsTransport); - return transceiver.rtpSender; - }; - - RTCPeerConnection.prototype.addStream = function(stream) { - var pc = this; - if (edgeVersion >= 15025) { - stream.getTracks().forEach(function(track) { - pc.addTrack(track, stream); - }); - } else { - // Clone is necessary for local demos mostly, attaching directly - // to two different senders does not work (build 10547). - // Fixed in 15025 (or earlier) - var clonedStream = stream.clone(); - stream.getTracks().forEach(function(track, idx) { - var clonedTrack = clonedStream.getTracks()[idx]; - track.addEventListener('enabled', function(event) { - clonedTrack.enabled = event.enabled; - }); - }); - clonedStream.getTracks().forEach(function(track) { - pc.addTrack(track, clonedStream); - }); - } - }; - - RTCPeerConnection.prototype.removeTrack = function(sender) { - if (this._isClosed) { - throw makeError('InvalidStateError', - 'Attempted to call removeTrack on a closed peerconnection.'); - } - - if (!(sender instanceof window.RTCRtpSender)) { - throw new TypeError('Argument 1 of RTCPeerConnection.removeTrack ' + - 'does not implement interface RTCRtpSender.'); - } - - var transceiver = this.transceivers.find(function(t) { - return t.rtpSender === sender; - }); - - if (!transceiver) { - throw makeError('InvalidAccessError', - 'Sender was not created by this connection.'); - } - var stream = transceiver.stream; - - transceiver.rtpSender.stop(); - transceiver.rtpSender = null; - transceiver.track = null; - transceiver.stream = null; - - // remove the stream from the set of local streams - var localStreams = this.transceivers.map(function(t) { - return t.stream; - }); - if (localStreams.indexOf(stream) === -1 && - this.localStreams.indexOf(stream) > -1) { - this.localStreams.splice(this.localStreams.indexOf(stream), 1); - } - - this._maybeFireNegotiationNeeded(); - }; - - RTCPeerConnection.prototype.removeStream = function(stream) { - var pc = this; - stream.getTracks().forEach(function(track) { - var sender = pc.getSenders().find(function(s) { - return s.track === track; - }); - if (sender) { - pc.removeTrack(sender); - } - }); - }; - - RTCPeerConnection.prototype.getSenders = function() { - return this.transceivers.filter(function(transceiver) { - return !!transceiver.rtpSender; - }) - .map(function(transceiver) { - return transceiver.rtpSender; - }); - }; - - RTCPeerConnection.prototype.getReceivers = function() { - return this.transceivers.filter(function(transceiver) { - return !!transceiver.rtpReceiver; - }) - .map(function(transceiver) { - return transceiver.rtpReceiver; - }); - }; - - - RTCPeerConnection.prototype._createIceGatherer = function(sdpMLineIndex, - usingBundle) { - var pc = this; - if (usingBundle && sdpMLineIndex > 0) { - return this.transceivers[0].iceGatherer; - } else if (this._iceGatherers.length) { - return this._iceGatherers.shift(); - } - var iceGatherer = new window.RTCIceGatherer({ - iceServers: this._config.iceServers, - gatherPolicy: this._config.iceTransportPolicy - }); - Object.defineProperty(iceGatherer, 'state', - {value: 'new', writable: true} - ); - - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = []; - this.transceivers[sdpMLineIndex].bufferCandidates = function(event) { - var end = !event.candidate || Object.keys(event.candidate).length === 0; - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - iceGatherer.state = end ? 'completed' : 'gathering'; - if (pc.transceivers[sdpMLineIndex].bufferedCandidateEvents !== null) { - pc.transceivers[sdpMLineIndex].bufferedCandidateEvents.push(event); - } - }; - iceGatherer.addEventListener('localcandidate', - this.transceivers[sdpMLineIndex].bufferCandidates); - return iceGatherer; - }; - - // start gathering from an RTCIceGatherer. - RTCPeerConnection.prototype._gather = function(mid, sdpMLineIndex) { - var pc = this; - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer.onlocalcandidate) { - return; - } - var bufferedCandidateEvents = - this.transceivers[sdpMLineIndex].bufferedCandidateEvents; - this.transceivers[sdpMLineIndex].bufferedCandidateEvents = null; - iceGatherer.removeEventListener('localcandidate', - this.transceivers[sdpMLineIndex].bufferCandidates); - iceGatherer.onlocalcandidate = function(evt) { - if (pc.usingBundle && sdpMLineIndex > 0) { - // if we know that we use bundle we can drop candidates with - // ѕdpMLineIndex > 0. If we don't do this then our state gets - // confused since we dispose the extra ice gatherer. - return; - } - var event = new Event('icecandidate'); - event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex}; - - var cand = evt.candidate; - // Edge emits an empty object for RTCIceCandidateComplete‥ - var end = !cand || Object.keys(cand).length === 0; - if (end) { - // polyfill since RTCIceGatherer.state is not implemented in - // Edge 10547 yet. - if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') { - iceGatherer.state = 'completed'; - } - } else { - if (iceGatherer.state === 'new') { - iceGatherer.state = 'gathering'; - } - // RTCIceCandidate doesn't have a component, needs to be added - cand.component = 1; - // also the usernameFragment. TODO: update SDP to take both variants. - cand.ufrag = iceGatherer.getLocalParameters().usernameFragment; - - var serializedCandidate = sdp.writeCandidate(cand); - event.candidate = Object.assign(event.candidate, - sdp.parseCandidate(serializedCandidate)); - - event.candidate.candidate = serializedCandidate; - event.candidate.toJSON = function() { - return { - candidate: event.candidate.candidate, - sdpMid: event.candidate.sdpMid, - sdpMLineIndex: event.candidate.sdpMLineIndex, - usernameFragment: event.candidate.usernameFragment - }; - }; - } - - // update local description. - var sections = sdp.getMediaSections(pc._localDescription.sdp); - if (!end) { - sections[event.candidate.sdpMLineIndex] += - 'a=' + event.candidate.candidate + '\r\n'; - } else { - sections[event.candidate.sdpMLineIndex] += - 'a=end-of-candidates\r\n'; - } - pc._localDescription.sdp = - sdp.getDescription(pc._localDescription.sdp) + - sections.join(''); - var complete = pc.transceivers.every(function(transceiver) { - return transceiver.iceGatherer && - transceiver.iceGatherer.state === 'completed'; - }); - - if (pc.iceGatheringState !== 'gathering') { - pc.iceGatheringState = 'gathering'; - pc._emitGatheringStateChange(); - } - - // Emit candidate. Also emit null candidate when all gatherers are - // complete. - if (!end) { - pc._dispatchEvent('icecandidate', event); - } - if (complete) { - pc._dispatchEvent('icecandidate', new Event('icecandidate')); - pc.iceGatheringState = 'complete'; - pc._emitGatheringStateChange(); - } - }; - - // emit already gathered candidates. - window.setTimeout(function() { - bufferedCandidateEvents.forEach(function(e) { - iceGatherer.onlocalcandidate(e); - }); - }, 0); - }; - - // Create ICE transport and DTLS transport. - RTCPeerConnection.prototype._createIceAndDtlsTransports = function() { - var pc = this; - var iceTransport = new window.RTCIceTransport(null); - iceTransport.onicestatechange = function() { - pc._updateIceConnectionState(); - pc._updateConnectionState(); - }; - - var dtlsTransport = new window.RTCDtlsTransport(iceTransport); - dtlsTransport.ondtlsstatechange = function() { - pc._updateConnectionState(); - }; - dtlsTransport.onerror = function() { - // onerror does not set state to failed by itself. - Object.defineProperty(dtlsTransport, 'state', - {value: 'failed', writable: true}); - pc._updateConnectionState(); - }; - - return { - iceTransport: iceTransport, - dtlsTransport: dtlsTransport - }; - }; - - // Destroy ICE gatherer, ICE transport and DTLS transport. - // Without triggering the callbacks. - RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function( - sdpMLineIndex) { - var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer; - if (iceGatherer) { - delete iceGatherer.onlocalcandidate; - delete this.transceivers[sdpMLineIndex].iceGatherer; - } - var iceTransport = this.transceivers[sdpMLineIndex].iceTransport; - if (iceTransport) { - delete iceTransport.onicestatechange; - delete this.transceivers[sdpMLineIndex].iceTransport; - } - var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport; - if (dtlsTransport) { - delete dtlsTransport.ondtlsstatechange; - delete dtlsTransport.onerror; - delete this.transceivers[sdpMLineIndex].dtlsTransport; - } - }; - - // Start the RTP Sender and Receiver for a transceiver. - RTCPeerConnection.prototype._transceive = function(transceiver, - send, recv) { - var params = getCommonCapabilities(transceiver.localCapabilities, - transceiver.remoteCapabilities); - if (send && transceiver.rtpSender) { - params.encodings = transceiver.sendEncodingParameters; - params.rtcp = { - cname: sdp.localCName, - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.recvEncodingParameters.length) { - params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc; - } - transceiver.rtpSender.send(params); - } - if (recv && transceiver.rtpReceiver && params.codecs.length > 0) { - // remove RTX field in Edge 14942 - if (transceiver.kind === 'video' - && transceiver.recvEncodingParameters - && edgeVersion < 15019) { - transceiver.recvEncodingParameters.forEach(function(p) { - delete p.rtx; - }); - } - if (transceiver.recvEncodingParameters.length) { - params.encodings = transceiver.recvEncodingParameters; - } else { - params.encodings = [{}]; - } - params.rtcp = { - compound: transceiver.rtcpParameters.compound - }; - if (transceiver.rtcpParameters.cname) { - params.rtcp.cname = transceiver.rtcpParameters.cname; - } - if (transceiver.sendEncodingParameters.length) { - params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc; - } - transceiver.rtpReceiver.receive(params); - } - }; - - RTCPeerConnection.prototype.setLocalDescription = function(description) { - var pc = this; - - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', - 'Unsupported type "' + description.type + '"')); - } - - if (!isActionAllowedInSignalingState('setLocalDescription', - description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', - 'Can not set local ' + description.type + - ' in state ' + pc.signalingState)); - } - - var sections; - var sessionpart; - if (description.type === 'offer') { - // VERY limited support for SDP munging. Limited to: - // * changing the order of codecs - sections = sdp.splitSections(description.sdp); - sessionpart = sections.shift(); - sections.forEach(function(mediaSection, sdpMLineIndex) { - var caps = sdp.parseRtpParameters(mediaSection); - pc.transceivers[sdpMLineIndex].localCapabilities = caps; - }); - - pc.transceivers.forEach(function(transceiver, sdpMLineIndex) { - pc._gather(transceiver.mid, sdpMLineIndex); - }); - } else if (description.type === 'answer') { - sections = sdp.splitSections(pc._remoteDescription.sdp); - sessionpart = sections.shift(); - var isIceLite = sdp.matchPrefix(sessionpart, - 'a=ice-lite').length > 0; - sections.forEach(function(mediaSection, sdpMLineIndex) { - var transceiver = pc.transceivers[sdpMLineIndex]; - var iceGatherer = transceiver.iceGatherer; - var iceTransport = transceiver.iceTransport; - var dtlsTransport = transceiver.dtlsTransport; - var localCapabilities = transceiver.localCapabilities; - var remoteCapabilities = transceiver.remoteCapabilities; - - // treat bundle-only as not-rejected. - var rejected = sdp.isRejected(mediaSection) && - sdp.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - - if (!rejected && !transceiver.rejected) { - var remoteIceParameters = sdp.getIceParameters( - mediaSection, sessionpart); - var remoteDtlsParameters = sdp.getDtlsParameters( - mediaSection, sessionpart); - if (isIceLite) { - remoteDtlsParameters.role = 'server'; - } - - if (!pc.usingBundle || sdpMLineIndex === 0) { - pc._gather(transceiver.mid, sdpMLineIndex); - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, - isIceLite ? 'controlling' : 'controlled'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } - - // Calculate intersection of capabilities. - var params = getCommonCapabilities(localCapabilities, - remoteCapabilities); - - // Start the RTCRtpSender. The RTCRtpReceiver for this - // transceiver has already been started in setRemoteDescription. - pc._transceive(transceiver, - params.codecs.length > 0, - false); - } - }); - } - - pc._localDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-local-offer'); - } else { - pc._updateSignalingState('stable'); - } - - return Promise.resolve(); - }; - - RTCPeerConnection.prototype.setRemoteDescription = function(description) { - var pc = this; - - // Note: pranswer is not supported. - if (['offer', 'answer'].indexOf(description.type) === -1) { - return Promise.reject(makeError('TypeError', - 'Unsupported type "' + description.type + '"')); - } - - if (!isActionAllowedInSignalingState('setRemoteDescription', - description.type, pc.signalingState) || pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', - 'Can not set remote ' + description.type + - ' in state ' + pc.signalingState)); - } - - var streams = {}; - pc.remoteStreams.forEach(function(stream) { - streams[stream.id] = stream; - }); - var receiverList = []; - var sections = sdp.splitSections(description.sdp); - var sessionpart = sections.shift(); - var isIceLite = sdp.matchPrefix(sessionpart, - 'a=ice-lite').length > 0; - var usingBundle = sdp.matchPrefix(sessionpart, - 'a=group:BUNDLE ').length > 0; - pc.usingBundle = usingBundle; - var iceOptions = sdp.matchPrefix(sessionpart, - 'a=ice-options:')[0]; - if (iceOptions) { - pc.canTrickleIceCandidates = iceOptions.substr(14).split(' ') - .indexOf('trickle') >= 0; - } else { - pc.canTrickleIceCandidates = false; - } - - sections.forEach(function(mediaSection, sdpMLineIndex) { - var lines = sdp.splitLines(mediaSection); - var kind = sdp.getKind(mediaSection); - // treat bundle-only as not-rejected. - var rejected = sdp.isRejected(mediaSection) && - sdp.matchPrefix(mediaSection, 'a=bundle-only').length === 0; - var protocol = lines[0].substr(2).split(' ')[2]; - - var direction = sdp.getDirection(mediaSection, sessionpart); - var remoteMsid = sdp.parseMsid(mediaSection); - - var mid = sdp.getMid(mediaSection) || sdp.generateIdentifier(); - - // Reject datachannels which are not implemented yet. - if (rejected || (kind === 'application' && (protocol === 'DTLS/SCTP' || - protocol === 'UDP/DTLS/SCTP'))) { - // TODO: this is dangerous in the case where a non-rejected m-line - // becomes rejected. - pc.transceivers[sdpMLineIndex] = { - mid: mid, - kind: kind, - protocol: protocol, - rejected: true - }; - return; - } - - if (!rejected && pc.transceivers[sdpMLineIndex] && - pc.transceivers[sdpMLineIndex].rejected) { - // recycle a rejected transceiver. - pc.transceivers[sdpMLineIndex] = pc._createTransceiver(kind, true); - } - - var transceiver; - var iceGatherer; - var iceTransport; - var dtlsTransport; - var rtpReceiver; - var sendEncodingParameters; - var recvEncodingParameters; - var localCapabilities; - - var track; - // FIXME: ensure the mediaSection has rtcp-mux set. - var remoteCapabilities = sdp.parseRtpParameters(mediaSection); - var remoteIceParameters; - var remoteDtlsParameters; - if (!rejected) { - remoteIceParameters = sdp.getIceParameters(mediaSection, - sessionpart); - remoteDtlsParameters = sdp.getDtlsParameters(mediaSection, - sessionpart); - remoteDtlsParameters.role = 'client'; - } - recvEncodingParameters = - sdp.parseRtpEncodingParameters(mediaSection); - - var rtcpParameters = sdp.parseRtcpParameters(mediaSection); - - var isComplete = sdp.matchPrefix(mediaSection, - 'a=end-of-candidates', sessionpart).length > 0; - var cands = sdp.matchPrefix(mediaSection, 'a=candidate:') - .map(function(cand) { - return sdp.parseCandidate(cand); - }) - .filter(function(cand) { - return cand.component === 1; - }); - - // Check if we can use BUNDLE and dispose transports. - if ((description.type === 'offer' || description.type === 'answer') && - !rejected && usingBundle && sdpMLineIndex > 0 && - pc.transceivers[sdpMLineIndex]) { - pc._disposeIceAndDtlsTransports(sdpMLineIndex); - pc.transceivers[sdpMLineIndex].iceGatherer = - pc.transceivers[0].iceGatherer; - pc.transceivers[sdpMLineIndex].iceTransport = - pc.transceivers[0].iceTransport; - pc.transceivers[sdpMLineIndex].dtlsTransport = - pc.transceivers[0].dtlsTransport; - if (pc.transceivers[sdpMLineIndex].rtpSender) { - pc.transceivers[sdpMLineIndex].rtpSender.setTransport( - pc.transceivers[0].dtlsTransport); - } - if (pc.transceivers[sdpMLineIndex].rtpReceiver) { - pc.transceivers[sdpMLineIndex].rtpReceiver.setTransport( - pc.transceivers[0].dtlsTransport); - } - } - if (description.type === 'offer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex] || - pc._createTransceiver(kind); - transceiver.mid = mid; - - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, - usingBundle); - } - - if (cands.length && transceiver.iceTransport.state === 'new') { - if (isComplete && (!usingBundle || sdpMLineIndex === 0)) { - transceiver.iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function(candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } - - localCapabilities = window.RTCRtpReceiver.getCapabilities(kind); - - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter( - function(codec) { - return codec.name !== 'rtx'; - }); - } - - sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 2) * 1001 - }]; - - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - var isNewTrack = false; - if (direction === 'sendrecv' || direction === 'sendonly') { - isNewTrack = !transceiver.rtpReceiver; - rtpReceiver = transceiver.rtpReceiver || - new window.RTCRtpReceiver(transceiver.dtlsTransport, kind); - - if (isNewTrack) { - var stream; - track = rtpReceiver.track; - // FIXME: does not work with Plan B. - if (remoteMsid && remoteMsid.stream === '-') ; else if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - Object.defineProperty(streams[remoteMsid.stream], 'id', { - get: function() { - return remoteMsid.stream; - } - }); - } - Object.defineProperty(track, 'id', { - get: function() { - return remoteMsid.track; - } - }); - stream = streams[remoteMsid.stream]; - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - stream = streams.default; - } - if (stream) { - addTrackToStreamAndFireEvent(track, stream); - transceiver.associatedRemoteMediaStreams.push(stream); - } - receiverList.push([track, rtpReceiver, stream]); - } - } else if (transceiver.rtpReceiver && transceiver.rtpReceiver.track) { - transceiver.associatedRemoteMediaStreams.forEach(function(s) { - var nativeTrack = s.getTracks().find(function(t) { - return t.id === transceiver.rtpReceiver.track.id; - }); - if (nativeTrack) { - removeTrackFromStreamAndFireEvent(nativeTrack, s); - } - }); - transceiver.associatedRemoteMediaStreams = []; - } - - transceiver.localCapabilities = localCapabilities; - transceiver.remoteCapabilities = remoteCapabilities; - transceiver.rtpReceiver = rtpReceiver; - transceiver.rtcpParameters = rtcpParameters; - transceiver.sendEncodingParameters = sendEncodingParameters; - transceiver.recvEncodingParameters = recvEncodingParameters; - - // Start the RTCRtpReceiver now. The RTPSender is started in - // setLocalDescription. - pc._transceive(pc.transceivers[sdpMLineIndex], - false, - isNewTrack); - } else if (description.type === 'answer' && !rejected) { - transceiver = pc.transceivers[sdpMLineIndex]; - iceGatherer = transceiver.iceGatherer; - iceTransport = transceiver.iceTransport; - dtlsTransport = transceiver.dtlsTransport; - rtpReceiver = transceiver.rtpReceiver; - sendEncodingParameters = transceiver.sendEncodingParameters; - localCapabilities = transceiver.localCapabilities; - - pc.transceivers[sdpMLineIndex].recvEncodingParameters = - recvEncodingParameters; - pc.transceivers[sdpMLineIndex].remoteCapabilities = - remoteCapabilities; - pc.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters; - - if (cands.length && iceTransport.state === 'new') { - if ((isIceLite || isComplete) && - (!usingBundle || sdpMLineIndex === 0)) { - iceTransport.setRemoteCandidates(cands); - } else { - cands.forEach(function(candidate) { - maybeAddCandidate(transceiver.iceTransport, candidate); - }); - } - } - - if (!usingBundle || sdpMLineIndex === 0) { - if (iceTransport.state === 'new') { - iceTransport.start(iceGatherer, remoteIceParameters, - 'controlling'); - } - if (dtlsTransport.state === 'new') { - dtlsTransport.start(remoteDtlsParameters); - } - } - - // If the offer contained RTX but the answer did not, - // remove RTX from sendEncodingParameters. - var commonCapabilities = getCommonCapabilities( - transceiver.localCapabilities, - transceiver.remoteCapabilities); - - var hasRtx = commonCapabilities.codecs.filter(function(c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } - - pc._transceive(transceiver, - direction === 'sendrecv' || direction === 'recvonly', - direction === 'sendrecv' || direction === 'sendonly'); - - // TODO: rewrite to use http://w3c.github.io/webrtc-pc/#set-associated-remote-streams - if (rtpReceiver && - (direction === 'sendrecv' || direction === 'sendonly')) { - track = rtpReceiver.track; - if (remoteMsid) { - if (!streams[remoteMsid.stream]) { - streams[remoteMsid.stream] = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams[remoteMsid.stream]); - receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]); - } else { - if (!streams.default) { - streams.default = new window.MediaStream(); - } - addTrackToStreamAndFireEvent(track, streams.default); - receiverList.push([track, rtpReceiver, streams.default]); - } - } else { - // FIXME: actually the receiver should be created later. - delete transceiver.rtpReceiver; - } - } - }); - - if (pc._dtlsRole === undefined) { - pc._dtlsRole = description.type === 'offer' ? 'active' : 'passive'; - } - - pc._remoteDescription = { - type: description.type, - sdp: description.sdp - }; - if (description.type === 'offer') { - pc._updateSignalingState('have-remote-offer'); - } else { - pc._updateSignalingState('stable'); - } - Object.keys(streams).forEach(function(sid) { - var stream = streams[sid]; - if (stream.getTracks().length) { - if (pc.remoteStreams.indexOf(stream) === -1) { - pc.remoteStreams.push(stream); - var event = new Event('addstream'); - event.stream = stream; - window.setTimeout(function() { - pc._dispatchEvent('addstream', event); - }); - } - - receiverList.forEach(function(item) { - var track = item[0]; - var receiver = item[1]; - if (stream.id !== item[2].id) { - return; - } - fireAddTrack(pc, track, receiver, [stream]); - }); - } - }); - receiverList.forEach(function(item) { - if (item[2]) { - return; - } - fireAddTrack(pc, item[0], item[1], []); - }); - - // check whether addIceCandidate({}) was called within four seconds after - // setRemoteDescription. - window.setTimeout(function() { - if (!(pc && pc.transceivers)) { - return; - } - pc.transceivers.forEach(function(transceiver) { - if (transceiver.iceTransport && - transceiver.iceTransport.state === 'new' && - transceiver.iceTransport.getRemoteCandidates().length > 0) { - console.warn('Timeout for addRemoteCandidate. Consider sending ' + - 'an end-of-candidates notification'); - transceiver.iceTransport.addRemoteCandidate({}); - } - }); - }, 4000); - - return Promise.resolve(); - }; - - RTCPeerConnection.prototype.close = function() { - this.transceivers.forEach(function(transceiver) { - /* not yet - if (transceiver.iceGatherer) { - transceiver.iceGatherer.close(); - } - */ - if (transceiver.iceTransport) { - transceiver.iceTransport.stop(); - } - if (transceiver.dtlsTransport) { - transceiver.dtlsTransport.stop(); - } - if (transceiver.rtpSender) { - transceiver.rtpSender.stop(); - } - if (transceiver.rtpReceiver) { - transceiver.rtpReceiver.stop(); - } - }); - // FIXME: clean up tracks, local streams, remote streams, etc - this._isClosed = true; - this._updateSignalingState('closed'); - }; - - // Update the signaling state. - RTCPeerConnection.prototype._updateSignalingState = function(newState) { - this.signalingState = newState; - var event = new Event('signalingstatechange'); - this._dispatchEvent('signalingstatechange', event); - }; - - // Determine whether to fire the negotiationneeded event. - RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function() { - var pc = this; - if (this.signalingState !== 'stable' || this.needNegotiation === true) { - return; - } - this.needNegotiation = true; - window.setTimeout(function() { - if (pc.needNegotiation) { - pc.needNegotiation = false; - var event = new Event('negotiationneeded'); - pc._dispatchEvent('negotiationneeded', event); - } - }, 0); - }; - - // Update the ice connection state. - RTCPeerConnection.prototype._updateIceConnectionState = function() { - var newState; - var states = { - 'new': 0, - closed: 0, - checking: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function(transceiver) { - if (transceiver.iceTransport && !transceiver.rejected) { - states[transceiver.iceTransport.state]++; - } - }); - - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.checking > 0) { - newState = 'checking'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } else if (states.completed > 0) { - newState = 'completed'; - } - - if (newState !== this.iceConnectionState) { - this.iceConnectionState = newState; - var event = new Event('iceconnectionstatechange'); - this._dispatchEvent('iceconnectionstatechange', event); - } - }; - - // Update the connection state. - RTCPeerConnection.prototype._updateConnectionState = function() { - var newState; - var states = { - 'new': 0, - closed: 0, - connecting: 0, - connected: 0, - completed: 0, - disconnected: 0, - failed: 0 - }; - this.transceivers.forEach(function(transceiver) { - if (transceiver.iceTransport && transceiver.dtlsTransport && - !transceiver.rejected) { - states[transceiver.iceTransport.state]++; - states[transceiver.dtlsTransport.state]++; - } - }); - // ICETransport.completed and connected are the same for this purpose. - states.connected += states.completed; - - newState = 'new'; - if (states.failed > 0) { - newState = 'failed'; - } else if (states.connecting > 0) { - newState = 'connecting'; - } else if (states.disconnected > 0) { - newState = 'disconnected'; - } else if (states.new > 0) { - newState = 'new'; - } else if (states.connected > 0) { - newState = 'connected'; - } - - if (newState !== this.connectionState) { - this.connectionState = newState; - var event = new Event('connectionstatechange'); - this._dispatchEvent('connectionstatechange', event); - } - }; - - RTCPeerConnection.prototype.createOffer = function() { - var pc = this; - - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', - 'Can not call createOffer after close')); - } - - var numAudioTracks = pc.transceivers.filter(function(t) { - return t.kind === 'audio'; - }).length; - var numVideoTracks = pc.transceivers.filter(function(t) { - return t.kind === 'video'; - }).length; - - // Determine number of audio and video tracks we need to send/recv. - var offerOptions = arguments[0]; - if (offerOptions) { - // Reject Chrome legacy constraints. - if (offerOptions.mandatory || offerOptions.optional) { - throw new TypeError( - 'Legacy mandatory/optional constraints not supported.'); - } - if (offerOptions.offerToReceiveAudio !== undefined) { - if (offerOptions.offerToReceiveAudio === true) { - numAudioTracks = 1; - } else if (offerOptions.offerToReceiveAudio === false) { - numAudioTracks = 0; - } else { - numAudioTracks = offerOptions.offerToReceiveAudio; - } - } - if (offerOptions.offerToReceiveVideo !== undefined) { - if (offerOptions.offerToReceiveVideo === true) { - numVideoTracks = 1; - } else if (offerOptions.offerToReceiveVideo === false) { - numVideoTracks = 0; - } else { - numVideoTracks = offerOptions.offerToReceiveVideo; - } - } - } - - pc.transceivers.forEach(function(transceiver) { - if (transceiver.kind === 'audio') { - numAudioTracks--; - if (numAudioTracks < 0) { - transceiver.wantReceive = false; - } - } else if (transceiver.kind === 'video') { - numVideoTracks--; - if (numVideoTracks < 0) { - transceiver.wantReceive = false; - } - } - }); - - // Create M-lines for recvonly streams. - while (numAudioTracks > 0 || numVideoTracks > 0) { - if (numAudioTracks > 0) { - pc._createTransceiver('audio'); - numAudioTracks--; - } - if (numVideoTracks > 0) { - pc._createTransceiver('video'); - numVideoTracks--; - } - } - - var sdp$1 = sdp.writeSessionBoilerplate(pc._sdpSessionId, - pc._sdpSessionVersion++); - pc.transceivers.forEach(function(transceiver, sdpMLineIndex) { - // For each track, create an ice gatherer, ice transport, - // dtls transport, potentially rtpsender and rtpreceiver. - var track = transceiver.track; - var kind = transceiver.kind; - var mid = transceiver.mid || sdp.generateIdentifier(); - transceiver.mid = mid; - - if (!transceiver.iceGatherer) { - transceiver.iceGatherer = pc._createIceGatherer(sdpMLineIndex, - pc.usingBundle); - } - - var localCapabilities = window.RTCRtpSender.getCapabilities(kind); - // filter RTX until additional stuff needed for RTX is implemented - // in adapter.js - if (edgeVersion < 15019) { - localCapabilities.codecs = localCapabilities.codecs.filter( - function(codec) { - return codec.name !== 'rtx'; - }); - } - localCapabilities.codecs.forEach(function(codec) { - // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552 - // by adding level-asymmetry-allowed=1 - if (codec.name === 'H264' && - codec.parameters['level-asymmetry-allowed'] === undefined) { - codec.parameters['level-asymmetry-allowed'] = '1'; - } - - // for subsequent offers, we might have to re-use the payload - // type of the last offer. - if (transceiver.remoteCapabilities && - transceiver.remoteCapabilities.codecs) { - transceiver.remoteCapabilities.codecs.forEach(function(remoteCodec) { - if (codec.name.toLowerCase() === remoteCodec.name.toLowerCase() && - codec.clockRate === remoteCodec.clockRate) { - codec.preferredPayloadType = remoteCodec.payloadType; - } - }); - } - }); - localCapabilities.headerExtensions.forEach(function(hdrExt) { - var remoteExtensions = transceiver.remoteCapabilities && - transceiver.remoteCapabilities.headerExtensions || []; - remoteExtensions.forEach(function(rHdrExt) { - if (hdrExt.uri === rHdrExt.uri) { - hdrExt.id = rHdrExt.id; - } - }); - }); - - // generate an ssrc now, to be used later in rtpSender.send - var sendEncodingParameters = transceiver.sendEncodingParameters || [{ - ssrc: (2 * sdpMLineIndex + 1) * 1001 - }]; - if (track) { - // add RTX - if (edgeVersion >= 15019 && kind === 'video' && - !sendEncodingParameters[0].rtx) { - sendEncodingParameters[0].rtx = { - ssrc: sendEncodingParameters[0].ssrc + 1 - }; - } - } - - if (transceiver.wantReceive) { - transceiver.rtpReceiver = new window.RTCRtpReceiver( - transceiver.dtlsTransport, kind); - } - - transceiver.localCapabilities = localCapabilities; - transceiver.sendEncodingParameters = sendEncodingParameters; - }); - - // always offer BUNDLE and dispose on return if not supported. - if (pc._config.bundlePolicy !== 'max-compat') { - sdp$1 += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp$1 += 'a=ice-options:trickle\r\n'; - - pc.transceivers.forEach(function(transceiver, sdpMLineIndex) { - sdp$1 += writeMediaSection(transceiver, transceiver.localCapabilities, - 'offer', transceiver.stream, pc._dtlsRole); - sdp$1 += 'a=rtcp-rsize\r\n'; - - if (transceiver.iceGatherer && pc.iceGatheringState !== 'new' && - (sdpMLineIndex === 0 || !pc.usingBundle)) { - transceiver.iceGatherer.getLocalCandidates().forEach(function(cand) { - cand.component = 1; - sdp$1 += 'a=' + sdp.writeCandidate(cand) + '\r\n'; - }); - - if (transceiver.iceGatherer.state === 'completed') { - sdp$1 += 'a=end-of-candidates\r\n'; - } - } - }); - - var desc = new window.RTCSessionDescription({ - type: 'offer', - sdp: sdp$1 - }); - return Promise.resolve(desc); - }; - - RTCPeerConnection.prototype.createAnswer = function() { - var pc = this; - - if (pc._isClosed) { - return Promise.reject(makeError('InvalidStateError', - 'Can not call createAnswer after close')); - } - - if (!(pc.signalingState === 'have-remote-offer' || - pc.signalingState === 'have-local-pranswer')) { - return Promise.reject(makeError('InvalidStateError', - 'Can not call createAnswer in signalingState ' + pc.signalingState)); - } - - var sdp$1 = sdp.writeSessionBoilerplate(pc._sdpSessionId, - pc._sdpSessionVersion++); - if (pc.usingBundle) { - sdp$1 += 'a=group:BUNDLE ' + pc.transceivers.map(function(t) { - return t.mid; - }).join(' ') + '\r\n'; - } - sdp$1 += 'a=ice-options:trickle\r\n'; - - var mediaSectionsInOffer = sdp.getMediaSections( - pc._remoteDescription.sdp).length; - pc.transceivers.forEach(function(transceiver, sdpMLineIndex) { - if (sdpMLineIndex + 1 > mediaSectionsInOffer) { - return; - } - if (transceiver.rejected) { - if (transceiver.kind === 'application') { - if (transceiver.protocol === 'DTLS/SCTP') { // legacy fmt - sdp$1 += 'm=application 0 DTLS/SCTP 5000\r\n'; - } else { - sdp$1 += 'm=application 0 ' + transceiver.protocol + - ' webrtc-datachannel\r\n'; - } - } else if (transceiver.kind === 'audio') { - sdp$1 += 'm=audio 0 UDP/TLS/RTP/SAVPF 0\r\n' + - 'a=rtpmap:0 PCMU/8000\r\n'; - } else if (transceiver.kind === 'video') { - sdp$1 += 'm=video 0 UDP/TLS/RTP/SAVPF 120\r\n' + - 'a=rtpmap:120 VP8/90000\r\n'; - } - sdp$1 += 'c=IN IP4 0.0.0.0\r\n' + - 'a=inactive\r\n' + - 'a=mid:' + transceiver.mid + '\r\n'; - return; - } - - // FIXME: look at direction. - if (transceiver.stream) { - var localTrack; - if (transceiver.kind === 'audio') { - localTrack = transceiver.stream.getAudioTracks()[0]; - } else if (transceiver.kind === 'video') { - localTrack = transceiver.stream.getVideoTracks()[0]; - } - if (localTrack) { - // add RTX - if (edgeVersion >= 15019 && transceiver.kind === 'video' && - !transceiver.sendEncodingParameters[0].rtx) { - transceiver.sendEncodingParameters[0].rtx = { - ssrc: transceiver.sendEncodingParameters[0].ssrc + 1 - }; - } - } - } - - // Calculate intersection of capabilities. - var commonCapabilities = getCommonCapabilities( - transceiver.localCapabilities, - transceiver.remoteCapabilities); - - var hasRtx = commonCapabilities.codecs.filter(function(c) { - return c.name.toLowerCase() === 'rtx'; - }).length; - if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) { - delete transceiver.sendEncodingParameters[0].rtx; - } - - sdp$1 += writeMediaSection(transceiver, commonCapabilities, - 'answer', transceiver.stream, pc._dtlsRole); - if (transceiver.rtcpParameters && - transceiver.rtcpParameters.reducedSize) { - sdp$1 += 'a=rtcp-rsize\r\n'; - } - }); - - var desc = new window.RTCSessionDescription({ - type: 'answer', - sdp: sdp$1 - }); - return Promise.resolve(desc); - }; - - RTCPeerConnection.prototype.addIceCandidate = function(candidate) { - var pc = this; - var sections; - if (candidate && !(candidate.sdpMLineIndex !== undefined || - candidate.sdpMid)) { - return Promise.reject(new TypeError('sdpMLineIndex or sdpMid required')); - } - - // TODO: needs to go into ops queue. - return new Promise(function(resolve, reject) { - if (!pc._remoteDescription) { - return reject(makeError('InvalidStateError', - 'Can not add ICE candidate without a remote description')); - } else if (!candidate || candidate.candidate === '') { - for (var j = 0; j < pc.transceivers.length; j++) { - if (pc.transceivers[j].rejected) { - continue; - } - pc.transceivers[j].iceTransport.addRemoteCandidate({}); - sections = sdp.getMediaSections(pc._remoteDescription.sdp); - sections[j] += 'a=end-of-candidates\r\n'; - pc._remoteDescription.sdp = - sdp.getDescription(pc._remoteDescription.sdp) + - sections.join(''); - if (pc.usingBundle) { - break; - } - } - } else { - var sdpMLineIndex = candidate.sdpMLineIndex; - if (candidate.sdpMid) { - for (var i = 0; i < pc.transceivers.length; i++) { - if (pc.transceivers[i].mid === candidate.sdpMid) { - sdpMLineIndex = i; - break; - } - } - } - var transceiver = pc.transceivers[sdpMLineIndex]; - if (transceiver) { - if (transceiver.rejected) { - return resolve(); - } - var cand = Object.keys(candidate.candidate).length > 0 ? - sdp.parseCandidate(candidate.candidate) : {}; - // Ignore Chrome's invalid candidates since Edge does not like them. - if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) { - return resolve(); - } - // Ignore RTCP candidates, we assume RTCP-MUX. - if (cand.component && cand.component !== 1) { - return resolve(); - } - // when using bundle, avoid adding candidates to the wrong - // ice transport. And avoid adding candidates added in the SDP. - if (sdpMLineIndex === 0 || (sdpMLineIndex > 0 && - transceiver.iceTransport !== pc.transceivers[0].iceTransport)) { - if (!maybeAddCandidate(transceiver.iceTransport, cand)) { - return reject(makeError('OperationError', - 'Can not add ICE candidate')); - } - } - - // update the remoteDescription. - var candidateString = candidate.candidate.trim(); - if (candidateString.indexOf('a=') === 0) { - candidateString = candidateString.substr(2); - } - sections = sdp.getMediaSections(pc._remoteDescription.sdp); - sections[sdpMLineIndex] += 'a=' + - (cand.type ? candidateString : 'end-of-candidates') - + '\r\n'; - pc._remoteDescription.sdp = - sdp.getDescription(pc._remoteDescription.sdp) + - sections.join(''); - } else { - return reject(makeError('OperationError', - 'Can not add ICE candidate')); - } - } - resolve(); - }); - }; - - RTCPeerConnection.prototype.getStats = function(selector) { - if (selector && selector instanceof window.MediaStreamTrack) { - var senderOrReceiver = null; - this.transceivers.forEach(function(transceiver) { - if (transceiver.rtpSender && - transceiver.rtpSender.track === selector) { - senderOrReceiver = transceiver.rtpSender; - } else if (transceiver.rtpReceiver && - transceiver.rtpReceiver.track === selector) { - senderOrReceiver = transceiver.rtpReceiver; - } - }); - if (!senderOrReceiver) { - throw makeError('InvalidAccessError', 'Invalid selector.'); - } - return senderOrReceiver.getStats(); - } - - var promises = []; - this.transceivers.forEach(function(transceiver) { - ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport', - 'dtlsTransport'].forEach(function(method) { - if (transceiver[method]) { - promises.push(transceiver[method].getStats()); - } - }); - }); - return Promise.all(promises).then(function(allStats) { - var results = new Map(); - allStats.forEach(function(stats) { - stats.forEach(function(stat) { - results.set(stat.id, stat); - }); - }); - return results; - }); - }; - - // fix low-level stat names and return Map instead of object. - var ortcObjects = ['RTCRtpSender', 'RTCRtpReceiver', 'RTCIceGatherer', - 'RTCIceTransport', 'RTCDtlsTransport']; - ortcObjects.forEach(function(ortcObjectName) { - var obj = window[ortcObjectName]; - if (obj && obj.prototype && obj.prototype.getStats) { - var nativeGetstats = obj.prototype.getStats; - obj.prototype.getStats = function() { - return nativeGetstats.apply(this) - .then(function(nativeStats) { - var mapStats = new Map(); - Object.keys(nativeStats).forEach(function(id) { - nativeStats[id].type = fixStatsType(nativeStats[id]); - mapStats.set(id, nativeStats[id]); - }); - return mapStats; - }); - }; - } - }); - - // legacy callback shims. Should be moved to adapter.js some days. - var methods = ['createOffer', 'createAnswer']; - methods.forEach(function(method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function() { - var args = arguments; - if (typeof args[0] === 'function' || - typeof args[1] === 'function') { // legacy - return nativeMethod.apply(this, [arguments[2]]) - .then(function(description) { - if (typeof args[0] === 'function') { - args[0].apply(null, [description]); - } - }, function(error) { - if (typeof args[1] === 'function') { - args[1].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); - - methods = ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']; - methods.forEach(function(method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function() { - var args = arguments; - if (typeof args[1] === 'function' || - typeof args[2] === 'function') { // legacy - return nativeMethod.apply(this, arguments) - .then(function() { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }, function(error) { - if (typeof args[2] === 'function') { - args[2].apply(null, [error]); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); - - // getStats is special. It doesn't have a spec legacy method yet we support - // getStats(something, cb) without error callbacks. - ['getStats'].forEach(function(method) { - var nativeMethod = RTCPeerConnection.prototype[method]; - RTCPeerConnection.prototype[method] = function() { - var args = arguments; - if (typeof args[1] === 'function') { - return nativeMethod.apply(this, arguments) - .then(function() { - if (typeof args[1] === 'function') { - args[1].apply(null); - } - }); - } - return nativeMethod.apply(this, arguments); - }; - }); - - return RTCPeerConnection; - }; - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimGetUserMedia$2(window) { - const navigator = window && window.navigator; - - const shimError_ = function(e) { - return { - name: {PermissionDeniedError: 'NotAllowedError'}[e.name] || e.name, - message: e.message, - constraint: e.constraint, - toString() { - return this.name; - } - }; - }; - - // getUserMedia error shim. - const origGetUserMedia = navigator.mediaDevices.getUserMedia. - bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function(c) { - return origGetUserMedia(c).catch(e => Promise.reject(shimError_(e))); - }; - } - - /* - * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimGetDisplayMedia$1(window) { - if (!('getDisplayMedia' in window.navigator)) { - return; - } - if (!(window.navigator.mediaDevices)) { - return; - } - if (window.navigator.mediaDevices && - 'getDisplayMedia' in window.navigator.mediaDevices) { - return; - } - window.navigator.mediaDevices.getDisplayMedia = - window.navigator.getDisplayMedia.bind(window.navigator); - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimPeerConnection$1(window, browserDetails) { - if (window.RTCIceGatherer) { - if (!window.RTCIceCandidate) { - window.RTCIceCandidate = function RTCIceCandidate(args) { - return args; - }; - } - if (!window.RTCSessionDescription) { - window.RTCSessionDescription = function RTCSessionDescription(args) { - return args; - }; - } - // this adds an additional event listener to MediaStrackTrack that signals - // when a tracks enabled property was changed. Workaround for a bug in - // addStream, see below. No longer required in 15025+ - if (browserDetails.version < 15025) { - const origMSTEnabled = Object.getOwnPropertyDescriptor( - window.MediaStreamTrack.prototype, 'enabled'); - Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', { - set(value) { - origMSTEnabled.set.call(this, value); - const ev = new Event('enabled'); - ev.enabled = value; - this.dispatchEvent(ev); - } - }); - } - } - - // ORTC defines the DTMF sender a bit different. - // https://github.com/w3c/ortc/issues/714 - if (window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { - get() { - if (this._dtmf === undefined) { - if (this.track.kind === 'audio') { - this._dtmf = new window.RTCDtmfSender(this); - } else if (this.track.kind === 'video') { - this._dtmf = null; - } - } - return this._dtmf; - } - }); - } - // Edge currently only implements the RTCDtmfSender, not the - // RTCDTMFSender alias. See http://draft.ortc.org/#rtcdtmfsender2* - if (window.RTCDtmfSender && !window.RTCDTMFSender) { - window.RTCDTMFSender = window.RTCDtmfSender; - } - - const RTCPeerConnectionShim = rtcpeerconnection(window, - browserDetails.version); - window.RTCPeerConnection = function RTCPeerConnection(config) { - if (config && config.iceServers) { - config.iceServers = filterIceServers$1(config.iceServers, - browserDetails.version); - log$1('ICE servers after filtering:', config.iceServers); - } - return new RTCPeerConnectionShim(config); - }; - window.RTCPeerConnection.prototype = RTCPeerConnectionShim.prototype; - } - - function shimReplaceTrack(window) { - // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614 - if (window.RTCRtpSender && - !('replaceTrack' in window.RTCRtpSender.prototype)) { - window.RTCRtpSender.prototype.replaceTrack = - window.RTCRtpSender.prototype.setTrack; - } - } - - var edgeShim = /*#__PURE__*/Object.freeze({ - __proto__: null, - shimPeerConnection: shimPeerConnection$1, - shimReplaceTrack: shimReplaceTrack, - shimGetUserMedia: shimGetUserMedia$2, - shimGetDisplayMedia: shimGetDisplayMedia$1 - }); - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimGetUserMedia$1(window, browserDetails) { - const navigator = window && window.navigator; - const MediaStreamTrack = window && window.MediaStreamTrack; - - navigator.getUserMedia = function(constraints, onSuccess, onError) { - // Replace Firefox 44+'s deprecation warning with unprefixed version. - deprecated('navigator.getUserMedia', - 'navigator.mediaDevices.getUserMedia'); - navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError); - }; - - if (!(browserDetails.version > 55 && - 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) { - const remap = function(obj, a, b) { - if (a in obj && !(b in obj)) { - obj[b] = obj[a]; - delete obj[a]; - } - }; - - const nativeGetUserMedia = navigator.mediaDevices.getUserMedia. - bind(navigator.mediaDevices); - navigator.mediaDevices.getUserMedia = function(c) { - if (typeof c === 'object' && typeof c.audio === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c.audio, 'autoGainControl', 'mozAutoGainControl'); - remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeGetUserMedia(c); - }; - - if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) { - const nativeGetSettings = MediaStreamTrack.prototype.getSettings; - MediaStreamTrack.prototype.getSettings = function() { - const obj = nativeGetSettings.apply(this, arguments); - remap(obj, 'mozAutoGainControl', 'autoGainControl'); - remap(obj, 'mozNoiseSuppression', 'noiseSuppression'); - return obj; - }; - } - - if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) { - const nativeApplyConstraints = - MediaStreamTrack.prototype.applyConstraints; - MediaStreamTrack.prototype.applyConstraints = function(c) { - if (this.kind === 'audio' && typeof c === 'object') { - c = JSON.parse(JSON.stringify(c)); - remap(c, 'autoGainControl', 'mozAutoGainControl'); - remap(c, 'noiseSuppression', 'mozNoiseSuppression'); - } - return nativeApplyConstraints.apply(this, [c]); - }; - } - } - } - - /* - * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimGetDisplayMedia(window, preferredMediaSource) { - if (window.navigator.mediaDevices && - 'getDisplayMedia' in window.navigator.mediaDevices) { - return; - } - if (!(window.navigator.mediaDevices)) { - return; - } - window.navigator.mediaDevices.getDisplayMedia = - function getDisplayMedia(constraints) { - if (!(constraints && constraints.video)) { - const err = new DOMException('getDisplayMedia without video ' + - 'constraints is undefined'); - err.name = 'NotFoundError'; - // from https://heycam.github.io/webidl/#idl-DOMException-error-names - err.code = 8; - return Promise.reject(err); - } - if (constraints.video === true) { - constraints.video = {mediaSource: preferredMediaSource}; - } else { - constraints.video.mediaSource = preferredMediaSource; - } - return window.navigator.mediaDevices.getUserMedia(constraints); - }; - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimOnTrack(window) { - if (typeof window === 'object' && window.RTCTrackEvent && - ('receiver' in window.RTCTrackEvent.prototype) && - !('transceiver' in window.RTCTrackEvent.prototype)) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get() { - return {receiver: this.receiver}; - } - }); - } - } - - function shimPeerConnection(window, browserDetails) { - if (typeof window !== 'object' || - !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { - return; // probably media.peerconnection.enabled=false in about:config - } - if (!window.RTCPeerConnection && window.mozRTCPeerConnection) { - // very basic support for old versions. - window.RTCPeerConnection = window.mozRTCPeerConnection; - } - - if (browserDetails.version < 53) { - // shim away need for obsolete RTCIceCandidate/RTCSessionDescription. - ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'] - .forEach(function(method) { - const nativeMethod = window.RTCPeerConnection.prototype[method]; - const methodObj = {[method]() { - arguments[0] = new ((method === 'addIceCandidate') ? - window.RTCIceCandidate : - window.RTCSessionDescription)(arguments[0]); - return nativeMethod.apply(this, arguments); - }}; - window.RTCPeerConnection.prototype[method] = methodObj[method]; - }); - } - - const modernStatsTypes = { - inboundrtp: 'inbound-rtp', - outboundrtp: 'outbound-rtp', - candidatepair: 'candidate-pair', - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }; - - const nativeGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function getStats() { - const [selector, onSucc, onErr] = arguments; - return nativeGetStats.apply(this, [selector || null]) - .then(stats => { - if (browserDetails.version < 53 && !onSucc) { - // Shim only promise getStats with spec-hyphens in type names - // Leave callback version alone; misc old uses of forEach before Map - try { - stats.forEach(stat => { - stat.type = modernStatsTypes[stat.type] || stat.type; - }); - } catch (e) { - if (e.name !== 'TypeError') { - throw e; - } - // Avoid TypeError: "type" is read-only, in old versions. 34-43ish - stats.forEach((stat, i) => { - stats.set(i, Object.assign({}, stat, { - type: modernStatsTypes[stat.type] || stat.type - })); - }); - } - } - return stats; - }) - .then(onSucc, onErr); - }; - } - - function shimSenderGetStats(window) { - if (!(typeof window === 'object' && window.RTCPeerConnection && - window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) { - return; - } - const origGetSenders = window.RTCPeerConnection.prototype.getSenders; - if (origGetSenders) { - window.RTCPeerConnection.prototype.getSenders = function getSenders() { - const senders = origGetSenders.apply(this, []); - senders.forEach(sender => sender._pc = this); - return senders; - }; - } - - const origAddTrack = window.RTCPeerConnection.prototype.addTrack; - if (origAddTrack) { - window.RTCPeerConnection.prototype.addTrack = function addTrack() { - const sender = origAddTrack.apply(this, arguments); - sender._pc = this; - return sender; - }; - } - window.RTCRtpSender.prototype.getStats = function getStats() { - return this.track ? this._pc.getStats(this.track) : - Promise.resolve(new Map()); - }; - } - - function shimReceiverGetStats(window) { - if (!(typeof window === 'object' && window.RTCPeerConnection && - window.RTCRtpSender)) { - return; - } - if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) { - return; - } - const origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; - if (origGetReceivers) { - window.RTCPeerConnection.prototype.getReceivers = function getReceivers() { - const receivers = origGetReceivers.apply(this, []); - receivers.forEach(receiver => receiver._pc = this); - return receivers; - }; - } - wrapPeerConnectionEvent(window, 'track', e => { - e.receiver._pc = e.srcElement; - return e; - }); - window.RTCRtpReceiver.prototype.getStats = function getStats() { - return this._pc.getStats(this.track); - }; - } - - function shimRemoveStream(window) { - if (!window.RTCPeerConnection || - 'removeStream' in window.RTCPeerConnection.prototype) { - return; - } - window.RTCPeerConnection.prototype.removeStream = - function removeStream(stream) { - deprecated('removeStream', 'removeTrack'); - this.getSenders().forEach(sender => { - if (sender.track && stream.getTracks().includes(sender.track)) { - this.removeTrack(sender); - } - }); - }; - } - - function shimRTCDataChannel(window) { - // rename DataChannel to RTCDataChannel (native fix in FF60): - // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851 - if (window.DataChannel && !window.RTCDataChannel) { - window.RTCDataChannel = window.DataChannel; - } - } - - function shimAddTransceiver(window) { - // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 - // Firefox ignores the init sendEncodings options passed to addTransceiver - // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!(typeof window === 'object' && window.RTCPeerConnection)) { - return; - } - const origAddTransceiver = window.RTCPeerConnection.prototype.addTransceiver; - if (origAddTransceiver) { - window.RTCPeerConnection.prototype.addTransceiver = - function addTransceiver() { - this.setParametersPromises = []; - const initParameters = arguments[1]; - const shouldPerformCheck = initParameters && - 'sendEncodings' in initParameters; - if (shouldPerformCheck) { - // If sendEncodings params are provided, validate grammar - initParameters.sendEncodings.forEach((encodingParam) => { - if ('rid' in encodingParam) { - const ridRegex = /^[a-z0-9]{0,16}$/i; - if (!ridRegex.test(encodingParam.rid)) { - throw new TypeError('Invalid RID value provided.'); - } - } - if ('scaleResolutionDownBy' in encodingParam) { - if (!(parseFloat(encodingParam.scaleResolutionDownBy) >= 1.0)) { - throw new RangeError('scale_resolution_down_by must be >= 1.0'); - } - } - if ('maxFramerate' in encodingParam) { - if (!(parseFloat(encodingParam.maxFramerate) >= 0)) { - throw new RangeError('max_framerate must be >= 0.0'); - } - } - }); - } - const transceiver = origAddTransceiver.apply(this, arguments); - if (shouldPerformCheck) { - // Check if the init options were applied. If not we do this in an - // asynchronous way and save the promise reference in a global object. - // This is an ugly hack, but at the same time is way more robust than - // checking the sender parameters before and after the createOffer - // Also note that after the createoffer we are not 100% sure that - // the params were asynchronously applied so we might miss the - // opportunity to recreate offer. - const {sender} = transceiver; - const params = sender.getParameters(); - if (!('encodings' in params) || - // Avoid being fooled by patched getParameters() below. - (params.encodings.length === 1 && - Object.keys(params.encodings[0]).length === 0)) { - params.encodings = initParameters.sendEncodings; - sender.sendEncodings = initParameters.sendEncodings; - this.setParametersPromises.push(sender.setParameters(params) - .then(() => { - delete sender.sendEncodings; - }).catch(() => { - delete sender.sendEncodings; - }) - ); - } - } - return transceiver; - }; - } - } - - function shimGetParameters(window) { - if (!(typeof window === 'object' && window.RTCRtpSender)) { - return; - } - const origGetParameters = window.RTCRtpSender.prototype.getParameters; - if (origGetParameters) { - window.RTCRtpSender.prototype.getParameters = - function getParameters() { - const params = origGetParameters.apply(this, arguments); - if (!('encodings' in params)) { - params.encodings = [].concat(this.sendEncodings || [{}]); - } - return params; - }; - } - } - - function shimCreateOffer(window) { - // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 - // Firefox ignores the init sendEncodings options passed to addTransceiver - // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!(typeof window === 'object' && window.RTCPeerConnection)) { - return; - } - const origCreateOffer = window.RTCPeerConnection.prototype.createOffer; - window.RTCPeerConnection.prototype.createOffer = function createOffer() { - if (this.setParametersPromises && this.setParametersPromises.length) { - return Promise.all(this.setParametersPromises) - .then(() => { - return origCreateOffer.apply(this, arguments); - }) - .finally(() => { - this.setParametersPromises = []; - }); - } - return origCreateOffer.apply(this, arguments); - }; - } - - function shimCreateAnswer(window) { - // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 - // Firefox ignores the init sendEncodings options passed to addTransceiver - // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!(typeof window === 'object' && window.RTCPeerConnection)) { - return; - } - const origCreateAnswer = window.RTCPeerConnection.prototype.createAnswer; - window.RTCPeerConnection.prototype.createAnswer = function createAnswer() { - if (this.setParametersPromises && this.setParametersPromises.length) { - return Promise.all(this.setParametersPromises) - .then(() => { - return origCreateAnswer.apply(this, arguments); - }) - .finally(() => { - this.setParametersPromises = []; - }); - } - return origCreateAnswer.apply(this, arguments); - }; - } - - var firefoxShim = /*#__PURE__*/Object.freeze({ - __proto__: null, - shimOnTrack: shimOnTrack, - shimPeerConnection: shimPeerConnection, - shimSenderGetStats: shimSenderGetStats, - shimReceiverGetStats: shimReceiverGetStats, - shimRemoveStream: shimRemoveStream, - shimRTCDataChannel: shimRTCDataChannel, - shimAddTransceiver: shimAddTransceiver, - shimGetParameters: shimGetParameters, - shimCreateOffer: shimCreateOffer, - shimCreateAnswer: shimCreateAnswer, - shimGetUserMedia: shimGetUserMedia$1, - shimGetDisplayMedia: shimGetDisplayMedia - }); - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimLocalStreamsAPI(window) { - if (typeof window !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getLocalStreams = - function getLocalStreams() { - if (!this._localStreams) { - this._localStreams = []; - } - return this._localStreams; - }; - } - if (!('addStream' in window.RTCPeerConnection.prototype)) { - const _addTrack = window.RTCPeerConnection.prototype.addTrack; - window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - if (!this._localStreams) { - this._localStreams = []; - } - if (!this._localStreams.includes(stream)) { - this._localStreams.push(stream); - } - // Try to emulate Chrome's behaviour of adding in audio-video order. - // Safari orders by track id. - stream.getAudioTracks().forEach(track => _addTrack.call(this, track, - stream)); - stream.getVideoTracks().forEach(track => _addTrack.call(this, track, - stream)); - }; - - window.RTCPeerConnection.prototype.addTrack = - function addTrack(track, ...streams) { - if (streams) { - streams.forEach((stream) => { - if (!this._localStreams) { - this._localStreams = [stream]; - } else if (!this._localStreams.includes(stream)) { - this._localStreams.push(stream); - } - }); - } - return _addTrack.apply(this, arguments); - }; - } - if (!('removeStream' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.removeStream = - function removeStream(stream) { - if (!this._localStreams) { - this._localStreams = []; - } - const index = this._localStreams.indexOf(stream); - if (index === -1) { - return; - } - this._localStreams.splice(index, 1); - const tracks = stream.getTracks(); - this.getSenders().forEach(sender => { - if (tracks.includes(sender.track)) { - this.removeTrack(sender); - } - }); - }; - } - } - - function shimRemoteStreamsAPI(window) { - if (typeof window !== 'object' || !window.RTCPeerConnection) { - return; - } - if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) { - window.RTCPeerConnection.prototype.getRemoteStreams = - function getRemoteStreams() { - return this._remoteStreams ? this._remoteStreams : []; - }; - } - if (!('onaddstream' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', { - get() { - return this._onaddstream; - }, - set(f) { - if (this._onaddstream) { - this.removeEventListener('addstream', this._onaddstream); - this.removeEventListener('track', this._onaddstreampoly); - } - this.addEventListener('addstream', this._onaddstream = f); - this.addEventListener('track', this._onaddstreampoly = (e) => { - e.streams.forEach(stream => { - if (!this._remoteStreams) { - this._remoteStreams = []; - } - if (this._remoteStreams.includes(stream)) { - return; - } - this._remoteStreams.push(stream); - const event = new Event('addstream'); - event.stream = stream; - this.dispatchEvent(event); - }); - }); - } - }); - const origSetRemoteDescription = - window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = - function setRemoteDescription() { - const pc = this; - if (!this._onaddstreampoly) { - this.addEventListener('track', this._onaddstreampoly = function(e) { - e.streams.forEach(stream => { - if (!pc._remoteStreams) { - pc._remoteStreams = []; - } - if (pc._remoteStreams.indexOf(stream) >= 0) { - return; - } - pc._remoteStreams.push(stream); - const event = new Event('addstream'); - event.stream = stream; - pc.dispatchEvent(event); - }); - }); - } - return origSetRemoteDescription.apply(pc, arguments); - }; - } - } - - function shimCallbacksAPI(window) { - if (typeof window !== 'object' || !window.RTCPeerConnection) { - return; - } - const prototype = window.RTCPeerConnection.prototype; - const origCreateOffer = prototype.createOffer; - const origCreateAnswer = prototype.createAnswer; - const setLocalDescription = prototype.setLocalDescription; - const setRemoteDescription = prototype.setRemoteDescription; - const addIceCandidate = prototype.addIceCandidate; - - prototype.createOffer = - function createOffer(successCallback, failureCallback) { - const options = (arguments.length >= 2) ? arguments[2] : arguments[0]; - const promise = origCreateOffer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - prototype.createAnswer = - function createAnswer(successCallback, failureCallback) { - const options = (arguments.length >= 2) ? arguments[2] : arguments[0]; - const promise = origCreateAnswer.apply(this, [options]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - - let withCallback = function(description, successCallback, failureCallback) { - const promise = setLocalDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setLocalDescription = withCallback; - - withCallback = function(description, successCallback, failureCallback) { - const promise = setRemoteDescription.apply(this, [description]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.setRemoteDescription = withCallback; - - withCallback = function(candidate, successCallback, failureCallback) { - const promise = addIceCandidate.apply(this, [candidate]); - if (!failureCallback) { - return promise; - } - promise.then(successCallback, failureCallback); - return Promise.resolve(); - }; - prototype.addIceCandidate = withCallback; - } - - function shimGetUserMedia(window) { - const navigator = window && window.navigator; - - if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { - // shim not needed in Safari 12.1 - const mediaDevices = navigator.mediaDevices; - const _getUserMedia = mediaDevices.getUserMedia.bind(mediaDevices); - navigator.mediaDevices.getUserMedia = (constraints) => { - return _getUserMedia(shimConstraints(constraints)); - }; - } - - if (!navigator.getUserMedia && navigator.mediaDevices && - navigator.mediaDevices.getUserMedia) { - navigator.getUserMedia = function getUserMedia(constraints, cb, errcb) { - navigator.mediaDevices.getUserMedia(constraints) - .then(cb, errcb); - }.bind(navigator); - } - } - - function shimConstraints(constraints) { - if (constraints && constraints.video !== undefined) { - return Object.assign({}, - constraints, - {video: compactObject(constraints.video)} - ); - } - - return constraints; - } - - function shimRTCIceServerUrls(window) { - if (!window.RTCPeerConnection) { - return; - } - // migrate from non-spec RTCIceServer.url to RTCIceServer.urls - const OrigPeerConnection = window.RTCPeerConnection; - window.RTCPeerConnection = - function RTCPeerConnection(pcConfig, pcConstraints) { - if (pcConfig && pcConfig.iceServers) { - const newIceServers = []; - for (let i = 0; i < pcConfig.iceServers.length; i++) { - let server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && - server.hasOwnProperty('url')) { - deprecated('RTCIceServer.url', 'RTCIceServer.urls'); - server = JSON.parse(JSON.stringify(server)); - server.urls = server.url; - delete server.url; - newIceServers.push(server); - } else { - newIceServers.push(pcConfig.iceServers[i]); - } - } - pcConfig.iceServers = newIceServers; - } - return new OrigPeerConnection(pcConfig, pcConstraints); - }; - window.RTCPeerConnection.prototype = OrigPeerConnection.prototype; - // wrap static methods. Currently just generateCertificate. - if ('generateCertificate' in OrigPeerConnection) { - Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', { - get() { - return OrigPeerConnection.generateCertificate; - } - }); - } - } - - function shimTrackEventTransceiver(window) { - // Add event.transceiver member over deprecated event.receiver - if (typeof window === 'object' && window.RTCTrackEvent && - 'receiver' in window.RTCTrackEvent.prototype && - !('transceiver' in window.RTCTrackEvent.prototype)) { - Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { - get() { - return {receiver: this.receiver}; - } - }); - } - } - - function shimCreateOfferLegacy(window) { - const origCreateOffer = window.RTCPeerConnection.prototype.createOffer; - window.RTCPeerConnection.prototype.createOffer = - function createOffer(offerOptions) { - if (offerOptions) { - if (typeof offerOptions.offerToReceiveAudio !== 'undefined') { - // support bit values - offerOptions.offerToReceiveAudio = - !!offerOptions.offerToReceiveAudio; - } - const audioTransceiver = this.getTransceivers().find(transceiver => - transceiver.receiver.track.kind === 'audio'); - if (offerOptions.offerToReceiveAudio === false && audioTransceiver) { - if (audioTransceiver.direction === 'sendrecv') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('sendonly'); - } else { - audioTransceiver.direction = 'sendonly'; - } - } else if (audioTransceiver.direction === 'recvonly') { - if (audioTransceiver.setDirection) { - audioTransceiver.setDirection('inactive'); - } else { - audioTransceiver.direction = 'inactive'; - } - } - } else if (offerOptions.offerToReceiveAudio === true && - !audioTransceiver) { - this.addTransceiver('audio'); - } - - if (typeof offerOptions.offerToReceiveVideo !== 'undefined') { - // support bit values - offerOptions.offerToReceiveVideo = - !!offerOptions.offerToReceiveVideo; - } - const videoTransceiver = this.getTransceivers().find(transceiver => - transceiver.receiver.track.kind === 'video'); - if (offerOptions.offerToReceiveVideo === false && videoTransceiver) { - if (videoTransceiver.direction === 'sendrecv') { - if (videoTransceiver.setDirection) { - videoTransceiver.setDirection('sendonly'); - } else { - videoTransceiver.direction = 'sendonly'; - } - } else if (videoTransceiver.direction === 'recvonly') { - if (videoTransceiver.setDirection) { - videoTransceiver.setDirection('inactive'); - } else { - videoTransceiver.direction = 'inactive'; - } - } - } else if (offerOptions.offerToReceiveVideo === true && - !videoTransceiver) { - this.addTransceiver('video'); - } - } - return origCreateOffer.apply(this, arguments); - }; - } - - function shimAudioContext(window) { - if (typeof window !== 'object' || window.AudioContext) { - return; - } - window.AudioContext = window.webkitAudioContext; - } - - var safariShim = /*#__PURE__*/Object.freeze({ - __proto__: null, - shimLocalStreamsAPI: shimLocalStreamsAPI, - shimRemoteStreamsAPI: shimRemoteStreamsAPI, - shimCallbacksAPI: shimCallbacksAPI, - shimGetUserMedia: shimGetUserMedia, - shimConstraints: shimConstraints, - shimRTCIceServerUrls: shimRTCIceServerUrls, - shimTrackEventTransceiver: shimTrackEventTransceiver, - shimCreateOfferLegacy: shimCreateOfferLegacy, - shimAudioContext: shimAudioContext - }); - - /* - * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - function shimRTCIceCandidate(window) { - // foundation is arbitrarily chosen as an indicator for full support for - // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface - if (!window.RTCIceCandidate || (window.RTCIceCandidate && 'foundation' in - window.RTCIceCandidate.prototype)) { - return; - } - - const NativeRTCIceCandidate = window.RTCIceCandidate; - window.RTCIceCandidate = function RTCIceCandidate(args) { - // Remove the a= which shouldn't be part of the candidate string. - if (typeof args === 'object' && args.candidate && - args.candidate.indexOf('a=') === 0) { - args = JSON.parse(JSON.stringify(args)); - args.candidate = args.candidate.substr(2); - } - - if (args.candidate && args.candidate.length) { - // Augment the native candidate with the parsed fields. - const nativeCandidate = new NativeRTCIceCandidate(args); - const parsedCandidate = sdp.parseCandidate(args.candidate); - const augmentedCandidate = Object.assign(nativeCandidate, - parsedCandidate); - - // Add a serializer that does not serialize the extra attributes. - augmentedCandidate.toJSON = function toJSON() { - return { - candidate: augmentedCandidate.candidate, - sdpMid: augmentedCandidate.sdpMid, - sdpMLineIndex: augmentedCandidate.sdpMLineIndex, - usernameFragment: augmentedCandidate.usernameFragment, - }; - }; - return augmentedCandidate; - } - return new NativeRTCIceCandidate(args); - }; - window.RTCIceCandidate.prototype = NativeRTCIceCandidate.prototype; - - // Hook up the augmented candidate in onicecandidate and - // addEventListener('icecandidate', ...) - wrapPeerConnectionEvent(window, 'icecandidate', e => { - if (e.candidate) { - Object.defineProperty(e, 'candidate', { - value: new window.RTCIceCandidate(e.candidate), - writable: 'false' - }); - } - return e; - }); - } - - function shimMaxMessageSize(window, browserDetails) { - if (!window.RTCPeerConnection) { - return; - } - - if (!('sctp' in window.RTCPeerConnection.prototype)) { - Object.defineProperty(window.RTCPeerConnection.prototype, 'sctp', { - get() { - return typeof this._sctp === 'undefined' ? null : this._sctp; - } - }); - } - - const sctpInDescription = function(description) { - if (!description || !description.sdp) { - return false; - } - const sections = sdp.splitSections(description.sdp); - sections.shift(); - return sections.some(mediaSection => { - const mLine = sdp.parseMLine(mediaSection); - return mLine && mLine.kind === 'application' - && mLine.protocol.indexOf('SCTP') !== -1; - }); - }; - - const getRemoteFirefoxVersion = function(description) { - // TODO: Is there a better solution for detecting Firefox? - const match = description.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/); - if (match === null || match.length < 2) { - return -1; - } - const version = parseInt(match[1], 10); - // Test for NaN (yes, this is ugly) - return version !== version ? -1 : version; - }; - - const getCanSendMaxMessageSize = function(remoteIsFirefox) { - // Every implementation we know can send at least 64 KiB. - // Note: Although Chrome is technically able to send up to 256 KiB, the - // data does not reach the other peer reliably. - // See: https://bugs.chromium.org/p/webrtc/issues/detail?id=8419 - let canSendMaxMessageSize = 65536; - if (browserDetails.browser === 'firefox') { - if (browserDetails.version < 57) { - if (remoteIsFirefox === -1) { - // FF < 57 will send in 16 KiB chunks using the deprecated PPID - // fragmentation. - canSendMaxMessageSize = 16384; - } else { - // However, other FF (and RAWRTC) can reassemble PPID-fragmented - // messages. Thus, supporting ~2 GiB when sending. - canSendMaxMessageSize = 2147483637; - } - } else if (browserDetails.version < 60) { - // Currently, all FF >= 57 will reset the remote maximum message size - // to the default value when a data channel is created at a later - // stage. :( - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - canSendMaxMessageSize = - browserDetails.version === 57 ? 65535 : 65536; - } else { - // FF >= 60 supports sending ~2 GiB - canSendMaxMessageSize = 2147483637; - } - } - return canSendMaxMessageSize; - }; - - const getMaxMessageSize = function(description, remoteIsFirefox) { - // Note: 65536 bytes is the default value from the SDP spec. Also, - // every implementation we know supports receiving 65536 bytes. - let maxMessageSize = 65536; - - // FF 57 has a slightly incorrect default remote max message size, so - // we need to adjust it here to avoid a failure when sending. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1425697 - if (browserDetails.browser === 'firefox' - && browserDetails.version === 57) { - maxMessageSize = 65535; - } - - const match = sdp.matchPrefix(description.sdp, - 'a=max-message-size:'); - if (match.length > 0) { - maxMessageSize = parseInt(match[0].substr(19), 10); - } else if (browserDetails.browser === 'firefox' && - remoteIsFirefox !== -1) { - // If the maximum message size is not present in the remote SDP and - // both local and remote are Firefox, the remote peer can receive - // ~2 GiB. - maxMessageSize = 2147483637; - } - return maxMessageSize; - }; - - const origSetRemoteDescription = - window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = - function setRemoteDescription() { - this._sctp = null; - // Chrome decided to not expose .sctp in plan-b mode. - // As usual, adapter.js has to do an 'ugly worakaround' - // to cover up the mess. - if (browserDetails.browser === 'chrome' && browserDetails.version >= 76) { - const {sdpSemantics} = this.getConfiguration(); - if (sdpSemantics === 'plan-b') { - Object.defineProperty(this, 'sctp', { - get() { - return typeof this._sctp === 'undefined' ? null : this._sctp; - }, - enumerable: true, - configurable: true, - }); - } - } - - if (sctpInDescription(arguments[0])) { - // Check if the remote is FF. - const isFirefox = getRemoteFirefoxVersion(arguments[0]); - - // Get the maximum message size the local peer is capable of sending - const canSendMMS = getCanSendMaxMessageSize(isFirefox); - - // Get the maximum message size of the remote peer. - const remoteMMS = getMaxMessageSize(arguments[0], isFirefox); - - // Determine final maximum message size - let maxMessageSize; - if (canSendMMS === 0 && remoteMMS === 0) { - maxMessageSize = Number.POSITIVE_INFINITY; - } else if (canSendMMS === 0 || remoteMMS === 0) { - maxMessageSize = Math.max(canSendMMS, remoteMMS); - } else { - maxMessageSize = Math.min(canSendMMS, remoteMMS); - } - - // Create a dummy RTCSctpTransport object and the 'maxMessageSize' - // attribute. - const sctp = {}; - Object.defineProperty(sctp, 'maxMessageSize', { - get() { - return maxMessageSize; - } - }); - this._sctp = sctp; - } - - return origSetRemoteDescription.apply(this, arguments); - }; - } - - function shimSendThrowTypeError(window) { - if (!(window.RTCPeerConnection && - 'createDataChannel' in window.RTCPeerConnection.prototype)) { - return; - } - - // Note: Although Firefox >= 57 has a native implementation, the maximum - // message size can be reset for all data channels at a later stage. - // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - - function wrapDcSend(dc, pc) { - const origDataChannelSend = dc.send; - dc.send = function send() { - const data = arguments[0]; - const length = data.length || data.size || data.byteLength; - if (dc.readyState === 'open' && - pc.sctp && length > pc.sctp.maxMessageSize) { - throw new TypeError('Message too large (can send a maximum of ' + - pc.sctp.maxMessageSize + ' bytes)'); - } - return origDataChannelSend.apply(dc, arguments); - }; - } - const origCreateDataChannel = - window.RTCPeerConnection.prototype.createDataChannel; - window.RTCPeerConnection.prototype.createDataChannel = - function createDataChannel() { - const dataChannel = origCreateDataChannel.apply(this, arguments); - wrapDcSend(dataChannel, this); - return dataChannel; - }; - wrapPeerConnectionEvent(window, 'datachannel', e => { - wrapDcSend(e.channel, e.target); - return e; - }); - } - - - /* shims RTCConnectionState by pretending it is the same as iceConnectionState. - * See https://bugs.chromium.org/p/webrtc/issues/detail?id=6145#c12 - * for why this is a valid hack in Chrome. In Firefox it is slightly incorrect - * since DTLS failures would be hidden. See - * https://bugzilla.mozilla.org/show_bug.cgi?id=1265827 - * for the Firefox tracking bug. - */ - function shimConnectionState(window) { - if (!window.RTCPeerConnection || - 'connectionState' in window.RTCPeerConnection.prototype) { - return; - } - const proto = window.RTCPeerConnection.prototype; - Object.defineProperty(proto, 'connectionState', { - get() { - return { - completed: 'connected', - checking: 'connecting' - }[this.iceConnectionState] || this.iceConnectionState; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(proto, 'onconnectionstatechange', { - get() { - return this._onconnectionstatechange || null; - }, - set(cb) { - if (this._onconnectionstatechange) { - this.removeEventListener('connectionstatechange', - this._onconnectionstatechange); - delete this._onconnectionstatechange; - } - if (cb) { - this.addEventListener('connectionstatechange', - this._onconnectionstatechange = cb); - } - }, - enumerable: true, - configurable: true - }); - - ['setLocalDescription', 'setRemoteDescription'].forEach((method) => { - const origMethod = proto[method]; - proto[method] = function() { - if (!this._connectionstatechangepoly) { - this._connectionstatechangepoly = e => { - const pc = e.target; - if (pc._lastConnectionState !== pc.connectionState) { - pc._lastConnectionState = pc.connectionState; - const newEvent = new Event('connectionstatechange', e); - pc.dispatchEvent(newEvent); - } - return e; - }; - this.addEventListener('iceconnectionstatechange', - this._connectionstatechangepoly); - } - return origMethod.apply(this, arguments); - }; - }); - } - - function removeExtmapAllowMixed(window, browserDetails) { - /* remove a=extmap-allow-mixed for webrtc.org < M71 */ - if (!window.RTCPeerConnection) { - return; - } - if (browserDetails.browser === 'chrome' && browserDetails.version >= 71) { - return; - } - if (browserDetails.browser === 'safari' && browserDetails.version >= 605) { - return; - } - const nativeSRD = window.RTCPeerConnection.prototype.setRemoteDescription; - window.RTCPeerConnection.prototype.setRemoteDescription = - function setRemoteDescription(desc) { - if (desc && desc.sdp && desc.sdp.indexOf('\na=extmap-allow-mixed') !== -1) { - const sdp = desc.sdp.split('\n').filter((line) => { - return line.trim() !== 'a=extmap-allow-mixed'; - }).join('\n'); - // Safari enforces read-only-ness of RTCSessionDescription fields. - if (window.RTCSessionDescription && - desc instanceof window.RTCSessionDescription) { - arguments[0] = new window.RTCSessionDescription({ - type: desc.type, - sdp, - }); - } else { - desc.sdp = sdp; - } - } - return nativeSRD.apply(this, arguments); - }; - } - - function shimAddIceCandidateNullOrEmpty(window, browserDetails) { - // Support for addIceCandidate(null or undefined) - // as well as addIceCandidate({candidate: "", ...}) - // https://bugs.chromium.org/p/chromium/issues/detail?id=978582 - // Note: must be called before other polyfills which change the signature. - if (!(window.RTCPeerConnection && window.RTCPeerConnection.prototype)) { - return; - } - const nativeAddIceCandidate = - window.RTCPeerConnection.prototype.addIceCandidate; - if (!nativeAddIceCandidate || nativeAddIceCandidate.length === 0) { - return; - } - window.RTCPeerConnection.prototype.addIceCandidate = - function addIceCandidate() { - if (!arguments[0]) { - if (arguments[1]) { - arguments[1].apply(null); - } - return Promise.resolve(); - } - // Firefox 68+ emits and processes {candidate: "", ...}, ignore - // in older versions. - // Native support for ignoring exists for Chrome M77+. - // Safari ignores as well, exact version unknown but works in the same - // version that also ignores addIceCandidate(null). - if (((browserDetails.browser === 'chrome' && browserDetails.version < 78) - || (browserDetails.browser === 'firefox' - && browserDetails.version < 68) - || (browserDetails.browser === 'safari')) - && arguments[0] && arguments[0].candidate === '') { - return Promise.resolve(); - } - return nativeAddIceCandidate.apply(this, arguments); - }; - } - - var commonShim = /*#__PURE__*/Object.freeze({ - __proto__: null, - shimRTCIceCandidate: shimRTCIceCandidate, - shimMaxMessageSize: shimMaxMessageSize, - shimSendThrowTypeError: shimSendThrowTypeError, - shimConnectionState: shimConnectionState, - removeExtmapAllowMixed: removeExtmapAllowMixed, - shimAddIceCandidateNullOrEmpty: shimAddIceCandidateNullOrEmpty - }); - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - // Shimming starts here. - function adapterFactory({window} = {}, options = { - shimChrome: true, - shimFirefox: true, - shimEdge: true, - shimSafari: true, - }) { - // Utils. - const logging = log$1; - const browserDetails = detectBrowser(window); - - const adapter = { - browserDetails, - commonShim, - extractVersion: extractVersion, - disableLog: disableLog, - disableWarnings: disableWarnings - }; - - // Shim browser if found. - switch (browserDetails.browser) { - case 'chrome': - if (!chromeShim || !shimPeerConnection$2 || - !options.shimChrome) { - logging('Chrome shim is not included in this adapter release.'); - return adapter; - } - if (browserDetails.version === null) { - logging('Chrome shim can not determine version, not shimming.'); - return adapter; - } - logging('adapter.js shimming chrome.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = chromeShim; - - // Must be called before shimPeerConnection. - shimAddIceCandidateNullOrEmpty(window, browserDetails); - - shimGetUserMedia$3(window, browserDetails); - shimMediaStream(window); - shimPeerConnection$2(window, browserDetails); - shimOnTrack$1(window); - shimAddTrackRemoveTrack(window, browserDetails); - shimGetSendersWithDtmf(window); - shimGetStats(window); - shimSenderReceiverGetStats(window); - fixNegotiationNeeded(window, browserDetails); - - shimRTCIceCandidate(window); - shimConnectionState(window); - shimMaxMessageSize(window, browserDetails); - shimSendThrowTypeError(window); - removeExtmapAllowMixed(window, browserDetails); - break; - case 'firefox': - if (!firefoxShim || !shimPeerConnection || - !options.shimFirefox) { - logging('Firefox shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming firefox.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = firefoxShim; - - // Must be called before shimPeerConnection. - shimAddIceCandidateNullOrEmpty(window, browserDetails); - - shimGetUserMedia$1(window, browserDetails); - shimPeerConnection(window, browserDetails); - shimOnTrack(window); - shimRemoveStream(window); - shimSenderGetStats(window); - shimReceiverGetStats(window); - shimRTCDataChannel(window); - shimAddTransceiver(window); - shimGetParameters(window); - shimCreateOffer(window); - shimCreateAnswer(window); - - shimRTCIceCandidate(window); - shimConnectionState(window); - shimMaxMessageSize(window, browserDetails); - shimSendThrowTypeError(window); - break; - case 'edge': - if (!edgeShim || !shimPeerConnection$1 || !options.shimEdge) { - logging('MS edge shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming edge.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = edgeShim; - - shimGetUserMedia$2(window); - shimGetDisplayMedia$1(window); - shimPeerConnection$1(window, browserDetails); - shimReplaceTrack(window); - - // the edge shim implements the full RTCIceCandidate object. - - shimMaxMessageSize(window, browserDetails); - shimSendThrowTypeError(window); - break; - case 'safari': - if (!safariShim || !options.shimSafari) { - logging('Safari shim is not included in this adapter release.'); - return adapter; - } - logging('adapter.js shimming safari.'); - // Export to the adapter global object visible in the browser. - adapter.browserShim = safariShim; - - // Must be called before shimCallbackAPI. - shimAddIceCandidateNullOrEmpty(window, browserDetails); - - shimRTCIceServerUrls(window); - shimCreateOfferLegacy(window); - shimCallbacksAPI(window); - shimLocalStreamsAPI(window); - shimRemoteStreamsAPI(window); - shimTrackEventTransceiver(window); - shimGetUserMedia(window); - shimAudioContext(window); - - shimRTCIceCandidate(window); - shimMaxMessageSize(window, browserDetails); - shimSendThrowTypeError(window); - removeExtmapAllowMixed(window, browserDetails); - break; - default: - logging('Unsupported browser!'); - break; - } - - return adapter; - } - - /* - * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ - - adapterFactory({window: typeof window === 'undefined' ? undefined : window}); - - /** - * @class AudioTrackConstraints - * @classDesc Constraints for creating an audio MediaStreamTrack. - * @memberof Owt.Base - * @constructor - * @param {Owt.Base.AudioSourceInfo} source Source info of this audio track. - */ - - class AudioTrackConstraints { - // eslint-disable-next-line require-jsdoc - constructor(source) { - if (!Object.values(AudioSourceInfo).some(v => v === source)) { - throw new TypeError('Invalid source.'); - } - /** - * @member {string} source - * @memberof Owt.Base.AudioTrackConstraints - * @desc Values could be "mic", "screen-cast", "file" or "mixed". - * @instance - */ - - - this.source = source; - /** - * @member {string} deviceId - * @memberof Owt.Base.AudioTrackConstraints - * @desc Do not provide deviceId if source is not "mic". - * @instance - * @see https://w3c.github.io/mediacapture-main/#def-constraint-deviceId - */ - - this.deviceId = undefined; - } - - } - /** - * @class VideoTrackConstraints - * @classDesc Constraints for creating a video MediaStreamTrack. - * @memberof Owt.Base - * @constructor - * @param {Owt.Base.VideoSourceInfo} source Source info of this video track. - */ - - class VideoTrackConstraints { - // eslint-disable-next-line require-jsdoc - constructor(source) { - if (!Object.values(VideoSourceInfo).some(v => v === source)) { - throw new TypeError('Invalid source.'); - } - /** - * @member {string} source - * @memberof Owt.Base.VideoTrackConstraints - * @desc Values could be "camera", "screen-cast", "file" or "mixed". - * @instance - */ - - - this.source = source; - /** - * @member {string} deviceId - * @memberof Owt.Base.VideoTrackConstraints - * @desc Do not provide deviceId if source is not "camera". - * @instance - * @see https://w3c.github.io/mediacapture-main/#def-constraint-deviceId - */ - - this.deviceId = undefined; - /** - * @member {Owt.Base.Resolution} resolution - * @memberof Owt.Base.VideoTrackConstraints - * @instance - */ - - this.resolution = undefined; - /** - * @member {number} frameRate - * @memberof Owt.Base.VideoTrackConstraints - * @instance - */ - - this.frameRate = undefined; - } - - } - /** - * @class StreamConstraints - * @classDesc Constraints for creating a MediaStream from screen mic and camera. - * @memberof Owt.Base - * @constructor - * @param {?Owt.Base.AudioTrackConstraints} audioConstraints - * @param {?Owt.Base.VideoTrackConstraints} videoConstraints - */ - - class StreamConstraints { - // eslint-disable-next-line require-jsdoc - constructor(audioConstraints = false, videoConstraints = false) { - /** - * @member {Owt.Base.MediaStreamTrackDeviceConstraintsForAudio} audio - * @memberof Owt.Base.MediaStreamDeviceConstraints - * @instance - */ - this.audio = audioConstraints; - /** - * @member {Owt.Base.MediaStreamTrackDeviceConstraintsForVideo} Video - * @memberof Owt.Base.MediaStreamDeviceConstraints - * @instance - */ - - this.video = videoConstraints; - } - - } // eslint-disable-next-line require-jsdoc - - function isVideoConstrainsForScreenCast(constraints) { - return typeof constraints.video === 'object' && constraints.video.source === VideoSourceInfo.SCREENCAST; - } - /** - * @class MediaStreamFactory - * @classDesc A factory to create MediaStream. You can also create MediaStream by yourself. - * @memberof Owt.Base - */ - - - class MediaStreamFactory { - /** - * @function createMediaStream - * @static - * @desc Create a MediaStream with given constraints. If you want to create a MediaStream for screen cast, please make sure both audio and video's source are "screen-cast". - * @memberof Owt.Base.MediaStreamFactory - * @return {Promise} Return a promise that is resolved when stream is successfully created, or rejected if one of the following error happened: - * - One or more parameters cannot be satisfied. - * - Specified device is busy. - * - Cannot obtain necessary permission or operation is canceled by user. - * - Video source is screen cast, while audio source is not. - * - Audio source is screen cast, while video source is disabled. - * @param {Owt.Base.StreamConstraints} constraints - */ - static createMediaStream(constraints) { - if (typeof constraints !== 'object' || !constraints.audio && !constraints.video) { - return Promise.reject(new TypeError('Invalid constrains')); - } - - if (!isVideoConstrainsForScreenCast(constraints) && typeof constraints.audio === 'object' && constraints.audio.source === AudioSourceInfo.SCREENCAST) { - return Promise.reject(new TypeError('Cannot share screen without video.')); - } - - if (isVideoConstrainsForScreenCast(constraints) && !isChrome() && !isFirefox()) { - return Promise.reject(new TypeError('Screen sharing only supports Chrome and Firefox.')); - } - - if (isVideoConstrainsForScreenCast(constraints) && typeof constraints.audio === 'object' && constraints.audio.source !== AudioSourceInfo.SCREENCAST) { - return Promise.reject(new TypeError('Cannot capture video from screen cast while capture audio from' + ' other source.')); - } // Check and convert constraints. - - - if (!constraints.audio && !constraints.video) { - return Promise.reject(new TypeError('At least one of audio and video must be requested.')); - } - - const mediaConstraints = Object.create({}); - - if (typeof constraints.audio === 'object' && constraints.audio.source === AudioSourceInfo.MIC) { - mediaConstraints.audio = Object.create({}); - - if (isEdge()) { - mediaConstraints.audio.deviceId = constraints.audio.deviceId; - } else { - mediaConstraints.audio.deviceId = { - exact: constraints.audio.deviceId - }; - } - } else { - if (constraints.audio.source === AudioSourceInfo.SCREENCAST) { - mediaConstraints.audio = true; - } else { - mediaConstraints.audio = constraints.audio; - } - } - - if (typeof constraints.video === 'object') { - mediaConstraints.video = Object.create({}); - - if (typeof constraints.video.frameRate === 'number') { - mediaConstraints.video.frameRate = constraints.video.frameRate; - } - - if (constraints.video.resolution && constraints.video.resolution.width && constraints.video.resolution.height) { - if (constraints.video.source === VideoSourceInfo.SCREENCAST) { - mediaConstraints.video.width = constraints.video.resolution.width; - mediaConstraints.video.height = constraints.video.resolution.height; - } else { - mediaConstraints.video.width = Object.create({}); - mediaConstraints.video.width.exact = constraints.video.resolution.width; - mediaConstraints.video.height = Object.create({}); - mediaConstraints.video.height.exact = constraints.video.resolution.height; - } - } - - if (typeof constraints.video.deviceId === 'string') { - mediaConstraints.video.deviceId = { - exact: constraints.video.deviceId - }; - } - - if (isFirefox() && constraints.video.source === VideoSourceInfo.SCREENCAST) { - mediaConstraints.video.mediaSource = 'screen'; - } - } else { - mediaConstraints.video = constraints.video; - } - - if (isVideoConstrainsForScreenCast(constraints)) { - return navigator.mediaDevices.getDisplayMedia(mediaConstraints); - } else { - return navigator.mediaDevices.getUserMedia(mediaConstraints); - } - } - - } - - // Copyright (C) <2018> Intel Corporation - - var media = /*#__PURE__*/Object.freeze({ - __proto__: null, - AudioTrackConstraints: AudioTrackConstraints, - VideoTrackConstraints: VideoTrackConstraints, - StreamConstraints: StreamConstraints, - MediaStreamFactory: MediaStreamFactory, - AudioSourceInfo: AudioSourceInfo, - VideoSourceInfo: VideoSourceInfo, - TrackKind: TrackKind, - Resolution: Resolution - }); - - let logger; - let errorLogger; - function setLogger() { - /*eslint-disable */ - logger = console.log; - errorLogger = console.error; - /*eslint-enable */ - } - function log(message, ...optionalParams) { - if (logger) { - logger(message, ...optionalParams); - } - } - function error(message, ...optionalParams) { - if (errorLogger) { - errorLogger(message, ...optionalParams); - } - } - - class Event$1 { - constructor(type) { - this.listener = {}; - this.type = type | ''; - } - - on(event, fn) { - if (!this.listener[event]) { - this.listener[event] = []; - } - - this.listener[event].push(fn); - return true; - } - - off(event, fn) { - if (this.listener[event]) { - var index = this.listener[event].indexOf(fn); - - if (index > -1) { - this.listener[event].splice(index, 1); - } - - return true; - } - - return false; - } - - offAll() { - this.listener = {}; - } - - dispatch(event, data) { - if (this.listener[event]) { - this.listener[event].map(each => { - each.apply(null, [data]); - }); - return true; - } - - return false; - } - - } - - var bind = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; - }; - - /*global toString:true*/ - - // utils is a library of generic helper functions non-specific to axios - - var toString = Object.prototype.toString; - - /** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ - function isArray(val) { - return toString.call(val) === '[object Array]'; - } - - /** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ - function isUndefined(val) { - return typeof val === 'undefined'; - } - - /** - * Determine if a value is a Buffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Buffer, otherwise false - */ - function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); - } - - /** - * Determine if a value is an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ - function isArrayBuffer(val) { - return toString.call(val) === '[object ArrayBuffer]'; - } - - /** - * Determine if a value is a FormData - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ - function isFormData(val) { - return (typeof FormData !== 'undefined') && (val instanceof FormData); - } - - /** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ - function isArrayBufferView(val) { - var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); - } - return result; - } - - /** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ - function isString(val) { - return typeof val === 'string'; - } - - /** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ - function isNumber(val) { - return typeof val === 'number'; - } - - /** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ - function isObject(val) { - return val !== null && typeof val === 'object'; - } - - /** - * Determine if a value is a plain Object - * - * @param {Object} val The value to test - * @return {boolean} True if value is a plain Object, otherwise false - */ - function isPlainObject(val) { - if (toString.call(val) !== '[object Object]') { - return false; - } - - var prototype = Object.getPrototypeOf(val); - return prototype === null || prototype === Object.prototype; - } - - /** - * Determine if a value is a Date - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ - function isDate(val) { - return toString.call(val) === '[object Date]'; - } - - /** - * Determine if a value is a File - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ - function isFile(val) { - return toString.call(val) === '[object File]'; - } - - /** - * Determine if a value is a Blob - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ - function isBlob(val) { - return toString.call(val) === '[object Blob]'; - } - - /** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ - function isFunction(val) { - return toString.call(val) === '[object Function]'; - } - - /** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ - function isStream(val) { - return isObject(val) && isFunction(val.pipe); - } - - /** - * Determine if a value is a URLSearchParams object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ - function isURLSearchParams(val) { - return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; - } - - /** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ - function trim(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); - } - - /** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - */ - function isStandardBrowserEnv() { - if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || - navigator.product === 'NativeScript' || - navigator.product === 'NS')) { - return false; - } - return ( - typeof window !== 'undefined' && - typeof document !== 'undefined' - ); - } - - /** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ - function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } - } - } - } - - /** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ - function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (isPlainObject(result[key]) && isPlainObject(val)) { - result[key] = merge(result[key], val); - } else if (isPlainObject(val)) { - result[key] = merge({}, val); - } else if (isArray(val)) { - result[key] = val.slice(); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; - } - - /** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ - function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }); - return a; - } - - /** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * @return {string} content value without BOM - */ - function stripBOM(content) { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; - } - - var utils = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isPlainObject: isPlainObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim, - stripBOM: stripBOM - }; - - function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); - } - - /** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ - var buildURL = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === 'undefined') { - return; - } - - if (utils.isArray(val)) { - key = key + '[]'; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); - } - parts.push(encode(key) + '=' + encode(v)); - }); - }); - - serializedParams = parts.join('&'); - } - - if (serializedParams) { - var hashmarkIndex = url.indexOf('#'); - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; - }; - - function InterceptorManager() { - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected - }); - return this.handlers.length - 1; - }; - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ - InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - }; - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ - InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - }; - - var InterceptorManager_1 = InterceptorManager; - - /** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ - var transformData = function transformData(data, headers, fns) { - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn(data, headers); - }); - - return data; - }; - - var isCancel = function isCancel(value) { - return !!(value && value.__CANCEL__); - }; - - var normalizeHeaderName = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; - } - }); - }; - - /** - * Update an Error with the specified config, error code, and response. - * - * @param {Error} error The error to update. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The error. - */ - var enhanceError = function enhanceError(error, config, code, request, response) { - error.config = config; - if (code) { - error.code = code; - } - - error.request = request; - error.response = response; - error.isAxiosError = true; - - error.toJSON = function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: this.config, - code: this.code - }; - }; - return error; - }; - - /** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ - var createError = function createError(message, config, code, request, response) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); - }; - - /** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ - var settle = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(createError( - 'Request failed with status code ' + response.status, - response.config, - null, - response.request, - response - )); - } - }; - - var cookies = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() - ); - - /** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ - var isAbsoluteURL = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); - }; - - /** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ - var combineURLs = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; - }; - - /** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * @returns {string} The combined full path - */ - var buildFullPath = function buildFullPath(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL(requestedURL)) { - return combineURLs(baseURL, requestedURL); - } - return requestedURL; - }; - - // Headers whose duplicates are ignored by node - // c.f. https://nodejs.org/api/http.html#http_message_headers - var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' - ]; - - /** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ - var parseHeaders = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - } - }); - - return parsed; - }; - - var isURLSameOrigin = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() - ); - - var xhr = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - - if (utils.isFormData(requestData)) { - delete requestHeaders['Content-Type']; // Let the browser set it - } - - var request = new XMLHttpRequest(); - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); - } - - var fullPath = buildFullPath(config.baseURL, config.url); - request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - - // Listen for ready state - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(resolve, reject, response); - - // Clean up request - request = null; - }; - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - - reject(createError('Request aborted', config, 'ECONNABORTED', request)); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError('Network Error', config, null, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; - } - reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', - request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); - } - - // Add withCredentials to request if needed - if (!utils.isUndefined(config.withCredentials)) { - request.withCredentials = !!config.withCredentials; - } - - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; - } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; - } - - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } - - if (!requestData) { - requestData = null; - } - - // Send the request - request.send(requestData); - }); - }; - - var DEFAULT_CONTENT_TYPE = { - 'Content-Type': 'application/x-www-form-urlencoded' - }; - - function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } - } - - function getDefaultAdapter() { - var adapter; - if (typeof XMLHttpRequest !== 'undefined') { - // For browsers use XHR adapter - adapter = xhr; - } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { - // For node use HTTP adapter - adapter = xhr; - } - return adapter; - } - - var defaults = { - adapter: getDefaultAdapter(), - - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Accept'); - normalizeHeaderName(headers, 'Content-Type'); - if (utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); - return data.toString(); - } - if (utils.isObject(data)) { - setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); - return JSON.stringify(data); - } - return data; - }], - - transformResponse: [function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (e) { /* Ignore */ } - } - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - maxBodyLength: -1, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - } - }; - - defaults.headers = { - common: { - 'Accept': 'application/json, text/plain, */*' - } - }; - - utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; - }); - - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); - }); - - var defaults_1 = defaults; - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - } - - /** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ - var dispatchRequest = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults_1.adapter; - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - }); - }; - - /** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * @returns {Object} New object resulting from merging config2 to config1 - */ - var mergeConfig = function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - var config = {}; - - var valueFromConfig2Keys = ['url', 'method', 'data']; - var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']; - var defaultToConfig2Keys = [ - 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', - 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', - 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', - 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', - 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding' - ]; - var directMergeKeys = ['validateStatus']; - - function getMergedValue(target, source) { - if (utils.isPlainObject(target) && utils.isPlainObject(source)) { - return utils.merge(target, source); - } else if (utils.isPlainObject(source)) { - return utils.merge({}, source); - } else if (utils.isArray(source)) { - return source.slice(); - } - return source; - } - - function mergeDeepProperties(prop) { - if (!utils.isUndefined(config2[prop])) { - config[prop] = getMergedValue(config1[prop], config2[prop]); - } else if (!utils.isUndefined(config1[prop])) { - config[prop] = getMergedValue(undefined, config1[prop]); - } - } - - utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { - if (!utils.isUndefined(config2[prop])) { - config[prop] = getMergedValue(undefined, config2[prop]); - } - }); - - utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); - - utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { - if (!utils.isUndefined(config2[prop])) { - config[prop] = getMergedValue(undefined, config2[prop]); - } else if (!utils.isUndefined(config1[prop])) { - config[prop] = getMergedValue(undefined, config1[prop]); - } - }); - - utils.forEach(directMergeKeys, function merge(prop) { - if (prop in config2) { - config[prop] = getMergedValue(config1[prop], config2[prop]); - } else if (prop in config1) { - config[prop] = getMergedValue(undefined, config1[prop]); - } - }); - - var axiosKeys = valueFromConfig2Keys - .concat(mergeDeepPropertiesKeys) - .concat(defaultToConfig2Keys) - .concat(directMergeKeys); - - var otherKeys = Object - .keys(config1) - .concat(Object.keys(config2)) - .filter(function filterAxiosKeys(key) { - return axiosKeys.indexOf(key) === -1; - }); - - utils.forEach(otherKeys, mergeDeepProperties); - - return config; - }; - - /** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ - function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager_1(), - response: new InterceptorManager_1() - }; - } - - /** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ - Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === 'string') { - config = arguments[1] || {}; - config.url = arguments[0]; - } else { - config = config || {}; - } - - config = mergeConfig(this.defaults, config); - - // Set config.method - if (config.method) { - config.method = config.method.toLowerCase(); - } else if (this.defaults.method) { - config.method = this.defaults.method.toLowerCase(); - } else { - config.method = 'get'; - } - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); - - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; - }; - - Axios.prototype.getUri = function getUri(config) { - config = mergeConfig(this.defaults, config); - return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); - }; - - // Provide aliases for supported request methods - utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(mergeConfig(config || {}, { - method: method, - url: url, - data: (config || {}).data - })); - }; - }); - - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, data, config) { - return this.request(mergeConfig(config || {}, { - method: method, - url: url, - data: data - })); - }; - }); - - var Axios_1 = Axios; - - /** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ - function Cancel(message) { - this.message = message; - } - - Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); - }; - - Cancel.prototype.__CANCEL__ = true; - - var Cancel_1 = Cancel; - - /** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ - function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel_1(message); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `Cancel` if cancellation has been requested. - */ - CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } - }; - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; - }; - - var CancelToken_1 = CancelToken; - - /** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ - var spread = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; - }; - - /** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ - var isAxiosError = function isAxiosError(payload) { - return (typeof payload === 'object') && (payload.isAxiosError === true); - }; - - /** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ - function createInstance(defaultConfig) { - var context = new Axios_1(defaultConfig); - var instance = bind(Axios_1.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios_1.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; - } - - // Create the default instance to be exported - var axios$1 = createInstance(defaults_1); - - // Expose Axios class to allow class inheritance - axios$1.Axios = Axios_1; - - // Factory for creating new instances - axios$1.create = function create(instanceConfig) { - return createInstance(mergeConfig(axios$1.defaults, instanceConfig)); - }; - - // Expose Cancel & CancelToken - axios$1.Cancel = Cancel_1; - axios$1.CancelToken = CancelToken_1; - axios$1.isCancel = isCancel; - - // Expose all/spread - axios$1.all = function all(promises) { - return Promise.all(promises); - }; - axios$1.spread = spread; - - // Expose isAxiosError - axios$1.isAxiosError = isAxiosError; - - var axios_1 = axios$1; - - // Allow use of default import syntax in TypeScript - var _default = axios$1; - axios_1.default = _default; - - var axios = axios_1; - - class RTCEndpoint extends Event$1 { - constructor(options) { - super('RTCPusherPlayer'); - this.TAG = '[RTCPusherPlayer]'; - let defaults = { - element: '', - // html video element - debug: false, - // if output debug log - zlmsdpUrl: '', - simulecast: false, - useCamera: true, - audioEnable: true, - videoEnable: true, - recvOnly: false - }; - this.options = Object.assign({}, defaults, options); - - if (this.options.debug) { - setLogger(); - } - - this.e = { - onicecandidate: this._onIceCandidate.bind(this), - ontrack: this._onTrack.bind(this), - onicecandidateerror: this._onIceCandidateError.bind(this) - }; - this._remoteStream = null; - this._localStream = null; - this.pc = new RTCPeerConnection(null); - this.pc.onicecandidate = this.e.onicecandidate; - this.pc.onicecandidateerror = this.e.onicecandidateerror; - this.pc.ontrack = this.e.ontrack; - if (!this.options.recvOnly && (this.options.audioEnable || this.options.videoEnable)) this.start();else this.receive(); - } - - receive() { - - const AudioTransceiverInit = { - direction: 'recvonly', - sendEncodings: [] - }; - const VideoTransceiverInit = { - direction: 'recvonly', - sendEncodings: [] - }; - this.pc.addTransceiver('audio', AudioTransceiverInit); - this.pc.addTransceiver('video', VideoTransceiverInit); - this.pc.createOffer().then(desc => { - log(this.TAG, 'offer:', desc.sdp); - this.pc.setLocalDescription(desc).then(() => { - axios({ - method: 'post', - url: this.options.zlmsdpUrl, - responseType: 'json', - data: desc.sdp, - headers: { - 'Content-Type': 'text/plain;charset=utf-8' - } - }).then(response => { - let ret = response.data; //JSON.parse(response.data); - - if (ret.code != 0) { - // mean failed for offer/anwser exchange - this.dispatch(Events$1.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED, ret); - return; - } - - let anwser = {}; - anwser.sdp = ret.sdp; - anwser.type = 'answer'; - log(this.TAG, 'answer:', ret.sdp); - this.pc.setRemoteDescription(anwser).then(() => { - log(this.TAG, 'set remote success'); - }).catch(e => { - error(this.TAG, e); - }); - }); - }); - }).catch(e => { - error(this.TAG, e); - }); - } - - start() { - let videoConstraints = false; - let audioConstraints = false; - - if (this.options.useCamera) { - if (this.options.videoEnable) videoConstraints = new VideoTrackConstraints(VideoSourceInfo.CAMERA); - if (this.options.audioEnable) audioConstraints = new AudioTrackConstraints(AudioSourceInfo.MIC); - } else { - if (this.options.videoEnable) { - videoConstraints = new VideoTrackConstraints(VideoSourceInfo.SCREENCAST); - if (this.options.audioEnable) audioConstraints = new AudioTrackConstraints(AudioSourceInfo.SCREENCAST); - } else { - if (this.options.audioEnable) audioConstraints = new AudioTrackConstraints(AudioSourceInfo.MIC);else { - // error shared display media not only audio - error(this.TAG, 'error paramter'); - } - } - } - - MediaStreamFactory.createMediaStream(new StreamConstraints(audioConstraints, videoConstraints)).then(stream => { - this._localStream = stream; - this.dispatch(Events$1.WEBRTC_ON_LOCAL_STREAM, stream); - const AudioTransceiverInit = { - direction: 'sendrecv', - sendEncodings: [] - }; - const VideoTransceiverInit = { - direction: 'sendrecv', - sendEncodings: [] - }; - - if (this.options.simulecast && stream.getVideoTracks().length > 0) { - VideoTransceiverInit.sendEncodings = [{ - rid: 'q', - active: true, - scaleResolutionDownBy: 4.0 - }, { - rid: 'h', - active: true, - scaleResolutionDownBy: 2.0 - }, { - rid: 'f', - active: true - }]; - } - - if (stream.getAudioTracks().length > 0) { - this.pc.addTransceiver(stream.getAudioTracks()[0], AudioTransceiverInit); - } else { - AudioTransceiverInit.direction = 'recvonly'; - this.pc.addTransceiver('audio', AudioTransceiverInit); - } - - if (stream.getVideoTracks().length > 0) { - this.pc.addTransceiver(stream.getVideoTracks()[0], VideoTransceiverInit); - } else { - VideoTransceiverInit.direction = 'recvonly'; - this.pc.addTransceiver('video', VideoTransceiverInit); - } - /* - stream.getTracks().forEach((track,idx)=>{ - debug.log(this.TAG,track); - this.pc.addTrack(track); - }); - */ - - - this.pc.createOffer().then(desc => { - log(this.TAG, 'offer:', desc.sdp); - this.pc.setLocalDescription(desc).then(() => { - axios({ - method: 'post', - url: this.options.zlmsdpUrl, - responseType: 'json', - data: desc.sdp, - headers: { - 'Content-Type': 'text/plain;charset=utf-8' - } - }).then(response => { - let ret = response.data; //JSON.parse(response.data); - - if (ret.code != 0) { - // mean failed for offer/anwser exchange - this.dispatch(Events$1.WEBRTC_OFFER_ANWSER_EXCHANGE_FAILED, ret); - return; - } - - let anwser = {}; - anwser.sdp = ret.sdp; - anwser.type = 'answer'; - log(this.TAG, 'answer:', ret.sdp); - this.pc.setRemoteDescription(anwser).then(() => { - log(this.TAG, 'set remote success'); - }).catch(e => { - error(this.TAG, e); - }); - }); - }); - }).catch(e => { - error(this.TAG, e); - }); - }).catch(e => { - error(this.TAG, e); - }); //const offerOptions = {}; - - /* - if (typeof this.pc.addTransceiver === 'function') { - // |direction| seems not working on Safari. - this.pc.addTransceiver('audio', { direction: 'recvonly' }); - this.pc.addTransceiver('video', { direction: 'recvonly' }); - } else { - offerOptions.offerToReceiveAudio = true; - offerOptions.offerToReceiveVideo = true; - } - */ - } - - _onIceCandidate(event) { - if (event.candidate) { - log('Remote ICE candidate: \n ' + event.candidate.candidate); // Send the candidate to the remote peer - } - } - - _onTrack(event) { - if (this.options.element && event.streams && event.streams.length > 0) { - this.options.element.srcObject = event.streams[0]; - this._remoteStream = event.streams[0]; - this.dispatch(Events$1.WEBRTC_ON_REMOTE_STREAMS, event); - } else { - error('element pararm is failed'); - } - } - - _onIceCandidateError(event) { - this.dispatch(Events$1.WEBRTC_ICE_CANDIDATE_ERROR, event); - } - - close() { - if (this.pc) { - this.pc.close(); - this.pc = null; - } - - if (this.options) { - this.options = null; - } - - if (this._localStream) { - this._localStream.getTracks().forEach((track, idx) => { - track.stop(); - }); - } - - if (this._remoteStream) { - this._remoteStream.getTracks().forEach((track, idx) => { - track.stop(); - }); - } - } - - get remoteStream() { - return this._remoteStream; - } - - get localStream() { - return this._localStream; - } - - } - - console.log('build date:', BUILD_DATE); - console.log('version:', VERSION); - const Events = Events$1; - const Media = media; - const Endpoint = RTCEndpoint; - - exports.Endpoint = Endpoint; - exports.Events = Events; - exports.Media = Media; - - Object.defineProperty(exports, '__esModule', { value: true }); - - return exports; - -}({})); -//# sourceMappingURL=ZLMRTCClient.js.map diff --git a/web_src/static/js/jessibuca/ff.worker.js b/web_src/static/js/jessibuca/ff.worker.js deleted file mode 100644 index 8f909e36..00000000 --- a/web_src/static/js/jessibuca/ff.worker.js +++ /dev/null @@ -1 +0,0 @@ -var initializedJS=false;var Module={};function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;this.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);Module["wasmModule"]=null;receiveInstance(instance);return instance.exports};function moduleLoaded(){}this.onmessage=function(e){try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob==="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}moduleLoaded()}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,0,0);var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["_emscripten_tls_init"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].setThreadStatus(Module["_pthread_self"](),1);if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(!Module["getNoExitRuntime"]())Module["PThread"].threadExit(result)}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["getNoExitRuntime"]()){}else{Module["PThread"].threadExit(ex.status)}}else{Module["PThread"].threadExit(-2);throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}}; diff --git a/web_src/static/js/jessibuca/index.js b/web_src/static/js/jessibuca/index.js deleted file mode 100644 index e68fc3bf..00000000 --- a/web_src/static/js/jessibuca/index.js +++ /dev/null @@ -1,3 +0,0 @@ -!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};function e(t){return t&&t.__esModule?t.default:t}function r(t,e,r){Object.defineProperty(t,e,{get:r,enumerable:!0})}var i,n,o=!1;function s(){return o||(o=!0,n=t=>{var e=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),r=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n"),i=t.createShader(t.VERTEX_SHADER);t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)||console.log("Vertex shader failed to compile: "+t.getShaderInfoLog(i));var n=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(n,r),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)||console.log("Fragment shader failed to compile: "+t.getShaderInfoLog(n));var o=t.createProgram();t.attachShader(o,i),t.attachShader(o,n),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)||console.log("Program failed to compile: "+t.getProgramInfoLog(o)),t.useProgram(o);var s=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,s),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),t.STATIC_DRAW);var a=t.getAttribLocation(o,"vertexPos");t.enableVertexAttribArray(a),t.vertexAttribPointer(a,2,t.FLOAT,!1,0,0);var h=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),t.STATIC_DRAW);var u=t.getAttribLocation(o,"texturePos");function f(e,r){var i=t.createTexture();return t.bindTexture(t.TEXTURE_2D,i),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindTexture(t.TEXTURE_2D,null),t.uniform1i(t.getUniformLocation(o,e),r),i}t.enableVertexAttribArray(u),t.vertexAttribPointer(u,2,t.FLOAT,!1,0,0);var l=f("ySampler",0),d=f("uSampler",1),c=f("vSampler",2);return function(e,r,i,n,o){t.viewport(0,0,e,r),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,l),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e,r,0,t.LUMINANCE,t.UNSIGNED_BYTE,i),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,d),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,n),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,c),t.texImage2D(t.TEXTURE_2D,0,t.LUMINANCE,e/2,r/2,0,t.LUMINANCE,t.UNSIGNED_BYTE,o),t.drawArrays(t.TRIANGLE_STRIP,0,4)}},r(i={},"default",(function(){return n}))),i}var a,h,u=!1;function f(){a={},s(),h=t=>{const e=document.createElement("canvas");e.style.position="absolute",e.style.top=0,e.style.left=0,t.$container.appendChild(e),t.$canvasElement=e,t.$container.style.overflow="hidden","absolute"!==t.$container.style.position&&(t.$container.style.position="relative");if(!t._supportOffscreen()){const e=(()=>{const e=t.$canvasElement;let r=null;const i=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let n=0;for(;!r&&n{t._contextGL&&(t._contextGL=null),t._contextGLRender&&(t._contextGLRender=null),t._bitmaprenderer&&(t._bitmaprenderer=null)}},r(a,"default",(function(){return h}))}function l(){return u||(u=!0,f()),a}var d,c,p,m,g,v,b,y=!1;function w(){return y||(y=!0,c={videoBuffer:.5,vod:!1,isResize:!0,isFullSize:!1,isFlv:!1,debug:!1,timeout:30,supportDblclickFullscreen:!1,showBandwidth:!1,keepScreenOn:!1,isNotMute:!1,hasAudio:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1},loadingText:"",background:"",decoder:"index.js",rotate:0,text:"",forceNoOffscreen:!0,hiddenAutoPause:!1},r(d={},"DEFAULT_OPTIONS",(function(){return c})),p={init:"init",initSize:"initSize",render:"render",playAudio:"playAudio",print:"print",printErr:"printErr",initAudioPlanar:"initAudioPlanar",kBps:"kBps"},r(d,"CMD_TYPE",(function(){return p})),m={close:"close",play:"play",setVideoBuffer:"setVideoBuffer",init:"init"},r(d,"POST_MESSAGE",(function(){return m})),g={fullscreen:"fullscreen",play:"play",pause:"pause",mute:"mute",load:"load",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",stats:"stats",performance:"performance",record:"record",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata"},r(d,"EVEMTS",(function(){return g})),v={empty:"empty",buffering:"buffering",full:"full"},r(d,"BUFFER_STATUS",(function(){return v})),b={download:"download",base64:"base64",blob:"blob"},r(d,"SCREENSHOT_TYPE",(function(){return b}))),d}var M,_=!1;function A(t){t.resume();const e=t.createBufferSource();e.buffer=t.createBuffer(1,1,22050),e.connect(t.destination),e.noteOn?e.noteOn(0):e.start(0)}function E(t,e){t&&(t.style.display=e?"block":"none")}function S(t=""){const e=t.split(","),r=atob(e[1]),i=e[0].replace("data:","").replace(";base64","");let n=r.length,o=new Uint8Array(n);for(;n--;)o[n]=r.charCodeAt(n);return new File([o],"file",{type:i})}function k(t,e){const r=document.createElement("a");r.download=e,r.href=URL.createObjectURL(t),r.click(),URL.revokeObjectURL(t)}function B(t){if(null==t||""===t)return"0 KB/S";let e=parseFloat(t);return e=e.toFixed(2),e+"KB/S"}function R(t){let e=0;return t>=24?e=2:t>=15&&(e=1),e}function T(t,e){Object.keys(e||{}).forEach((function(r){t.style[r]=e[r]}))}function x(){let t=document.fullscreenElement||window.webkitFullscreenElement||document.msFullscreenElement;return void 0===t&&(t=!1),!!t}function I(){}function C(){return(new Date).getTime()}function P(t){Object.keys(t||{}).forEach((e=>{"bgDom"!==e&&E(t[e],!1)}))}function D(t){E(t.pauseDom,!0),E(t.screenshotsDom,!0),E(t.fullscreenDom,!0),E(t.quietAudioDom,!0),E(t.textDom,!0),E(t.speedDom,!0),E(t.recordDom,!0),E(t.loadingDom,!1),E(t.playDom,!1),E(t.playBigDom,!1),E(t.bgDom,!1)}function L(t,e){let r=w().BUFFER_STATUS.buffering;return 0===t?r=w().BUFFER_STATUS.empty:t>=e&&(r=w().BUFFER_STATUS.full),r}function O(){return _||(_=!0,M={},w(),r(M,"audioContextUnlock",(function(){return A})),r(M,"$domToggle",(function(){return E})),r(M,"dataURLToFile",(function(){return S})),r(M,"downloadImg",(function(){return k})),r(M,"bpsSize",(function(){return B})),r(M,"fpsStatus",(function(){return R})),r(M,"setStyle",(function(){return T})),r(M,"checkFull",(function(){return x})),r(M,"noop",(function(){return I})),r(M,"now",(function(){return C})),r(M,"$hideBtns",(function(){return P})),r(M,"$initBtns",(function(){return D})),r(M,"bufferStatus",(function(){return L}))),M}var j,U,N=!1;function z(){return N||(N=!0,j={},O(),U=t=>{t._audioContext=new(window.AudioContext||window.webkitAudioContext),t._gainNode=t._audioContext.createGain(),t._audioEnabled=e=>{e?(O().audioContextUnlock(t._audioContext),t._audioEnabled=e=>{e?t._audioContext.resume():t._audioContext.suspend()},t._audioContext.resume()):t._audioContext.suspend()},t._audioEnabled(!0),t._mute=()=>{t._audioEnabled(!1),t.quieting=!0},t._cancelMute=()=>{t._audioEnabled(!0),t.quieting=!1},t._audioResume=()=>{t._cancelMute()},t._initAudioPlanar=e=>{const r=t._audioContext;if(!r)return!1;let i=[];const n=r.createScriptProcessor(1024,0,2);n.onaudioprocess=function(t){if(i.length){const r=i.shift();for(let i=0;i{n.disconnect(t._gainNode),t._gainNode.disconnect(r.destination),delete t._closeAudio,i=[]},t._gainNode.connect(r.destination),t._playAudio=t=>i.push(t)},t._destroyAudioContext=()=>{t._audioContext.close(),t._audioContext=null,t._gainNode=null}},r(j,"default",(function(){return U}))),j}var q,F,Z=!1;function H(){return Z||(Z=!0,q={},O(),F=t=>{t._resize$2=()=>t.resize(),t._handleVisibilityChange$2=()=>t._handleVisibilityChange(),t._onfullscreenchange$2=()=>t._onfullscreenchange(),t._handleWakeLock$2=()=>t._handleWakeLock(),window.addEventListener("resize",t._resize$2),window.addEventListener("fullscreenchange",t._onfullscreenchange$2),document.addEventListener("visibilitychange",t._handleVisibilityChange$2),document.addEventListener("visibilitychange",t._handleWakeLock$2),window.addEventListener("fullscreenchange",t._handleWakeLock$2),t._opt.supportDblclickFullscreen&&t.$canvasElement.addEventListener("dblclick",(()=>{t.fullscreen=!t.fullscreen}),!1),t._removeEventListener=()=>{window.removeEventListener("resize",t._resize$2),window.removeEventListener("fullscreenchange",t._onfullscreenchange$2),document.removeEventListener("visibilitychange",t._handleWakeLock$2),document.removeEventListener("visibilitychange",t._handleVisibilityChange$2),window.removeEventListener("fullscreenchange",t._handleWakeLock$2)},t.$doms.playDom&&t.$doms.playDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.playBigDom&&t.$doms.playBigDom.addEventListener("click",(e=>{e.stopPropagation(),t._play()}),!1),t.$doms.pauseDom&&t.$doms.pauseDom.addEventListener("click",(e=>{e.stopPropagation(),t._pause()}),!1),t.$doms.screenshotsDom&&t.$doms.screenshotsDom.addEventListener("click",(e=>{e.stopPropagation();const r=(t._opt.text||"")+""+O().now();t._screenshot(r)}),!1),t.$doms.fullscreenDom&&t.$doms.fullscreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!0}),!1),t.$doms.minScreenDom&&t.$doms.minScreenDom.addEventListener("click",(e=>{e.stopPropagation(),t.fullscreen=!1}),!1),t.$doms.recordDom&&t.$doms.recordDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!0}),!1),t.$doms.recordingDom&&t.$doms.recordingDom.addEventListener("click",(e=>{e.stopPropagation(),t.recording=!1}),!1),t.$doms.quietAudioDom&&t.$doms.quietAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._cancelMute()}),!1),t.$doms.playAudioDom&&t.$doms.playAudioDom.addEventListener("click",(e=>{e.stopPropagation(),t._mute()}),!1),t._enableWakeLock()},r(q,"default",(function(){return F}))),q}var K,W,G=!1;function Y(){return G||(G=!0,K={},O(),H(),W=t=>{t._showControl=()=>{let e=!1,r=!1;return Object.keys(t._opt.operateBtns).forEach((e=>{t._opt.operateBtns[e]&&(r=!0)})),(t._opt.showBandwidth||t._opt.text||r)&&(e=!0),e};const e={},r=document.createDocumentFragment(),i=document.createElement("div"),n=document.createElement("div"),o=document.createElement("div"),s=document.createElement("div"),a=document.createElement("div"),h=document.createElement("div"),u=document.createElement("div"),f=document.createElement("div"),l=document.createElement("div"),d=document.createElement("div"),c=document.createElement("div"),p=document.createElement("div"),m=document.createElement("div"),g=document.createElement("div"),v=document.createElement("div"),b=document.createElement("div"),y=document.createElement("div"),w=document.createElement("div");m.innerText=t._opt.loadingText||"",s.innerText=t._opt.text||"",a.innerText="",h.title="播放",f.title="暂停",l.title="截屏",d.title="全屏",c.title="退出全屏",g.title="静音",v.title="取消静音",b.title="录制",y.title="取消录制";let M={position:"absolute",width:"100%",height:"100%"};t._opt.background&&(M=Object.assign({},M,{backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",backgroundImage:"url('"+t._opt.background+"')"}));const _={position:"absolute",width:"100%",height:"100%",textAlign:"center",color:"#fff",display:"none",backgroundImage:"url('data:image/gif;base64,R0lGODlhgACAAKIAAP///93d3bu7u5mZmQAA/wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAEACwCAAIAfAB8AAAD/0i63P4wygYqmDjrzbtflvWNZGliYXiubKuloivPLlzReD7al+7/Eh5wSFQIi8hHYBkwHUmD6CD5YTJLz49USuVYraRsZ7vtar7XnQ1Kjpoz6LRHvGlz35O4nEPP2O94EnpNc2sef1OBGIOFMId/inB6jSmPdpGScR19EoiYmZobnBCIiZ95k6KGGp6ni4wvqxilrqBfqo6skLW2YBmjDa28r6Eosp27w8Rov8ekycqoqUHODrTRvXsQwArC2NLF29UM19/LtxO5yJd4Au4CK7DUNxPebG4e7+8n8iv2WmQ66BtoYpo/dvfacBjIkITBE9DGlMvAsOIIZjIUAixliv9ixYZVtLUos5GjwI8gzc3iCGghypQqrbFsme8lwZgLZtIcYfNmTJ34WPTUZw5oRxdD9w0z6iOpO15MgTh1BTTJUKos39jE+o/KS64IFVmsFfYT0aU7capdy7at27dw48qdS7eu3bt480I02vUbX2F/JxYNDImw4GiGE/P9qbhxVpWOI/eFKtlNZbWXuzlmG1mv58+gQ4seTbq06dOoU6vGQZJy0FNlMcV+czhQ7SQmYd8eMhPs5BxVdfcGEtV3buDBXQ+fURxx8oM6MT9P+Fh6dOrH2zavc13u9JXVJb520Vp8dvC76wXMuN5Sepm/1WtkEZHDefnzR9Qvsd9+/wi8+en3X0ntYVcSdAE+UN4zs7ln24CaLagghIxBaGF8kFGoIYV+Ybghh841GIyI5ICIFoklJsigihmimJOLEbLYIYwxSgigiZ+8l2KB+Ml4oo/w8dijjcrouCORKwIpnJIjMnkkksalNeR4fuBIm5UEYImhIlsGCeWNNJphpJdSTlkml1jWeOY6TnaRpppUctcmFW9mGSaZceYopH9zkjnjUe59iR5pdapWaGqHopboaYua1qije67GJ6CuJAAAIfkEBQUABAAsCgACAFcAMAAAA/9Iutz+ML5Ag7w46z0r5WAoSp43nihXVmnrdusrv+s332dt4Tyo9yOBUJD6oQBIQGs4RBlHySSKyczVTtHoidocPUNZaZAr9F5FYbGI3PWdQWn1mi36buLKFJvojsHjLnshdhl4L4IqbxqGh4gahBJ4eY1kiX6LgDN7fBmQEJI4jhieD4yhdJ2KkZk8oiSqEaatqBekDLKztBG2CqBACq4wJRi4PZu1sA2+v8C6EJexrBAD1AOBzsLE0g/V1UvYR9sN3eR6lTLi4+TlY1wz6Qzr8u1t6FkY8vNzZTxaGfn6mAkEGFDgL4LrDDJDyE4hEIbdHB6ESE1iD4oVLfLAqPETIsOODwmCDJlv5MSGJklaS6khAQAh+QQFBQAEACwfAAIAVwAwAAAD/0i63P5LSAGrvTjrNuf+YKh1nWieIumhbFupkivPBEzR+GnnfLj3ooFwwPqdAshAazhEGUXJJIrJ1MGOUamJ2jQ9QVltkCv0XqFh5IncBX01afGYnDqD40u2z76JK/N0bnxweC5sRB9vF34zh4gjg4uMjXobihWTlJUZlw9+fzSHlpGYhTminKSepqebF50NmTyor6qxrLO0L7YLn0ALuhCwCrJAjrUqkrjGrsIkGMW/BMEPJcphLgDaABjUKNEh29vdgTLLIOLpF80s5xrp8ORVONgi8PcZ8zlRJvf40tL8/QPYQ+BAgjgMxkPIQ6E6hgkdjoNIQ+JEijMsasNY0RQix4gKP+YIKXKkwJIFF6JMudFEAgAh+QQFBQAEACw8AAIAQgBCAAAD/kg0PPowykmrna3dzXvNmSeOFqiRaGoyaTuujitv8Gx/661HtSv8gt2jlwIChYtc0XjcEUnMpu4pikpv1I71astytkGh9wJGJk3QrXlcKa+VWjeSPZHP4Rtw+I2OW81DeBZ2fCB+UYCBfWRqiQp0CnqOj4J1jZOQkpOUIYx/m4oxg5cuAaYBO4Qop6c6pKusrDevIrG2rkwptrupXB67vKAbwMHCFcTFxhLIt8oUzLHOE9Cy0hHUrdbX2KjaENzey9Dh08jkz8Tnx83q66bt8PHy8/T19vf4+fr6AP3+/wADAjQmsKDBf6AOKjS4aaHDgZMeSgTQcKLDhBYPEswoA1BBAgAh+QQFBQAEACxOAAoAMABXAAAD7Ei6vPOjyUkrhdDqfXHm4OZ9YSmNpKmiqVqykbuysgvX5o2HcLxzup8oKLQQix0UcqhcVo5ORi+aHFEn02sDeuWqBGCBkbYLh5/NmnldxajX7LbPBK+PH7K6narfO/t+SIBwfINmUYaHf4lghYyOhlqJWgqDlAuAlwyBmpVnnaChoqOkpaanqKmqKgGtrq+wsbA1srW2ry63urasu764Jr/CAb3Du7nGt7TJsqvOz9DR0tPU1TIA2ACl2dyi3N/aneDf4uPklObj6OngWuzt7u/d8fLY9PXr9eFX+vv8+PnYlUsXiqC3c6PmUUgAACH5BAUFAAQALE4AHwAwAFcAAAPpSLrc/m7IAau9bU7MO9GgJ0ZgOI5leoqpumKt+1axPJO1dtO5vuM9yi8TlAyBvSMxqES2mo8cFFKb8kzWqzDL7Xq/4LB4TC6bz1yBes1uu9uzt3zOXtHv8xN+Dx/x/wJ6gHt2g3Rxhm9oi4yNjo+QkZKTCgGWAWaXmmOanZhgnp2goaJdpKGmp55cqqusrZuvsJays6mzn1m4uRAAvgAvuBW/v8GwvcTFxqfIycA3zA/OytCl0tPPO7HD2GLYvt7dYd/ZX99j5+Pi6tPh6+bvXuTuzujxXens9fr7YPn+7egRI9PPHrgpCQAAIfkEBQUABAAsPAA8AEIAQgAAA/lIutz+UI1Jq7026h2x/xUncmD5jehjrlnqSmz8vrE8u7V5z/m5/8CgcEgsGo/IpHLJbDqf0Kh0ShBYBdTXdZsdbb/Yrgb8FUfIYLMDTVYz2G13FV6Wz+lX+x0fdvPzdn9WeoJGAYcBN39EiIiKeEONjTt0kZKHQGyWl4mZdREAoQAcnJhBXBqioqSlT6qqG6WmTK+rsa1NtaGsuEu6o7yXubojsrTEIsa+yMm9SL8osp3PzM2cStDRykfZ2tfUtS/bRd3ewtzV5pLo4eLjQuUp70Hx8t9E9eqO5Oku5/ztdkxi90qPg3x2EMpR6IahGocPCxp8AGtigwQAIfkEBQUABAAsHwBOAFcAMAAAA/9Iutz+MMo36pg4682J/V0ojs1nXmSqSqe5vrDXunEdzq2ta3i+/5DeCUh0CGnF5BGULC4tTeUTFQVONYAs4CfoCkZPjFar83rBx8l4XDObSUL1Ott2d1U4yZwcs5/xSBB7dBMBhgEYfncrTBGDW4WHhomKUY+QEZKSE4qLRY8YmoeUfkmXoaKInJ2fgxmpqqulQKCvqRqsP7WooriVO7u8mhu5NacasMTFMMHCm8qzzM2RvdDRK9PUwxzLKdnaz9y/Kt8SyR3dIuXmtyHpHMcd5+jvWK4i8/TXHff47SLjQvQLkU+fG29rUhQ06IkEG4X/Rryp4mwUxSgLL/7IqFETB8eONT6ChCFy5ItqJomES6kgAQAh+QQFBQAEACwKAE4AVwAwAAAD/0i63A4QuEmrvTi3yLX/4MeNUmieITmibEuppCu3sDrfYG3jPKbHveDktxIaF8TOcZmMLI9NyBPanFKJp4A2IBx4B5lkdqvtfb8+HYpMxp3Pl1qLvXW/vWkli16/3dFxTi58ZRcChwIYf3hWBIRchoiHiotWj5AVkpIXi4xLjxiaiJR/T5ehoomcnZ+EGamqq6VGoK+pGqxCtaiiuJVBu7yaHrk4pxqwxMUzwcKbyrPMzZG90NGDrh/JH8t72dq3IN1jfCHb3L/e5ebh4ukmxyDn6O8g08jt7tf26ybz+m/W9GNXzUQ9fm1Q/APoSWAhhfkMAmpEbRhFKwsvCsmosRIHx444PoKcIXKkjIImjTzjkQAAIfkEBQUABAAsAgA8AEIAQgAAA/VIBNz+8KlJq72Yxs1d/uDVjVxogmQqnaylvkArT7A63/V47/m2/8CgcEgsGo/IpHLJbDqf0Kh0Sj0FroGqDMvVmrjgrDcTBo8v5fCZki6vCW33Oq4+0832O/at3+f7fICBdzsChgJGeoWHhkV0P4yMRG1BkYeOeECWl5hXQ5uNIAOjA1KgiKKko1CnqBmqqk+nIbCkTq20taVNs7m1vKAnurtLvb6wTMbHsUq4wrrFwSzDzcrLtknW16tI2tvERt6pv0fi48jh5h/U6Zs77EXSN/BE8jP09ZFA+PmhP/xvJgAMSGBgQINvEK5ReIZhQ3QEMTBLAAAh+QQFBQAEACwCAB8AMABXAAAD50i6DA4syklre87qTbHn4OaNYSmNqKmiqVqyrcvBsazRpH3jmC7yD98OCBF2iEXjBKmsAJsWHDQKmw571l8my+16v+CweEwum8+hgHrNbrvbtrd8znbR73MVfg838f8BeoB7doN0cYZvaIuMjY6PkJGSk2gClgJml5pjmp2YYJ6dX6GeXaShWaeoVqqlU62ir7CXqbOWrLafsrNctjIDwAMWvC7BwRWtNsbGFKc+y8fNsTrQ0dK3QtXAYtrCYd3eYN3c49/a5NVj5eLn5u3s6e7x8NDo9fbL+Mzy9/T5+tvUzdN3Zp+GBAAh+QQJBQAEACwCAAIAfAB8AAAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdArcQK2TOL7/nl4PSMwIfcUk5YhUOh3M5nNKiOaoWCuWqt1Ou16l9RpOgsvEMdocXbOZ7nQ7DjzTaeq7zq6P5fszfIASAYUBIYKDDoaGIImKC4ySH3OQEJKYHZWWi5iZG0ecEZ6eHEOio6SfqCaqpaytrpOwJLKztCO2jLi1uoW8Ir6/wCHCxMG2x7muysukzb230M6H09bX2Nna29zd3t/g4cAC5OXm5+jn3Ons7eba7vHt2fL16tj2+QL0+vXw/e7WAUwnrqDBgwgTKlzIsKHDh2gGSBwAccHEixAvaqTYcFCjRoYeNyoM6REhyZIHT4o0qPIjy5YTTcKUmHImx5cwE85cmJPnSYckK66sSAAj0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gwxZJAAA7')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"40px 40px"},A={position:"absolute",width:"100%",height:"100%",display:"none",background:"rgba(0,0,0,0.4)",backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwEAYAAAAHkiXEAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAByBJREFUeNrlXFlIVV0U3vsaaINmZoX0YAR6y8oGMkKLoMESSjBoUJEoIogoIggigoryIQoKGqi3Roh6TKGBIkNEe6hMgzTNKLPSUlMrNdvrf/juurlP5zpc7znb+r+X755pn7W+Pe+9zpVimIEUKVKJiUIKKWRqKs5OmwZOTBQkSFBUFK5HR+tPt7WBOzpwX3U1jquqwGVleK6iQkoppSQy7a8xEBERLVwIPnsWXF9PrqCxEXzxInjpUrDH47YO0h2hw8JwtG4deN8+8OzZA0vl7Vt/iZZCCtnUhPPt7fp9o0fjvpgYHHu9uD8+Hsdsh52hggTV1uLg2DHwpUvSIz3S093ttE4hB5qSxYuRAc+f910im5vBFy6As7LALORQ7RgzBullZIBPngQ3NPRt1+vXeH7NGtN69u8oERFFRIDPnQMrZe8YZ0huLhwMDzdjb1gYC4zj4uKAeaFIkbpxAwfWvse48FOngp89s7eeS1p2Nlg63vQF7Y8iRWrlSthZXR2wZhAR0dy55gwlIqI5c8AfPtgbeuUKHIqKMi3soP3z1UzwiRP2NbqtDbxsmXuGacK3tOgG/fwJ3rbNtIDO+J2ZiQzp6ND97uzE+RUrHDaAmxprif/+HQasXm1aKKcBPxcsADc1/VEjFClS8+eH7oXcuSpSpJ480V/Y0wPOyjItjNtgofWmiPHuHa7Hxg79RUT0e1Rjxb/X1ASnDw9vf/3S9bl1K/iEFSlSixbZdz7Xr5t2fLgBuuTn2xfUjRsHmVBYGNg6gWpo+FtHNU4DuowYAZ3Ky+11GzOm/4SIiGjDBvuczM52zAHua4iI6OpVcGEheO1a8PCdP/j9CNRyKFKk9u4doBDWCRXXBOcE0GekgVBUhPuSk00LPTAdCwp0+3n0GBER4AFenbQiJ8cdg7dvpwGB5xunT4PHjTMtuL0/qan29q9fH+AB62jnyxe31moGlwFWNDbCzq1bcez+snLffr14odtrMzrCBet6/Pnz7hoabAZY8fgxT5iGRwbs36/b19kJHjnS49+BEkIIMXmy/vjt26YdCA4pKdgHKC2Fo5cvh2xiFBTu3NGPw8Ox/5CW5tG3/hi8VffokRmDQwUeNOTlwc/KSmRIbq67djx9Cm5p+W2akEKmpfnaSt5zZdTXY8+0udmQcg5h0iQwD3MfPgRPn+7UG6GjUjiqrNSver0eVIWEBP85EiSIN7H/dSxZAuY1roMHHRt02OqamOhrgnoN46SQQn76ZFoad8Hj8kOH4D/PZJOSQvYKW11jYnxNkHWK3NFhWhKz8HrB9+7xaCU06fYKIiBBgiIjfRlgHTf/j+NlNMTFgceOHXJSJEgQ9wXCVyOk9AlvLfEDWDT6X+DAAXSiHz8OOSkppJCRkfrJ9vYR+NHaql8wNV42jVevUFJ37kQ8kHX8PlRMmOD/SYIEtbZ69IAkvsATs38dP36ADx8GJyc7IzyD+xbhqxE1Nb4a8PKlfiE+HsOxyEgYZI1A+9tRUADetQtNTF2dU29CJ84Twhkz9KtVVb4+oKxMvxAWxjM101KFBvX1qNmbNkHwNWucFl4HT/QmTvSfIkGCSks9HC2MsxxzyTekp5uWLjh0dYHz88FeL2ry5ctm7LHq2NMD7rXUg6rC0cKM9+/BfQS1hghDXg1VpEjdvasvLpqHf3VWs/P+/QA3Lltm75jz8T7BZQAvn9tscJgWXpEiNWuWvd2bNwcQwONbnq6p0R8oLnYnA7Zs6Vvw7m7Yd/z4gDe5DQH2Xrum29/SwoObfh7cts1egFWrnDU4Lg785g2Ytx4LC2H4zJmmhe3XD5+dsJsD1xhHjgwwgfBwPFBXpydQXe3uFqXzfU9o7ZUSXFRkX/IHMcENGKXgixY27fBwA8TZudO+5dixY4gJ37xpyQVfvEtmpmnHTQMFMiUFevBeL6OkZMg1GQlER4P5wwTGt29g65bmvw/4HShanD+5mjIlxC+cNw/cKxqYw7RDHZY9TOEXXpEiVVurC8+jtJUrnTNAkSK1fDle2NWlG9DeDs7IMC2UM35zU2Mt8Urhel6eywalp+vCMzhM++hRDlo1LeCg/dNGNdy5Wtt4LvEuCv+HodqHCu/e2Y8Cyss5aNW0sAPzh8fx1uEkgyMGHWxqgjM8NhYGWoNSraMnvm6+89aXDHjmap1AMUpKcD9/+D2MAYNzcsD9fRDNsZMcwsedfehiPJFeUhJ4925wWVnfdvFHiDt2gEM/MXT+rwp47UMKKeT27Ti7Zw+YA6UCgbdKKyr8cTVSSCEbG3Ge/5yDwWtD48fjfv6rAl7C6LUeb4uvX8FnzuD5U6ewjP35s9M6uQaUJP4Qgz8E4SbJ2sk5BV5jevAAvHmzqS9/hs0XJxBi1CgOWtVjVnlHKSEB16Oj/wgoE0L8LsFcM169AldV8Q4UjouKULKtNch9/AdsEf6XQYgIsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0xMlQxMTo1NjowNSswODowMGcMj/QAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMTJUMTE6NTY6MDUrMDg6MDAWUTdIAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9wZHMzeWYxNGczYi9ib2Zhbmcuc3Zn11us5wAAAABJRU5ErkJggg==')",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"48px 48px",cursor:"pointer"},E={position:"absolute",top:0,height:"100%",display:"flex",alignItems:"center"},S={display:"none",position:"relative",fontSize:"13px",color:"#fff",lineHeight:"20px",marginLeft:"5px",marginRight:"5px",userSelect:"none"},k={display:"none",position:"relative",width:"16px",height:"16px",marginLeft:"8px",marginRight:"8px",backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"100%",cursor:"pointer"};O().setStyle(w,M),O().setStyle(i,{height:"38px",zIndex:11,position:"absolute",left:0,bottom:0,width:"100%",background:"rgba(0,0,0)"}),O().setStyle(p,_),O().setStyle(u,A),O().setStyle(m,{position:"absolute",width:"100%",top:"60%",textAlign:"center"}),O().setStyle(n,Object.assign({},E,{left:0})),O().setStyle(o,Object.assign({},E,{right:0})),O().setStyle(s,S),O().setStyle(a,S),O().setStyle(h,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII=')"})),O().setStyle(f,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII=')"})),O().setStyle(l,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC')"})),O().setStyle(d,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg==')"})),O().setStyle(c,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg==')"})),O().setStyle(g,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg==')"})),O().setStyle(v,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg==')"})),O().setStyle(b,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg==')"})),O().setStyle(y,Object.assign({},k,{backgroundImage:"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg==')"})),p.appendChild(m),t._opt.text&&(n.appendChild(s),e.textDom=s),t._opt.showBandwidth&&(n.appendChild(a),e.speedDom=a),t._opt.operateBtns.record&&(o.appendChild(y),o.appendChild(b),e.recordingDom=y,e.recordDom=b),t._opt.operateBtns.screenshot&&(o.appendChild(l),e.screenshotsDom=l),t._opt.operateBtns.play&&(o.appendChild(h),o.appendChild(f),e.playDom=h,e.pauseDom=f),t._opt.operateBtns.audio&&(o.appendChild(v),o.appendChild(g),e.playAudioDom=v,e.quietAudioDom=g),t._opt.operateBtns.fullscreen&&(o.appendChild(d),o.appendChild(c),e.fullscreenDom=d,e.minScreenDom=c),i.appendChild(n),i.appendChild(o),r.appendChild(w),e.bgDom=w,r.appendChild(p),e.loadingDom=p,t._showControl()&&r.appendChild(i),t._opt.operateBtns.play&&(r.appendChild(u),e.playBigDom=u),t.$container.appendChild(r),t.$doms=e,t._removeContainerChild=()=>{for(;t.$container.firstChild;)t.$container.removeChild(t.$container.firstChild)},H().default(t),O().$hideBtns(t.$doms),t._opt.isNotMute||t._mute()},r(K,"default",(function(){return W}))),K}var V,$,X=!1;function J(){return X||(X=!0,V={},w(),O(),$=t=>{const e=new Worker(t._opt.decoder);e.onmessage=r=>{const i=r.data;switch(i.cmd){case w().CMD_TYPE.init:t.setBufferTime(t._opt.videoBuffer),e.postMessage({cmd:w().POST_MESSAGE.init,opt:JSON.stringify(t._opt),sampleRate:t._audioContext.sampleRate}),t._hasLoaded||(t._hasLoaded=!0,t.onLoad(),t._trigger(w().EVEMTS.load));break;case w().CMD_TYPE.initSize:t.$canvasElement.width=i.w,t.$canvasElement.height=i.h,t.onInitSize(),t._resize(),t._trigger(w().EVEMTS.videoInfo,{w:i.w,h:i.h}),t._trigger(w().EVEMTS.start),t._supportOffscreen()&&(t._bitmaprenderer=t.$canvasElement.getContext("bitmaprenderer"));break;case w().CMD_TYPE.render:t.loading&&(t.loading=!1,t.playing=!0,t._clearCheckLoading()),t.playing&&(t._supportOffscreen()?t._bitmaprenderer.transferFromImageBitmap(i.buffer):t._contextGLRender(t.$canvasElement.width,t.$canvasElement.height,i.output[0],i.output[1],i.output[2])),t._trigger(w().EVEMTS.timeUpdate,i.ts),t.onTimeUpdate(i.ts),t._updateStats({buf:i.delay,ts:i.ts}),t._checkHeart();break;case w().CMD_TYPE.playAudio:t.playing&&!t.quieting&&t._playAudio(i.buffer);break;case w().CMD_TYPE.print:t.onLog(i.text),t._trigger(w().EVEMTS.log,i.text);break;case w().CMD_TYPE.printErr:t.onLog(i.text),t._trigger(w().EVEMTS.log,i.text),t.onError(i.text),t._trigger(w().EVEMTS.error,i.text);break;case w().CMD_TYPE.initAudioPlanar:t._initAudioPlanar(i),t._trigger(w().EVEMTS.audioInfo,{numOfChannels:i.channels,sampleRate:i.samplerate});break;case w().CMD_TYPE.kBps:t.playing&&(t.$doms.speedDom&&(t.$doms.speedDom.innerText=O().bpsSize(i.kBps)),t._trigger(w().EVEMTS.kBps,i.kBps));default:t[i.cmd]&&t[i.cmd](i)}},t._decoderWorker=e},r(V,"default",(function(){return $}))),V}var Q,tt,et=!1;function rt(){return et||(et=!0,Q={},O(),w(),tt=t=>{t._loading=!0,t._recording=!1,t._playing=!1,t._audioPlaying=!1,t._quieting=!1,t._fullscreen=!1,t._stats={buf:0,fps:0,abps:"",vbps:"",ts:""},t._hasLoaded=!1,t._playUrl="",t._startBpsTime="",t._bps=0,t._checkHeartTimeout=null,t._wakeLock=null,t._contextGL=null,t._contextGLRender=null,t._checkLoadingTimeout=null,t._bitmaprenderer=null,t._isPlayingBeforePageHidden=!1,t._initCheckVariable=()=>{t._startBpsTime="",t._bps=0,t._clearCheckHeartTimeout(),t._clearCheckLoading()},t._clearCheckHeartTimeout=()=>{t._checkHeartTimeout&&(clearTimeout(t._checkHeartTimeout),t._checkHeartTimeout=null)},t._startCheckHeartTimeout=()=>{t._checkHeartTimeout=setTimeout((function(){t._trigger(w().EVEMTS.timeout),t.recording=!1,t.playing=!1,t._close()}),1e3*t._opt.timeout)},t._clearCheckLoading=()=>{t._checkLoadingTimeout&&(clearTimeout(t._checkLoadingTimeout),t._checkLoadingTimeout=null)},t._checkLoading=()=>{t._clearCheckLoading(),t._checkLoadingTimeout=setTimeout((()=>{t._trigger(w().EVEMTS.timeout),t.playing=!1,t._close(),O().$domToggle(t.$doms.loadingDom,!1)}),1e3*t._opt.timeout)}},r(Q,"default",(function(){return tt}))),Q}var it,nt,ot=!1;function st(){return ot||(ot=!0,it={},O(),nt=t=>{t.onPlay=O().noop,t.onPause=O().noop,t.onRecord=O().noop,t.onFullscreen=O().noop,t.onMute=O().noop,t.onLoad=O().noop,t.onLog=O().noop,t.onError=O().noop,t.onTimeUpdate=O().noop,t.onInitSize=O().noop},r(it,"default",(function(){return nt}))),it}var at,ht,ut=!1;function ft(){return ut||(ut=!0,ht=t=>{t._on=(e,r)=>{let i,n,o;if(!r)return t;for(i=t.__events||(t.__events={}),e=e.split(/\s+/);n=e.shift();)o=i[n]||(i[n]=[]),o.push(r);return t},t._off=()=>{let e;return(e=t.__events)?(delete t.__events,t):t},t._trigger=(e,...r)=>{function i(t,e){if(t)for(let r=0,i=t.length;r{t._pause=()=>{t._close(),t.loading&&O().$domToggle(t.$doms.loadingDom,!1),t.recording=!1,t.playing=!1},t._play=e=>{if(!t._playUrl&&!e)return;let r=!1;e?(t._playUrl&&(t._close(),r=!0,t.clearView()),t.loading=!0,O().$domToggle(t.$doms.bgDom,!1),t._checkLoading(),t._playUrl=e):t._playUrl&&(t.loading?(O().$hideBtns(t.$doms),O().$domToggle(t.$doms.fullscreenDom,!0),O().$domToggle(t.$doms.pauseDom,!0),O().$domToggle(t.$doms.loadingDom,!0),t._checkLoading()):t.playing=!0),t._initCheckVariable(),r?setTimeout((()=>{t._decoderWorker.postMessage({cmd:w().POST_MESSAGE.play,url:t._playUrl})}),300):t._decoderWorker.postMessage({cmd:w().POST_MESSAGE.play,url:t._playUrl})},t._screenshot=(e,r,i,n)=>{e=e||O().now(),n=n||w().SCREENSHOT_TYPE.download;const o={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"};let s=.92;!o[r]&&w().SCREENSHOT_TYPE[r]&&(n=r,r="png",i=void 0),"string"==typeof i&&(n=i,i=void 0),void 0!==i&&(s=Number(i));const a=t.$canvasElement.toDataURL(o[r]||o.png,s),h=O().dataURLToFile(a);return n===w().SCREENSHOT_TYPE.base64?a:n===w().SCREENSHOT_TYPE.blob?h:void(n===w().SCREENSHOT_TYPE.download&&O().downloadImg(h,e))},t._close=()=>{t._close$2(),t._clearView()},t._close$2=()=>{t._opt.debug&&console.log("_close$2-START"),t._closeAudio&&t._closeAudio(),t._audioPlayBuffers=[],t._audioPlaying=!1,t._decoderWorker.postMessage({cmd:w().POST_MESSAGE.close}),delete t._playAudio,t._releaseWakeLock(),t._initCheckVariable(),t._opt.debug&&console.log("_close$2-END")},t._releaseWakeLock=()=>{t._wakeLock&&(t._wakeLock.release(),t._wakeLock=null)},t._clearView=()=>{t._contextGL&&t._contextGL.clear(t._contextGL.COLOR_BUFFER_BIT)},t._resize=()=>{let e=t.$container.clientWidth,r=t.$container.clientHeight;t._showControl()&&(r-=38);let i=t.$canvasElement.width,n=t.$canvasElement.height;const o=t._opt.rotate;let s=(e-i)/2,a=(r-n)/2;270!==o&&90!==o||(i=t.$canvasElement.height,n=t.$canvasElement.width);let h=e/i,u=r/n,f=h>u?u:h;t._opt.isResize||h!==u&&(f=h+","+u),t._opt.isFullResize&&(f=h>u?h:u);let l="scale("+f+")";o&&(l+=" rotate("+o+"deg)"),t.$canvasElement.style.transform=l,t.$canvasElement.style.left=s+"px",t.$canvasElement.style.top=a+"px"},t._enableWakeLock=()=>{t._opt.keepScreenOn&&"wakeLock"in navigator&&navigator.wakeLock.request("screen").then((e=>{t._wakeLock=e}))},t._supportOffscreen=()=>!t._opt.forceNoOffscreen&&"function"==typeof t.$canvasElement.transferControlToOffscreen,t._checkHeart=()=>{t._clearCheckHeartTimeout(),t._startCheckHeartTimeout()},t._updateStats=e=>{e=e||{},t._startBpsTime||(t._startBpsTime=O().now());const r=O().now();r-t._startBpsTime<1e3?t._stats.fps+=1:(t._stats.ts=e.ts,t._stats.buf=e.buf,t._trigger(w().EVEMTS.stats,t._stats),t._trigger(w().EVEMTS.performance,O().fpsStatus(t._stats.fps)),t._trigger(w().EVEMTS.buffer,O().bufferStatus(t._stats.buf,1e3*t._opt.videoBuffer)),t._stats.fps=0,t._startBpsTime=r)},t._onfullscreenchange=()=>{t.fullscreen=O().checkFull()},t._handleVisibilityChange=()=>{t._opt.hiddenAutoPause&&(t._opt.debug&&console.log(document.visibilityState,t._isPlayingBeforePageHidden),"visible"===document.visibilityState?t._isPlayingBeforePageHidden&&t._play():(t._isPlayingBeforePageHidden=t.playing,t.playing&&t._pause()))},t._handleWakeLock=()=>{null!==t._wakeLock&&"visible"===document.visibilityState&&t._enableWakeLock()}},r(lt,"default",(function(){return dt}))),lt}var mt,gt,vt=!1;function bt(){return vt||(vt=!0,mt={},rt(),st(),ft(),pt(),gt=t=>{rt().default(t),st().default(t),ft().default(t),pt().default(t)},r(mt,"default",(function(){return gt}))),mt}var yt,wt=!1;var Mt,_t,At,Et,St,kt,Bt,Rt,Tt=!1;function xt(){throw new Error("setTimeout has not been defined")}function It(){throw new Error("clearTimeout has not been defined")}function Ct(t){if(At===setTimeout)return setTimeout(t,0);if((At===xt||!At)&&setTimeout)return At=setTimeout,setTimeout(t,0);try{return At(t,0)}catch(e){try{return At.call(null,t,0)}catch(e){return At.call(this,t,0)}}}function Pt(){kt&&Bt&&(kt=!1,Bt.length?St=Bt.concat(St):Rt=-1,St.length&&Dt())}function Dt(){if(!kt){var t=Ct(Pt);kt=!0;for(var e=St.length;e;){for(Bt=St,St=[];++Rt1)for(var r=1;r0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function Yt(t){var e,r,i=Gt(t),n=i[0],o=i[1],s=new Ft(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),a=0,h=o>0?n-4:n;for(r=0;r>16&255,s[a++]=e>>8&255,s[a++]=255&e;return 2===o&&(e=qt[t.charCodeAt(r)]<<2|qt[t.charCodeAt(r+1)]>>4,s[a++]=255&e),1===o&&(e=qt[t.charCodeAt(r)]<<10|qt[t.charCodeAt(r+1)]<<4|qt[t.charCodeAt(r+2)]>>2,s[a++]=e>>8&255,s[a++]=255&e),s}function Vt(t,e,r){for(var i,n,o=[],s=e;s>18&63]+zt[n>>12&63]+zt[n>>6&63]+zt[63&n]);return o.join("")}function $t(t){for(var e,r=t.length,i=r%3,n=[],o=16383,s=0,a=r-i;sa?a:s+o));return 1===i?(e=t[r-1],n.push(zt[e>>2]+zt[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],n.push(zt[e>>10]+zt[e>>4&63]+zt[e<<2&63]+"=")),n.join("")}function Xt(){return Wt||(Wt=!0,function(){for((Ut={}).toByteArray=Yt,Nt=$t,Ut.fromByteArray=Nt,zt=[],qt=[],Ft="undefined"!=typeof Uint8Array?Uint8Array:Array,Ht=0,Kt=(Zt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").length;Ht*/ -(Jt={}).read=function(t,e,r,i,n){var o,s,a=8*n-i-1,h=(1<>1,f=-7,l=r?n-1:0,d=r?-1:1,c=t[e+l];for(l+=d,o=c&(1<<-f)-1,c>>=-f,f+=a;f>0;o=256*o+t[e+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=d,f-=8);if(0===o)o=1-u;else{if(o===h)return s?NaN:1/0*(c?-1:1);s+=Math.pow(2,i),o-=u}return(c?-1:1)*s*Math.pow(2,o-i)},Qt=function(t,e,r,i,n,o){var s,a,h,u=8*o-n-1,f=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,c=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(h=Math.pow(2,-s))<1&&(s--,h*=2),(e+=s+l>=1?d/h:d*Math.pow(2,1-l))*h>=2&&(s++,h/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(e*h-1)*Math.pow(2,n),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+c]=255&a,c+=p,a/=256,n-=8);for(s=s<0;t[r+c]=255&s,c+=p,s/=256,u-=8);t[r+c-p]|=128*m},Jt.write=Qt),Jt}var re,ie,ne,oe,se,ae,he,ue,fe,le=!1;function de(t){if(t>se)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,ce.prototype),e}function ce(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return ge(t)}return pe(t,e,r)}function pe(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!ce.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|Me(t,e),i=de(r),n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Ke(t,Uint8Array)){var e=new Uint8Array(t);return be(e.buffer,e.byteOffset,e.byteLength)}return ve(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Ke(t,ArrayBuffer)||t&&Ke(t.buffer,ArrayBuffer))return be(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Ke(t,SharedArrayBuffer)||t&&Ke(t.buffer,SharedArrayBuffer)))return be(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return ce.from(i,e,r);var n=function(t){if(ce.isBuffer(t)){var e=0|ye(t.length),r=de(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||We(t.length)?de(0):ve(t);if("Buffer"===t.type&&Array.isArray(t.data))return ve(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return ce.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function me(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function ge(t){return me(t),de(t<0?0:0|ye(t))}function ve(t){for(var e=t.length<0?0:0|ye(t.length),r=de(e),i=0;i=se)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+se.toString(16)+" bytes");return 0|t}function we(t){return+t!=t&&(t=0),ce.alloc(+t)}function Me(t,e){if(ce.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Ke(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Fe(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ze(t).length;default:if(n)return i?-1:Fe(t).length;e=(""+e).toLowerCase(),n=!0}}function _e(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return Le(this,e,r);case"utf8":case"utf-8":return Ce(this,e,r);case"ascii":return Pe(this,e,r);case"latin1":case"binary":return De(this,e,r);case"base64":return Ie(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function Ae(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function Ee(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),We(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=ce.from(e,i)),ce.isBuffer(e))return 0===e.length?-1:Se(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Se(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function Se(t,e,r,i,n){var o,s=1,a=t.length,h=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,a/=2,h/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var f=-1;for(o=r;oa&&(r=a-h),o=r;o>=0;o--){for(var l=!0,d=0;dn&&(i=n):i=n;var o=e.length;i>o/2&&(i=o/2);for(var s=0;s>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function Ie(t,e,r){return 0===e&&r===t.length?Xt().fromByteArray(t):Xt().fromByteArray(t.slice(e,r))}function Ce(t,e,r){r=Math.min(t.length,r);for(var i=[],n=e;n239?4:u>223?3:u>191?2:1;if(n+l<=r)switch(l){case 1:u<128&&(f=u);break;case 2:128==(192&(o=t[n+1]))&&(h=(31&u)<<6|63&o)>127&&(f=h);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&(h=(15&u)<<12|(63&o)<<6|63&s)>2047&&(h<55296||h>57343)&&(f=h);break;case 4:o=t[n+1],s=t[n+2],a=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(h=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&h<1114112&&(f=h)}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return function(t){var e=t.length;if(e<=he)return String.fromCharCode.apply(String,t);var r="",i=0;for(;ii)&&(r=i);for(var n="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function Ue(t,e,r,i,n,o){if(!ce.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}function Ne(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ze(t,e,r,i,n){return e=+e,r>>>=0,n||Ne(t,0,r,4),ee().write(t,e,r,i,23,4),r+4}function qe(t,e,r,i,n){return e=+e,r>>>=0,n||Ne(t,0,r,8),ee().write(t,e,r,i,52,8),r+8}function Fe(t,e){var r;e=e||1/0;for(var i=t.length,n=null,o=[],s=0;s55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Ze(t){return Xt().toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(ue,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function He(t,e,r,i){for(var n=0;n=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function Ke(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function We(t){return t!=t}function Ge(){re={},Xt(),ee(),ie="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null,ne=ce,re.Buffer=ne,oe=we,re.SlowBuffer=oe,50,re.INSPECT_MAX_BYTES=50,ae=se=2147483647,re.kMaxLength=ae,ce.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),ce.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(ce.prototype,"parent",{enumerable:!0,get:function(){if(ce.isBuffer(this))return this.buffer}}),Object.defineProperty(ce.prototype,"offset",{enumerable:!0,get:function(){if(ce.isBuffer(this))return this.byteOffset}}),ce.poolSize=8192,ce.from=function(t,e,r){return pe(t,e,r)},Object.setPrototypeOf(ce.prototype,Uint8Array.prototype),Object.setPrototypeOf(ce,Uint8Array),ce.alloc=function(t,e,r){return function(t,e,r){return me(t),t<=0?de(t):void 0!==e?"string"==typeof r?de(t).fill(e,r):de(t).fill(e):de(t)}(t,e,r)},ce.allocUnsafe=function(t){return ge(t)},ce.allocUnsafeSlow=function(t){return ge(t)},ce.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==ce.prototype},ce.compare=function(t,e){if(Ke(t,Uint8Array)&&(t=ce.from(t,t.offset,t.byteLength)),Ke(e,Uint8Array)&&(e=ce.from(e,e.offset,e.byteLength)),!ce.isBuffer(t)||!ce.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);ni.length?ce.from(o).copy(i,n):Uint8Array.prototype.set.call(i,o,n);else{if(!ce.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n)}n+=o.length}return i},ce.byteLength=Me,ce.prototype._isBuffer=!0,ce.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e50&&(t+=" ... "),""},ie&&(ce.prototype[ie]=ce.prototype.inspect),ce.prototype.compare=function(t,e,r,i,n){if(Ke(t,Uint8Array)&&(t=ce.from(t,t.offset,t.byteLength)),!ce.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(i>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),h=this.slice(i,n),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return ke(this,t,e,r);case"utf8":case"utf-8":return Be(this,t,e,r);case"ascii":case"latin1":case"binary":return Re(this,t,e,r);case"base64":return Te(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xe(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},ce.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},he=4096,ce.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||je(t,e,this.length);for(var i=this[t],n=1,o=0;++o>>=0,e>>>=0,r||je(t,e,this.length);for(var i=this[t+--e],n=1;e>0&&(n*=256);)i+=this[t+--e]*n;return i},ce.prototype.readUint8=ce.prototype.readUInt8=function(t,e){return t>>>=0,e||je(t,1,this.length),this[t]},ce.prototype.readUint16LE=ce.prototype.readUInt16LE=function(t,e){return t>>>=0,e||je(t,2,this.length),this[t]|this[t+1]<<8},ce.prototype.readUint16BE=ce.prototype.readUInt16BE=function(t,e){return t>>>=0,e||je(t,2,this.length),this[t]<<8|this[t+1]},ce.prototype.readUint32LE=ce.prototype.readUInt32LE=function(t,e){return t>>>=0,e||je(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},ce.prototype.readUint32BE=ce.prototype.readUInt32BE=function(t,e){return t>>>=0,e||je(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},ce.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||je(t,e,this.length);for(var i=this[t],n=1,o=0;++o=(n*=128)&&(i-=Math.pow(2,8*e)),i},ce.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||je(t,e,this.length);for(var i=e,n=1,o=this[t+--i];i>0&&(n*=256);)o+=this[t+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*e)),o},ce.prototype.readInt8=function(t,e){return t>>>=0,e||je(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},ce.prototype.readInt16LE=function(t,e){t>>>=0,e||je(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},ce.prototype.readInt16BE=function(t,e){t>>>=0,e||je(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},ce.prototype.readInt32LE=function(t,e){return t>>>=0,e||je(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},ce.prototype.readInt32BE=function(t,e){return t>>>=0,e||je(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},ce.prototype.readFloatLE=function(t,e){return t>>>=0,e||je(t,4,this.length),ee().read(this,t,!0,23,4)},ce.prototype.readFloatBE=function(t,e){return t>>>=0,e||je(t,4,this.length),ee().read(this,t,!1,23,4)},ce.prototype.readDoubleLE=function(t,e){return t>>>=0,e||je(t,8,this.length),ee().read(this,t,!0,52,8)},ce.prototype.readDoubleBE=function(t,e){return t>>>=0,e||je(t,8,this.length),ee().read(this,t,!1,52,8)},ce.prototype.writeUintLE=ce.prototype.writeUIntLE=function(t,e,r,i){(t=+t,e>>>=0,r>>>=0,i)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,i)||Ue(this,t,e,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},ce.prototype.writeUint8=ce.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,255,0),this[e]=255&t,e+1},ce.prototype.writeUint16LE=ce.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},ce.prototype.writeUint16BE=ce.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},ce.prototype.writeUint32LE=ce.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},ce.prototype.writeUint32BE=ce.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},ce.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){var n=Math.pow(2,8*r-1);Ue(this,t,e,r,n-1,-n)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},ce.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){var n=Math.pow(2,8*r-1);Ue(this,t,e,r,n-1,-n)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},ce.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},ce.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},ce.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},ce.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},ce.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||Ue(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},ce.prototype.writeFloatLE=function(t,e,r){return ze(this,t,e,!0,r)},ce.prototype.writeFloatBE=function(t,e,r){return ze(this,t,e,!1,r)},ce.prototype.writeDoubleLE=function(t,e,r){return qe(this,t,e,!0,r)},ce.prototype.writeDoubleBE=function(t,e,r){return qe(this,t,e,!1,r)},ce.prototype.copy=function(t,e,r,i){if(!ce.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o2){var h=i.lastIndexOf("/");if(h!==i.length-1){-1===h?(i="",n=0):n=(i=i.slice(0,h)).length-1-i.lastIndexOf("/"),o=a,s=0;continue}}else if(2===i.length||1===i.length){i="",n=0,o=a,s=0;continue}e&&(i.length>0?i+="/..":i="..",n=2)}else i.length>0?i+="/"+t.slice(o+1,a):i=t.slice(o+1,a),n=a-o-1;o=a,s=0}else 46===r&&-1!==s?++s:s=-1}return i}function tr(){return Xe||(Xe=!0,Ve={},jt(),$e={resolve:function(){for(var t,e="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var n;i>=0?n=arguments[i]:(void 0===t&&(t=jt().cwd()),n=t),Je(n),0!==n.length&&(e=n+"/"+e,r=47===n.charCodeAt(0))}return e=Qe(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(Je(t),0===t.length)return".";var e=47===t.charCodeAt(0),r=47===t.charCodeAt(t.length-1);return 0!==(t=Qe(t,!e)).length||e||(t="."),t.length>0&&r&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return Je(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":$e.normalize(t)},relative:function(t,e){if(Je(t),Je(e),t===e)return"";if((t=$e.resolve(t))===(e=$e.resolve(e)))return"";for(var r=1;ra){if(47===e.charCodeAt(o+u))return e.slice(o+u+1);if(0===u)return e.slice(o+u)}else n>a&&(47===t.charCodeAt(r+u)?h=u:0===u&&(h=0));break}var f=t.charCodeAt(r+u);if(f!==e.charCodeAt(o+u))break;47===f&&(h=u)}var l="";for(u=r+h+1;u<=i;++u)u!==i&&47!==t.charCodeAt(u)||(0===l.length?l+="..":l+="/..");return l.length>0?l+e.slice(o+h):(o+=h,47===e.charCodeAt(o)&&++o,e.slice(o))},_makeLong:function(t){return t},dirname:function(t){if(Je(t),0===t.length)return".";for(var e=t.charCodeAt(0),r=47===e,i=-1,n=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"//":t.slice(0,i)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');Je(t);var r,i=0,n=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var s=e.length-1,a=-1;for(r=t.length-1;r>=0;--r){var h=t.charCodeAt(r);if(47===h){if(!o){i=r+1;break}}else-1===a&&(o=!1,a=r+1),s>=0&&(h===e.charCodeAt(s)?-1==--s&&(n=r):(s=-1,n=a))}return i===n?n=a:-1===n&&(n=t.length),t.slice(i,n)}for(r=t.length-1;r>=0;--r)if(47===t.charCodeAt(r)){if(!o){i=r+1;break}}else-1===n&&(o=!1,n=r+1);return-1===n?"":t.slice(i,n)},extname:function(t){Je(t);for(var e=-1,r=0,i=-1,n=!0,o=0,s=t.length-1;s>=0;--s){var a=t.charCodeAt(s);if(47!==a)-1===i&&(n=!1,i=s+1),46===a?-1===e?e=s:1!==o&&(o=1):-1!==e&&(o=-1);else if(!n){r=s+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===r+1?"":t.slice(e,i)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,i=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+i:r+t+i:i}("/",t)},parse:function(t){Je(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var r,i=t.charCodeAt(0),n=47===i;n?(e.root="/",r=1):r=0;for(var o=-1,s=0,a=-1,h=!0,u=t.length-1,f=0;u>=r;--u)if(47!==(i=t.charCodeAt(u)))-1===a&&(h=!1,a=u+1),46===i?-1===o?o=u:1!==f&&(f=1):-1!==o&&(f=-1);else if(!h){s=u+1;break}return-1===o||-1===a||0===f||1===f&&o===a-1&&o===s+1?-1!==a&&(e.base=e.name=0===s&&n?t.slice(1,a):t.slice(s,a)):(0===s&&n?(e.name=t.slice(1,o),e.base=t.slice(1,a)):(e.name=t.slice(s,o),e.base=t.slice(s,a)),e.ext=t.slice(o,a)),s>0?e.dir=t.slice(0,s-1):n&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null},$e.posix=$e,Ve=$e),Ve}var er,rr=!1;function ir(){return rr||(rr=!0,er={}),er}var nr,or,sr,ar,hr=!1;function ur(t,e){for(var r in t)e[r]=t[r]}function fr(t,e,r){return ar(t,e,r)}function lr(){return hr||(hr=!0,nr={},sr=Ye(),(ar=sr.Buffer).from&&ar.alloc&&ar.allocUnsafe&&ar.allocUnsafeSlow?nr=sr:(ur(sr,nr),or=fr,nr.Buffer=or),fr.prototype=Object.create(ar.prototype),ur(ar,fr),fr.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return ar(t,e,r)},fr.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=ar(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},fr.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return ar(t)},fr.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return sr.SlowBuffer(t)}),nr}var dr,cr,pr,mr,gr,vr=!1;function br(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}function yr(t,e){if(t>pr)throw new RangeError("requested too many random bytes");var r=mr.allocUnsafe(t);if(t>0)if(t>cr)for(var i=0;i0&&s.length>n&&!s.warned){s.warned=!0;var h=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");h.name="MaxListenersExceededWarning",h.emitter=t,h.type=e,h.count=s.length,a=h,console&&console.warn&&console.warn(a)}return t}function Lr(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Or(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=Lr.bind(i);return n.listener=r,i.wrapFn=n,n}function jr(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var a=n[t];if(void 0===a)return!1;if("function"==typeof a)kr(a,this,e);else{var h=a.length,u=Nr(a,h);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(t,e){for(;e+1=0;i--)this.removeListener(t,e[i]);return this},Ir.prototype.listeners=function(t){return jr(this,t,!0)},Ir.prototype.rawListeners=function(t){return jr(this,t,!1)},Ir.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Ur.call(t,e)},Ir.prototype.listenerCount=Ur,Ir.prototype.eventNames=function(){return this._eventsCount>0?Br(this._events):[]}),Er}var qr,Fr=!1;function Zr(){return Fr||(Fr=!0,qr={},qr=zr().EventEmitter),qr}var Hr,Kr,Wr,Gr,Yr=!1;function Vr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function $r(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Xr(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return Kr.alloc(0);for(var e,r,i,n=Kr.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=n,i=s,Kr.prototype.copy.call(e,r,i),s+=o.data.length,o=o.next;return n}},{key:"consume",value:function(t,e){var r;return tn.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),0==(t-=o)){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=Kr.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),0==(t-=o)){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:Gr,value:function(t,e){return Wr(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}function pi(){return li||(li=!0,hi={},ui={},di("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),di("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n,o,s;if("string"==typeof e&&(n="not ",e.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat(ci(e,"type"));else{var a=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";s='The "'.concat(t,'" ').concat(a," ").concat(i," ").concat(ci(e,"type"))}return s+". Received type ".concat(typeof r)}),TypeError),di("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),di("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),di("ERR_STREAM_PREMATURE_CLOSE","Premature close"),di("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),di("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),di("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),di("ERR_STREAM_WRITE_AFTER_END","write after end"),di("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),di("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),di("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),fi=ui,hi.codes=fi),hi}var mi,gi,vi=!1;function bi(t,e,r,i){var n=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new gi(i?r:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}function yi(){return vi||(vi=!0,mi={},gi=pi().codes.ERR_INVALID_OPT_VALUE,mi={getHighWaterMark:bi}),mi}var wi,Mi=!1;function _i(t,e){if(Ai("noDeprecation"))return t;var r=!1;return function(){if(!r){if(Ai("throwDeprecation"))throw new Error(e);Ai("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}function Ai(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}function Ei(){return Mi||(Mi=!0,wi={},wi=_i),wi}var Si,ki,Bi,Ri,Ti,xi,Ii,Ci,Pi,Di,Li,Oi,ji,Ui,Ni,zi,qi,Fi,Zi=!1;function Hi(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}function Ki(){}function Wi(t,e,r){ki=ki||pn(),t=t||{},"boolean"!=typeof r&&(r=e instanceof ki),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Ii(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===t.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new Li;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,n){--e.pendingcb,r?(jt().nextTick(n,i),jt().nextTick(tn,t,e),t._writableState.errorEmitted=!0,qi(t,i)):(n(i),t._writableState.errorEmitted=!0,qi(t,i),tn(t,e))}(t,r,i,e,n);else{var o=Ji(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Xi(t,r),i?jt().nextTick($i,t,r,o,n):$i(t,r,o,n)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Hi(this)}function Gi(t){var e=this instanceof(ki=ki||pn());if(!e&&!Fi.call(Gi,this))return new Gi(t);this._writableState=new Wi(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),Ri.call(this)}function Yi(t,e,r,i,n,o){if(!r){var s=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=Ti.from(e,r)),e}(e,i,n);i!==s&&(r=!0,n="buffer",i=s)}var a=e.objectMode?1:i.length;e.length+=a;var h=e.length-1))throw new zi(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Gi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Gi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Gi.prototype._write=function(t,e,r){r(new Di("_write()"))},Gi.prototype._writev=null,Gi.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,tn(t,e),r&&(e.finished?jt().nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(Gi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Gi.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Gi.prototype.destroy=ai().destroy,Gi.prototype._undestroy=ai().undestroy,Gi.prototype._destroy=function(t,e){e(t)}}function rn(){return Zi||(Zi=!0,en()),Si}var nn,on,sn,an,hn,un,fn=!1;function ln(t){if(!(this instanceof ln))return new ln(t);sn.call(this,t),rn().call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",dn)))}function dn(){this._writableState.ended||jt().nextTick(cn,this)}function cn(t){t.end()}function pn(){return fn||(fn=!0,function(){for(nn={},jt(),on=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e},nn=ln,sn=Wo(),rn(),Ar()(ln,sn),an=on(rn().prototype),hn=0;hn>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function _n(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function An(t,e){var r=function(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function En(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function Sn(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function kn(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function Bn(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Rn(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Tn(t){return t.toString(this.encoding)}function xn(t){return t&&t.length?this.write(t):""}function In(){return yn||(yn=!0,mn={},gn=lr().Buffer,vn=gn.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},bn=wn,mn.StringDecoder=bn,wn.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===uo.prototype||(e=function(t){return uo.from(t)}(e)),i)s.endEmitted?Eo(t,new wo):Io(t,s,e,!0);else if(s.ended)Eo(t,new bo);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?Io(t,s,e,!1):Lo(t,s)):Io(t,s,e,!1)}else i||(s.reading=!1,Lo(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=ko?t=ko:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function Po(t){var e=t._readableState;co("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(co("emitReadable",e.flowing),e.emittedReadable=!0,jt().nextTick(Do,t))}function Do(t){var e=t._readableState;co("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zo(t)}function Lo(t,e){e.readingMore||(e.readingMore=!0,jt().nextTick(Oo,t,e))}function Oo(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Uo(t){co("readable nexttick read 0"),t.read(0)}function No(t,e){co("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),zo(t),e.flowing&&!e.reading&&t.read(0)}function zo(t){var e=t._readableState;for(co("flow",e.flowing);e.flowing&&null!==t.read(););}function qo(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function Fo(t){var e=t._readableState;co("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,jt().nextTick(Zo,e,t))}function Zo(t,e){if(co("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function Ho(t,e){for(var r=0,i=t.length;r=e.highWaterMark:e.length>0)||e.ended))return co("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?Fo(this):Po(this),null;if(0===(t=Co(t,e))&&e.ended)return 0===e.length&&Fo(this),null;var i,n=e.needReadable;return co("need readable",n),(0===e.length||e.length-t0?qo(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Fo(this)),null!==i&&this.emit("data",i),i},To.prototype._read=function(t){Eo(this,new yo("_read()"))},To.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,co("pipe count=%d opts=%j",i.pipesCount,e);var n=(!e||!1!==e.end)&&t!==jt().stdout&&t!==jt().stderr?s:c;function o(e,n){co("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,co("cleanup"),t.removeListener("close",l),t.removeListener("finish",d),t.removeListener("drain",a),t.removeListener("error",f),t.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",c),r.removeListener("data",u),h=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||a())}function s(){co("onend"),t.end()}i.endEmitted?jt().nextTick(n):r.once("end",n),t.on("unpipe",o);var a=function(t){return function(){var e=t._readableState;co("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&ao(t,"data")&&(e.flowing=!0,zo(t))}}(r);t.on("drain",a);var h=!1;function u(e){co("ondata");var n=t.write(e);co("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==Ho(i.pipes,t))&&!h&&(co("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(e){co("onerror",e),c(),t.removeListener("error",f),0===ao(t,"error")&&Eo(t,e)}function l(){t.removeListener("finish",d),c()}function d(){co("onfinish"),t.removeListener("close",l),c()}function c(){co("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",l),t.once("finish",d),t.emit("pipe",r),i.flowing||(co("pipe resume"),r.resume()),t},To.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,co("on readable",i.length,i.reading),i.length?Po(this):i.reading||jt().nextTick(Uo,this))),r},To.prototype.addListener=To.prototype.on,To.prototype.removeListener=function(t,e){var r=ho.prototype.removeListener.call(this,t,e);return"readable"===t&&jt().nextTick(jo,this),r},To.prototype.removeAllListeners=function(t){var e=ho.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||jt().nextTick(jo,this),e},To.prototype.resume=function(){var t=this._readableState;return t.flowing||(co("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,jt().nextTick(No,t,e))}(this,t)),t.paused=!1,this},To.prototype.pause=function(){return co("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(co("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},To.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(co("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(co("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o0,(function(t){i||(i=t),t&&o.forEach(ys),s||(o.forEach(ys),n(i))}))}));return e.reduce(ws)}function As(){return gs||(gs=!0,ls={},cs=pi().codes,ps=cs.ERR_MISSING_ARGS,ms=cs.ERR_STREAM_DESTROYED,ls=_s),ls}var Es,Ss,ks,Bs,Rs,Ts,xs,Is,Cs,Ps,Ds=!1;function Ls(){return Ds||(Ds=!0,Ss={},Es=Ss=Wo(),ks=Es,Ss.Stream=ks,Bs=Es,Ss.Readable=Bs,Rs=rn(),Ss.Writable=Rs,Ts=pn(),Ss.Duplex=Ts,xs=os(),Ss.Transform=xs,Is=fs(),Ss.PassThrough=Is,Cs=jn(),Ss.finished=Cs,Ps=As(),Ss.pipeline=Ps),Ss}var Os,js,Us,Ns=!1;function zs(t){Us.call(this),this._block=js.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}function qs(){Os={},js=lr().Buffer,Us=Ls().Transform,Ar()(zs,Us),zs.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},zs.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},zs.prototype.update=function(t,e){if(function(t,e){if(!js.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");js.isBuffer(t)||(t=js.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var n=this._blockOffset;n0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},zs.prototype._update=function(){throw new Error("_update is not implemented")},zs.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},zs.prototype._digest=function(){throw new Error("_digest is not implemented")},Os=zs}function Fs(){return Ns||(Ns=!0,qs()),Os}var Zs,Hs,Ks,Ws,Gs,Ys=!1;function Vs(){Ks.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function $s(t,e){return t<>>32-e}function Xs(t,e,r,i,n,o,s){return $s(t+(e&r|~e&i)+n+o|0,s)+e|0}function Js(t,e,r,i,n,o,s){return $s(t+(e&i|r&~i)+n+o|0,s)+e|0}function Qs(t,e,r,i,n,o,s){return $s(t+(e^r^i)+n+o|0,s)+e|0}function ta(t,e,r,i,n,o,s){return $s(t+(r^(e|~i))+n+o|0,s)+e|0}function ea(){return Ys||(Ys=!0,Zs={},Hs=Ar(),Ks=Fs(),Ws=lr().Buffer,Gs=new Array(16),Hs(Vs,Ks),Vs.prototype._update=function(){for(var t=Gs,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=Xs(r,i,n,o,t[0],3614090360,7),o=Xs(o,r,i,n,t[1],3905402710,12),n=Xs(n,o,r,i,t[2],606105819,17),i=Xs(i,n,o,r,t[3],3250441966,22),r=Xs(r,i,n,o,t[4],4118548399,7),o=Xs(o,r,i,n,t[5],1200080426,12),n=Xs(n,o,r,i,t[6],2821735955,17),i=Xs(i,n,o,r,t[7],4249261313,22),r=Xs(r,i,n,o,t[8],1770035416,7),o=Xs(o,r,i,n,t[9],2336552879,12),n=Xs(n,o,r,i,t[10],4294925233,17),i=Xs(i,n,o,r,t[11],2304563134,22),r=Xs(r,i,n,o,t[12],1804603682,7),o=Xs(o,r,i,n,t[13],4254626195,12),n=Xs(n,o,r,i,t[14],2792965006,17),r=Js(r,i=Xs(i,n,o,r,t[15],1236535329,22),n,o,t[1],4129170786,5),o=Js(o,r,i,n,t[6],3225465664,9),n=Js(n,o,r,i,t[11],643717713,14),i=Js(i,n,o,r,t[0],3921069994,20),r=Js(r,i,n,o,t[5],3593408605,5),o=Js(o,r,i,n,t[10],38016083,9),n=Js(n,o,r,i,t[15],3634488961,14),i=Js(i,n,o,r,t[4],3889429448,20),r=Js(r,i,n,o,t[9],568446438,5),o=Js(o,r,i,n,t[14],3275163606,9),n=Js(n,o,r,i,t[3],4107603335,14),i=Js(i,n,o,r,t[8],1163531501,20),r=Js(r,i,n,o,t[13],2850285829,5),o=Js(o,r,i,n,t[2],4243563512,9),n=Js(n,o,r,i,t[7],1735328473,14),r=Qs(r,i=Js(i,n,o,r,t[12],2368359562,20),n,o,t[5],4294588738,4),o=Qs(o,r,i,n,t[8],2272392833,11),n=Qs(n,o,r,i,t[11],1839030562,16),i=Qs(i,n,o,r,t[14],4259657740,23),r=Qs(r,i,n,o,t[1],2763975236,4),o=Qs(o,r,i,n,t[4],1272893353,11),n=Qs(n,o,r,i,t[7],4139469664,16),i=Qs(i,n,o,r,t[10],3200236656,23),r=Qs(r,i,n,o,t[13],681279174,4),o=Qs(o,r,i,n,t[0],3936430074,11),n=Qs(n,o,r,i,t[3],3572445317,16),i=Qs(i,n,o,r,t[6],76029189,23),r=Qs(r,i,n,o,t[9],3654602809,4),o=Qs(o,r,i,n,t[12],3873151461,11),n=Qs(n,o,r,i,t[15],530742520,16),r=ta(r,i=Qs(i,n,o,r,t[2],3299628645,23),n,o,t[0],4096336452,6),o=ta(o,r,i,n,t[7],1126891415,10),n=ta(n,o,r,i,t[14],2878612391,15),i=ta(i,n,o,r,t[5],4237533241,21),r=ta(r,i,n,o,t[12],1700485571,6),o=ta(o,r,i,n,t[3],2399980690,10),n=ta(n,o,r,i,t[10],4293915773,15),i=ta(i,n,o,r,t[1],2240044497,21),r=ta(r,i,n,o,t[8],1873313359,6),o=ta(o,r,i,n,t[15],4264355552,10),n=ta(n,o,r,i,t[6],2734768916,15),i=ta(i,n,o,r,t[13],1309151649,21),r=ta(r,i,n,o,t[4],4149444226,6),o=ta(o,r,i,n,t[11],3174756917,10),n=ta(n,o,r,i,t[2],718787259,15),i=ta(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},Vs.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Ws.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},Zs=Vs),Zs}var ra,ia,na,oa,sa,aa,ha,ua,fa,la,da,ca=!1;function pa(){oa.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function ma(t,e){return t<>>32-e}function ga(t,e,r,i,n,o,s,a){return ma(t+(e^r^i)+o+s|0,a)+n|0}function va(t,e,r,i,n,o,s,a){return ma(t+(e&r|~e&i)+o+s|0,a)+n|0}function ba(t,e,r,i,n,o,s,a){return ma(t+((e|~r)^i)+o+s|0,a)+n|0}function ya(t,e,r,i,n,o,s,a){return ma(t+(e&i|r&~i)+o+s|0,a)+n|0}function wa(t,e,r,i,n,o,s,a){return ma(t+(e^(r|~i))+o+s|0,a)+n|0}function Ma(){return ca||(ca=!0,ra={},ia=Ye().Buffer,na=Ar(),oa=Fs(),sa=new Array(16),aa=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ha=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],ua=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],fa=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],la=[0,1518500249,1859775393,2400959708,2840853838],da=[1352829926,1548603684,1836072691,2053994217,0],na(pa,oa),pa.prototype._update=function(){for(var t=sa,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,a=0|this._a,h=0|this._b,u=0|this._c,f=0|this._d,l=0|this._e,d=0;d<80;d+=1){var c,p;d<16?(c=ga(r,i,n,o,s,t[aa[d]],la[0],ua[d]),p=wa(a,h,u,f,l,t[ha[d]],da[0],fa[d])):d<32?(c=va(r,i,n,o,s,t[aa[d]],la[1],ua[d]),p=ya(a,h,u,f,l,t[ha[d]],da[1],fa[d])):d<48?(c=ba(r,i,n,o,s,t[aa[d]],la[2],ua[d]),p=ba(a,h,u,f,l,t[ha[d]],da[2],fa[d])):d<64?(c=ya(r,i,n,o,s,t[aa[d]],la[3],ua[d]),p=va(a,h,u,f,l,t[ha[d]],da[3],fa[d])):(c=wa(r,i,n,o,s,t[aa[d]],la[4],ua[d]),p=ga(a,h,u,f,l,t[ha[d]],da[4],fa[d])),r=s,s=o,o=ma(n,10),n=i,i=c,a=l,l=f,f=ma(u,10),u=h,h=p}var m=this._b+n+f|0;this._b=this._c+o+l|0,this._c=this._d+s+a|0,this._d=this._e+r+h|0,this._e=this._a+i+u|0,this._a=m},pa.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=ia.alloc?ia.alloc(20):new ia(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},ra=pa),ra}var _a,Aa,Ea=!1;function Sa(t,e){this._block=Aa.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}function ka(){return Ea||(Ea=!0,_a={},Aa=lr().Buffer,Sa.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=Aa.from(t,e));for(var r=this._block,i=this._blockSize,n=t.length,o=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Sa.prototype._update=function(){throw new Error("_update must be implemented by subclass")},_a=Sa),_a}var Ba,Ra,Ta,xa,Ia,Ca,Pa=!1;function Da(){this.init(),this._w=Ca,Ta.call(this,64,56)}function La(t){return t<<30|t>>>2}function Oa(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}function ja(){return Pa||(Pa=!0,Ba={},Ra=Ar(),Ta=ka(),xa=lr().Buffer,Ia=[1518500249,1859775393,-1894007588,-899497514],Ca=new Array(80),Ra(Da,Ta),Da.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Da.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var u=0;u<80;++u){var f=~~(u/20),l=0|((e=i)<<5|e>>>27)+Oa(f,n,o,s)+a+r[u]+Ia[f];a=s,s=o,o=La(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},Da.prototype._hash=function(){var t=xa.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},Ba=Da),Ba}var Ua,Na,za,qa,Fa,Za,Ha=!1;function Ka(){this.init(),this._w=Za,za.call(this,64,56)}function Wa(t){return t<<5|t>>>27}function Ga(t){return t<<30|t>>>2}function Ya(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}function Va(){return Ha||(Ha=!0,Ua={},Na=Ar(),za=ka(),qa=lr().Buffer,Fa=[1518500249,1859775393,-1894007588,-899497514],Za=new Array(80),Na(Ka,za),Ka.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Ka.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=(e=r[h-3]^r[h-8]^r[h-14]^r[h-16])<<1|e>>>31;for(var u=0;u<80;++u){var f=~~(u/20),l=Wa(i)+Ya(f,n,o,s)+a+r[u]+Fa[f]|0;a=s,s=o,o=Ga(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0},Ka.prototype._hash=function(){var t=qa.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},Ua=Ka),Ua}var $a,Xa,Ja,Qa,th,eh,rh=!1;function ih(){this.init(),this._w=eh,Ja.call(this,64,56)}function nh(t,e,r){return r^t&(e^r)}function oh(t,e,r){return t&e|r&(t|e)}function sh(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function ah(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function hh(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function uh(){return rh||(rh=!0,$a={},Xa=Ar(),Ja=ka(),Qa=lr().Buffer,th=[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],eh=new Array(64),Xa(ih,Ja),ih.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},ih.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,a=0|this._e,h=0|this._f,u=0|this._g,f=0|this._h,l=0;l<16;++l)r[l]=t.readInt32BE(4*l);for(;l<64;++l)r[l]=0|(((e=r[l-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[l-7]+hh(r[l-15])+r[l-16];for(var d=0;d<64;++d){var c=f+ah(a)+nh(a,h,u)+th[d]+r[d]|0,p=sh(i)+oh(i,n,o)|0;f=u,u=h,h=a,a=s+c|0,s=o,o=n,n=i,i=c+p|0}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0,this._f=h+this._f|0,this._g=u+this._g|0,this._h=f+this._h|0},ih.prototype._hash=function(){var t=Qa.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},$a=ih),$a}var fh,lh,dh,ch,ph,mh=!1;function gh(){this.init(),this._w=ph,ka().call(this,64,56)}function vh(){return mh||(mh=!0,fh={},lh=Ar(),dh=uh(),ka(),ch=lr().Buffer,ph=new Array(64),lh(gh,dh),gh.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},gh.prototype._hash=function(){var t=ch.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},fh=gh),fh}var bh,yh,wh,Mh,_h,Ah,Eh=!1;function Sh(){this.init(),this._w=Ah,wh.call(this,128,112)}function kh(t,e,r){return r^t&(e^r)}function Bh(t,e,r){return t&e|r&(t|e)}function Rh(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Th(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function xh(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Ih(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function Ch(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function Ph(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function Dh(t,e){return t>>>0>>0?1:0}function Lh(){return Eh||(Eh=!0,bh={},yh=Ar(),wh=ka(),Mh=lr().Buffer,_h=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Ah=new Array(160),yh(Sh,wh),Sh.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sh.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,a=0|this._fh,h=0|this._gh,u=0|this._hh,f=0|this._al,l=0|this._bl,d=0|this._cl,c=0|this._dl,p=0|this._el,m=0|this._fl,g=0|this._gl,v=0|this._hl,b=0;b<32;b+=2)e[b]=t.readInt32BE(4*b),e[b+1]=t.readInt32BE(4*b+4);for(;b<160;b+=2){var y=e[b-30],w=e[b-30+1],M=xh(y,w),_=Ih(w,y),A=Ch(y=e[b-4],w=e[b-4+1]),E=Ph(w,y),S=e[b-14],k=e[b-14+1],B=e[b-32],R=e[b-32+1],T=_+k|0,x=M+S+Dh(T,_)|0;x=(x=x+A+Dh(T=T+E|0,E)|0)+B+Dh(T=T+R|0,R)|0,e[b]=x,e[b+1]=T}for(var I=0;I<160;I+=2){x=e[I],T=e[I+1];var C=Bh(r,i,n),P=Bh(f,l,d),D=Rh(r,f),L=Rh(f,r),O=Th(s,p),j=Th(p,s),U=_h[I],N=_h[I+1],z=kh(s,a,h),q=kh(p,m,g),F=v+j|0,Z=u+O+Dh(F,v)|0;Z=(Z=(Z=Z+z+Dh(F=F+q|0,q)|0)+U+Dh(F=F+N|0,N)|0)+x+Dh(F=F+T|0,T)|0;var H=L+P|0,K=D+C+Dh(H,L)|0;u=h,v=g,h=a,g=m,a=s,m=p,s=o+Z+Dh(p=c+F|0,c)|0,o=n,c=d,n=i,d=l,i=r,l=f,r=Z+K+Dh(f=F+H|0,F)|0}this._al=this._al+f|0,this._bl=this._bl+l|0,this._cl=this._cl+d|0,this._dl=this._dl+c|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+g|0,this._hl=this._hl+v|0,this._ah=this._ah+r+Dh(this._al,f)|0,this._bh=this._bh+i+Dh(this._bl,l)|0,this._ch=this._ch+n+Dh(this._cl,d)|0,this._dh=this._dh+o+Dh(this._dl,c)|0,this._eh=this._eh+s+Dh(this._el,p)|0,this._fh=this._fh+a+Dh(this._fl,m)|0,this._gh=this._gh+h+Dh(this._gl,g)|0,this._hh=this._hh+u+Dh(this._hl,v)|0},Sh.prototype._hash=function(){var t=Mh.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},bh=Sh),bh}var Oh,jh,Uh,Nh,zh,qh=!1;function Fh(){this.init(),this._w=zh,ka().call(this,128,112)}function Zh(){return qh||(qh=!0,Oh={},jh=Ar(),Uh=Lh(),ka(),Nh=lr().Buffer,zh=new Array(160),jh(Fh,Uh),Fh.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Fh.prototype._hash=function(){var t=Nh.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},Oh=Fh),Oh}var Hh,Kh,Wh=!1;function Gh(){return Wh||(Wh=!0,Hh={},(Kh=Hh=function(t){t=t.toLowerCase();var e=Kh[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e}).sha=ja(),Kh.sha1=Va(),Kh.sha224=vh(),Kh.sha256=uh(),Kh.sha384=Zh(),Kh.sha512=Lh()),Hh}var Yh,Vh,$h,Xh,Jh=!1;function Qh(t){$h.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}function tu(){return Jh||(Jh=!0,Yh={},Vh=lr().Buffer,$h=Ls().Transform,Xh=In().StringDecoder,Ar()(Qh,$h),Qh.prototype.update=function(t,e,r){"string"==typeof t&&(t=Vh.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},Qh.prototype.setAutoPadding=function(){},Qh.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},Qh.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},Qh.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},Qh.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},Qh.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},Qh.prototype._finalOrDigest=function(t){var e=this.__final()||Vh.alloc(0);return t&&(e=this._toString(e,t,!0)),e},Qh.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new Xh(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i},Yh=Qh),Yh}var eu,ru,iu,nu,ou,su,au=!1;function hu(t){su.call(this,"digest"),this._hash=t}function uu(){return au||(au=!0,eu={},ru=Ar(),iu=ea(),nu=Ma(),ou=Gh(),su=tu(),ru(hu,su),hu.prototype._update=function(t){this._hash.update(t)},hu.prototype._final=function(){return this._hash.digest()},eu=function(t){return"md5"===(t=t.toLowerCase())?new iu:"rmd160"===t||"ripemd160"===t?new nu:new hu(ou(t))}),eu}var fu,lu,du,cu,pu,mu,gu=!1;function vu(t,e){cu.call(this,"digest"),"string"==typeof e&&(e=du.from(e)),this._alg=t,this._key=e,e.length>mu?e=t(e):e.lengthr)?e=("rmd160"===t?new Tu:xu(t)).update(e).digest():e.lengthFu||e!=e)throw new TypeError("Bad key length")}),qu}var Ku,Wu,Gu,Yu=!1;function Vu(){return Yu||(Yu=!0,Ku={},jt(),t.process&&t.process.browser?Wu="utf-8":t.process&&t.process.version?(Gu=parseInt(jt().version.split(".")[0].slice(1),10),Wu=Gu>=6?"utf-8":"binary"):Wu="utf-8",Ku=Wu),Ku}var $u,Xu,Ju=!1;function Qu(){return Ju||(Ju=!0,$u={},Xu=lr().Buffer,$u=function(t,e,r){if(Xu.isBuffer(t))return t;if("string"==typeof t)return Xu.from(t,e);if(ArrayBuffer.isView(t))return Xu.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}),$u}var tf,ef,rf,nf,of,sf,af,hf,uf,ff,lf=!1;function df(t,e,r){var i=function(t){function e(e){return nf(t).update(e).digest()}function r(t){return(new rf).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?ef:e}(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length>>0},jf=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},Of.writeUInt32BE=jf,Uf=function(t,e,r,i){for(var n=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>>a+s&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1}r[i+0]=n>>>0,r[i+1]=o>>>0},Of.ip=Uf,Nf=function(t,e,r,i){for(var n=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)n<<=1,n|=e>>>a+s&1,n<<=1,n|=t>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=e>>>a+s&1,o<<=1,o|=t>>>a+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},Of.rip=Nf,zf=function(t,e,r,i){for(var n=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)n<<=1,n|=e>>a+s&1;for(a=0;a<=24;a+=8)n<<=1,n|=t>>a+s&1}for(a=0;a<=24;a+=8)n<<=1,n|=e>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},Of.pc1=zf,qf=function(t,e){return t<>>28-e},Of.r28shl=qf,Ff=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24],Zf=function(t,e,r,i){for(var n=0,o=0,s=Ff.length>>>1,a=0;a>>Ff[a]&1;for(a=s;a>>Ff[a]&1;r[i+0]=n>>>0,r[i+1]=o>>>0},Of.pc2=Zf,Hf=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0},Of.expand=Hf,Kf=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11],Wf=function(t,e){for(var r=0,i=0;i<4;i++)r<<=4,r|=Kf[64*i+(t>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=Kf[256+64*i+(e>>>18-6*i&63)];return r>>>0},Of.substitute=Wf,Gf=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7],Yf=function(t){for(var e=0,r=0;r>>Gf[r]&1;return e>>>0},Of.permute=Yf,Vf=function(t,e,r){for(var i=t.toString(2);i.length0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},nl.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},nl.prototype._pad=function(t,e){if(0===e)return!1;for(;e>>1];r=Xf().r28shl(r,o),i=Xf().r28shl(i,o),Xf().pc2(r,i,t.keys,n)}},dl.prototype._update=function(t,e,r,i){var n=this._desState,o=Xf().readUInt32BE(t,e),s=Xf().readUInt32BE(t,e+4);Xf().ip(o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,s,n.tmp,0):this._decrypt(n,o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],Xf().writeUInt32BE(r,o,i),Xf().writeUInt32BE(r,s,i+4)},dl.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i>>0,o=l}Xf().rip(s,o,i,n)},dl.prototype._decrypt=function(t,e,r,i,n){for(var o=r,s=e,a=t.keys.length-2;a>=0;a-=2){var h=t.keys[a],u=t.keys[a+1];Xf().expand(o,t.tmp,0),h^=t.tmp[0],u^=t.tmp[1];var f=Xf().substitute(h,u),l=o;o=(s^Xf().permute(f))>>>0,s=l}Xf().rip(o,s,i,n)}),sl}var pl,ml,gl,vl,bl=!1;function yl(t){el().equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e>o%8,t._prev=Ad(t._prev,r?i:n);return s}function Ad(t,e){var r=t.length,i=-1,n=yd.allocUnsafe(t.length);for(t=yd.concat([t,yd.from([e])]);++i>7;return n}function Ed(){return Md||(Md=!0,bd={},yd=lr().Buffer,wd=function(t,e,r){for(var i=e.length,n=yd.allocUnsafe(i),o=-1;++o>>24]^f[p>>>16&255]^l[m>>>8&255]^d[255&g]^e[v++],s=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^d[255&c]^e[v++],a=u[m>>>24]^f[g>>>16&255]^l[c>>>8&255]^d[255&p]^e[v++],h=u[g>>>24]^f[c>>>16&255]^l[p>>>8&255]^d[255&m]^e[v++],c=o,p=s,m=a,g=h;return o=(i[c>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[v++],s=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&c])^e[v++],a=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[c>>>8&255]<<8|i[255&p])^e[v++],h=(i[g>>>24]<<24|i[c>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[v++],[o>>>=0,s>>>=0,a>>>=0,h>>>=0]}function hc(t){this._key=oc(t),this._reset()}function uc(){return nc||(nc=!0,Qd={},tc=lr().Buffer,ec=[0,1,2,4,8,16,32,64,128,27,54],rc=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,h=0;h<256;++h){var u=a^a<<1^a<<2^a<<3^a<<4;u=u>>>8^255&u^99,r[s]=u,i[u]=s;var f=t[s],l=t[f],d=t[l],c=257*t[u]^16843008*u;n[0][s]=c<<24|c>>>8,n[1][s]=c<<16|c>>>16,n[2][s]=c<<8|c>>>24,n[3][s]=c,c=16843009*d^65537*l^257*f^16843008*s,o[0][u]=c<<24|c>>>8,o[1][u]=c<<16|c>>>16,o[2][u]=c<<8|c>>>24,o[3][u]=c,0===s?s=a=1:(s=f^t[t[t[d^f]]],a^=t[t[a]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}(),hc.blockSize=16,hc.keySize=32,hc.prototype.blockSize=hc.blockSize,hc.prototype.keySize=hc.keySize,hc.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o>>24,s=rc.SBOX[s>>>24]<<24|rc.SBOX[s>>>16&255]<<16|rc.SBOX[s>>>8&255]<<8|rc.SBOX[255&s],s^=ec[o/e|0]<<24):e>6&&o%e==4&&(s=rc.SBOX[s>>>24]<<24|rc.SBOX[s>>>16&255]<<16|rc.SBOX[s>>>8&255]<<8|rc.SBOX[255&s]),n[o]=n[o-e]^s}for(var a=[],h=0;h>>24]]^rc.INV_SUB_MIX[1][rc.SBOX[f>>>16&255]]^rc.INV_SUB_MIX[2][rc.SBOX[f>>>8&255]]^rc.INV_SUB_MIX[3][rc.SBOX[255&f]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=a},hc.prototype.encryptBlockRaw=function(t){return ac(t=oc(t),this._keySchedule,rc.SUB_MIX,rc.SBOX,this._nRounds)},hc.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=tc.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},hc.prototype.decryptBlock=function(t){var e=(t=oc(t))[1];t[1]=t[3],t[3]=e;var r=ac(t,this._invKeySchedule,rc.INV_SUB_MIX,rc.INV_SBOX,this._nRounds),i=tc.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},hc.prototype.scrub=function(){sc(this._keySchedule),sc(this._invKeySchedule),sc(this._key)},ic=hc,Qd.AES=ic),Qd}var fc,lc,dc,cc=!1;function pc(t){var e=lc.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function mc(t){this.h=t,this.state=lc.alloc(16,0),this.cache=lc.allocUnsafe(0)}function gc(){return cc||(cc=!0,fc={},lc=lr().Buffer,dc=lc.alloc(16,0),mc.prototype.ghash=function(t){for(var e=-1;++e0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=pc(n)},mc.prototype.update=function(t){var e;for(this.cache=lc.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},mc.prototype.final=function(t,e){return this.cache.length&&this.ghash(lc.concat([this.cache,dc],16)),this.ghash(pc([0,t,0,e])),this.state},fc=mc),fc}var vc,bc,yc,wc,Mc,_c,Ac,Ec=!1;function Sc(t,e,r,i){yc.call(this);var n=bc.alloc(4,0);this._cipher=new(uc().AES)(e);var o=this._cipher.encryptBlock(n);this._ghash=new Mc(o),r=function(t,e,r){if(12===e.length)return t._finID=bc.concat([e,bc.from([0,0,0,1])]),bc.concat([e,bc.from([0,0,0,2])]);var i=new Mc(r),n=e.length,o=n%16;i.update(e),o&&(o=16-o,i.update(bc.alloc(o,0))),i.update(bc.alloc(8,0));var s=8*n,a=bc.alloc(8);a.writeUIntBE(s,0,8),i.update(a),t._finID=i.state;var h=bc.from(t._finID);return Ac(h),h}(this,r,o),this._prev=bc.from(r),this._cache=bc.allocUnsafe(0),this._secCache=bc.allocUnsafe(0),this._decrypt=i,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}function kc(){vc={},uc(),bc=lr().Buffer,yc=tu(),wc=Ar(),Mc=gc(),_c=Jl(),Ac=Ld(),wc(Sc,yc),Sc.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=bc.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},Sc.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=_c(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n0||i>0;){var h=new Oc;h.update(a),h.update(t),e&&h.update(e),a=h.digest();var u=0;if(n>0){var f=o.length-n;u=Math.min(n,a.length),a.copy(o,f,0,u),n-=u}if(u0){var l=s.length-i,d=Math.min(i,a.length-u);a.copy(s,l,u,u+d),i-=d}}return a.fill(0),{key:o,iv:s}}function Nc(){return jc||(jc=!0,Dc={},Lc=lr().Buffer,Oc=ea(),Dc=Uc),Dc}var zc,qc,Fc,Zc,Hc,Kc,Wc,Gc,Yc,Vc,$c=!1;function Xc(t,e,r){Kc.call(this),this._cache=new Jc,this._cipher=new(uc().AES)(e),this._prev=Zc.from(r),this._mode=t,this._autopadding=!0}function Jc(){this.cache=Zc.allocUnsafe(0)}function Qc(t,e,r){var i=qc[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=Zc.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=Zc.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===i.type?new Hc(i.module,e,r):"auth"===i.type?new Fc(i.module,e,r):new Xc(i.module,e,r)}function tp(t,e){var r=qc[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=Wc(e,!1,r.key,r.iv);return Qc(t,i.key,i.iv)}function ep(){return $c||($c=!0,zc={},qc=Jd(),Fc=Bc(),Zc=lr().Buffer,Hc=Pc(),Kc=tu(),uc(),Wc=Nc(),Ar()(Xc,Kc),Xc.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return Zc.concat(i)},Gc=Zc.alloc(16,16),Xc.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(Gc))throw this._cipher.scrub(),new Error("data not multiple of block length")},Xc.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},Jc.prototype.add=function(t){this.cache=Zc.concat([this.cache,t])},Jc.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},Jc.prototype.flush=function(){for(var t=16-this.cache.length,e=Zc.allocUnsafe(t),r=-1;++r16)throw new Error("unable to decrypt data");for(var r=-1;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},cp.prototype.flush=function(){if(this.cache.length)return this.cache},up=mp,rp.createDecipher=up,fp=pp,rp.createDecipheriv=fp}function vp(){return lp||(lp=!0,gp()),rp}var bp,yp,wp,Mp,_p,Ap,Ep,Sp,kp,Bp,Rp,Tp,xp=!1;function Ip(){return Object.keys(Ep)}function Cp(){return xp||(xp=!0,Ap={},ep(),vp(),Ep=Wd(),bp=ep().createCipher,Sp=Ap.Cipher=bp,Ap.createCipher=Sp,yp=ep().createCipheriv,kp=Ap.Cipheriv=yp,Ap.createCipheriv=kp,wp=vp().createDecipher,Bp=Ap.Decipher=wp,Ap.createDecipher=Bp,Mp=vp().createDecipheriv,Rp=Ap.Decipheriv=Mp,Ap.createDecipheriv=Rp,_p=Ip,Tp=Ap.getCiphers=_p,Ap.listCiphers=Tp),Ap}var Pp,Dp,Lp,Op,jp,Up,Np,zp,qp=!1;function Fp(){return qp||(qp=!0,(Lp={})["des-ecb"]={key:8,iv:0},Pp={key:8,iv:8},Op=Lp.des=Pp,Lp["des-cbc"]=Op,Dp={key:24,iv:8},jp=Lp.des3=Dp,Lp["des-ede3-cbc"]=jp,Up={key:24,iv:0},Lp["des-ede3"]=Up,Np={key:16,iv:8},Lp["des-ede-cbc"]=Np,zp={key:16,iv:0},Lp["des-ede"]=zp),Lp}var Zp,Hp,Kp,Wp,Gp,Yp,Vp,$p,Xp,Jp,Qp,tm,em,rm,im,nm=!1;function om(t,e){var r,i;if(t=t.toLowerCase(),$p[t])r=$p[t].key,i=$p[t].iv;else{if(!Xp[t])throw new TypeError("invalid suite type");r=8*Xp[t].key,i=Xp[t].iv}var n=Jp(e,!1,r,i);return am(t,n.key,n.iv)}function sm(t,e){var r,i;if(t=t.toLowerCase(),$p[t])r=$p[t].key,i=$p[t].iv;else{if(!Xp[t])throw new TypeError("invalid suite type");r=8*Xp[t].key,i=Xp[t].iv}var n=Jp(e,!1,r,i);return hm(t,n.key,n.iv)}function am(t,e,r){if(t=t.toLowerCase(),$p[t])return Cp().createCipheriv(t,e,r);if(Xp[t])return new Vp({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function hm(t,e,r){if(t=t.toLowerCase(),$p[t])return Cp().createDecipheriv(t,e,r);if(Xp[t])return new Vp({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}function um(){return Object.keys(Xp).concat(Cp().getCiphers())}function fm(){return nm||(nm=!0,Yp={},Vp=Hl(),Cp(),$p=Jd(),Xp=Fp(),Jp=Nc(),Zp=om,Qp=Yp.Cipher=Zp,Yp.createCipher=Qp,Hp=am,tm=Yp.Cipheriv=Hp,Yp.createCipheriv=tm,Kp=sm,em=Yp.Decipher=Kp,Yp.createDecipher=em,Wp=hm,rm=Yp.Decipheriv=Wp,Yp.createDecipheriv=rm,Gp=um,im=Yp.getCiphers=Gp,Yp.listCiphers=im),Yp}var lm,dm=!1;function cm(){lm=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ir().Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function pm(){return dm||(dm=!0,cm()),lm}var mm,gm=!1;function vm(){mm=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ir().Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}var bm,ym,wm,Mm=!1;function _m(t){this.rand=t}function Am(){return Mm||(Mm=!0,function(){if(bm={},bm=function(t){return ym||(ym=new _m(null)),ym.generate(t)},wm=_m,bm.Rand=wm,_m.prototype.generate=function(t){return this._rand(t)},_m.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r=0);return i},Bm.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},Bm.prototype.test=function(t,e,r){var i=t.bitLength(),n=Sm.mont(t),o=new Sm(1).toRed(n);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),a=0;!s.testn(a);a++);for(var h=t.shrn(a),u=s.toRed(n);e>0;e--){var f=this._randrange(new Sm(2),s);r&&r(f);var l=f.toRed(n).redPow(h);if(0!==l.cmp(o)&&0!==l.cmp(u)){for(var d=1;d0;e--){var u=this._randrange(new Sm(2),o),f=t.gcd(u);if(0!==f.cmpn(1))return f;var l=u.toRed(i).redPow(a);if(0!==l.cmp(n)&&0!==l.cmp(h)){for(var d=1;dt;)r.ishrn(1);if(r.isEven()&&r.iadd(Om),r.testn(1)||r.iadd(jm),e.cmp(jm)){if(!e.cmp(Um))for(;r.mod(Nm).cmp(zm);)r.iadd(Fm)}else for(;r.mod(Pm).cmp(qm);)r.iadd(Fm);if(Km(i=r.shrn(1))&&Km(r)&&Wm(i)&&Wm(r)&&Lm.test(i)&&Lm.test(r))return r}}function Ym(){return Hm||(Hm=!0,xm={},Im=wr(),xm=Gm,Gm.simpleSieve=Km,Gm.fermatTest=Wm,Cm=pm(),Pm=new Cm(24),Dm=Tm(),Lm=new Dm,Om=new Cm(1),jm=new Cm(2),Um=new Cm(5),new Cm(16),new Cm(8),Nm=new Cm(10),zm=new Cm(3),new Cm(7),qm=new Cm(11),Fm=new Cm(4),new Cm(12),Zm=null),xm}var Vm,$m=!1;function Xm(){return $m||($m=!0,Vm={},Vm=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')),Vm}var Jm,Qm,tg,eg,rg,ig,ng,og,sg,ag,hg,ug,fg=!1;function lg(t,e){return e=e||"utf8",Qm.isBuffer(t)||(t=new Qm(t,e)),this._pub=new tg(t),this}function dg(t,e){return e=e||"utf8",Qm.isBuffer(t)||(t=new Qm(t,e)),this._priv=new tg(t),this}function cg(t,e,r){this.setGenerator(e),this.__prime=new tg(t),this._prime=tg.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=lg,this.setPrivateKey=dg):this._primeCode=8}function pg(t,e){var r=new Qm(t.toArray());return e?r.toString(e):r}function mg(){Jm={},Qm=Ye().Buffer,tg=pm(),eg=Tm(),rg=new eg,ig=new tg(24),ng=new tg(11),og=new tg(10),sg=new tg(3),ag=new tg(7),Ym(),hg=wr(),Jm=cg,ug={},Object.defineProperty(cg.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in ug)return ug[i];var n,o=0;if(t.isEven()||!Ym().simpleSieve||!Ym().fermatTest(t)||!rg.test(t))return o+=1,o+="02"===r||"05"===r?8:4,ug[i]=o,o;switch(rg.test(t.shrn(1))||(o+=2),r){case"02":t.mod(ig).cmp(ng)&&(o+=8);break;case"05":(n=t.mod(og)).cmp(sg)&&n.cmp(ag)&&(o+=8);break;default:o+=4}return ug[i]=o,o}(this.__prime,this.__gen)),this._primeCode}}),cg.prototype.generateKeys=function(){return this._priv||(this._priv=new tg(hg(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},cg.prototype.computeSecret=function(t){var e=(t=(t=new tg(t)).toRed(this._prime)).redPow(this._priv).fromRed(),r=new Qm(e.toArray()),i=this.getPrime();if(r.length=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(t){n.prototype.inspect=f}else n.prototype.inspect=f;function f(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?l[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=d[t],f=c[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:l[u-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function p(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n>8&255),r>16&255),6===o?(r>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function v(t,e,r){return g(t,e,r)}function b(t,e){this.x=t,this.y=e}Math.imul||(m=p),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?g(this,t,e):v(this,t,e)},b.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},b.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new S(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function M(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(M,w),M.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},M.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new M;else if("p224"===t)e=new _;else if("p192"===t)e=new A;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return y[t]=e,e},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},S.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},S.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},S.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},S.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,S),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function Dg(){return Cg||(Cg=!0,Pg()),Ig}var Lg,Og,jg,Ug,Ng=!1;function zg(t){var e,r=t.modulus.byteLength();do{e=new jg(Ug(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function qg(t,e){var r=function(t){var e=zg(t);return{blinder:e.toRed(jg.mont(t.modulus)).redPow(new jg(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),i=e.modulus.byteLength(),n=new jg(t).mul(r.blinder).umod(e.modulus),o=n.toRed(jg.mont(e.prime1)),s=n.toRed(jg.mont(e.prime2)),a=e.coefficient,h=e.prime1,u=e.prime2,f=o.redPow(e.exponent1).fromRed(),l=s.redPow(e.exponent2).fromRed(),d=f.isub(l).imul(a).umod(h).imul(u);return l.iadd(d).imul(r.unblinder).umod(e.modulus).toArrayLike(Og,"be",i)}function Fg(){return Ng||(Ng=!0,Lg={},Og=Ye().Buffer,jg=Dg(),Ug=wr(),qg.getr=zg,Lg=qg),Lg}var Zg,Hg=!1;function Kg(){return Hg||(Hg=!0,Zg={},Zg=JSON.parse('{"_from":"elliptic@^6.5.3","_id":"elliptic@6.5.4","_inBundle":false,"_integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"elliptic@^6.5.3","name":"elliptic","escapedName":"elliptic","rawSpec":"^6.5.3","saveSpec":null,"fetchSpec":"^6.5.3"},"_requiredBy":["/browserify-sign","/create-ecdh"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","_shasum":"da37cebd31e79a1367e941b592ed1fbebd58abbb","_spec":"elliptic@^6.5.3","_where":"/home/lin/server/jessibuca/node_modules/browserify-sign","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"bundleDependencies":false,"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},"deprecated":false,"description":"EC cryptography","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.4"}')),Zg}var Wg,Gg=!1;function Yg(){Wg=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ir().Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function Vg(){return Gg||(Gg=!0,Yg()),Wg}var $g,Xg,Jg=!1;function Qg(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var i=0;i>8,s=255&n;o?r.push(o,s):r.push(s)}return r}function tv(t){return 1===t.length?"0"+t:t}function ev(t){for(var e="",r=0;r(n>>1)-1?(n>>1)-h:h,o.isubn(a)):a=0,i[s]=a,o.iushrn(1)}return i}function uv(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,o=0;t.cmpn(-n)>0||e.cmpn(-o)>0;){var s,a,h=t.andln(3)+n&3,u=e.andln(3)+o&3;3===h&&(h=-1),3===u&&(u=-1),s=0==(1&h)?0:3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?h:-h,r[0].push(s),a=0==(1&u)?0:3!==(i=e.andln(7)+o&7)&&5!==i||2!==h?u:-u,r[1].push(a),2*n===s+1&&(n=1-n),2*o===a+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r}function fv(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}}function lv(t){return"string"==typeof t?nv.toArray(t,"hex"):t}function dv(t){return new ov(t,"hex","le")}function cv(){return av||(av=!0,nv=iv={},ov=Vg(),sv=el(),rv(),nv.assert=sv,nv.toArray=rv().toArray,nv.zero2=rv().zero2,nv.toHex=rv().toHex,nv.encode=rv().encode,nv.getNAF=hv,nv.getJSF=uv,nv.cachedProperty=fv,nv.parseBytes=lv,nv.intFromLE=dv),iv}var pv,mv,gv,vv,bv,yv=!1;function wv(t,e){this.type=t,this.p=new mv(e.p,16),this.red=e.prime?mv.red(e.prime):mv.mont(this.p),this.zero=new mv(0).toRed(this.red),this.one=new mv(1).toRed(this.red),this.two=new mv(2).toRed(this.red),this.n=e.n&&new mv(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function Mv(t,e){this.curve=t,this.type=e,this.precomputed=null}function _v(){return yv||(yv=!0,pv={},mv=Vg(),cv(),gv=cv().getNAF,vv=cv().getJSF,bv=cv().assert,pv=wv,wv.prototype.point=function(){throw new Error("Not implemented")},wv.prototype.validate=function(){throw new Error("Not implemented")},wv.prototype._fixedNafMul=function(t,e){bv(t.precomputed);var r=t._getDoubles(),i=gv(e,1,this._bitLength),n=(1<=o;h--)s=(s<<1)+i[h];a.push(s)}for(var u=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=n;l>0;l--){for(o=0;o=0;a--){for(var h=0;a>=0&&0===o[a];a--)h++;if(a>=0&&h++,s=s.dblp(h),a<0)break;var u=o[a];bv(0!==u),s="affine"===t.type?u>0?s.mixedAdd(n[u-1>>1]):s.mixedAdd(n[-u-1>>1].neg()):u>0?s.add(n[u-1>>1]):s.add(n[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},wv.prototype._wnafMulAdd=function(t,e,r,i,n){var o,s,a,h=this._wnafT1,u=this._wnafT2,f=this._wnafT3,l=0;for(o=0;o=1;o-=2){var c=o-1,p=o;if(1===h[c]&&1===h[p]){var m=[e[c],null,null,e[p]];0===e[c].y.cmp(e[p].y)?(m[1]=e[c].add(e[p]),m[2]=e[c].toJ().mixedAdd(e[p].neg())):0===e[c].y.cmp(e[p].y.redNeg())?(m[1]=e[c].toJ().mixedAdd(e[p]),m[2]=e[c].add(e[p].neg())):(m[1]=e[c].toJ().mixedAdd(e[p]),m[2]=e[c].toJ().mixedAdd(e[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],v=vv(r[c],r[p]);for(l=Math.max(v[0].length,l),f[c]=new Array(l),f[p]=new Array(l),s=0;s=0;o--){for(var _=0;o>=0;){var A=!0;for(s=0;s=0&&_++,w=w.dblp(_),o<0)break;for(s=0;s0?a=u[s][E-1>>1]:E<0&&(a=u[s][-E-1>>1].neg()),w="affine"===a.type?w.mixedAdd(a):w.add(a))}}for(o=0;o=Math.ceil((t.bitLength()+1)/e.step)},Mv.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n=0&&(o=e,s=r),i.negative&&(i=i.neg(),n=n.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:i,b:n},{a:o,b:s}]},Tv.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=n.mul(r.a),a=o.mul(i.a),h=n.mul(r.b),u=o.mul(i.b);return{k1:t.sub(s).sub(a),k2:h.add(u).neg()}},Tv.prototype.pointFromX=function(t,e){(t=new Ev(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(t,i)},Tv.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},Tv.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o":""},xv.prototype.isInfinity=function(){return this.inf},xv.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},xv.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},xv.prototype.getX=function(){return this.x.fromRed()},xv.prototype.getY=function(){return this.y.fromRed()},xv.prototype.mul=function(t){return t=new Ev(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},xv.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},xv.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},xv.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},xv.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},xv.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Sv(Iv,kv.BasePoint),Tv.prototype.jpoint=function(t,e,r){return new Iv(this,t,e,r)},Iv.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},Iv.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Iv.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=i.redSub(n),h=o.redSub(s);if(0===a.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),f=u.redMul(a),l=i.redMul(u),d=h.redSqr().redIAdd(f).redISub(l).redISub(l),c=h.redMul(l.redISub(d)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,c,p)},Iv.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(i),a=n.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),u=h.redMul(s),f=r.redMul(h),l=a.redSqr().redIAdd(u).redISub(f).redISub(f),d=a.redMul(f.redISub(l)).redISub(n.redMul(u)),c=this.z.redMul(s);return this.curve.jpoint(l,d,c)},Iv.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},Iv.prototype.inspect=function(){return this.isInfinity()?"":""},Iv.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}),Av}var Pv,Dv,Lv,Ov,jv=!1;function Uv(t){Ov.call(this,"mont",t),this.a=new Dv(t.a,16).toRed(this.red),this.b=new Dv(t.b,16).toRed(this.red),this.i4=new Dv(4).toRed(this.red).redInvm(),this.two=new Dv(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Nv(t,e,r){Ov.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Dv(e,16),this.z=new Dv(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}function zv(){return jv||(jv=!0,Pv={},Dv=Vg(),Lv=Ar(),Ov=_v(),cv(),Lv(Uv,Ov),Pv=Uv,Uv.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},Lv(Nv,Ov.BasePoint),Uv.prototype.decodePoint=function(t,e){return this.point(cv().toArray(t,e),1)},Uv.prototype.point=function(t,e){return new Nv(this,t,e)},Uv.prototype.pointFromJSON=function(t){return Nv.fromJSON(this,t)},Nv.prototype.precompute=function(){},Nv.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Nv.fromJSON=function(t,e){return new Nv(t,e[0],e[1]||t.one)},Nv.prototype.inspect=function(){return this.isInfinity()?"":""},Nv.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Nv.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Nv.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Nv.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),s=n.redMul(i),a=e.z.redMul(o.redAdd(s).redSqr()),h=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,h)},Nv.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var o=n.length-1;o>=0;o--)0===n[o]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Nv.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Nv.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Nv.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},Nv.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Nv.prototype.getX=function(){return this.normalize(),this.x.fromRed()}),Pv}var qv,Fv,Zv,Hv,Kv,Wv=!1;function Gv(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Hv.call(this,"edwards",t),this.a=new Fv(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Fv(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Fv(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Kv(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function Yv(t,e,r,i,n){Hv.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Fv(e,16),this.y=new Fv(r,16),this.z=i?new Fv(i,16):this.curve.one,this.t=n&&new Fv(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}function Vv(){return Wv||(Wv=!0,qv={},cv(),Fv=Vg(),Zv=Ar(),Hv=_v(),Kv=cv().assert,Zv(Gv,Hv),qv=Gv,Gv.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},Gv.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},Gv.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},Gv.prototype.pointFromX=function(t,e){(t=new Fv(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(n.redInvm()),s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var a=s.fromRed().isOdd();return(e&&!a||!e&&a)&&(s=s.redNeg()),this.point(t,s)},Gv.prototype.pointFromY=function(t,e){(t=new Fv(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(n.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},Gv.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},Zv(Yv,Hv.BasePoint),Gv.prototype.pointFromJSON=function(t){return Yv.fromJSON(this,t)},Gv.prototype.point=function(t,e,r,i){return new Yv(this,t,e,r,i)},Yv.fromJSON=function(t,e){return new Yv(t,e[0],e[1],e[2])},Yv.prototype.inspect=function(){return this.isInfinity()?"":""},Yv.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Yv.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),s=o.redSub(r),a=i.redSub(e),h=n.redMul(s),u=o.redMul(a),f=n.redMul(a),l=s.redMul(o);return this.curve.point(h,u,l,f)},Yv.prototype._projDbl=function(){var t,e,r,i,n,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),h=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(a)).redAdd(h);this.zOne?(t=s.redSub(a).redSub(h).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(h)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),o=u.redSub(n).redISub(n),t=s.redSub(a).redISub(h).redMul(o),e=u.redMul(i.redSub(h)),r=u.redMul(o))}else i=a.redAdd(h),n=this.curve._mulC(this.z).redSqr(),o=i.redSub(n).redSub(n),t=this.curve._mulC(s.redISub(i)).redMul(o),e=this.curve._mulC(i).redMul(a.redISub(h)),r=i.redMul(o);return this.curve.point(t,e,r)},Yv.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Yv.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),s=n.redSub(i),a=n.redAdd(i),h=r.redAdd(e),u=o.redMul(s),f=a.redMul(h),l=o.redMul(h),d=s.redMul(a);return this.curve.point(u,f,d,l)},Yv.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),a=this.curve.d.redMul(o).redMul(s),h=n.redSub(a),u=n.redAdd(a),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=i.redMul(h).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(s.redSub(this.curve._mulA(o))),r=h.redMul(u)):(e=i.redMul(u).redMul(s.redSub(o)),r=this.curve._mulC(h).redMul(u)),this.curve.point(l,e,r)},Yv.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Yv.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Yv.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Yv.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Yv.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Yv.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Yv.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Yv.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Yv.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Yv.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},Yv.prototype.toP=Yv.prototype.normalize,Yv.prototype.mixedAdd=Yv.prototype.add),qv}var $v,Xv,Jv=!1;function Qv(){return Jv||(Jv=!0,(Xv=$v={}).base=_v(),Xv.short=Cv(),Xv.mont=zv(),Xv.edwards=Vv()),$v}var tb,eb,rb,ib,nb,ob,sb,ab,hb,ub,fb,lb,db,cb,pb,mb,gb,vb,bb,yb,wb,Mb,_b,Ab,Eb,Sb,kb,Bb,Rb,Tb=!1;function xb(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Ib(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>6|192,r[i++]=63&o|128):xb(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Db(t,e){for(var r="",i=0;i>>0}return o}function Ub(t,e){for(var r=new Array(4*t.length),i=0,n=0;i>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r}function Nb(t,e){return t>>>e|t<<32-e}function zb(t,e){return t<>>32-e}function qb(t,e){return t+e>>>0}function Fb(t,e,r){return t+e+r>>>0}function Zb(t,e,r,i){return t+e+r+i>>>0}function Hb(t,e,r,i,n){return t+e+r+i+n>>>0}function Kb(t,e,r,i){var n=t[e],o=i+t[e+1]>>>0,s=(o>>0,t[e+1]=o}function Wb(t,e,r,i){return(e+i>>>0>>0}function Gb(t,e,r,i){return e+i>>>0}function Yb(t,e,r,i,n,o,s,a){var h=0,u=e;return h+=(u=u+i>>>0)>>0)>>0)>>0}function Vb(t,e,r,i,n,o,s,a){return e+i+o+a>>>0}function $b(t,e,r,i,n,o,s,a,h,u){var f=0,l=e;return f+=(l=l+i>>>0)>>0)>>0)>>0)>>0}function Xb(t,e,r,i,n,o,s,a,h,u){return e+i+o+a+u>>>0}function Jb(t,e,r){return(e<<32-r|t>>>r)>>>0}function Qb(t,e,r){return(t<<32-r|e>>>r)>>>0}function ty(t,e,r){return t>>>r}function ey(t,e,r){return(t<<32-r|e>>>r)>>>0}function ry(){return Tb||(Tb=!0,tb={},eb=el(),rb=Ar(),ib=rb,tb.inherits=ib,nb=Ib,tb.toArray=nb,ob=Cb,tb.toHex=ob,sb=Pb,tb.htonl=sb,ab=Db,tb.toHex32=ab,hb=Lb,tb.zero2=hb,ub=Ob,tb.zero8=ub,fb=jb,tb.join32=fb,lb=Ub,tb.split32=lb,db=Nb,tb.rotr32=db,cb=zb,tb.rotl32=cb,pb=qb,tb.sum32=pb,mb=Fb,tb.sum32_3=mb,gb=Zb,tb.sum32_4=gb,vb=Hb,tb.sum32_5=vb,bb=Kb,tb.sum64=bb,yb=Wb,tb.sum64_hi=yb,wb=Gb,tb.sum64_lo=wb,Mb=Yb,tb.sum64_4_hi=Mb,_b=Vb,tb.sum64_4_lo=_b,Ab=$b,tb.sum64_5_hi=Ab,Eb=Xb,tb.sum64_5_lo=Eb,Sb=Jb,tb.rotr64_hi=Sb,kb=Qb,tb.rotr64_lo=kb,Bb=ty,tb.shr64_hi=Bb,Rb=ey,tb.shr64_lo=Rb),tb}var iy,ny,oy,sy=!1;function ay(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}function hy(){return sy||(sy=!0,iy={},ry(),ny=el(),oy=ay,iy.BlockHash=oy,ay.prototype.update=function(t,e){if(t=ry().toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=ry().join32(t,0,t.length-r,this.endian);for(var i=0;i>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o>>3}function Sy(t){return fy(t,17)^fy(t,19)^t>>>10}function ky(){return by||(by=!0,uy={},ry(),fy=ry().rotr32,ly=yy,uy.ft_1=ly,dy=wy,uy.ch32=dy,cy=My,uy.maj32=cy,py=_y,uy.s0_256=py,my=Ay,uy.s1_256=my,gy=Ey,uy.g0_256=gy,vy=Sy,uy.g1_256=vy),uy}var By,Ry,Ty,xy,Iy,Cy,Py,Dy=!1;function Ly(){if(!(this instanceof Ly))return new Ly;Cy.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}function Oy(){return Dy||(Dy=!0,By={},ry(),hy(),ky(),Ry=ry().rotl32,Ty=ry().sum32,xy=ry().sum32_5,Iy=ky().ft_1,Cy=hy().BlockHash,Py=[1518500249,1859775393,2400959708,3395469782],ry().inherits(Ly,Cy),By=Ly,Ly.blockSize=512,Ly.outSize=160,Ly.hmacStrength=80,Ly.padLength=64,Ly.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;ithis.blockSize&&(t=(new this.Hash).update(t).digest()),uM(t.length<=this.blockSize);for(var e=t.length;e=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}function CM(){return xM||(xM=!0,RM={},gM(),rv(),TM=el(),RM=IM,IM.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},IM.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=rv().toArray(r,i||"hex"),this._update(r));for(var n=[];n.length"}),PM}var NM,zM,qM,FM=!1;function ZM(t,e){if(t instanceof ZM)return t;this._importDER(t,e)||(qM(t.r&&t.s,"Signature without r or s"),this.r=new zM(t.r,16),this.s=new zM(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function HM(){this.place=0}function KM(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,s=e.place;o>>=0;return!(n<=127)&&(e.place=s,n)}function WM(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}function YM(){return FM||(FM=!0,NM={},zM=Vg(),cv(),qM=cv().assert,NM=ZM,ZM.prototype._importDER=function(t,e){t=cv().toArray(t,e);var r=new HM;if(48!==t[r.place++])return!1;var i=KM(t,r);if(!1===i)return!1;if(i+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=KM(t,r);if(!1===n)return!1;var o=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var s=KM(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var a=t.slice(r.place,s+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}return this.r=new zM(o),this.s=new zM(a),this.recoveryParam=null,!0},ZM.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=WM(e),r=WM(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];GM(i,e.length),(i=i.concat(e)).push(2),GM(i,r.length);var n=i.concat(r),o=[48];return GM(o,n.length),o=o.concat(n),cv().encode(o,t)}),NM}var VM,$M,XM,JM,QM,t_,e_,r_,i_=!1;function n_(t){if(!(this instanceof n_))return new n_(t);"string"==typeof t&&(t_(Object.prototype.hasOwnProperty.call(JM,t),"Unknown curve "+t),t=JM[t]),t instanceof JM.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}function o_(){return i_||(i_=!0,VM={},$M=Vg(),XM=CM(),cv(),JM=BM(),QM=Am(),t_=cv().assert,e_=UM(),r_=YM(),VM=n_,n_.prototype.keyPair=function(t){return new e_(this,t)},n_.prototype.keyFromPrivate=function(t,e){return e_.fromPrivate(this,t,e)},n_.prototype.keyFromPublic=function(t,e){return e_.fromPublic(this,t,e)},n_.prototype.genKeyPair=function(t){t||(t={});for(var e=new XM({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||QM(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new $M(2));;){var n=new $M(e.generate(r));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},n_.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},n_.prototype.sign=function(t,e,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new $M(t,16));for(var n=this.n.byteLength(),o=e.getPrivate().toArray("be",n),s=t.toArray("be",n),a=new XM({hash:this.hash,entropy:o,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),h=this.n.sub(new $M(1)),u=0;;u++){var f=i.k?i.k(u):new $M(a.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(h)>=0)){var l=this.g.mul(f);if(!l.isInfinity()){var d=l.getX(),c=d.umod(this.n);if(0!==c.cmpn(0)){var p=f.invm(this.n).mul(c.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(l.getY().isOdd()?1:0)|(0!==d.cmp(c)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new r_({r:c,s:p,recoveryParam:m})}}}}}},n_.prototype.verify=function(t,e,r,i){t=this._truncateToN(new $M(t,16)),r=this.keyFromPublic(r,i);var n=(e=new r_(e,"hex")).r,o=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,a=o.invm(this.n),h=a.mul(t).umod(this.n),u=a.mul(n).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(h,r.getPublic(),u)).isInfinity()&&s.eqXToP(n):!(s=this.g.mulAdd(h,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(n)},n_.prototype.recoverPubKey=function(t,e,r,i){t_((3&r)===r,"The recovery param is more than two bits"),e=new r_(e,i);var n=this.n,o=new $M(t),s=e.r,a=e.s,h=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),h):this.curve.pointFromX(s,h);var f=e.r.invm(n),l=n.sub(o).mul(f).umod(n),d=a.mul(f).umod(n);return this.g.mulAdd(l,s,d)},n_.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new r_(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")}),VM}var s_,a_,h_,u_,f_=!1;function l_(t,e){this.eddsa=t,this._secret=h_(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=h_(e.pub)}function d_(){return f_||(f_=!0,s_={},cv(),a_=cv().assert,h_=cv().parseBytes,u_=cv().cachedProperty,l_.fromPublic=function(t,e){return e instanceof l_?e:new l_(t,{pub:e})},l_.fromSecret=function(t,e){return e instanceof l_?e:new l_(t,{secret:e})},l_.prototype.secret=function(){return this._secret},u_(l_,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),u_(l_,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),u_(l_,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),u_(l_,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),u_(l_,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),u_(l_,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),l_.prototype.sign=function(t){return a_(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},l_.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},l_.prototype.getSecret=function(t){return a_(this._secret,"KeyPair is public only"),cv().encode(this.secret(),t)},l_.prototype.getPublic=function(t){return cv().encode(this.pubBytes(),t)},s_=l_),s_}var c_,p_,m_,g_,v_,b_=!1;function y_(t,e){this.eddsa=t,"object"!=typeof e&&(e=v_(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),m_(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof p_&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}function w_(){return b_||(b_=!0,c_={},p_=Vg(),cv(),m_=cv().assert,g_=cv().cachedProperty,v_=cv().parseBytes,g_(y_,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),g_(y_,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),g_(y_,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),g_(y_,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),y_.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},y_.prototype.toHex=function(){return cv().encode(this.toBytes(),"hex").toUpperCase()},c_=y_),c_}var M_,__,A_,E_,S_,k_=!1;function B_(t){if(A_("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof B_))return new B_(t);t=__[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=gM().sha512}function R_(){return k_||(k_=!0,M_={},gM(),__=BM(),cv(),A_=cv().assert,E_=cv().parseBytes,d_(),S_=w_(),M_=B_,B_.prototype.sign=function(t,e){t=E_(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),s=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),a=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:a,Rencoded:o})},B_.prototype.verify=function(t,e,r){t=E_(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(o)},B_.prototype.hashInt=function(){for(var t=this.hash(),e=0;e=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function O_(){return D_||(D_=!0,L_()),P_}var j_,U_,N_,z_,q_,F_,Z_=!1;function H_(){return Z_||(Z_=!0,function(){for(q_ in j_={},jt(),U_=Ye(),N_=U_.Buffer,z_={},U_)U_.hasOwnProperty(q_)&&"SlowBuffer"!==q_&&"Buffer"!==q_&&(z_[q_]=U_[q_]);for(q_ in F_=z_.Buffer={},N_)N_.hasOwnProperty(q_)&&"allocUnsafe"!==q_&&"allocUnsafeSlow"!==q_&&(F_[q_]=N_[q_]);if(z_.Buffer.prototype=N_.prototype,F_.from&&F_.from!==Uint8Array.from||(F_.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return N_(t,e,r)}),F_.alloc||(F_.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var i=N_(t);return e&&0!==e.length?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i}),!z_.kStringMaxLength)try{z_.kStringMaxLength=jt().binding("buffer").kStringMaxLength}catch(t){}z_.constants||(z_.constants={MAX_LENGTH:z_.kMaxLength},z_.kStringMaxLength&&(z_.constants.MAX_STRING_LENGTH=z_.kStringMaxLength)),j_=z_}()),j_}var K_,W_,G_,Y_=!1;function V_(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function $_(t,e){this.path=t,this.rethrow(e)}function X_(){return Y_||(Y_=!0,K_={},W_=Ar(),G_=V_,K_.Reporter=G_,V_.prototype.isError=function(t){return t instanceof $_},V_.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},V_.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},V_.prototype.enterKey=function(t){return this._reporterState.path.push(t)},V_.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},V_.prototype.leaveKey=function(t,e,r){const i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},V_.prototype.path=function(){return this._reporterState.path.join("/")},V_.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},V_.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},V_.prototype.error=function(t){let e;const r=this._reporterState,i=t instanceof $_;if(e=i?t:new $_(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},V_.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},W_($_,Error),$_.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,$_),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}),K_}var J_,Q_,tA,eA,rA,iA,nA=!1;function oA(t,e){tA.call(this,e),eA.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function sA(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return sA.isEncoderBuffer(t)||(t=new sA(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=eA.byteLength(t);else{if(!eA.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}function aA(){return nA||(nA=!0,J_={},Q_=Ar(),tA=X_().Reporter,eA=H_().Buffer,Q_(oA,tA),rA=oA,J_.DecoderBuffer=rA,oA.isDecoderBuffer=function(t){return t instanceof oA||"object"==typeof t&&eA.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},oA.prototype.save=function(){return{offset:this.offset,reporter:tA.prototype.save.call(this)}},oA.prototype.restore=function(t){const e=new oA(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,tA.prototype.restore.call(this,t.reporter),e},oA.prototype.isEmpty=function(){return this.offset===this.length},oA.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},oA.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new oA(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},oA.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},iA=sA,J_.EncoderBuffer=iA,sA.isEncoderBuffer=function(t){return t instanceof sA||"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},sA.prototype.join=function(t,e){return t||(t=eA.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):eA.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}),J_}var hA,uA,fA,lA,dA,cA,pA,mA,gA,vA=!1;function bA(t,e,r){const i={};this._baseState=i,i.name=r,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}function yA(){return vA||(vA=!0,hA={},uA=X_().Reporter,fA=aA().EncoderBuffer,lA=aA().DecoderBuffer,dA=el(),pA=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(cA=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"]),mA=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"],hA=bA,gA=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"],bA.prototype.clone=function(){const t=this._baseState,e={};gA.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},bA.prototype._wrap=function(){const t=this._baseState;pA.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},bA.prototype._init=function(t){const e=this._baseState;dA(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),dA.equal(e.children.length,1,"Root node can have only one child")},bA.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(dA(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(dA(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const i=t[r];e[i]=r})),e})))},mA.forEach((function(t){bA.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),cA.forEach((function(t){bA.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return dA(null===e.tag),e.tag=t,this._useArgs(r),this}})),bA.prototype.use=function(t){dA(t);const e=this._baseState;return dA(null===e.use),e.use=t,this},bA.prototype.optional=function(){return this._baseState.optional=!0,this},bA.prototype.def=function(t){const e=this._baseState;return dA(null===e.default),e.default=t,e.optional=!0,this},bA.prototype.explicit=function(t){const e=this._baseState;return dA(null===e.explicit&&null===e.implicit),e.explicit=t,this},bA.prototype.implicit=function(t){const e=this._baseState;return dA(null===e.explicit&&null===e.implicit),e.implicit=t,this},bA.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},bA.prototype.key=function(t){const e=this._baseState;return dA(null===e.key),e.key=t,this},bA.prototype.any=function(){return this._baseState.any=!0,this},bA.prototype.choice=function(t){const e=this._baseState;return dA(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},bA.prototype.contains=function(t){const e=this._baseState;return dA(null===e.use),e.contains=t,this},bA.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){let i=null;if(null!==r.explicit?i=r.explicit:null!==r.implicit?i=r.implicit:null!==r.tag&&(i=r.tag),null!==i||r.any){if(o=this._peekTag(t,i,r.any),t.isError(o))return o}else{const i=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(i)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const i=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const i=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(i))return i;r.any?n=t.raw(e):t=i}if(e&&e.track&&null!==r.tag&&e.track(t.path(),i,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const i=new lA(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(i,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},bA.prototype._decodeGeneric=function(t,e,r){const i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},bA.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),dA(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},bA.prototype._decodeChoice=function(t,e){const r=this._baseState;let i=null,n=!1;return Object.keys(r.choice).some((function(o){const s=t.save(),a=r.choice[o];try{const r=a._decode(t,e);if(t.isError(r))return!1;i={type:o,value:r},n=!0}catch(e){return t.restore(s),!1}return!0}),this),n?i:t.error("Choice not matched")},bA.prototype._createEncoderBuffer=function(t){return new fA(t,this.reporter)},bA.prototype._encode=function(t,e,r){const i=this._baseState;if(null!==i.default&&i.default===t)return;const n=this._encodeValue(t,e,r);return void 0===n||this._skipDefault(n,e,r)?void 0:n},bA.prototype._encodeValue=function(t,e,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new uA);let n=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}let o=null,s=!1;if(i.any)n=this._createEncoderBuffer(t);else if(i.choice)n=this._encodeChoice(t,e);else if(i.contains)o=this._getUse(i.contains,r)._encode(t,e),s=!0;else if(i.children)o=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),r))}else null!==i.use?n=this._getUse(i.use,r)._encode(t,e):(o=this._encodePrimitive(i.tag,t),s=!0);if(!i.any&&null===i.choice){const t=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?"universal":"context";null===t?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(n=this._encodeComposite(t,s,r,o))}return null!==i.explicit&&(n=this._encodeComposite(i.explicit,!1,"context",n)),n},bA.prototype._encodeChoice=function(t,e){const r=this._baseState,i=r.choice[t.type];return i||dA(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},bA.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},bA.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},bA.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}),hA}var wA,MA,_A,AA,EA,SA=!1;function kA(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e}function BA(){return SA||(SA=!0,(wA={}).tagClass=MA={0:"universal",1:"application",2:"context",3:"private"},_A=kA(MA),wA.tagClassByName=_A,AA={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},wA.tag=AA,EA=kA(AA),wA.tagByName=EA),wA}var RA,TA,xA,IA,CA=!1;function PA(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new DA,this.tree._init(t.body)}function DA(t){IA.call(this,"der",t)}function LA(t){return t<10?"0"+t:t}function OA(){RA={},TA=Ar(),xA=H_().Buffer,IA=yA(),BA(),RA=PA,PA.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},TA(DA,IA),DA.prototype._encodeComposite=function(t,e,r,i){const n=function(t,e,r,i){let n;if("seqof"===t?t="seq":"setof"===t&&(t="set"),BA().tagByName.hasOwnProperty(t))n=BA().tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}return n>=31?i.error("Multi-octet tag encoding unsupported"):(e||(n|=32),n|=BA().tagClassByName[r||"universal"]<<6,n)}(t,e,r,this.reporter);if(i.length<128){const t=xA.alloc(2);return t[0]=n,t[1]=i.length,this._createEncoderBuffer([t,i])}let o=1;for(let t=i.length;t>=256;t>>=8)o++;const s=xA.alloc(2+o);s[0]=n,s[1]=128|o;for(let t=1+o,e=i.length;e>0;t--,e>>=8)s[t]=255&e;return this._createEncoderBuffer([s,i])},DA.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=xA.alloc(2*t.length);for(let r=0;r=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let i=0;for(let e=0;e=128;r>>=7)i++}const n=xA.alloc(i);let o=n.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(n[o--]=127&r;(r>>=7)>0;)n[o--]=128|127&r}return this._createEncoderBuffer(n)},DA.prototype._encodeTime=function(t,e){let r;const i=new Date(t);return"gentime"===e?r=[LA(i.getUTCFullYear()),LA(i.getUTCMonth()+1),LA(i.getUTCDate()),LA(i.getUTCHours()),LA(i.getUTCMinutes()),LA(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[LA(i.getUTCFullYear()%100),LA(i.getUTCMonth()+1),LA(i.getUTCDate()),LA(i.getUTCHours()),LA(i.getUTCMinutes()),LA(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},DA.prototype._encodeNull=function(){return this._createEncoderBuffer("")},DA.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!xA.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=xA.from(e)}if(xA.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=xA.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const i=new Array(r);for(let e=i.length-1;e>=0;e--)i[e]=255&t,t>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(xA.from(i))},DA.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},DA.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},DA.prototype._skipDefault=function(t,e,r){const i=this._baseState;let n;if(null===i.default)return!1;const o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n>6],n=0==(32&r);if(31==(31&r)){let i=r;for(r=0;128==(128&i);){if(i=t.readUInt8(e),t.isError(i))return i;r<<=7,r|=127&i}}else r&=31;return{cls:i,primitive:n,tag:r,tagStr:BA().tag[r]}}function iE(t,e,r){let i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0==(128&i))return i;const n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(let e=0;e0&&r.ishrn(i),r}function JS(t,e,r){var i,n;do{for(i=NS.alloc(0);8*i.length=e)throw new Error("invalid sig")}function fk(){return ak||(ak=!0,ek={},rk=lr().Buffer,ik=Dg(),nk=C_().ec,ok=DS(),sk=jS(),ek=hk),ek}var lk,dk,ck,pk,mk,gk,vk,bk=!1;function yk(t){Ls().Writable.call(this);var e=vk[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=ck(e.hash),this._tag=e.id,this._signType=e.sign}function wk(t){Ls().Writable.call(this);var e=vk[t];if(!e)throw new Error("Unknown message digest");this._hash=ck(e.hash),this._tag=e.id,this._signType=e.sign}function Mk(t){return new yk(t)}function _k(t){return new wk(t)}function Ak(){return bk||(bk=!0,lk={},dk=lr().Buffer,ck=uu(),Ls(),pk=Ar(),mk=tk(),gk=fk(),vk=ju(),Object.keys(vk).forEach((function(t){vk[t].id=dk.from(vk[t].id,"hex"),vk[t.toLowerCase()]=vk[t]})),pk(yk,Ls().Writable),yk.prototype._write=function(t,e,r){this._hash.update(t),r()},yk.prototype.update=function(t,e){return"string"==typeof t&&(t=dk.from(t,e)),this._hash.update(t),this},yk.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=mk(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},pk(wk,Ls().Writable),wk.prototype._write=function(t,e,r){this._hash.update(t),r()},wk.prototype.update=function(t,e){return"string"==typeof t&&(t=dk.from(t,e)),this._hash.update(t),this},wk.prototype.verify=function(t,e,r){"string"==typeof e&&(e=dk.from(e,r)),this.end();var i=this._hash.digest();return gk(e,i,t,this._signType,this._tag)},lk={Sign:Mk,Verify:_k,createSign:Mk,createVerify:_k}),lk}var Ek,Sk=!1;function kk(){Ek=function(){var t={exports:this};return function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ir().Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}var Bk,Rk,Tk,xk,Ik=!1;function Ck(t){this.curveType=xk[t],this.curveType||(this.curveType={name:t}),this.curve=new(C_().ec)(this.curveType.name),this.keys=void 0}function Pk(t,e,r){Array.isArray(t)||(t=t.toArray());var i=new Rk(t);if(r&&i.length=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i=e;i-=2)n=a(t,e,i)<=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,l=67108863&h,d=Math.min(u,e.length-1),c=Math.max(0,u-t.length+1);c<=d;c++){var p=u-c|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[c])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,h=0|f}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-h.length]+h+i:h+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var d=f[t],c=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(c).toString(t);i=(p=p.idivn(c)).isZero()?m+i:u[d-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),f=this.clone();if(h){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;it.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o>>26;for(;0!==n&&o>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,c=0|s[1],p=8191&c,m=c>>>13,g=0|s[2],v=8191&g,b=g>>>13,y=0|s[3],w=8191&y,M=y>>>13,_=0|s[4],A=8191&_,E=_>>>13,S=0|s[5],k=8191&S,B=S>>>13,R=0|s[6],T=8191&R,x=R>>>13,I=0|s[7],C=8191&I,P=I>>>13,D=0|s[8],L=8191&D,O=D>>>13,j=0|s[9],U=8191&j,N=j>>>13,z=0|a[0],q=8191&z,F=z>>>13,Z=0|a[1],H=8191&Z,K=Z>>>13,W=0|a[2],G=8191&W,Y=W>>>13,V=0|a[3],$=8191&V,X=V>>>13,J=0|a[4],Q=8191&J,tt=J>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,ft=0|a[8],lt=8191&ft,dt=ft>>>13,ct=0|a[9],pt=8191&ct,mt=ct>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,F))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,F))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var vt=(u+(i=i+Math.imul(l,H)|0)|0)+((8191&(n=(n=n+Math.imul(l,K)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(v,q),n=(n=Math.imul(v,F))+Math.imul(b,q)|0,o=Math.imul(b,F),i=i+Math.imul(p,H)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,K)|0;var bt=(u+(i=i+Math.imul(l,G)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(d,G)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,F))+Math.imul(M,q)|0,o=Math.imul(M,F),i=i+Math.imul(v,H)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,K)|0,i=i+Math.imul(p,G)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,Y)|0;var yt=(u+(i=i+Math.imul(l,$)|0)|0)+((8191&(n=(n=n+Math.imul(l,X)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,F))+Math.imul(E,q)|0,o=Math.imul(E,F),i=i+Math.imul(w,H)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(v,G)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,G)|0,o=o+Math.imul(b,Y)|0,i=i+Math.imul(p,$)|0,n=(n=n+Math.imul(p,X)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,X)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(k,q),n=(n=Math.imul(k,F))+Math.imul(B,q)|0,o=Math.imul(B,F),i=i+Math.imul(A,H)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,K)|0,i=i+Math.imul(w,G)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(v,$)|0,n=(n=n+Math.imul(v,X)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,X)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(T,q),n=(n=Math.imul(T,F))+Math.imul(x,q)|0,o=Math.imul(x,F),i=i+Math.imul(k,H)|0,n=(n=n+Math.imul(k,K)|0)+Math.imul(B,H)|0,o=o+Math.imul(B,K)|0,i=i+Math.imul(A,G)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,$)|0,n=(n=n+Math.imul(w,X)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,X)|0,i=i+Math.imul(v,Q)|0,n=(n=n+Math.imul(v,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,q),n=(n=Math.imul(C,F))+Math.imul(P,q)|0,o=Math.imul(P,F),i=i+Math.imul(T,H)|0,n=(n=n+Math.imul(T,K)|0)+Math.imul(x,H)|0,o=o+Math.imul(x,K)|0,i=i+Math.imul(k,G)|0,n=(n=n+Math.imul(k,Y)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,Y)|0,i=i+Math.imul(A,$)|0,n=(n=n+Math.imul(A,X)|0)+Math.imul(E,$)|0,o=o+Math.imul(E,X)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(v,rt)|0,n=(n=n+Math.imul(v,it)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var At=(u+(i=i+Math.imul(l,ht)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(L,q),n=(n=Math.imul(L,F))+Math.imul(O,q)|0,o=Math.imul(O,F),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(T,G)|0,n=(n=n+Math.imul(T,Y)|0)+Math.imul(x,G)|0,o=o+Math.imul(x,Y)|0,i=i+Math.imul(k,$)|0,n=(n=n+Math.imul(k,X)|0)+Math.imul(B,$)|0,o=o+Math.imul(B,X)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(v,ot)|0,n=(n=n+Math.imul(v,st)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,st)|0,i=i+Math.imul(p,ht)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,F))+Math.imul(N,q)|0,o=Math.imul(N,F),i=i+Math.imul(L,H)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,K)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,Y)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(T,$)|0,n=(n=n+Math.imul(T,X)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,X)|0,i=i+Math.imul(k,Q)|0,n=(n=n+Math.imul(k,tt)|0)+Math.imul(B,Q)|0,o=o+Math.imul(B,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(v,ht)|0,n=(n=n+Math.imul(v,ut)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var St=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,mt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,H),n=(n=Math.imul(U,K))+Math.imul(N,H)|0,o=Math.imul(N,K),i=i+Math.imul(L,G)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,Y)|0,i=i+Math.imul(C,$)|0,n=(n=n+Math.imul(C,X)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,X)|0,i=i+Math.imul(T,Q)|0,n=(n=n+Math.imul(T,tt)|0)+Math.imul(x,Q)|0,o=o+Math.imul(x,tt)|0,i=i+Math.imul(k,rt)|0,n=(n=n+Math.imul(k,it)|0)+Math.imul(B,rt)|0,o=o+Math.imul(B,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,ht)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(v,lt)|0,n=(n=n+Math.imul(v,dt)|0)+Math.imul(b,lt)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(U,G),n=(n=Math.imul(U,Y))+Math.imul(N,G)|0,o=Math.imul(N,Y),i=i+Math.imul(L,$)|0,n=(n=n+Math.imul(L,X)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,X)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(T,rt)|0,n=(n=n+Math.imul(T,it)|0)+Math.imul(x,rt)|0,o=o+Math.imul(x,it)|0,i=i+Math.imul(k,ot)|0,n=(n=n+Math.imul(k,st)|0)+Math.imul(B,ot)|0,o=o+Math.imul(B,st)|0,i=i+Math.imul(A,ht)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,dt)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,dt)|0;var Bt=(u+(i=i+Math.imul(v,pt)|0)|0)+((8191&(n=(n=n+Math.imul(v,mt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(U,$),n=(n=Math.imul(U,X))+Math.imul(N,$)|0,o=Math.imul(N,X),i=i+Math.imul(L,Q)|0,n=(n=n+Math.imul(L,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(T,ot)|0,n=(n=n+Math.imul(T,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,i=i+Math.imul(k,ht)|0,n=(n=n+Math.imul(k,ut)|0)+Math.imul(B,ht)|0,o=o+Math.imul(B,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(U,Q),n=(n=Math.imul(U,tt))+Math.imul(N,Q)|0,o=Math.imul(N,tt),i=i+Math.imul(L,rt)|0,n=(n=n+Math.imul(L,it)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(T,ht)|0,n=(n=n+Math.imul(T,ut)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,ut)|0,i=i+Math.imul(k,lt)|0,n=(n=n+Math.imul(k,dt)|0)+Math.imul(B,lt)|0,o=o+Math.imul(B,dt)|0;var Tt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(U,rt),n=(n=Math.imul(U,it))+Math.imul(N,rt)|0,o=Math.imul(N,it),i=i+Math.imul(L,ot)|0,n=(n=n+Math.imul(L,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(T,lt)|0,n=(n=n+Math.imul(T,dt)|0)+Math.imul(x,lt)|0,o=o+Math.imul(x,dt)|0;var xt=(u+(i=i+Math.imul(k,pt)|0)|0)+((8191&(n=(n=n+Math.imul(k,mt)|0)+Math.imul(B,pt)|0))<<13)|0;u=((o=o+Math.imul(B,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(U,ot),n=(n=Math.imul(U,st))+Math.imul(N,ot)|0,o=Math.imul(N,st),i=i+Math.imul(L,ht)|0,n=(n=n+Math.imul(L,ut)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,ut)|0,i=i+Math.imul(C,lt)|0,n=(n=n+Math.imul(C,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var It=(u+(i=i+Math.imul(T,pt)|0)|0)+((8191&(n=(n=n+Math.imul(T,mt)|0)+Math.imul(x,pt)|0))<<13)|0;u=((o=o+Math.imul(x,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(U,ht),n=(n=Math.imul(U,ut))+Math.imul(N,ht)|0,o=Math.imul(N,ut),i=i+Math.imul(L,lt)|0,n=(n=n+Math.imul(L,dt)|0)+Math.imul(O,lt)|0,o=o+Math.imul(O,dt)|0;var Ct=(u+(i=i+Math.imul(C,pt)|0)|0)+((8191&(n=(n=n+Math.imul(C,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(U,lt),n=(n=Math.imul(U,dt))+Math.imul(N,lt)|0,o=Math.imul(N,dt);var Pt=(u+(i=i+Math.imul(L,pt)|0)|0)+((8191&(n=(n=n+Math.imul(L,mt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Dt=(u+(i=Math.imul(U,pt))|0)+((8191&(n=(n=Math.imul(U,mt))+Math.imul(N,pt)|0))<<13)|0;return u=((o=Math.imul(N,mt))+(n>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,h[0]=gt,h[1]=vt,h[2]=bt,h[3]=yt,h[4]=wt,h[5]=Mt,h[6]=_t,h[7]=At,h[8]=Et,h[9]=St,h[10]=kt,h[11]=Bt,h[12]=Rt,h[13]=Tt,h[14]=xt,h[15]=It,h[16]=Ct,h[17]=Pt,h[18]=Dt,0!==u&&(h[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(c=d),n.prototype.mulTo=function(t,e){var r,i=this.length+t.length;return r=10===this.length&&10===t.length?c(this,t,e):i<63?d(this,t,e):i<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e),r},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s>>=1)n++;return 1<>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&a}return h&&0!==f&&(h.words[h.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n>26,this.words[n+i]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;l--){var d=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),i._ishlnsubmul(o,d,l);0!==i.negative;)d--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var d=0,c=1;0==(e.words[0]&c)&&d<26;++d,c<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(f),h.isub(l)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var l=0,d=1;0==(i.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(i.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){in&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(b,v),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new y;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(h);)f.redIAdd(h);for(var l=this.pow(f,o),d=this.pow(t,o.addn(1).iushrn(1)),c=this.pow(t,o),p=s;0!==c.cmp(a);){for(var m=c,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;i--){for(var u=e.words[i],f=h-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===i&&0===f)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new A(t)},i(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this),t.exports}.call({})}function Gk(){return Kk||(Kk=!0,Wk()),Hk}var Yk,Vk,$k,Xk=!1;function Jk(t,e){return $k.from(t.toRed(Vk.mont(e.modulus)).redPow(new Vk(e.publicExponent)).fromRed().toArray())}function Qk(){return Xk||(Xk=!0,Yk={},Vk=Gk(),$k=lr().Buffer,Yk=Jk),Yk}var tB,eB,rB,iB,nB,oB,sB,aB,hB,uB,fB=!1;function lB(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");return i=r?uB.alloc(o-n-3,255):function(t){var e,r=uB.allocUnsafe(t),i=0,n=rB(2*t),o=0;for(;ir-s-2)throw new Error("message too long");var a=uB.alloc(r-i-s-2),h=r-o-1,u=rB(o),f=oB(uB.concat([n,a,uB.alloc(1,1),e],h),nB(u,h)),l=oB(u,nB(f,o));return new sB(uB.concat([uB.alloc(1),l,f],r))}(o,e);else if(1===i)n=lB(o,e,r);else{if(3!==i)throw new Error("unknown padding");if((n=new sB(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?hB(n,o):aB(n,o)}}var cB,pB,mB,gB,vB,bB,yB,wB,MB,_B=!1;function AB(t,e){var r=t.modulus.byteLength(),i=yB("sha1").update(MB.alloc(0)).digest(),n=i.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,n+1),s=e.slice(n+1),a=gB(o,mB(s,n)),h=gB(s,mB(a,r-n-1));if(function(t,e){t=MB.from(t),e=MB.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++ns||new vB(e).cmp(o.modulus)>=0)throw new Error("decryption error");n=r?wB(new vB(e),o):bB(e,o);var a=MB.alloc(s-n.length);if(n=MB.concat([a,n],s),4===i)return AB(o,n);if(1===i)return function(t,e,r){for(var i=e.slice(0,2),n=2,o=0;0!==e[n++];)if(n>=e.length){o++;break}var s=e.slice(2,n-1);if(("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++,s.length<8&&o++,o)throw new Error("decryption error");return e.slice(n)}(0,n,r);if(3===i)return n;throw new Error("unknown padding")}}var SB,kB,BB,RB,TB,xB=!1;function IB(){SB={},fB||(fB=!0,dB()),kB=tB,SB.publicEncrypt=kB,_B||(_B=!0,EB()),BB=cB,SB.privateDecrypt=BB,RB=function(t,e){return kB(t,e,!0)},SB.privateEncrypt=RB,TB=function(t,e){return BB(t,e,!0)},SB.publicDecrypt=TB}var CB,PB,DB,LB,OB,jB,UB,NB=!1;function zB(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}function qB(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>UB||t<0)throw new TypeError("offset must be a uint32");if(t>OB||t>e)throw new RangeError("offset out of range")}function FB(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>UB||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>OB)throw new RangeError("buffer too small")}function ZB(e,r,i,n){if(!(LB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof r)n=r,r=0,i=e.length;else if("function"==typeof i)n=i,i=e.length-r;else if("function"!=typeof n)throw new TypeError('"cb" argument must be a function');return qB(r,e.length),FB(i,r,e.length),HB(e,r,i,n)}function HB(t,e,r,i){var n=t.buffer,o=new Uint8Array(n,e,r);return jB.getRandomValues(o),i?void jt().nextTick((function(){i(null,t)})):t}function KB(e,r,i){if(void 0===r&&(r=0),!(LB.isBuffer(e)||e instanceof t.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return qB(r,e.length),void 0===i&&(i=e.length-r),FB(i,r,e.length),HB(e,r,i)}function WB(){return NB||(NB=!0,DB={},jt(),lr(),wr(),LB=lr().Buffer,OB=lr().kMaxLength,jB=t.crypto||t.msCrypto,UB=Math.pow(2,32)-1,jB&&jB.getRandomValues?(CB=ZB,DB.randomFill=CB,PB=KB,DB.randomFillSync=PB):(CB=zB,DB.randomFill=CB,PB=zB,DB.randomFillSync=PB)),DB}var GB,YB,VB,$B,XB,JB,QB,tR,eR,rR,iR,nR,oR=!1;function sR(){JB={},VB=wr(),YB=JB.prng=VB,GB=JB.pseudoRandomBytes=YB,QB=JB.rng=GB,JB.randomBytes=QB,$B=uu(),tR=JB.Hash=$B,JB.createHash=tR,XB=Du(),eR=JB.Hmac=XB,JB.createHmac=eR,rR=zu(),iR=Object.keys(rR),["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(iR),Lf(),fm(),Bg||(Bg=!0,xg()),Ak(),Ik||(Ik=!0,Dk()),nR=Bk,JB.createECDH=nR,xB||(xB=!0,IB()),WB()}function aR(){return oR||(oR=!0,sR()),JB}var hR,uR,fR,lR,dR,cR,pR,mR,gR,vR,bR,yR,wR,MR,_R,AR,ER,SR,kR,BR,RR,TR,xR,IR,CR,PR,DR,LR,OR,jR,UR,NR,zR,qR,FR,ZR,HR,KR,WR,GR,YR,VR,$R,XR,JR,QR,tT,eT,rT,iT,nT,oT,sT,aT,hT,uT,fT,lT,dT,cT,pT,mT,gT,vT,bT,yT,wT,MT,_T,AT,ET,ST,kT,BT,RT,TT,xT,IT,CT,PT,DT,LT,OT,jT=!1;function UT(t){return lR.locateFile?lR.locateFile(t,wR):wR+t}function NT(t){NT.shown||(NT.shown={}),NT.shown[t]||(NT.shown[t]=1,BR(t))}function zT(t,e){t||tx("Assertion failed: "+e)}function qT(t,e,r){for(var i=e+r,n=e;t[n]&&!(n>=i);)++n;if(n-e>16&&t.subarray&&PR)return PR.decode(t.subarray(e,n));for(var o="";e>10,56320|1023&u)}}else o+=String.fromCharCode((31&s)<<6|a)}else o+=String.fromCharCode(s)}return o}function FT(t,e){return t?qT(jR,t,e):""}function ZT(t,e,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,s=0;s=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&t.charCodeAt(++s);if(a<=127){if(r>=o)break;e[r++]=a}else if(a<=2047){if(r+1>=o)break;e[r++]=192|a>>6,e[r++]=128|63&a}else if(a<=65535){if(r+2>=o)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|63&a}else{if(r+3>=o)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|63&a}}return e[r]=0,r-n}function HT(t,e,r){return ZT(t,jR,e,r)}function KT(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&t.charCodeAt(++r)),i<=127?++e:e+=i<=2047?2:i<=65535?3:4}return e}function WT(t,e){for(var r=t,i=r>>1,n=i+e/2;!(i>=n)&&NR[i];)++i;if((r=i<<1)-t>32&&DR)return DR.decode(jR.subarray(t,r));for(var o="",s=0;!(s>=e/2);++s){var a=UR[t+2*s>>1];if(0==a)break;o+=String.fromCharCode(a)}return o}function GT(t,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=e,n=(r-=2)<2*t.length?r/2:t.length,o=0;o>1]=s,e+=2}return UR[e>>1]=0,e-i}function YT(t){return 2*t.length}function VT(t,e){for(var r=0,i="";!(r>=e/4);){var n=zR[t+4*r>>2];if(0==n)break;if(++r,n>=65536){var o=n-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(n)}return i}function $T(t,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=e,n=i+r-4,o=0;o=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&t.charCodeAt(++o);if(zR[e>>2]=s,(e+=4)+4>n)break}return zR[e>>2]=0,e-i}function XT(t){for(var e=0,r=0;r=55296&&i<=57343&&++r,e+=4}return e}function JT(t){YR++,lR.monitorRunDependencies&&lR.monitorRunDependencies(YR)}function QT(t){if(YR--,lR.monitorRunDependencies&&lR.monitorRunDependencies(YR),0==YR&&(null!==VR&&(clearInterval(VR),VR=null),$R)){var e=$R;$R=null,e()}}function tx(t){throw lR.onAbort&&lR.onAbort(t),BR(t+=""),CR=!0,1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(t)}function ex(t){return t.startsWith(XR)}function rx(t){return t.startsWith("file://")}function ix(t){try{if(t==JR&&xR)return new Uint8Array(xR);if(AR)return AR(t);throw"both async and sync fetching of the wasm failed"}catch(t){tx(t)}}function nx(){var t={a:TT};function e(t,e){var r,i,n=t.exports;lR.asm=n,IR=lR.asm.J,r=IR.buffer,LR=r,lR.HEAP8=OR=new Int8Array(r),lR.HEAP16=UR=new Int16Array(r),lR.HEAP32=zR=new Int32Array(r),lR.HEAPU8=jR=new Uint8Array(r),lR.HEAPU16=NR=new Uint16Array(r),lR.HEAPU32=qR=new Uint32Array(r),lR.HEAPF32=FR=new Float32Array(r),lR.HEAPF64=ZR=new Float64Array(r),HR=lR.asm.N,i=lR.asm.K,WR.unshift(i),QT()}function r(t){e(t.instance)}function i(e){return function(){if(!xR&&(gR||vR)){if("function"==typeof fetch&&!rx(JR))return fetch(JR,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+JR+"'";return t.arrayBuffer()})).catch((function(){return ix(JR)}));if(_R)return new Promise((function(t,e){_R(JR,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return ix(JR)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then(e,(function(t){BR("failed to asynchronously prepare wasm: "+t),tx(t)}))}if(JT(),lR.instantiateWasm)try{return lR.instantiateWasm(t,e)}catch(t){return BR("Module.instantiateWasm callback failed with error: "+t),!1}return xR||"function"!=typeof WebAssembly.instantiateStreaming||ex(JR)||rx(JR)||"function"!=typeof fetch?i(r):fetch(JR,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(r,(function(t){return BR("wasm streaming compile failed: "+t),BR("falling back to ArrayBuffer instantiation"),i(r)}))})),{}}function ox(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?HR.get(r)():HR.get(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(lR)}}function sx(){var t=new Error;if(!t.stack){try{throw new Error}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function ax(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(bR)try{return aR(),function(){return aR().randomBytes(1)[0]}}catch(t){}return function(){tx("randomDevice")}}function hx(t){for(var e=function(t,e){return e||(e=RR),Math.ceil(t/e)*e}(t,65536),r=IT(e);t>1]=2,0;default:return-28;case 9:return o=28,zR[PT()>>2]=o,-1}}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),-t.errno}var o}function fx(t,e,r){sT.varargs=r;try{var i=sT.getStr(t),n=r?sT.get():0;return oT.open(i,e,n).fd}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),-t.errno}}function lx(t,e,r,i,n){}function dx(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}function cx(){for(var t=new Array(256),e=0;e<256;++e)t[e]=String.fromCharCode(e);aT=t}function px(t){for(var e="",r=t;jR[r];)e+=aT[jR[r++]];return e}function mx(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=lT&&e<=dT?"_"+t:t}function gx(t,e){return t=mx(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function vx(t,e){var r=gx(e,(function(t){this.name=e,this.message=t;var r=new Error(t).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}function bx(t){throw new cT(t)}function yx(t){throw new pT(t)}function wx(t,e,r){function i(e){var i=r(e);i.length!==t.length&&yx("Mismatched type converter count");for(var n=0;n>o])},destructorFunction:null})}function Ax(t){if(!(this instanceof Dx))return!1;if(!(t instanceof Dx))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=t.$$.ptrType.registeredClass,n=t.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return e===i&&r===n}function Ex(t){bx(t.$$.ptrType.registeredClass.name+" instance already deleted")}function Sx(t){}function kx(t){t.count.value-=1,0===t.count.value&&function(t){t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)}(t)}function Bx(t){return"undefined"==typeof FinalizationGroup?(Bx=function(t){return t},t):(mT=new FinalizationGroup((function(t){for(var e=t.next();!e.done;e=t.next()){var r=e.value;r.ptr?kx(r):console.warn("object already deleted: "+r.ptr)}})),Bx=function(t){return mT.register(t,t.$$,t.$$),t},Sx=function(t){mT.unregister(t.$$)},Bx(t))}function Rx(){if(this.$$.ptr||Ex(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var t,e=Bx(Object.create(Object.getPrototypeOf(this),{$$:{value:(t=this.$$,{count:t.count,deleteScheduled:t.deleteScheduled,preservePointerOnDelete:t.preservePointerOnDelete,ptr:t.ptr,ptrType:t.ptrType,smartPtr:t.smartPtr,smartPtrType:t.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Tx(){this.$$.ptr||Ex(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&bx("Object already scheduled for deletion"),Sx(this),kx(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function xx(){return!this.$$.ptr}function Ix(){for(;vT.length;){var t=vT.pop();t.$$.deleteScheduled=!1,t.delete()}}function Cx(){return this.$$.ptr||Ex(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&bx("Object already scheduled for deletion"),vT.push(this),1===vT.length&&gT&&gT(Ix),this.$$.deleteScheduled=!0,this}function Px(){Dx.prototype.isAliasOf=Ax,Dx.prototype.clone=Rx,Dx.prototype.delete=Tx,Dx.prototype.isDeleted=xx,Dx.prototype.deleteLater=Cx}function Dx(){}function Lx(t,e,r){if(void 0===t[e].overloadTable){var i=t[e];t[e]=function(){return t[e].overloadTable.hasOwnProperty(arguments.length)||bx("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].overloadTable+")!"),t[e].overloadTable[arguments.length].apply(this,arguments)},t[e].overloadTable=[],t[e].overloadTable[i.argCount]=i}}function Ox(t,e,r,i,n,o,s,a){this.name=t,this.constructor=e,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=o,this.upcast=s,this.downcast=a,this.pureVirtualFunctions=[]}function jx(t,e,r){for(;e!==r;)e.upcast||bx("Expected null or instance of "+r.name+", got an instance of "+e.name),t=e.upcast(t),e=e.baseClass;return t}function Ux(t,e){if(null===e)return this.isReference&&bx("null is not a valid "+this.name),0;e.$$||bx('Cannot pass "'+yI(e)+'" as a '+this.name),e.$$.ptr||bx("Cannot pass deleted object as a pointer of type "+this.name);var r=e.$$.ptrType.registeredClass;return jx(e.$$.ptr,r,this.registeredClass)}function Nx(t,e){var r;if(null===e)return this.isReference&&bx("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==t&&t.push(this.rawDestructor,r),r):0;e.$$||bx('Cannot pass "'+yI(e)+'" as a '+this.name),e.$$.ptr||bx("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&e.$$.ptrType.isConst&&bx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);var i=e.$$.ptrType.registeredClass;if(r=jx(e.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&bx("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:bx("Cannot convert argument of type "+(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var n=e.clone();r=this.rawShare(r,vI((function(){n.delete()}))),null!==t&&t.push(this.rawDestructor,r)}break;default:bx("Unsupporting sharing policy")}return r}function zx(t,e){if(null===e)return this.isReference&&bx("null is not a valid "+this.name),0;e.$$||bx('Cannot pass "'+yI(e)+'" as a '+this.name),e.$$.ptr||bx("Cannot pass deleted object as a pointer of type "+this.name),e.$$.ptrType.isConst&&bx("Cannot convert argument of type "+e.$$.ptrType.name+" to parameter type "+this.name);var r=e.$$.ptrType.registeredClass;return jx(e.$$.ptr,r,this.registeredClass)}function qx(t){return this.fromWireType(qR[t>>2])}function Fx(t){return this.rawGetPointee&&(t=this.rawGetPointee(t)),t}function Zx(t){this.rawDestructor&&this.rawDestructor(t)}function Hx(t){null!==t&&t.delete()}function Kx(t,e,r){if(e===r)return t;if(void 0===r.baseClass)return null;var i=Kx(t,e,r.baseClass);return null===i?null:r.downcast(i)}function Wx(){return Object.keys(yT).length}function Gx(){var t=[];for(var e in yT)yT.hasOwnProperty(e)&&t.push(yT[e]);return t}function Yx(t){gT=t,vT.length&&gT&&gT(Ix)}function Vx(){lR.getInheritedInstanceCount=Wx,lR.getLiveInheritedInstances=Gx,lR.flushPendingDeletes=Ix,lR.setDelayFunction=Yx}function $x(t,e){return e=function(t,e){for(void 0===e&&bx("ptr should not be undefined");t.baseClass;)e=t.upcast(e),t=t.baseClass;return e}(t,e),yT[e]}function Xx(t,e){return e.ptrType&&e.ptr||yx("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&yx("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Bx(Object.create(t,{$$:{value:e}}))}function Jx(t){var e=this.getPointee(t);if(!e)return this.destructor(t),null;var r=$x(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=t,r.clone();var i=r.clone();return this.destructor(t),i}function n(){return this.isSmartPointer?Xx(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:t}):Xx(this.registeredClass.instancePrototype,{ptrType:this,ptr:t})}var o,s=this.registeredClass.getActualType(e),a=bT[s];if(!a)return n.call(this);o=this.isConst?a.constPointerType:a.pointerType;var h=Kx(e,this.registeredClass,o.registeredClass);return null===h?n.call(this):this.isSmartPointer?Xx(o.registeredClass.instancePrototype,{ptrType:o,ptr:h,smartPtrType:this,smartPtr:t}):Xx(o.registeredClass.instancePrototype,{ptrType:o,ptr:h})}function Qx(){tI.prototype.getPointee=Fx,tI.prototype.destructor=Zx,tI.prototype.argPackAdvance=8,tI.prototype.readValueFromPointer=qx,tI.prototype.deleteObject=Hx,tI.prototype.fromWireType=Jx}function tI(t,e,r,i,n,o,s,a,h,u,f){this.name=t,this.registeredClass=e,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=o,this.sharingPolicy=s,this.rawGetPointee=a,this.rawConstructor=h,this.rawShare=u,this.rawDestructor=f,n||void 0!==e.baseClass?this.toWireType=Nx:i?(this.toWireType=Ux,this.destructorFunction=null):(this.toWireType=zx,this.destructorFunction=null)}function eI(t,e,r){return t.includes("j")?function(t,e,r){var i=lR["dynCall_"+t];return r&&r.length?i.apply(null,[e].concat(r)):i.call(null,e)}(t,e,r):HR.get(e).apply(null,r)}function rI(t,e){var r,i,n,o=(t=px(t)).includes("j")?(r=t,i=e,n=[],function(){n.length=arguments.length;for(var t=0;t>2)+i]);return r}function aI(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function hI(t,e,r,i,n,o){zT(e>0);var s=sI(e,r);n=rI(i,n);var a=[o],h=[];wx([],[t],(function(t){var r="constructor "+(t=t[0]).name;if(void 0===t.registeredClass.constructor_body&&(t.registeredClass.constructor_body=[]),void 0!==t.registeredClass.constructor_body[e-1])throw new cT("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.registeredClass.constructor_body[e-1]=function(){nI("Cannot construct "+t.name+" due to unbound types",s)},wx([],s,(function(i){return t.registeredClass.constructor_body[e-1]=function(){arguments.length!==e-1&&bx(r+" called with "+arguments.length+" arguments, expected "+(e-1)),h.length=0,a.length=e;for(var t=1;t0?", ":"")+l),d+=(u?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",a)d+="runDestructors(destructors);\n";else for(h=s?1:2;h4&&0==--_T[t].refcount&&(_T[t]=void 0,MT.push(t))}function pI(){for(var t=0,e=5;e<_T.length;++e)void 0!==_T[e]&&++t;return t}function mI(){for(var t=5;t<_T.length;++t)if(void 0!==_T[t])return _T[t];return null}function gI(){lR.count_emval_handles=pI,lR.get_first_emval=mI}function vI(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=MT.length?MT.pop():_T.length;return _T[e]={refcount:1,value:t},e}}function bI(t,e){Mx(t,{name:e=px(e),fromWireType:function(t){var e=_T[t].value;return cI(t),e},toWireType:function(t,e){return vI(e)},argPackAdvance:8,readValueFromPointer:qx,destructorFunction:null})}function yI(t){if(null===t)return"null";var e=typeof t;return"object"===e||"array"===e||"function"===e?t.toString():""+t}function wI(t,e){switch(e){case 2:return function(t){return this.fromWireType(FR[t>>2])};case 3:return function(t){return this.fromWireType(ZR[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function MI(t,e,r){var i=dx(r);Mx(t,{name:e=px(e),fromWireType:function(t){return t},toWireType:function(t,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+yI(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:wI(e,i),destructorFunction:null})}function _I(t,e,r){switch(e){case 0:return r?function(t){return OR[t]}:function(t){return jR[t]};case 1:return r?function(t){return UR[t>>1]}:function(t){return NR[t>>1]};case 2:return r?function(t){return zR[t>>2]}:function(t){return qR[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function AI(t,e,r,i,n){e=px(e),-1===n&&(n=4294967295);var o=dx(r),s=function(t){return t};if(0===i){var a=32-8*r;s=function(t){return t<>>a}}var h=e.includes("unsigned");Mx(t,{name:e,fromWireType:s,toWireType:function(t,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+yI(r)+'" to '+this.name);if(rn)throw new TypeError('Passing a number "'+yI(r)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+i+", "+n+"]!");return h?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:_I(e,o,0!==i),destructorFunction:null})}function EI(t,e,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function n(t){var e=qR,r=e[t>>=2],n=e[t+1];return new i(LR,n,r)}Mx(t,{name:r=px(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})}function SI(t,e){var r="std::string"===(e=px(e));Mx(t,{name:e,fromWireType:function(t){var e,i=qR[t>>2];if(r)for(var n=t+4,o=0;o<=i;++o){var s=t+4+o;if(o==i||0==jR[s]){var a=FT(n,s-n);void 0===e?e=a:(e+=String.fromCharCode(0),e+=a),n=s+1}}else{var h=new Array(i);for(o=0;o>2]=n,r&&i)HT(e,o+4,n+1);else if(i)for(var s=0;s255&&(xT(o),bx("String has UTF-16 code units that do not fit in 8 bits")),jR[o+4+s]=a}else for(s=0;s>2],s=o(),h=t+4,u=0;u<=n;++u){var f=t+4+u*e;if(u==n||0==s[f>>a]){var l=i(h,f-h);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),h=f+e}}return xT(t),r},toWireType:function(t,i){"string"!=typeof i&&bx("Cannot pass non-string to C++ string type "+r);var o=s(i),h=IT(4+o+e);return qR[h>>2]=o>>a,n(i,h+4,o+e),null!==t&&t.push(xT,h),h},argPackAdvance:8,readValueFromPointer:qx,destructorFunction:function(t){xT(t)}})}function BI(t,e){Mx(t,{isVoid:!0,name:e=px(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(t,e){}})}function RI(t){return t||bx("Cannot use deleted val. handle = "+t),_T[t].value}function TI(t,e){var r=uT[t];return void 0===r&&bx(e+" has unknown type "+iI(t)),r}function xI(t,e,r){t=RI(t),e=TI(e,"emval::as");var i=[],n=vI(i);return zR[r>>2]=n,e.toWireType(i,t)}function II(t,e,r,i){var n,o;(t=ET[t])(e=RI(e),r=void 0===(o=AT[n=r])?px(n):o,null,i)}function CI(t,e){for(var r=function(t,e){for(var r=new Array(t),i=0;i>2)+i],"parameter "+i);return r}(t,e),i=r[0],n=i.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$",o=["retType"],s=[i],a="",h=0;h4&&(_T[t].refcount+=1)}function DI(t){aI(_T[t].value),cI(t)}function LI(t,e){return vI((t=TI(t,"_emval_take_value")).readValueFromPointer(e))}function OI(){tx()}function jI(){return void 0===jI.start&&(jI.start=Date.now()),1e3*(Date.now()-jI.start)|0}function UI(t,e){return(t>>>0)+4294967296*e}function NI(t,e){if(t<=0)return t;var r=e<=32?Math.abs(1<=r&&(e<=32||t>r)&&(t=-2*r+t),t}function zI(t,e){return t>=0?t:e<=32?2*Math.abs(1<0?"\n":"")+function(t){var e=sx(),r=e.lastIndexOf("_emscripten_log"),i=e.lastIndexOf("_emscripten_get_callstack"),n=e.indexOf("\n",Math.max(r,i))+1;e=e.slice(n),32&t&&NT("EM_LOG_DEMANGLE is deprecated; ignoring"),8&t&&"undefined"==typeof emscripten_source_map&&(NT('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),t^=8,t|=16);var o=null;if(128&t)for(o=qI(arguments);o[1].includes("_emscripten_");)o=qI(o[0]);var s=e.split("\n");e="";var a=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),h=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var f in s){var l=s[f],d="",c="",p=0,m=0,g=u.exec(l);if(g&&5==g.length)d=g[1],c=g[2],p=g[3],m=g[4];else{if((g=a.exec(l))||(g=h.exec(l)),!(g&&g.length>=4)){e+=l+"\n";continue}d=g[1],c=g[2],p=g[3],m=0|g[4]}var v=!1;if(8&t){var b=emscripten_source_map.originalPositionFor({line:p,column:m});(v=b&&b.source)&&(64&t&&(b.source=b.source.substring(b.source.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=" at "+d+" ("+b.source+":"+b.line+":"+b.column+")\n")}(16&t||!v)&&(64&t&&(c=c.substring(c.replace(/\\/g,"/").lastIndexOf("/")+1)),e+=(v?" = "+d:" at "+d)+" ("+c+":"+p+":"+m+")\n"),128&t&&o[0]&&(o[1]==d&&o[2].length>0&&(e=e.replace(/\s+$/,""),e+=" with values: "+o[1]+o[2]+"\n"),o=qI(o[0]))}return e.replace(/\s+$/,"")}(t)),1&t?4&t?console.error(e):2&t?console.warn(e):512&t?console.info(e):256&t?console.debug(e):console.log(e):6&t?BR(e):kR(e)}function ZI(t,e,r){var i=function(t,e){var r=t,i=e;function n(t){var e;return i=function(t,e){return"double"!==e&&"i64"!==e||7&t&&(t+=4),t}(i,t),"double"===t?(e=ZR[i>>3],i+=8):"i64"==t?(e=[zR[i>>2],zR[i+4>>2]],i+=8):(t="i32",e=zR[i>>2],i+=4),e}for(var o,s,a,h,u=[];;){var f=r;if(0===(o=OR[r>>0]))break;if(s=OR[r+1>>0],37==o){var l=!1,d=!1,c=!1,p=!1,m=!1;t:for(;;){switch(s){case 43:l=!0;break;case 45:d=!0;break;case 35:c=!0;break;case 48:if(p)break t;p=!0;break;case 32:m=!0;break;default:break t}r++,s=OR[r+1>>0]}var g=0;if(42==s)g=n("i32"),r++,s=OR[r+1>>0];else for(;s>=48&&s<=57;)g=10*g+(s-48),r++,s=OR[r+1>>0];var v,b=!1,y=-1;if(46==s){if(y=0,b=!0,r++,42==(s=OR[r+1>>0]))y=n("i32"),r++;else for(;;){var w=OR[r+1>>0];if(w<48||w>57)break;y=10*y+(w-48),r++}s=OR[r+1>>0]}switch(y<0&&(y=6,b=!1),String.fromCharCode(s)){case"h":104==OR[r+2>>0]?(r++,v=1):v=2;break;case"l":108==OR[r+2>>0]?(r++,v=8):v=4;break;case"L":case"q":case"j":v=8;break;case"z":case"t":case"I":v=4;break;default:v=null}switch(v&&r++,s=OR[r+1>>0],String.fromCharCode(s)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var M=100==s||105==s;a=n("i"+8*(v=v||4)),8==v&&(a=117==s?(a[0]>>>0)+4294967296*(a[1]>>>0):UI(a[0],a[1])),v<=4&&(a=(M?NI:zI)(a&Math.pow(256,v)-1,8*v));var _=Math.abs(a),A="";if(100==s||105==s)k=NI(a,8*v).toString(10);else if(117==s)k=zI(a,8*v).toString(10),a=Math.abs(a);else if(111==s)k=(c?"0":"")+_.toString(8);else if(120==s||88==s){if(A=c&&0!=a?"0x":"",a<0){a=-a,k=(_-1).toString(16);for(var E=[],S=0;S=0&&(l?A="+"+A:m&&(A=" "+A)),"-"==k.charAt(0)&&(A="-"+A,k=k.substr(1));A.length+k.lengthT&&T>=-4?(s=(103==s?"f":"F").charCodeAt(0),y-=T+1):(s=(103==s?"e":"E").charCodeAt(0),y--),R=Math.min(y,20)}101==s||69==s?(k=a.toExponential(R),/[eE][-+]\d$/.test(k)&&(k=k.slice(0,-1)+"0"+k.slice(-1))):102!=s&&70!=s||(k=a.toFixed(R),0===a&&((h=a)<0||0===h&&1/h==-1/0)&&(k="-"+k));var x=k.split("e");if(B&&!c)for(;x[0].length>1&&x[0].includes(".")&&("0"==x[0].slice(-1)||"."==x[0].slice(-1));)x[0]=x[0].slice(0,-1);else for(c&&-1==k.indexOf(".")&&(x[0]+=".");y>R++;)x[0]+="0";k=x[0]+(x.length>1?"e"+x[1]:""),69==s&&(k=k.toUpperCase()),a>=0&&(l?k="+"+k:m&&(k=" "+k))}else k=(a<0?"-":"")+"inf",p=!1;for(;k.length>0]);else u=u.concat(eC("(null)".substr(0,C),!0));if(d)for(;C0;)u.push(32);d||u.push(n("i8"));break;case"n":var P=n("i32*");zR[P>>2]=u.length;break;case"%":u.push(o);break;default:for(S=f;S>0])}r+=2}else u.push(o),r+=1}return u}(e,r);FI(t,qT(i,0))}function HI(t){jR.length;tx("OOM")}function KI(){if(!KI.strings){var t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:mR||"./this.program"};for(var e in ST)t[e]=ST[e];var r=[];for(var e in t)r.push(e+"="+t[e]);KI.strings=r}return KI.strings}function WI(t,e){try{var r=0;return KI().forEach((function(i,n){var o=e+r;zR[t+4*n>>2]=o,function(t,e,r){for(var i=0;i>0]=t.charCodeAt(i);r||(OR[e>>0]=0)}(i,o),r+=i.length+1})),0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function GI(t,e){try{var r=KI();zR[t>>2]=r.length;var i=0;return r.forEach((function(t){i+=t.length+1})),zR[e>>2]=i,0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function YI(t){try{var e=sT.getStreamFromFD(t);return oT.close(e),0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function VI(t,e){try{var r=sT.getStreamFromFD(t),i=r.tty?2:oT.isDir(r.mode)?3:oT.isLink(r.mode)?7:4;return OR[e>>0]=i,0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function $I(t,e,r,i){try{var n=sT.getStreamFromFD(t),o=sT.doReadv(n,e,r);return zR[i>>2]=o,0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function XI(t,e,r,i,n){try{var o=sT.getStreamFromFD(t),s=4294967296*r+(e>>>0),a=9007199254740992;return s<=-a||s>=a?-61:(oT.llseek(o,s,i),tT=[o.position>>>0,(QR=o.position,+Math.abs(QR)>=1?QR>0?(0|Math.min(+Math.floor(QR/4294967296),4294967295))>>>0:~~+Math.ceil((QR-+(~~QR>>>0))/4294967296)>>>0:0)],zR[n>>2]=tT[0],zR[n+4>>2]=tT[1],o.getdents&&0===s&&0===i&&(o.getdents=null),0)}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function JI(t,e,r,i){try{var n=sT.getStreamFromFD(t),o=sT.doWritev(n,e,r);return zR[i>>2]=o,0}catch(t){return void 0!==oT&&t instanceof oT.ErrnoError||tx(t),t.errno}}function QI(t){var e=Date.now();return zR[t>>2]=e/1e3|0,zR[t+4>>2]=e%1e3*1e3|0,0}function tC(t){TR(t)}function eC(t,e,r){var i=r>0?r:KT(t)+1,n=new Array(i),o=ZT(t,n,0,n.length);return e&&(n.length=o),n}function rC(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function iC(t){function e(){LT||(LT=!0,lR.calledRun=!0,CR||(!0,lR.noFSInit||oT.init.initialized||oT.init(),iT.init(),ox(WR),lR.onRuntimeInitialized&&lR.onRuntimeInitialized(),function(){if(lR.postRun)for("function"==typeof lR.postRun&&(lR.postRun=[lR.postRun]);lR.postRun.length;)t=lR.postRun.shift(),GR.unshift(t);var t;ox(GR)}()))}t=t||pR,YR>0||(!function(){if(lR.preRun)for("function"==typeof lR.preRun&&(lR.preRun=[lR.preRun]);lR.preRun.length;)t=lR.preRun.shift(),KR.unshift(t);var t;ox(KR)}(),YR>0||(lR.setStatus?(lR.setStatus("Running..."),setTimeout((function(){setTimeout((function(){lR.setStatus("")}),1),e()}),1)):e()))}function nC(){for(cR in{},hR=jt(),uR="/home/lin/server/jessibuca/demo/public",fR=Ye().Buffer,dR={},lR=void 0!==lR?lR:{})lR.hasOwnProperty(cR)&&(dR[cR]=lR[cR]);for(cR in pR=[],mR="./this.program",function(t,e){throw e},gR=!1,vR=!1,bR=!1,yR=!1,gR="object"==typeof window,vR="function"==typeof importScripts,bR="object"==typeof hR&&"object"==typeof hR.versions&&"string"==typeof hR.versions.node,yR=!gR&&!bR&&!vR,wR="",bR?(wR=vR?tr().dirname(wR)+"/":uR+"/",MR=function(t,e){return ER||(ER=ir()),SR||(SR=tr()),t=SR.normalize(t),ER.readFileSync(t,e?null:"utf8")},AR=function(t){var e=MR(t,!0);return e.buffer||(e=new Uint8Array(e)),zT(e.buffer),e},hR.argv.length>1&&(mR=hR.argv[1].replace(/\\/g,"/")),pR=hR.argv.slice(2),lR,hR.on("uncaughtException",(function(t){if(!(t instanceof rC))throw t})),hR.on("unhandledRejection",tx),function(t){hR.exit(t)},lR.inspect=function(){return"[Emscripten Module object]"}):yR?("undefined"!=typeof read&&(MR=function(t){return read(t)}),AR=function(t){var e;return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(zT("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?pR=scriptArgs:void 0!==arguments&&(pR=arguments),"function"==typeof quit&&function(t){quit(t)},"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(gR||vR)&&(vR?wR=self.location.href:"undefined"!=typeof document&&document.currentScript&&(wR=document.currentScript.src),wR=0!==wR.indexOf("blob:")?wR.substr(0,wR.lastIndexOf("/")+1):"",MR=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},vR&&(AR=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),_R=function(t,e,r){var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){200==i.status||0==i.status&&i.response?e(i.response):r()},i.onerror=r,i.send(null)},function(t){document.title=t}),kR=lR.print||console.log.bind(console),BR=lR.printErr||console.warn.bind(console),dR)dR.hasOwnProperty(cR)&&(lR[cR]=dR[cR]);if(dR=null,lR.arguments&&(pR=lR.arguments),lR.thisProgram&&(mR=lR.thisProgram),lR.quit&&lR.quit,RR=16,0,TR=function(t){t},lR.wasmBinary&&(xR=lR.wasmBinary),lR.noExitRuntime||!0,"object"!=typeof WebAssembly&&tx("no native wasm support detected"),CR=!1,PR="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,DR="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,lR.INITIAL_MEMORY||67108864,KR=[],WR=[],GR=[],!1,YR=0,VR=null,$R=null,lR.preloadedImages={},lR.preloadedAudios={},XR="data:application/octet-stream;base64,",ex(JR="ff.wasm")||(JR=UT(JR)),eT={splitPath:function(t){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];"."===n?t.splice(i,1):".."===n?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e="/"===t.charAt(0),r="/"===t.substr(-1);return(t=eT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=eT.splitPath(t),r=e[0],i=e[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:function(t){if("/"===t)return"/";var e=(t=(t=eT.normalize(t)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?t:t.substr(e+1)},extname:function(t){return eT.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return eT.normalize(t.join("/"))},join2:function(t,e){return eT.normalize(t+"/"+e)}},rT={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:oT.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e="/"===i.charAt(0)}return(e?"/":"")+(t=eT.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||"."},relative:function(t,e){function r(t){for(var e=0;e=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=rT.resolve(t).substr(1),e=rT.resolve(e).substr(1);for(var i=r(t.split("/")),n=r(e.split("/")),o=Math.min(i.length,n.length),s=o,a=0;a0?r.slice(0,i).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;t.input=eC(e,!0)}return t.input.shift()},put_char:function(t,e){null===e||10===e?(kR(qT(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(kR(qT(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){null===e||10===e?(BR(qT(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(BR(qT(t.output,0)),t.output=[])}}},nT={ops_table:null,mount:function(t){return nT.createNode(null,"/",16895,0)},createNode:function(t,e,r,i){if(oT.isBlkdev(r)||oT.isFIFO(r))throw new oT.ErrnoError(63);nT.ops_table||(nT.ops_table={dir:{node:{getattr:nT.node_ops.getattr,setattr:nT.node_ops.setattr,lookup:nT.node_ops.lookup,mknod:nT.node_ops.mknod,rename:nT.node_ops.rename,unlink:nT.node_ops.unlink,rmdir:nT.node_ops.rmdir,readdir:nT.node_ops.readdir,symlink:nT.node_ops.symlink},stream:{llseek:nT.stream_ops.llseek}},file:{node:{getattr:nT.node_ops.getattr,setattr:nT.node_ops.setattr},stream:{llseek:nT.stream_ops.llseek,read:nT.stream_ops.read,write:nT.stream_ops.write,allocate:nT.stream_ops.allocate,mmap:nT.stream_ops.mmap,msync:nT.stream_ops.msync}},link:{node:{getattr:nT.node_ops.getattr,setattr:nT.node_ops.setattr,readlink:nT.node_ops.readlink},stream:{}},chrdev:{node:{getattr:nT.node_ops.getattr,setattr:nT.node_ops.setattr},stream:oT.chrdev_stream_ops}});var n=oT.createNode(t,e,r,i);return oT.isDir(n.mode)?(n.node_ops=nT.ops_table.dir.node,n.stream_ops=nT.ops_table.dir.stream,n.contents={}):oT.isFile(n.mode)?(n.node_ops=nT.ops_table.file.node,n.stream_ops=nT.ops_table.file.stream,n.usedBytes=0,n.contents=null):oT.isLink(n.mode)?(n.node_ops=nT.ops_table.link.node,n.stream_ops=nT.ops_table.link.stream):oT.isChrdev(n.mode)&&(n.node_ops=nT.ops_table.chrdev.node,n.stream_ops=nT.ops_table.chrdev.stream),n.timestamp=Date.now(),t&&(t.contents[e]=n,t.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(t){return t.contents?t.contents.subarray?t.contents.subarray(0,t.usedBytes):new Uint8Array(t.contents):new Uint8Array(0)},expandFileStorage:function(t,e){var r=t.contents?t.contents.length:0;if(!(r>=e)){e=Math.max(e,r*(r<1048576?2:1.125)>>>0),0!=r&&(e=Math.max(e,256));var i=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(i.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(0==e)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=oT.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,oT.isDir(t.mode)?e.size=4096:oT.isFile(t.mode)?e.size=t.usedBytes:oT.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){void 0!==e.mode&&(t.mode=e.mode),void 0!==e.timestamp&&(t.timestamp=e.timestamp),void 0!==e.size&&nT.resizeFileStorage(t,e.size)},lookup:function(t,e){throw oT.genericErrors[44]},mknod:function(t,e,r,i){return nT.createNode(t,e,r,i)},rename:function(t,e,r){if(oT.isDir(t.mode)){var i;try{i=oT.lookupNode(e,r)}catch(t){}if(i)for(var n in i.contents)throw new oT.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=oT.lookupNode(t,e);for(var i in r.contents)throw new oT.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)t.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(t,e,r){var i=nT.createNode(t,e,41471,0);return i.link=r,i},readlink:function(t){if(!oT.isLink(t.mode))throw new oT.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var o=t.node.contents;if(n>=t.node.usedBytes)return 0;var s=Math.min(t.node.usedBytes-n,i);if(s>8&&o.subarray)e.set(o.subarray(n,n+s),r);else for(var a=0;a0||i+r8)throw new oT.ErrnoError(32);for(var n=eT.normalizeArray(t.split("/").filter((function(t){return!!t})),!1),o=oT.root,s="/",a=0;a40)throw new oT.ErrnoError(32)}}return{path:s,node:o}},getPath:function(t){for(var e;;){if(oT.isRoot(t)){var r=t.mount.mountpoint;return e?"/"!==r[r.length-1]?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%oT.nameTable.length},hashAddNode:function(t){var e=oT.hashName(t.parent.id,t.name);t.name_next=oT.nameTable[e],oT.nameTable[e]=t},hashRemoveNode:function(t){var e=oT.hashName(t.parent.id,t.name);if(oT.nameTable[e]===t)oT.nameTable[e]=t.name_next;else for(var r=oT.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=oT.mayLookup(t);if(r)throw new oT.ErrnoError(r,t);for(var i=oT.hashName(t.id,e),n=oT.nameTable[i];n;n=n.name_next){var o=n.name;if(n.parent.id===t.id&&o===e)return n}return oT.lookup(t,e)},createNode:function(t,e,r,i){var n=new oT.FSNode(t,e,r,i);return oT.hashAddNode(n),n},destroyNode:function(t){oT.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return 32768==(61440&t)},isDir:function(t){return 16384==(61440&t)},isLink:function(t){return 40960==(61440&t)},isChrdev:function(t){return 8192==(61440&t)},isBlkdev:function(t){return 24576==(61440&t)},isFIFO:function(t){return 4096==(61440&t)},isSocket:function(t){return 49152==(49152&t)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=oT.flagModes[t];if(void 0===e)throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},nodePermissions:function(t,e){return oT.ignorePermissions||(!e.includes("r")||292&t.mode)&&(!e.includes("w")||146&t.mode)&&(!e.includes("x")||73&t.mode)?0:2},mayLookup:function(t){var e=oT.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{oT.lookupNode(t,e);return 20}catch(t){}return oT.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=oT.lookupNode(t,e)}catch(t){return t.errno}var n=oT.nodePermissions(t,"wx");if(n)return n;if(r){if(!oT.isDir(i.mode))return 54;if(oT.isRoot(i)||oT.getPath(i)===oT.cwd())return 10}else if(oT.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?oT.isLink(t.mode)?32:oT.isDir(t.mode)&&("r"!==oT.flagsToPermissionString(e)||512&e)?31:oT.nodePermissions(t,oT.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||oT.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!oT.streams[r])return r;throw new oT.ErrnoError(33)},getStream:function(t){return oT.streams[t]},createStream:function(t,e,r){oT.FSStream||(oT.FSStream=function(){},oT.FSStream.prototype={object:{get:function(){return this.node},set:function(t){this.node=t}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var i=new oT.FSStream;for(var n in t)i[n]=t[n];t=i;var o=oT.nextfd(e,r);return t.fd=o,oT.streams[o]=t,t},closeStream:function(t){oT.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=oT.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new oT.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return 255&t},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){oT.devices[t]={stream_ops:e}},getDevice:function(t){return oT.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){"function"==typeof t&&(e=t,t=!1),oT.syncFSRequests++,oT.syncFSRequests>1&&BR("warning: "+oT.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=oT.getMounts(oT.root.mount),i=0;function n(t){return oT.syncFSRequests--,e(t)}function o(t){if(t)return o.errored?void 0:(o.errored=!0,n(t));++i>=r.length&&n(null)}r.forEach((function(e){if(!e.type.syncfs)return o(null);e.type.syncfs(e,t,o)}))},mount:function(t,e,r){var i,n="/"===r,o=!r;if(n&&oT.root)throw new oT.ErrnoError(10);if(!n&&!o){var s=oT.lookupPath(r,{follow_mount:!1});if(r=s.path,i=s.node,oT.isMountpoint(i))throw new oT.ErrnoError(10);if(!oT.isDir(i.mode))throw new oT.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},h=t.mount(a);return h.mount=a,a.root=h,n?oT.root=h:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),h},unmount:function(t){var e=oT.lookupPath(t,{follow_mount:!1});if(!oT.isMountpoint(e.node))throw new oT.ErrnoError(28);var r=e.node,i=r.mounted,n=oT.getMounts(i);Object.keys(oT.nameTable).forEach((function(t){for(var e=oT.nameTable[t];e;){var r=e.name_next;n.includes(e.mount)&&oT.destroyNode(e),e=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(i);r.mount.mounts.splice(o,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=oT.lookupPath(t,{parent:!0}).node,n=eT.basename(t);if(!n||"."===n||".."===n)throw new oT.ErrnoError(28);var o=oT.mayCreate(i,n);if(o)throw new oT.ErrnoError(o);if(!i.node_ops.mknod)throw new oT.ErrnoError(63);return i.node_ops.mknod(i,n,e,r)},create:function(t,e){return e=void 0!==e?e:438,e&=4095,e|=32768,oT.mknod(t,e,0)},mkdir:function(t,e){return e=void 0!==e?e:511,e&=1023,e|=16384,oT.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||t<0)){var e=t%this.chunkSize,r=t/this.chunkSize|0;return this.getter(r)[e]}},o.prototype.setDataGetter=function(t){this.getter=t},o.prototype.cacheLength=function(){var t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw new Error("Couldn't load "+r+". Status: "+t.status);var e,i=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,o=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,s=1048576;n||(s=i);var a=this;a.setDataGetter((function(t){var e=t*s,n=(t+1)*s-1;if(n=Math.min(n,i-1),void 0===a.chunks[t]&&(a.chunks[t]=function(t,e){if(t>e)throw new Error("invalid range ("+t+", "+e+") or no bytes requested!");if(e>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==s&&n.setRequestHeader("Range","bytes="+t+"-"+e),"undefined"!=typeof Uint8Array&&(n.responseType="arraybuffer"),n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):eC(n.responseText||"",!0)}(e,n)),void 0===a.chunks[t])throw new Error("doXHR failed!");return a.chunks[t]})),!o&&i||(s=i=1,i=this.getter(0).length,s=i,kR("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!vR)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new o;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:s}}else a={isDevice:!1,url:r};var h=oT.createFile(t,e,a,i,n);a.contents?h.contents=a.contents:a.url&&(h.contents=null,h.url=a.url),Object.defineProperties(h,{usedBytes:{get:function(){return this.contents.length}}});var u={};return Object.keys(h.stream_ops).forEach((function(t){var e=h.stream_ops[t];u[t]=function(){return oT.forceLoadFile(h),e.apply(null,arguments)}})),u.read=function(t,e,r,i,n){oT.forceLoadFile(h);var o=t.node.contents;if(n>=o.length)return 0;var s=Math.min(o.length-n,i);if(o.slice)for(var a=0;a>2]=i.dev,zR[r+4>>2]=0,zR[r+8>>2]=i.ino,zR[r+12>>2]=i.mode,zR[r+16>>2]=i.nlink,zR[r+20>>2]=i.uid,zR[r+24>>2]=i.gid,zR[r+28>>2]=i.rdev,zR[r+32>>2]=0,tT=[i.size>>>0,(QR=i.size,+Math.abs(QR)>=1?QR>0?(0|Math.min(+Math.floor(QR/4294967296),4294967295))>>>0:~~+Math.ceil((QR-+(~~QR>>>0))/4294967296)>>>0:0)],zR[r+40>>2]=tT[0],zR[r+44>>2]=tT[1],zR[r+48>>2]=4096,zR[r+52>>2]=i.blocks,zR[r+56>>2]=i.atime.getTime()/1e3|0,zR[r+60>>2]=0,zR[r+64>>2]=i.mtime.getTime()/1e3|0,zR[r+68>>2]=0,zR[r+72>>2]=i.ctime.getTime()/1e3|0,zR[r+76>>2]=0,tT=[i.ino>>>0,(QR=i.ino,+Math.abs(QR)>=1?QR>0?(0|Math.min(+Math.floor(QR/4294967296),4294967295))>>>0:~~+Math.ceil((QR-+(~~QR>>>0))/4294967296)>>>0:0)],zR[r+80>>2]=tT[0],zR[r+84>>2]=tT[1],0},doMsync:function(t,e,r,i,n){var o=jR.slice(t,t+r);oT.msync(e,o,n,r,i)},doMkdir:function(t,e){return"/"===(t=eT.normalize(t))[t.length-1]&&(t=t.substr(0,t.length-1)),oT.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return oT.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=oT.readlink(t),n=Math.min(r,KT(i)),o=OR[e+n];return HT(i,e,r+1),OR[e+n]=o,n},doAccess:function(t,e){if(-8&e)return-28;var r;if(!(r=oT.lookupPath(t,{follow:!0}).node))return-44;var i="";return 4&e&&(i+="r"),2&e&&(i+="w"),1&e&&(i+="x"),i&&oT.nodePermissions(r,i)?-2:0},doDup:function(t,e,r){var i=oT.getStream(r);return i&&oT.close(i),oT.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,o=0;o>2],a=zR[e+(8*o+4)>>2],h=oT.read(t,OR,s,a,i);if(h<0)return-1;if(n+=h,h>2],a=zR[e+(8*o+4)>>2],h=oT.write(t,OR,s,a,i);if(h<0)return-1;n+=h}return n},varargs:void 0,get:function(){return sT.varargs+=4,zR[sT.varargs-4>>2]},getStr:function(t){return FT(t)},getStreamFromFD:function(t){var e=oT.getStream(t);if(!e)throw new oT.ErrnoError(8);return e},get64:function(t,e){return t}},aT=void 0,hT={},uT={},fT={},lT=48,dT=57,cT=void 0,pT=void 0,mT=!1,gT=void 0,vT=[],bT={},yT={},wT=void 0,MT=[],_T=[{},{value:void 0},{value:null},{value:!0},{value:!1}],AT={},ET=[],ST={},kT=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=oT.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},BT=365,RT=146,Object.defineProperties(kT.prototype,{read:{get:function(){return(this.mode&BT)===BT},set:function(t){t?this.mode|=BT:this.mode&=~BT}},write:{get:function(){return(this.mode&RT)===RT},set:function(t){t?this.mode|=RT:this.mode&=~RT}},isFolder:{get:function(){return oT.isDir(this.mode)}},isDevice:{get:function(){return oT.isChrdev(this.mode)}}}),oT.FSNode=kT,oT.staticInit(),cx(),cT=lR.BindingError=vx(Error,"BindingError"),pT=lR.InternalError=vx(Error,"InternalError"),Px(),Qx(),Vx(),wT=lR.UnboundTypeError=vx(Error,"UnboundTypeError"),gI(),TT={z:ux,y:fx,t:lx,D:_x,o:oI,j:hI,g:fI,I:dI,C:bI,m:MI,c:AI,b:EI,n:SI,i:kI,E:BI,r:xI,e:II,p:cI,d:CI,H:PI,q:DI,w:LI,a:OI,G:jI,f:ZI,u:HI,v:WI,x:GI,l:YI,A:VI,B:$I,s:XI,k:JI,F:QI,h:tC},nx(),lR.___wasm_call_ctors=function(){return(lR.___wasm_call_ctors=lR.asm.K).apply(null,arguments)},xT=lR._free=function(){return(xT=lR._free=lR.asm.L).apply(null,arguments)},IT=lR._malloc=function(){return(IT=lR._malloc=lR.asm.M).apply(null,arguments)},CT=lR._strlen=function(){return(CT=lR._strlen=lR.asm.O).apply(null,arguments)},PT=lR.___errno_location=function(){return(PT=lR.___errno_location=lR.asm.P).apply(null,arguments)},DT=lR.___getTypeName=function(){return(DT=lR.___getTypeName=lR.asm.Q).apply(null,arguments)},lR.___embind_register_native_and_builtin_types=function(){return(lR.___embind_register_native_and_builtin_types=lR.asm.R).apply(null,arguments)},lR.dynCall_ijiii=function(){return(lR.dynCall_ijiii=lR.asm.S).apply(null,arguments)},lR.dynCall_viiijj=function(){return(lR.dynCall_viiijj=lR.asm.T).apply(null,arguments)},lR.dynCall_jij=function(){return(lR.dynCall_jij=lR.asm.U).apply(null,arguments)},lR.dynCall_jii=function(){return(lR.dynCall_jii=lR.asm.V).apply(null,arguments)},lR.dynCall_jiji=function(){return(lR.dynCall_jiji=lR.asm.W).apply(null,arguments)},lR._ff_h264_cabac_tables=77157,$R=function t(){LT||iC(),LT||($R=t)},lR.run=iC,lR.preInit)for("function"==typeof lR.preInit&&(lR.preInit=[lR.preInit]);lR.preInit.length>0;)lR.preInit.pop()();iC(),OT=e(lR)}var oC=!1;function sC(t){let e=t.next(),r=null;return i=>{var n=new Uint8Array(i);if(r){var o=new Uint8Array(r.length+n.length);o.set(r),o.set(n,r.length),n=o,r=null}for(;n.length>=e.value;){var s=n.slice(e.value);e=t.next(n.slice(0,e.value)),n=s}n.length>0&&(r=n)}}function aC(){({}),jT||(jT=!0,nC()),s(),(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1})(),Date.now||(Date.now=function(){return(new Date).getTime()}),OT.print=function(t){postMessage({cmd:"print",text:t})},OT.printErr=function(t){postMessage({cmd:"printErr",text:t})},OT.postRun=function(){var t=[],e={_firstCheckpoint:0,_lastCheckpoint:0,_intervalBytes:0,_lastSecondBytes:0,addBytes:function(t){0===e._firstCheckpoint?(e._firstCheckpoint=Date.now(),e._lastCheckpoint=e._firstCheckpoint,e._intervalBytes+=t):Date.now()-e._lastCheckpoint<1e3?e._intervalBytes+=t:(e._lastSecondBytes=e._intervalBytes,e._intervalBytes=t,e._lastCheckpoint=Date.now())},reset:function(){e._firstCheckpoint=e._lastCheckpoint=0,e._intervalBytes=0,e._lastSecondBytes=0},getCurrentKBps:function(){e.addBytes(0);var t=(Date.now()-e._lastCheckpoint)/1e3;return 0==t&&(t=1),e._intervalBytes/t/1024},getLastSecondKBps:function(){return e.addBytes(0),0!==e._lastSecondBytes?e._lastSecondBytes/1024:Date.now()-e._lastCheckpoint>=500?e.getCurrentKBps():0}},r={opt:{},initAudioPlanar:function(t,e){postMessage({cmd:"initAudioPlanar",samplerate:e,channels:t});var r=[],i=[],n=0;this.playAudioPlanar=function(e,o){for(var s=o,a=[],h=0,u=0;u<2;u++){var f=OT.HEAPU32[(e>>2)+u]>>2;a[u]=OT.HEAPF32.subarray(f,f+s)}if(n){if(!(s>=(o=1024-n)))return n+=s,r[0]=Float32Array.of(...r[0],...a[0]),void(2==t&&(r[1]=Float32Array.of(...r[1],...a[1])));i[0]=Float32Array.of(...r[0],...a[0].subarray(0,o)),2==t&&(i[1]=Float32Array.of(...r[1],...a[1].subarray(0,o))),postMessage({cmd:"playAudio",buffer:i},i.map((t=>t.buffer))),h=o,s-=o}for(n=s;n>=1024;n-=1024)i[0]=a[0].slice(h,h+=1024),2==t&&(i[1]=a[1].slice(h-1024,h)),postMessage({cmd:"playAudio",buffer:i},i.map((t=>t.buffer)));n&&(r[0]=a[0].slice(h),2==t&&(r[1]=a[1].slice(h)))}},inputFlv:function*(){yield 9;for(var e=new ArrayBuffer(4),r=new Uint8Array(e),o=new Uint32Array(e);;){r[3]=0;var s=yield 15,a=s[4];r[0]=s[7],r[1]=s[6],r[2]=s[5];var h=o[0];r[0]=s[10],r[1]=s[9],r[2]=s[8];var u=o[0];16777215===u&&(r[3]=s[11],u=o[0]);var f=yield h;switch(a){case 8:this.opt.hasAudio&&t.push({ts:u,payload:f,decoder:i,type:0});break;case 9:t.push({ts:u,payload:f,decoder:n,type:f[0]>>4})}}},play:function(r){this.opt.debug&&console.log("Jessibuca play",r),this.getDelay=function(t){return t?(this.firstTimestamp=t,this.startTimestamp=Date.now(),this.getDelay=function(t){return this.delay=Date.now()-this.startTimestamp-(t-this.firstTimestamp),this.delay},-1):-1};if(this.stopId=setInterval((()=>{if(t.length)if(this.dropping){for(e=t.shift();1!==e.type&&t.length;)e=t.shift();1===e.type&&(this.dropping=!1,e.decoder.decode(e.payload))}else{var e=t[0];if(-1===this.getDelay(e.ts))t.shift(),this.ts=e.ts,e.decoder.decode(e.payload);else if(this.delay>this.videoBuffer+1e3)this.dropping=!0;else for(;t.length&&(e=t[0],this.getDelay(e.ts)>this.videoBuffer);)t.shift(),this.ts=e.ts,e.decoder.decode(e.payload)}}),10),this.speedSamplerId=setInterval((()=>{postMessage({cmd:"kBps",kBps:e.getLastSecondKBps()})}),1e3),0==r.indexOf("http")){this.flvMode=!0;var o=this,a=new AbortController;fetch(r,{signal:a.signal}).then((function(t){var r=t.body.getReader(),i=o.inputFlv(),n=sC(i),s=function(){r.read().then((({done:t,value:r})=>{t?i.return(null):(e.addBytes(r.byteLength),n(r),s())})).catch((function(t){i.return(null),o.opt.debug&&console.error(t),-1===t.toString().indexOf("The user aborted a request")&&postMessage({cmd:"printErr",text:t.toString()})}))};s()})).catch((t=>{postMessage({cmd:"printErr",text:t.message})})),this._close=function(){a.abort()}}else{if(this.flvMode=-1!=r.indexOf(".flv")||this.opt.isFlv,this.ws=new WebSocket(r),this.ws.binaryType="arraybuffer",this.flvMode){let t=this.inputFlv();var h=sC(t);this.ws.onmessage=t=>{e.addBytes(t.data.byteLength),h(t.data)},this.ws.onerror=e=>{t.return(null),postMessage({cmd:"printErr",text:e.toString()})}}else this.ws.onmessage=r=>{e.addBytes(r.data.byteLength);var o=new DataView(r.data);switch(o.getUint8(0)){case 1:this.opt.hasAudio&&t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:i,type:0});break;case 2:t.push({ts:o.getUint32(1,!1),payload:new Uint8Array(r.data,5),decoder:n,type:o.getUint8(5)>>4})}},this.ws.onerror=t=>{postMessage({cmd:"printErr",text:t.toString()})};this._close=function(){this.ws&&(this.ws.close&&this.ws.close(),this.ws=null)}}this.setVideoSize=function(t,e){postMessage({cmd:"initSize",w:t,h:e});var r=t*e,i=r>>2;if(this.opt.forceNoOffscreen||"undefined"==typeof OffscreenCanvas)this.draw=function(t,e,n,o){var s=[OT.HEAPU8.subarray(e,e+r),OT.HEAPU8.subarray(n,n+i),OT.HEAPU8.subarray(o,o+i)].map((t=>Uint8Array.from(t)));postMessage({cmd:"render",compositionTime:t,delay:this.delay,ts:this.ts,output:s},s.map((t=>t.buffer)))};else{this.offscreenCanvas=new OffscreenCanvas(t,e),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl");var n=s().default(this.offscreenCanvasGL);this.draw=function(o,s,a,h){n(t,e,OT.HEAPU8.subarray(s,s+r),OT.HEAPU8.subarray(a,a+i),OT.HEAPU8.subarray(h,h+i));let u=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:"render",compositionTime:o,delay:this.delay,ts:this.ts,buffer:u},[u])}}}},close:function(){this._close&&(this.opt.debug&&console.log("worker close"),this._close(),clearInterval(this.stopId),this.stopId=null,clearInterval(this.speedSamplerId),this.speedSamplerId=null,e.reset(),this.ws=null,i.clear(),n.clear(),this.firstTimestamp=0,this.startTimestamp=0,this.delay=0,this.ts=0,this.flvMode=!1,this.offscreenCanvas&&(this.offscreenCanvas=null),this.offscreenCanvasGL&&(this.offscreenCanvasGL=null),t=[],delete this.playAudioPlanar,delete this.draw,delete this.getDelay)}},i=new OT.AudioDecoder(r),n=new OT.VideoDecoder(r);postMessage({cmd:"init"}),self.onmessage=function(t){var e=t.data;switch(e.cmd){case"init":r.opt=JSON.parse(e.opt),i.sample_rate=e.sampleRate;break;case"getProp":postMessage({cmd:"getProp",value:r[e.prop]});break;case"setProp":r[e.prop]=e.value;break;case"play":r.play(e.url);break;case"setVideoBuffer":r.videoBuffer=1e3*e.time|0;break;case"close":r.close()}}}}"undefined"==typeof importScripts?wt||(wt=!0,{},l(),z(),Y(),J(),bt(),w(),O(),yt=class{constructor(t){if(this._opt=Object.assign(w().DEFAULT_OPTIONS,t),this.$container=t.container,"string"==typeof t.container&&(this.$container=document.querySelector(t.container)),!this.$container)throw new Error("Jessibuca need container option");delete this._opt.container,this._opt.debug&&console.log("options",this._opt),bt().default(this),l().default(this),z().default(this),J().default(this),Y().default(this)}set fullscreen(t){t?(O().checkFull()||this.$container.requestFullscreen(),O().$domToggle(this.$doms.minScreenDom,!0),O().$domToggle(this.$doms.fullscreenDom,!1)):(O().checkFull()&&document.exitFullscreen(),O().$domToggle(this.$doms.minScreenDom,!1),O().$domToggle(this.$doms.fullscreenDom,!0)),this._fullscreen!==t&&(this.onFullscreen(t),this._trigger(w().EVEMTS.fullscreen,t)),this._fullscreen=t}get fullscreen(){return this._fullscreen}set playing(t){t?(O().$domToggle(this.$doms.playBigDom,!1),O().$domToggle(this.$doms.playDom,!1),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.screenshotsDom,!0),O().$domToggle(this.$doms.recordDom,!0),this._quieting?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0))):(this.$doms.speedDom&&(this.$doms.speedDom.innerText=""),this._playUrl&&(O().$domToggle(this.$doms.playDom,!0),O().$domToggle(this.$doms.playBigDom,!0),O().$domToggle(this.$doms.pauseDom,!1)),O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!1),O().$domToggle(this.$doms.screenshotsDom,!1),O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!1)),this._playing!==t&&(t?(this.onPlay(),this._trigger(w().EVEMTS.play)):(this.onPause(),this._trigger(w().EVEMTS.pause))),this._playing=t}get playing(){return this._playing}set quieting(t){t?(O().$domToggle(this.$doms.quietAudioDom,!0),O().$domToggle(this.$doms.playAudioDom,!1)):(O().$domToggle(this.$doms.quietAudioDom,!1),O().$domToggle(this.$doms.playAudioDom,!0)),this._quieting!==t&&(this.onMute(t),this._trigger(w().EVEMTS.mute,t)),this._quieting=t}get quieting(){return this._quieting}set loading(t){t?(O().$hideBtns(this.$doms),O().$domToggle(this.$doms.fullscreenDom,!0),O().$domToggle(this.$doms.pauseDom,!0),O().$domToggle(this.$doms.loadingDom,!0)):O().$initBtns(this.$doms),this._loading=t}get loading(){return this._loading}set recording(t){t?(O().$domToggle(this.$doms.recordDom,!1),O().$domToggle(this.$doms.recordingDom,!0)):(O().$domToggle(this.$doms.recordDom,!0),O().$domToggle(this.$doms.recordingDom,!1)),this._recording!==t&&(this.onRecord(t),this._trigger(w().EVEMTS.record,t),this._recording=t)}get recording(){return this._recording}isPlaying(){return this.playing}isMute(){return this.quieting}setDebug(t){this._opt.isDebug=!!t}setTimeout(t){this._opt.timeout=Number(t)}setVod(t){this._opt.vod=!!t}setNoOffscreen(t){this._opt.forceNoOffscreen=!!t}setScaleMode(t){0===(t=Number(t))?(this._opt.isFullResize=!1,this._opt.isResize=!1):1===t?(this._opt.isFullResize=!1,this._opt.isResize=!0):2===t&&(this._opt.isFullResize=!0),this._resize()}mute(){this._mute()}cancelMute(){this._cancelMute()}audioResume(){this._cancelMute()}pause(){this._pause()}play(t){this._play(t)}close(){this._close()}destroy(){this._close(),this._destroyAudioContext(),this._destroyContextGL(),this._decoderWorker.terminate(),this._removeEventListener(),this._initCheckVariable(),this._off(),this._removeContainerChild()}clearView(){this._clearView()}resize(){this._resize()}setBufferTime(t){t=Number(t),this._decoderWorker.postMessage({cmd:w().POST_MESSAGE.setVideoBuffer,time:t})}setRotate(t){t=parseInt(t,10),this._opt.rotate!==t&&-1!==[0,90,270].indexOf(t)&&(this._opt.rotate=t,this.resize())}setVolume(t){if(this._gainNode){if(t=parseFloat(t),isNaN(t))return;this._gainNode.gain.setValueAtTime(t,this._audioContext.currentTime)}}setKeepScreenOn(){this._opt.keepScreenOn=!0}setFullscreen(t){const e=!!t;this.fullscreen!==e&&(this.fullscreen=e)}hasLoaded(){return this._hasLoaded}screenshot(t,e,r,i){return this._screenshot(t,e,r,i)}on(t,e){this._on(t,e)}},window.Jessibuca=yt):oC||(oC=!0,aC())}(); \ No newline at end of file diff --git a/web_src/static/logo.png b/web_src/static/logo.png deleted file mode 100644 index c5da2d4b..00000000 Binary files a/web_src/static/logo.png and /dev/null differ diff --git a/web_src/vue.config.js b/web_src/vue.config.js new file mode 100644 index 00000000..8a2cbf57 --- /dev/null +++ b/web_src/vue.config.js @@ -0,0 +1,144 @@ +const path = require('path') +const webpack = require('webpack') +const GitRevisionPlugin = require('git-revision-webpack-plugin') +const GitRevision = new GitRevisionPlugin() +const buildDate = JSON.stringify(new Date().toLocaleString()) +const createThemeColorReplacerPlugin = require('./config/plugin.config') + +function resolve(dir) { + return path.join(__dirname, dir) +} + +// check Git +function getGitHash() { + try { + return GitRevision.version() + } catch (e) { + } + return 'unknown' +} + +const isProd = process.env.NODE_ENV === 'production' + +const assetsCDN = { + // webpack build externals + externals: { + vue: 'Vue', + 'vue-router': 'VueRouter', + vuex: 'Vuex', + axios: 'axios' + }, + css: [], + // https://unpkg.com/browse/vue@2.6.10/ + js: [ + '//cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js', + '//cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js', + '//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js', + '//cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js' + ] +} + +// vue.config.js +const vueConfig = { + configureWebpack: { + // webpack plugins + plugins: [ + // Ignore all locale files of moment.js + new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), + new webpack.DefinePlugin({ + APP_VERSION: `"${require('./package.json').version}"`, + GIT_HASH: JSON.stringify(getGitHash()), + BUILD_DATE: buildDate + }) + ], + // if prod, add externals + externals: isProd ? assetsCDN.externals : {} + }, + + chainWebpack: config => { + config.resolve.alias.set('@$', resolve('src')) + + const svgRule = config.module.rule('svg') + svgRule.uses.clear() + svgRule + .oneOf('inline') + .resourceQuery(/inline/) + .use('vue-svg-icon-loader') + .loader('vue-svg-icon-loader') + .end() + .end() + .oneOf('external') + .use('file-loader') + .loader('file-loader') + .options({ + name: 'assets/[name].[hash:8].[ext]' + }) + + // if prod is on + // assets require on cdn + if (isProd) { + config.plugin('html').tap(args => { + args[0].cdn = assetsCDN + return args + }) + } + }, + + css: { + loaderOptions: { + less: { + modifyVars: { + // less vars,customize ant design theme + + // 'primary-color': '#F5222D', + // 'link-color': '#F5222D', + 'border-radius-base': '2px' + }, + // DO NOT REMOVE THIS LINE + javascriptEnabled: true + } + } + }, + + devServer: { + // development server port 8000 + port: 8000, + overlay: { + warnings: false, + errors: true + }, + proxy: { + '/debug': { + target: 'http://localhost:18080', + ws: false, + changeOrigin: true, + pathRewrite: { + '^/debug': '/' + } + }, + '/static/snap': { + target: 'http://localhost:18080', + changeOrigin: true, + // pathRewrite: { + // '^/static/snap': '/static/snap' + // } + } + } + }, + + // disable source map in production + productionSourceMap: false, + lintOnSave: false, + // babel-loader no-ignore node_modules/* + transpileDependencies: [] + +} + +// preview.pro.loacg.com only do not use in your production; +if (process.env.VUE_APP_PREVIEW === 'true') { + console.log('VUE_APP_PREVIEW', true) + // add `ThemeColorReplacer` plugin to webpack plugins + vueConfig.configureWebpack.plugins.push(createThemeColorReplacerPlugin()) +} + +module.exports = vueConfig diff --git a/web_src/webstorm.config.js b/web_src/webstorm.config.js new file mode 100644 index 00000000..91174556 --- /dev/null +++ b/web_src/webstorm.config.js @@ -0,0 +1,3 @@ +'use strict' +const webpackConfig = require('@vue/cli-service/webpack.config.js') +module.exports = webpackConfig diff --git a/web_src/yarn.lock b/web_src/yarn.lock new file mode 100644 index 00000000..f40cb92c --- /dev/null +++ b/web_src/yarn.lock @@ -0,0 +1,10565 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ant-design-vue/pro-layout@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@ant-design-vue/pro-layout/-/pro-layout-1.0.8.tgz#400d7e0cbab08187d017f740533b7a89774b9866" + integrity sha512-gCno9pktp9ex5fSCOmWoJaEhNXpWt1QcDQwvxBTB9sRsyTvPUoiSS+mc5KxQaUOS4p4xDsyqgM0Y9oFxlZuYsw== + dependencies: + ant-design-vue "^1.6.2" + classnames "^2.2.6" + insert-css "^2.0.0" + lodash "^4.17.15" + omit.js "^1.0.2" + umi-request "^1.2.11" + vue-container-query "^0.1.0" + vue-copy-to-clipboard "^1.0.3" + +"@ant-design/colors@^3.1.0", "@ant-design/colors@^3.2.1": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903" + integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ== + dependencies: + tinycolor2 "^1.4.1" + +"@ant-design/icons-vue@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz#0357f5010a404e9f34a87a4b41b2a08df691dbce" + integrity sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg== + dependencies: + "@ant-design/colors" "^3.1.0" + babel-runtime "^6.26.0" + +"@ant-design/icons@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-2.1.1.tgz#7b9c08dffd4f5d41db667d9dbe5e0107d0bd9a4a" + integrity sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w== + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" + integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== + +"@babel/core@^7.1.0", "@babel/core@^7.11.0": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" + integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.3" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-module-transforms" "^7.14.2" + "@babel/helpers" "^7.14.0" + "@babel/parser" "^7.14.3" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.2" + "@babel/types" "^7.14.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.14.2", "@babel/generator@^7.14.3", "@babel/generator@^7.4.0": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91" + integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA== + dependencies: + "@babel/types" "^7.14.2" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.9.6": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" + integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== + dependencies: + "@babel/compat-data" "^7.13.15" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.14.2", "@babel/helper-create-class-features-plugin@^7.14.3": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz#832111bcf4f57ca57a4c5b1a000fc125abc6554a" + integrity sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.14.3" + "@babel/helper-split-export-declaration" "^7.12.13" + +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688" + integrity sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" + integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA== + dependencies: + "@babel/types" "^7.13.0" + +"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2" + integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.14.2" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-hoist-variables@^7.13.0": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30" + integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg== + dependencies: + "@babel/traverse" "^7.13.15" + "@babel/types" "^7.13.16" + +"@babel/helper-member-expression-to-functions@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" + integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.8.3": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" + integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" + integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-simple-access" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.14.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.2" + "@babel/types" "^7.14.2" + +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + +"@babel/helper-remap-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" + integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.12", "@babel/helper-replace-supers@^7.14.3": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz#ca17b318b859d107f0e9b722d58cf12d94436600" + integrity sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.14.2" + "@babel/types" "^7.14.2" + +"@babel/helper-simple-access@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" + integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + +"@babel/helper-wrap-function@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" + integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helpers@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" + integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" + +"@babel/highlight@^7.12.13": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3", "@babel/parser@^7.4.3": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298" + integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ== + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" + integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + +"@babel/plugin-proposal-async-generator-functions@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz#3a2085abbf5d5f962d480dbc81347385ed62eb1e" + integrity sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-class-static-block@^7.13.11": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz#5a527e2cae4a4753119c3a3e7f64ecae8ccf1360" + integrity sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.3" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-class-static-block" "^7.12.13" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.2.tgz#e68c3c5e4a6a08834456568256fc3e71b93590cf" + integrity sha512-LauAqDd/VjQDtae58QgBcEOE42NNP+jB2OE+XeC3KBI/E+BhhRjtr5viCIrj1hmu1YvrguLipIPRJZmS5yUcFw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.2" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-decorators" "^7.12.13" + +"@babel/plugin-proposal-dynamic-import@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f" + integrity sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791" + integrity sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz#830b4e2426a782e8b2878fbfe2cba85b70cbf98c" + integrity sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7" + integrity sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546" + integrity sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e" + integrity sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz#e17d418f81cc103fedd4ce037e181c8056225abc" + integrity sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw== + dependencies: + "@babel/compat-data" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.2" + +"@babel/plugin-proposal-optional-catch-binding@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz#150d4e58e525b16a9a1431bd5326c4eed870d717" + integrity sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz#df8171a8b9c43ebf4c1dabe6311b432d83e1b34e" + integrity sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-private-property-in-object@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636" + integrity sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-private-property-in-object" "^7.14.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c" + integrity sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-decorators@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" + integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" + integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b" + integrity sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-syntax-top-level-await@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-arrow-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" + integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" + integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + +"@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-block-scoping@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz#761cb12ab5a88d640ad4af4aa81f820e6b5fdf5c" + integrity sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-classes@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz#3f1196c5709f064c252ad056207d87b7aeb2d03d" + integrity sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-destructuring@^7.13.17": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27" + integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-duplicate-keys@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-for-of@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" + integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-member-expression-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-modules-amd@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz#6622806fe1a7c07a1388444222ef9535f2ca17b0" + integrity sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw== + dependencies: + "@babel/helper-module-transforms" "^7.14.2" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.14.0", "@babel/plugin-transform-modules-commonjs@^7.9.6": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161" + integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ== + dependencies: + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-simple-access" "^7.13.12" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" + integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A== + dependencies: + "@babel/helper-hoist-variables" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34" + integrity sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw== + dependencies: + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + +"@babel/plugin-transform-new-target@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-object-super@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + +"@babel/plugin-transform-parameters@^7.14.2": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31" + integrity sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-regenerator@^7.13.15": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39" + integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz#1fd885a2d0de1d3c223795a4e9be72c2db4515cf" + integrity sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" + integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-template-literals@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" + integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-typeof-symbol@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/preset-env@^7.11.0": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.2.tgz#e80612965da73579c84ad2f963c2359c71524ed5" + integrity sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ== + dependencies: + "@babel/compat-data" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" + "@babel/plugin-proposal-async-generator-functions" "^7.14.2" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-class-static-block" "^7.13.11" + "@babel/plugin-proposal-dynamic-import" "^7.14.2" + "@babel/plugin-proposal-export-namespace-from" "^7.14.2" + "@babel/plugin-proposal-json-strings" "^7.14.2" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.2" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2" + "@babel/plugin-proposal-numeric-separator" "^7.14.2" + "@babel/plugin-proposal-object-rest-spread" "^7.14.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.2" + "@babel/plugin-proposal-optional-chaining" "^7.14.2" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-proposal-private-property-in-object" "^7.14.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.0" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.13.0" + "@babel/plugin-transform-async-to-generator" "^7.13.0" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.14.2" + "@babel/plugin-transform-classes" "^7.14.2" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.17" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.13.0" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.14.2" + "@babel/plugin-transform-modules-commonjs" "^7.14.0" + "@babel/plugin-transform-modules-systemjs" "^7.13.8" + "@babel/plugin-transform-modules-umd" "^7.14.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.14.2" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.13.15" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.13.0" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.13.0" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.14.2" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + core-js-compat "^3.9.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.0.0", "@babel/template@^7.12.13", "@babel/template@^7.4.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.4.3": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" + integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.2" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.14.2" + "@babel/types" "^7.14.2" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3" + integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw== + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@fortawesome/fontawesome-common-types@^0.2.36": + version "0.2.36" + resolved "https://registry.nlark.com/@fortawesome/fontawesome-common-types/download/@fortawesome/fontawesome-common-types-0.2.36.tgz#b44e52db3b6b20523e0c57ef8c42d315532cb903" + integrity sha1-tE5S2ztrIFI+DFfvjELTFVMsuQM= + +"@fortawesome/fontawesome-svg-core@^1.2.36": + version "1.2.36" + resolved "https://registry.nlark.com/@fortawesome/fontawesome-svg-core/download/@fortawesome/fontawesome-svg-core-1.2.36.tgz#4f2ea6f778298e0c47c6524ce2e7fd58eb6930e3" + integrity sha1-Ty6m93gpjgxHxlJM4uf9WOtpMOM= + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.36" + +"@fortawesome/free-solid-svg-icons@^5.15.4": + version "5.15.4" + resolved "https://registry.nlark.com/@fortawesome/free-solid-svg-icons/download/@fortawesome/free-solid-svg-icons-5.15.4.tgz#2a68f3fc3ddda12e52645654142b9e4e8fbb6cc5" + integrity sha1-Kmjz/D3doS5SZFZUFCueTo+7bMU= + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.36" + +"@fortawesome/vue-fontawesome@^2.0.6": + version "2.0.6" + resolved "https://registry.npmmirror.com/@fortawesome/vue-fontawesome/download/@fortawesome/vue-fontawesome-2.0.6.tgz#87e691ed87f28f4667238573a29743f543a087f6" + integrity sha1-h+aR7Yfyj0ZnI4VzopdD9UOgh/Y= + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + +"@hapi/joi@^15.0.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + +"@intervolga/optimize-cssnano-plugin@^1.0.5": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" + integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== + dependencies: + cssnano "^4.0.0" + cssnano-preset-default "^4.0.0" + postcss "^7.0.0" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.3.0", "@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.3.0", "@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@simonwep/pickr@~1.7.0": + version "1.7.4" + resolved "https://registry.yarnpkg.com/@simonwep/pickr/-/pickr-1.7.4.tgz#b14fcd945890388b870cd6db4d6c78d531f25141" + integrity sha512-fq7jgKJT21uWGC1mARBHvvd1JYlEf93o7SuVOB4Lr0x/2UPuNC9Oe9n/GzVeg4oVtqMDfh1wIEJpsdOJEZb+3g== + dependencies: + core-js "^3.6.5" + nanopop "^2.1.0" + +"@soda/friendly-errors-webpack-plugin@^1.7.1": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz#84751d82a93019d5c92c0cf0e45ac59087cd2240" + integrity sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow== + dependencies: + chalk "^2.4.2" + error-stack-parser "^2.0.2" + string-width "^2.0.0" + strip-ansi "^5" + +"@soda/get-current-script@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" + integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha1-M2utwb7sudrMOL6izzKt9ieoQho= + +"@types/babel__core@^7.1.0": + version "7.1.14" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" + integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + dependencies: + "@babel/types" "^7.3.0" + +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect-history-api-fallback@*": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz#8c0f0e6e5d8252b699f5a662f51bdf82fd9d8bb8" + integrity sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.20.tgz#44caee029f2c26c46711da5e845cdc12167ad72d" + integrity sha512-8qqFN4W53IEWa9bdmuVrUcVkFemQWnt5DKPQ/oa8xKDYgtjCr2OO6NX5TIK49NLFr3mPYU2cLh92DQquC3oWWQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.12.tgz#4bc1bf3cd0cfe6d3f6f2853648b40db7d54de350" + integrity sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/http-proxy@^1.17.5": + version "1.17.6" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.6.tgz#62dc3fade227d6ac2862c8f19ee0da9da9fd8616" + integrity sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/jest@^24.0.19": + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== + dependencies: + jest-diff "^24.3.0" + +"@types/json-schema@^7.0.5": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + +"@types/loader-utils@1.1.3": + version "1.1.3" + resolved "https://registry.npm.taobao.org/@types/loader-utils/download/@types/loader-utils-1.1.3.tgz#82b9163f2ead596c68a8c03e450fbd6e089df401" + integrity sha1-grkWPy6tWWxoqMA+RQ+9bgid9AE= + dependencies: + "@types/node" "*" + "@types/webpack" "*" + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/minimatch@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + +"@types/minimist@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== + +"@types/node@*": + version "15.6.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.6.1.tgz#32d43390d5c62c5b6ec486a9bc9c59544de39a08" + integrity sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA== + +"@types/node@8.9": + version "8.9.5" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-8.9.5.tgz?cache=0&sync_timestamp=1588201510948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-8.9.5.tgz#162b864bc70be077e6db212b322754917929e976" + integrity sha1-FiuGS8cL4Hfm2yErMidUkXkp6XY= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/qs@*": + version "6.9.6" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" + integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/serve-static@*": + version "1.13.9" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" + integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1588202412220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk= + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/tapable@*": + version "1.0.5" + resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.5.tgz?cache=0&sync_timestamp=1588202412329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" + integrity sha1-mtvBKVBYKqZerXa//fOf4MJ6PAI= + +"@types/tapable@^1": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" + integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== + +"@types/uglify-js@*": + version "3.9.0" + resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.9.0.tgz?cache=0&sync_timestamp=1588202412738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.9.0.tgz#4490a140ca82aa855ad68093829e7fd6ae94ea87" + integrity sha1-RJChQMqCqoVa1oCTgp5/1q6U6oc= + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@^3.11.0": + version "3.11.4" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.4.tgz#90d47dd660b696d409431ab8c1e9fa3615103a07" + integrity sha512-DCKORHjqNNVuMIDWFrlljftvc9CL0+09p3l7lBpb8dRqgN5SmvkWCY4MPKxoI6wJgdRqohmoNbptkxqSKAzLRg== + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/serve-static" "*" + "@types/webpack" "^4" + http-proxy-middleware "^1.0.0" + +"@types/webpack-sources@*": + version "0.1.7" + resolved "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-0.1.7.tgz?cache=0&sync_timestamp=1588202412807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141" + integrity sha1-CjMKlFYRNBDHSl1kGArwy8oAcUE= + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.6.1" + +"@types/webpack@*": + version "4.41.12" + resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.12.tgz#0386ee2a2814368e2f2397abb036c0bf173ff6c3" + integrity sha1-A4buKigUNo4vI5ersDbAvxc/9sM= + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/webpack@^4", "@types/webpack@^4.0.0": + version "4.41.29" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.29.tgz#2e66c1de8223c440366469415c50a47d97625773" + integrity sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + +"@types/yargs@^13.0.0": + version "13.0.11" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" + integrity sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ== + dependencies: + "@types/yargs-parser" "*" + +"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" + integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== + +"@vue/babel-helper-vue-transform-on@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" + integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.6.tgz#184bf3541ab6efdbe5079ab8b20c19e2af100bfb" + integrity sha512-RzYsvBhzKUmY2YG6LoV+W5PnlnkInq0thh1AzCmewwctAgGN6e9UFon6ZrQQV1CO5G5PeME7MqpB+/vvGg0h4g== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" + integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz#cb475321e4c73f7f110dac29a48c2a9cb80afeb6" + integrity sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw== + dependencies: + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.2.4" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" + integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" + "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" + "@vue/babel-sugar-functional-vue" "^1.2.2" + "@vue/babel-sugar-inject-h" "^1.2.2" + "@vue/babel-sugar-v-model" "^1.2.3" + "@vue/babel-sugar-v-on" "^1.2.3" + +"@vue/babel-sugar-composition-api-inject-h@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" + integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" + integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" + integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" + integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" + integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" + integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + +"@vue/cli-overlay@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-4.5.13.tgz#4f1fd2161be8f69d6cba8079f3f0d7dc4dee47a7" + integrity sha512-jhUIg3klgi5Cxhs8dnat5hi/W2tQJvsqCxR0u6hgfSob0ORODgUBlN+F/uwq7cKIe/pzedVUk1y07F13GQvPqg== + +"@vue/cli-plugin-babel@^4.0.4": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.13.tgz#a89c482edcc4ea1d135645cec502a7f5fd4c30e7" + integrity sha512-ykvEAfD8PgGs+dGMGqr7l/nRmIS39NRzWLhMluPLTvDV1L+IxcoB73HNLGA/aENDpl8CuWrTE+1VgydcOhp+wg== + dependencies: + "@babel/core" "^7.11.0" + "@vue/babel-preset-app" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + babel-loader "^8.1.0" + cache-loader "^4.1.0" + thread-loader "^2.1.3" + webpack "^4.0.0" + +"@vue/cli-plugin-router@^4.0.4", "@vue/cli-plugin-router@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-4.5.13.tgz#0b67c8898a2bf132941919a2a2e5f3aacbd9ffbe" + integrity sha512-tgtMDjchB/M1z8BcfV4jSOY9fZSMDTPgF9lsJIiqBWMxvBIsk9uIZHxp62DibYME4CCKb/nNK61XHaikFp+83w== + dependencies: + "@vue/cli-shared-utils" "^4.5.13" + +"@vue/cli-plugin-unit-jest@^4.0.4": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.13.tgz#6aca031452a5883f39580ec50ea926c982e1d138" + integrity sha512-8t7QIihJWB9Kv85FamrEzWbJnvsLhQdyXHl3h+qhAihrZdLL+9mj905y88cBCq+i2PqqZ/qAoabbpf4DxDAb7g== + dependencies: + "@babel/core" "^7.11.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.6" + "@types/jest" "^24.0.19" + "@vue/cli-shared-utils" "^4.5.13" + babel-core "^7.0.0-bridge.0" + babel-jest "^24.9.0" + babel-plugin-transform-es2015-modules-commonjs "^6.26.2" + deepmerge "^4.2.2" + jest "^24.9.0" + jest-environment-jsdom-fifteen "^1.0.2" + jest-serializer-vue "^2.0.2" + jest-transform-stub "^2.0.0" + jest-watch-typeahead "^0.4.2" + ts-jest "^24.2.0" + vue-jest "^3.0.5" + +"@vue/cli-plugin-vuex@^4.0.4", "@vue/cli-plugin-vuex@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz#98646d8bc1e69cf6c6a6cba2fed3eace0356c360" + integrity sha512-I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA== + +"@vue/cli-service@^4.0.4": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.5.13.tgz#a09e684a801684b6e24e5414ad30650970eec9ed" + integrity sha512-CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A== + dependencies: + "@intervolga/optimize-cssnano-plugin" "^1.0.5" + "@soda/friendly-errors-webpack-plugin" "^1.7.1" + "@soda/get-current-script" "^1.0.0" + "@types/minimist" "^1.2.0" + "@types/webpack" "^4.0.0" + "@types/webpack-dev-server" "^3.11.0" + "@vue/cli-overlay" "^4.5.13" + "@vue/cli-plugin-router" "^4.5.13" + "@vue/cli-plugin-vuex" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + "@vue/component-compiler-utils" "^3.1.2" + "@vue/preload-webpack-plugin" "^1.1.0" + "@vue/web-component-wrapper" "^1.2.0" + acorn "^7.4.0" + acorn-walk "^7.1.1" + address "^1.1.2" + autoprefixer "^9.8.6" + browserslist "^4.12.0" + cache-loader "^4.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.4" + clipboardy "^2.3.0" + cliui "^6.0.0" + copy-webpack-plugin "^5.1.1" + css-loader "^3.5.3" + cssnano "^4.1.10" + debug "^4.1.1" + default-gateway "^5.0.5" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + file-loader "^4.2.0" + fs-extra "^7.0.1" + globby "^9.2.0" + hash-sum "^2.0.0" + html-webpack-plugin "^3.2.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + lodash.transform "^4.6.0" + mini-css-extract-plugin "^0.9.0" + minimist "^1.2.5" + pnp-webpack-plugin "^1.6.4" + portfinder "^1.0.26" + postcss-loader "^3.0.0" + ssri "^8.0.1" + terser-webpack-plugin "^1.4.4" + thread-loader "^2.1.3" + url-loader "^2.2.0" + vue-loader "^15.9.2" + vue-style-loader "^4.1.2" + webpack "^4.0.0" + webpack-bundle-analyzer "^3.8.0" + webpack-chain "^6.4.0" + webpack-dev-server "^3.11.0" + webpack-merge "^4.2.2" + optionalDependencies: + vue-loader-v16 "npm:vue-loader@^16.1.0" + +"@vue/cli-shared-utils@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz#acd40f31b4790f1634292bdaa5fca95dc1e0ff50" + integrity sha512-HpnOrkLg42RFUsQGMJv26oTG3J3FmKtO2WSRhKIIL+1ok3w9OjGCtA3nMMXN27f9eX14TqO64M36DaiSZ1fSiw== + dependencies: + "@hapi/joi" "^15.0.1" + chalk "^2.4.2" + execa "^1.0.0" + launch-editor "^2.2.1" + lru-cache "^5.1.1" + node-ipc "^9.1.1" + open "^6.3.0" + ora "^3.4.0" + read-pkg "^5.1.1" + request "^2.88.2" + semver "^6.1.0" + strip-ansi "^6.0.0" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" + integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.14" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" + +"@vue/preload-webpack-plugin@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab" + integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== + +"@vue/test-utils@^1.0.0-beta.29": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.2.0.tgz#3bc8c17ed549157275f0aec6b95da40887f7297f" + integrity sha512-poBTLqeJYNq1TXVhtVfnY8vELUVOFdJY8KZZoUuaAkIqPTWsxonU1M8nMWpZT+xEMrM+49+YcuEqtMHVD9Q9gw== + dependencies: + dom-event-types "^1.0.0" + lodash "^4.17.15" + pretty "^2.0.0" + +"@vue/web-component-wrapper@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" + integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^4.1.0, acorn-globals@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.0.1, acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +add-dom-event-listener@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== + dependencies: + object-assign "4.x" + +address@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ant-design-vue@^1.6.2: + version "1.7.5" + resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-1.7.5.tgz#e7ed04cb358adc56be02c7453d2db026d2c405e3" + integrity sha512-QVrirCz6eetzui+Dv/ujMqUwIr8e/2H+pKr4VC3mpc+cHkw6L9cBRJK7DhfO7GTyK4EWKkEH3lfLWlD/XjUoQQ== + dependencies: + "@ant-design/icons" "^2.1.1" + "@ant-design/icons-vue" "^2.0.0" + "@simonwep/pickr" "~1.7.0" + add-dom-event-listener "^1.0.2" + array-tree-filter "^2.1.0" + async-validator "^3.0.3" + babel-helper-vue-jsx-merge-props "^2.0.3" + babel-runtime "6.x" + classnames "^2.2.5" + component-classes "^1.2.6" + dom-align "^1.10.4" + dom-closest "^0.2.0" + dom-scroll-into-view "^2.0.0" + enquire.js "^2.1.6" + intersperse "^1.0.0" + is-mobile "^2.2.1" + is-negative-zero "^2.0.0" + ismobilejs "^1.0.0" + json2mq "^0.2.0" + lodash "^4.17.5" + moment "^2.21.0" + mutationobserver-shim "^0.3.2" + node-emoji "^1.10.0" + omit.js "^1.0.0" + raf "^3.4.0" + resize-observer-polyfill "^1.5.1" + shallow-equal "^1.0.0" + shallowequal "^1.0.2" + vue-ref "^2.0.0" + warning "^4.0.0" + +ant-design-vue@^1.7.6: + version "1.7.6" + resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.6.tgz#976a84ff037c2e5f0586dcd697eafb8cf7983b1e" + integrity sha512-EOS6g/deT53xHxZDMOxedyBehXSNMGnxdOeQtDksmiRvCBrZs+yoFYoVOe9pmQ8EJ7XQLn8TMReiYbXi78kppA== + dependencies: + "@ant-design/icons" "^2.1.1" + "@ant-design/icons-vue" "^2.0.0" + "@simonwep/pickr" "~1.7.0" + add-dom-event-listener "^1.0.2" + array-tree-filter "^2.1.0" + async-validator "^3.0.3" + babel-helper-vue-jsx-merge-props "^2.0.3" + babel-runtime "6.x" + classnames "^2.2.5" + component-classes "^1.2.6" + dom-align "^1.10.4" + dom-closest "^0.2.0" + dom-scroll-into-view "^2.0.0" + enquire.js "^2.1.6" + intersperse "^1.0.0" + is-mobile "^2.2.1" + is-negative-zero "^2.0.0" + ismobilejs "^1.0.0" + json2mq "^0.2.0" + lodash "^4.17.5" + moment "^2.21.0" + mutationobserver-shim "^0.3.2" + node-emoji "^1.10.0" + omit.js "^1.0.0" + raf "^3.4.0" + resize-observer-polyfill "^1.5.1" + shallow-equal "^1.0.0" + shallowequal "^1.0.2" + vue-ref "^2.0.0" + warning "^4.0.0" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.0, anymatch@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +arch@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async-validator@^3.0.3: + version "3.5.2" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" + integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^9.8.6: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axios@>=0.21.1: + version "0.21.1" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-helper-vue-jsx-merge-props@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6" + integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg== + +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@^8.1.0: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-import@^1.12.2: + version "1.13.3" + resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz#9dbbba7d1ac72bd412917a830d445e00941d26d7" + integrity sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/runtime" "^7.0.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== + dependencies: + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz#7424a1682ee44baec817327710b1b094e5f8f7f5" + integrity sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.9.1" + +babel-plugin-polyfill-regenerator@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + +babel-plugin-transform-es2015-modules-commonjs@^6.26.0, babel-plugin-transform-es2015-modules-commonjs@^6.26.2: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-remove-console@^6.9.4: + version "6.9.4" + resolved "https://registry.npm.taobao.org/babel-plugin-transform-remove-console/download/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" + integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A= + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-runtime@6.x, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch-processor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/batch-processor/-/batch-processor-1.0.0.tgz#75c95c32b748e0850d10c2b168f6bdbe9891ace8" + integrity sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg= + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.1.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bmaplib.curveline@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/bmaplib.curveline/download/bmaplib.curveline-1.0.0.tgz#826eb0bf1c59fad1b23142be66fc360cf009aea2" + integrity sha1-gm6wvxxZ+tGyMUK+Zvw2DPAJrqI= + +bmaplib.heatmap@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/bmaplib.heatmap/download/bmaplib.heatmap-1.0.4.tgz#30161262771fe78af35705ff92457725de5d9850" + integrity sha1-MBYSYncf54rzVwX/kkV3Jd5dmFA= + +bmaplib.lushu@^1.0.7: + version "1.0.7" + resolved "https://registry.npm.taobao.org/bmaplib.lushu/download/bmaplib.lushu-1.0.7.tgz#77c17dcf7148d30c46e8430c7ff86b20e418b8b8" + integrity sha1-d8F9z3FI0wxG6EMMf/hrIOQYuLg= + +bmaplib.markerclusterer@^1.0.13: + version "1.0.13" + resolved "https://registry.nlark.com/bmaplib.markerclusterer/download/bmaplib.markerclusterer-1.0.13.tgz#442d71a6c40844ee47d01f6db2166b54530b5bd1" + integrity sha1-RC1xpsQIRO5H0B9tshZrVFMLW9E= + dependencies: + bmaplib.texticonoverlay "^1.0.2" + +bmaplib.texticonoverlay@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/bmaplib.texticonoverlay/download/bmaplib.texticonoverlay-1.0.2.tgz#d78546ea0f036d9fe964983796315b6c112a05bf" + integrity sha1-14VG6g8DbZ/pZJg3ljFbbBEqBb8= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" + integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" + integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^3.0.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: + version "1.0.30001230" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71" + integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +charenc@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5, classnames@^2.2.6: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-highlight@^2.1.4: + version "2.1.11" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cli-spinners@^2.0.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" + integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== + +clipboard@^2.0.0: + version "2.0.6" + resolved "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" + integrity sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y= + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone@2.x, clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@^2.18.0, commander@^2.19.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1587781810870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-classes@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= + dependencies: + component-indexof "0.0.3" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +condense-newlines@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" + integrity sha1-PemFVTE5R10yUCyDsC9gaE0kxV8= + dependencies: + extend-shallow "^2.0.1" + is-whitespace "^0.3.0" + kind-of "^3.0.2" + +config-chain@^1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +container-query-toolkit@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/container-query-toolkit/-/container-query-toolkit-0.1.3.tgz#79ece9fe491d9187b7051247067f1faac6ce00b0" + integrity sha512-B1EvYaLzFKz81vgWDm+zL0X7fzFUjlN6lF/RivDeNT4xW9mFsTh1oiC9rtvFFiwG52e3JUmYLXwPpqNBf2AXHA== + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== + dependencies: + is-what "^3.12.0" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.6.5, core-js-compat@^3.9.0, core-js-compat@^3.9.1: + version "3.13.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.13.0.tgz#a88f5fa81d8e9b15d7f98abc4447a4dfca2a358f" + integrity sha512-jhbI2zpVskgfDC9mGRaDo1gagd0E0i/kYW0+WvibL/rafEHKAHO653hEXIxJHqRlRLITluXtRH3AGTL5qJmifQ== + dependencies: + browserslist "^4.16.6" + semver "7.0.0" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.1.2, core-js@^3.6.5: + version "3.13.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.13.0.tgz#58ca436bf01d6903aee3d364089868d0d89fe58d" + integrity sha512-iWDbiyha1M5vFwPFmQnvRv+tJzGbFAm6XimJUT0NgHYW3xZEs1SkCAcasWSVFxpI2Xb/V1DDJckq3v90+bQnog== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypt@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^6.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0, css-select@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.3" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.0.0, cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssstyle@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + dependencies: + cssom "0.3.x" + +cssstyle@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +deasync@^0.1.15: + version "0.1.21" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.21.tgz#bb11eabd4466c0d8776f0d82deb8a6126460d30f" + integrity sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w== + dependencies: + bindings "^1.5.0" + node-addon-api "^1.7.1" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.6: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1587708810466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +default-gateway@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" + integrity sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA== + dependencies: + execa "^3.3.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +dom-align@^1.10.4: + version "1.12.2" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" + integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg== + +dom-closest@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-closest/-/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf" + integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= + dependencies: + dom-matches ">=1.0.1" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-event-types@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dom-event-types/-/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae" + integrity sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ== + +dom-matches@>=1.0.1: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-matches/-/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c" + integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= + +dom-scroll-into-view@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz#0decc8522801fd8d3f1c6ba355a74d382c5f989b" + integrity sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w== + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +easy-stack@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +echarts@^4.9.0: + version "4.9.0" + resolved "https://registry.npmmirror.com/echarts/download/echarts-4.9.0.tgz#a9b9baa03f03a2a731e6340c55befb57a9e1347d" + integrity sha1-qbm6oD8Doqcx5jQMVb77V6nhNH0= + dependencies: + zrender "4.3.2" + +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +electron-to-chromium@^1.3.723: + version "1.3.740" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.740.tgz#e38b7d2b848f632191b643e6dabca51be2162922" + integrity sha512-Mi2m55JrX2BFbNZGKYR+2ItcGnR4O5HhrvgoRRyZQlaMGQULqDhoGkLWHzJoshSzi7k1PUofxcDbNhlFrDZNhg== + +element-resize-detector@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.1.13.tgz#f61907e98a91b1ad215f92790bc15113df68444d" + integrity sha1-9hkH6YqRsa0hX5J5C8FRE99oRE0= + dependencies: + batch-processor "^1.0.0" + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquire.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npm.taobao.org/enquire.js/download/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814" + integrity sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ= + +entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "https://registry.nlark.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.2: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.2.tgz#6eb518b640262e8ddcbd48e0bc8549f82efd48a7" + integrity sha512-byRiNIQXE6HWNySaU6JohoNXzYgbBjztwFnBLUTiJmWXjaU9bSq3urQLUlNLQ292tc+gc07zYZXNZjaOoAX3sw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^1.11.1, escodegen@^1.9.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +eventemitter3@^2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" + integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo= + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.2, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-from-css@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/extract-from-css/-/extract-from-css-0.4.4.tgz#1ea7df2e7c7c6eb9922fa08e8adaea486f6f8f92" + integrity sha1-HqffLnx8brmSL6COitrqSG9vj5I= + dependencies: + css "^2.1.0" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" + integrity sha1-S2LEK44D3j+EhGC2OQeZIGldAVQ= + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +file-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-babel-config@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" + integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== + dependencies: + json5 "^0.5.1" + path-exists "^3.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fingerprintjs2@^2.1.2: + version "2.1.4" + resolved "https://registry.nlark.com/fingerprintjs2/download/fingerprintjs2-2.1.4.tgz#a39deb947aa187c098306a0b5dd41ceaa2e15fc5" + integrity sha1-o53rlHqhh8CYMGoLXdQc6qLhX8U= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npm.taobao.org/for-each/download/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha1-abRH6IoKXTLD5whPPxcQA0shN24= + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fscreen@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/fscreen/download/fscreen-1.2.0.tgz#1a8c88e06bc16a07b473ad96196fb06d6657f59e" + integrity sha1-GoyI4GvBage0c62WGW+wbWZX9Z4= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +git-revision-webpack-plugin@^3.0.6: + version "3.0.6" + resolved "https://registry.npm.taobao.org/git-revision-webpack-plugin/download/git-revision-webpack-plugin-3.0.6.tgz#5dd6c6829fae05b405059dea6195b23875d69d4d" + integrity sha1-XdbGgp+uBbQFBZ3qYZWyOHXWnU0= + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x, he@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +highlight.js@^10.7.1: + version "10.7.2" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.2.tgz#89319b861edc66c48854ed1e6da21ea89f847360" + integrity sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.10.1: + version "3.10.1" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy-middleware@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665" + integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== + dependencies: + "@types/http-proxy" "^1.17.5" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.17.0, http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1579333981154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +insert-css@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4" + integrity sha1-610Ql7dUL0x56jBg067gfQU4gPQ= + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +intersperse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/intersperse/-/intersperse-1.0.0.tgz#f2561fb1cfef9f5277cc3347a22886b4351a5181" + integrity sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE= + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + dependencies: + call-bind "^1.0.2" + +is-buffer@^1.1.5, is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3: + version "1.1.5" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs= + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-mobile@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954" + integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg== + +is-negative-zero@^2.0.0, is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + +is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-what@^3.12.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-whitespace@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" + integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +ismobilejs@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e" + integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isomorphic-fetch@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== + dependencies: + html-escaper "^2.0.0" + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@^24.3.0, jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fifteen@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fifteen/-/jest-environment-jsdom-fifteen-1.0.2.tgz#49a0af55e0d32737a6114a1575dd714702ad63b0" + integrity sha512-nfrnAfwklE1872LIB31HcjM65cWTh1wzvMSp10IYtPJjLDUbTTvDpajZgIxUnhRmzGvogdHDayCIlerLK0OBBg== + dependencies: + "@jest/environment" "^24.3.0" + "@jest/fake-timers" "^24.3.0" + "@jest/types" "^24.3.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^15.2.1" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.0.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer-vue@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz#b238ef286357ec6b480421bd47145050987d59b3" + integrity sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM= + dependencies: + pretty "2.0.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-transform-stub@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz#19018b0851f7568972147a5d60074b55f0225a7d" + integrity sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg== + +jest-util@^24.0.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz#e5be959698a7fa2302229a5082c488c3c8780a4a" + integrity sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.1" + jest-regex-util "^24.9.0" + jest-watcher "^24.3.0" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + +js-beautify@^1.6.12, js-beautify@^1.6.14: + version "1.13.13" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.13.tgz#756907d1728f329f2b84c42efd56ad17514620bf" + integrity sha512-oH+nc0U5mOAqX8M5JO1J0Pw/7Q35sAdOsM5W3i87pir9Ntx6P/5Gx1xLNoK+MGyvHk4rqqRCE4Oq58H6xl2W7A== + dependencies: + config-chain "^1.1.12" + editorconfig "^0.15.3" + glob "^7.1.3" + mkdirp "^1.0.4" + nopt "^5.0.0" + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-queue@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" + integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== + dependencies: + easy-stack "^1.0.1" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= + dependencies: + string-convert "^0.2.0" + +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +launch-editor-middleware@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" + integrity sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== + dependencies: + launch-editor "^2.2.1" + +launch-editor@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" + integrity sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== + dependencies: + chalk "^2.3.0" + shell-quote "^1.6.1" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY= + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.0.4: + version "3.13.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/linkify-it/download/linkify-it-2.2.0.tgz?cache=0&sync_timestamp=1633117408381&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flinkify-it%2Fdownload%2Flinkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha1-47VGl+eL+RXHCjis14/QngBYsc8= + dependencies: + uc.micro "^1.0.1" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.1, loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + integrity sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.npm.taobao.org/lodash.pick/download/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.1.2, lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +markdown-it@^8.4.0: + version "8.4.2" + resolved "https://registry.nlark.com/markdown-it/download/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" + integrity sha1-OG+YmY3BWjdyKqdyIIT0Agvdm1Q= + dependencies: + argparse "^1.0.7" + entities "~1.1.1" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +md5@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + dependencies: + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/mdurl/download/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== + dependencies: + mime-db "1.47.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@^2.21.0, moment@^2.24.0: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mutationobserver-shim@^0.3.2: + version "0.3.7" + resolved "https://registry.yarnpkg.com/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz#8bf633b0c0b0291a1107255ed32c13088a8c5bf3" + integrity sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ== + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1: + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +nanopop@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/nanopop/-/nanopop-2.1.0.tgz#23476513cee2405888afd2e8a4b54066b70b9e60" + integrity sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw== + +native-request@^1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" + integrity sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-addon-api@^1.7.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + +node-cache@^4.1.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-4.2.1.tgz#efd8474dee4edec4138cdded580f5516500f7334" + integrity sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A== + dependencies: + clone "2.x" + lodash "^4.17.15" + +node-emoji@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-ipc@^9.1.1: + version "9.1.4" + resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.4.tgz#2acf962681afdac2602876d98fe6434d54d9bd3c" + integrity sha512-A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g== + dependencies: + event-pubsub "4.3.0" + js-message "1.0.7" + js-queue "2.0.2" + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^5.4.2: + version "5.4.5" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.71: + version "1.1.72" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" + integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +nwsapi@^2.0.7, nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.10.3, object-inspect@^1.9.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +omit.js@^1.0.0, omit.js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858" + integrity sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ== + dependencies: + babel-runtime "^6.23.0" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parchment@^1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/parchment/download/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5" + integrity sha1-rt7Xq5OP6SHUw0vDOc4RaLwv/eU= + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pnp-webpack-plugin@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-error@^2.0.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty@2.0.0, pretty@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5" + integrity sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU= + dependencies: + condense-newlines "^0.2.1" + extend-shallow "^2.0.1" + js-beautify "^1.6.12" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@^6.9.1: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +quill-delta@^3.6.2: + version "3.6.3" + resolved "https://registry.npm.taobao.org/quill-delta/download/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032" + integrity sha1-sZ/SuJQSMBxg4f8hPY2GDqwPEDI= + dependencies: + deep-equal "^1.0.1" + extend "^3.0.2" + fast-diff "1.1.2" + +quill@^1.3.4: + version "1.3.7" + resolved "https://registry.npm.taobao.org/quill/download/quill-1.3.7.tgz?cache=0&sync_timestamp=1586557308175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquill%2Fdownload%2Fquill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8" + integrity sha1-2lsvOixHDpMjQM2/NmjJ8h+Shug= + dependencies: + clone "^2.1.1" + deep-equal "^1.0.1" + eventemitter3 "^2.0.3" + extend "^3.0.2" + parchment "^1.1.4" + quill-delta "^3.6.2" + +raf@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" + integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== + dependencies: + css-select "^2.0.2" + dom-converter "^0.2" + htmlparser2 "^3.10.1" + lodash "^4.17.20" + strip-ansi "^3.0.0" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.5, request-promise-native@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-lite@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/resize-observer-lite/-/resize-observer-lite-0.2.3.tgz#b557f378e2ce9b9aab1dc71a91047bd7ed1d8915" + integrity sha512-k/p+pjCTQkQ7x94bWsxcVwEJI5SrcO95j7czrCKMpHjXFQ+HmKRGLTdAkZoL3+wG1Pe/4L9Sl652zy9lU54dFg== + dependencies: + element-resize-detector "1.1.13" + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.x, resolve@^1.10.0, resolve@^1.14.2: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +select@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + +selfsigned@^1.10.8: + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.5, semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-equal@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + +shallowequal@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" + integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.1" + +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0, source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +store@^2.0.12: + version "2.0.12" + resolved "https://registry.npm.taobao.org/store/download/store-2.0.12.tgz#8c534e2a0b831f72b75fc5f1119857c44ef5d593" + integrity sha1-jFNOKguDH3K3X8XxEZhXxE711ZM= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1586159975241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-loader@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" + integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== + dependencies: + loader-runner "^2.3.1" + loader-utils "^1.1.0" + neo-async "^2.6.0" + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM= + +tinycolor2@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-jest@^24.2.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" + integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +tslib@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.npm.taobao.org/uc.micro/download/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +umi-request@^1.2.11: + version "1.3.9" + resolved "https://registry.yarnpkg.com/umi-request/-/umi-request-1.3.9.tgz#e745edc22e1eb83e9e8d02334a6d1ebae20b025e" + integrity sha512-vjm8N1PDP8r3oG2MqUw69luRP4X8ucwIGeEpzbBGpjLy6s/WH9LOgcTxw7ferwn3u4IXqOVawSaGHUrI17blVA== + dependencies: + isomorphic-fetch "^2.2.1" + qs "^6.9.1" + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3, url-parse@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" + integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vue-baidu-map@^0.21.22: + version "0.21.22" + resolved "https://registry.npm.taobao.org/vue-baidu-map/download/vue-baidu-map-0.21.22.tgz#6b76a91ef34f18a782d732ab0f541a1a3aa069e0" + integrity sha1-a3apHvNPGKeC1zKrD1QaGjqgaeA= + dependencies: + bmaplib.curveline "^1.0.0" + bmaplib.heatmap "^1.0.4" + bmaplib.lushu "^1.0.7" + bmaplib.markerclusterer "^1.0.13" + markdown-it "^8.4.0" + +vue-clipboard2@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/vue-clipboard2/download/vue-clipboard2-0.2.1.tgz#9f06690af1c98aef344be1fc4beb00cdc5307ee1" + integrity sha1-nwZpCvHJiu80S+H8S+sAzcUwfuE= + dependencies: + clipboard "^2.0.0" + +vue-container-query@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/vue-container-query/-/vue-container-query-0.1.0.tgz#8210b49388f2350aa4afda92df5caca18ff220a1" + integrity sha512-WPXn/x1xE5NoCJIHDL919ELln6ZUpsJJBgxuR5tJWfvfxy6zT4Tm4iOhaVmSomtdPzdo9edeMrPXl4e/9MUhfA== + dependencies: + container-query-toolkit "^0.1.3" + resize-observer-lite "^0.2.3" + vue "^2.5.17" + +vue-copy-to-clipboard@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/vue-copy-to-clipboard/-/vue-copy-to-clipboard-1.0.3.tgz#b415302b343b9185add4fc579c0721a16c8e65ac" + integrity sha512-FSgewqG+2NwNsAnKOZqZ6GZqNvrbauVh/Y5z+xkbu9AmFqiWlQLKaFc+7BcsYCVZ2TaQnhjcHbDycVRVGFJypQ== + dependencies: + copy-to-clipboard "^3.3.1" + +vue-cropper@0.4.9: + version "0.4.9" + resolved "https://registry.npm.taobao.org/vue-cropper/download/vue-cropper-0.4.9.tgz#fe650f32516ecf29014bbd4a9079191c8dc5a5ae" + integrity sha1-/mUPMlFuzykBS71KkHkZHI3Fpa4= + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-i18n@^8.17.4: + version "8.24.4" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.4.tgz#b158614c1df7db183d9cadddbb73e1d540269492" + integrity sha512-RZE94WUAGxEiBAANxQ0pptbRwDkNKNSXl3fnJslpFOxVMF6UkUtMDSuYGuW2blDrVgweIXVpethOVkYoNNT9xw== + +vue-jest@^3.0.5: + version "3.0.7" + resolved "https://registry.yarnpkg.com/vue-jest/-/vue-jest-3.0.7.tgz#a6d29758a5cb4d750f5d1242212be39be4296a33" + integrity sha512-PIOxFM+wsBMry26ZpfBvUQ/DGH2hvp5khDQ1n51g3bN0TwFwTy4J85XVfxTRMukqHji/GnAoGUnlZ5Ao73K62w== + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.26.0" + chalk "^2.1.0" + deasync "^0.1.15" + extract-from-css "^0.4.4" + find-babel-config "^1.1.0" + js-beautify "^1.6.14" + node-cache "^4.1.1" + object-assign "^4.1.1" + source-map "^0.5.6" + tsconfig "^7.0.0" + vue-template-es2015-compiler "^1.6.0" + +"vue-loader-v16@npm:vue-loader@^16.1.0": + version "16.2.0" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.2.0.tgz#046a53308dd47e58efe20ddec1edec027ce3b46e" + integrity sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + loader-utils "^2.0.0" + +vue-loader@^15.9.2: + version "15.9.7" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.7.tgz#15b05775c3e0c38407679393c2ce6df673b01044" + integrity sha512-qzlsbLV1HKEMf19IqCJqdNvFJRCI58WNbS6XbPqK13MrLz65es75w392MSQ5TsARAfIjUw+ATm3vlCXUJSOH9Q== + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-quill-editor@^3.0.6: + version "3.0.6" + resolved "https://registry.npm.taobao.org/vue-quill-editor/download/vue-quill-editor-3.0.6.tgz#1f85646211d68a31a80a72cb7f45bb2f119bc8fb" + integrity sha1-H4VkYhHWijGoCnLLf0W7LxGbyPs= + dependencies: + object-assign "^4.1.1" + quill "^1.3.4" + +vue-ref@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vue-ref/-/vue-ref-2.0.0.tgz#483084d732abed11da796778a8266a3af0ea1a9c" + integrity sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ== + +vue-router@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz#5f55e3f251970e36c3e8d88a7cd2d67a350ade5c" + integrity sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ== + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-svg-component-builder@2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/vue-svg-component-builder/download/vue-svg-component-builder-2.0.3.tgz#c4e0a19073587ab882fd6f72bb7b3b63b4396801" + integrity sha1-xOChkHNYeriC/W9yu3s7Y7Q5aAE= + +vue-svg-component-runtime@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/vue-svg-component-runtime/download/vue-svg-component-runtime-1.0.1.tgz#c4c241cdf92fead742ef33133b997ff42d8b9ee6" + integrity sha1-xMJBzfkv6tdC7zMTO5l/9C2LnuY= + +vue-svg-icon-loader@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/vue-svg-icon-loader/download/vue-svg-icon-loader-2.1.1.tgz#7b999ccb0647ce3b3903bfbf535fe247e11b032a" + integrity sha1-e5mcywZHzjs5A7+/U1/iR+EbAyo= + dependencies: + "@types/loader-utils" "1.1.3" + "@types/node" "8.9" + loader-utils "1.1.0" + vue-svg-component-builder "2.0.3" + +vue-template-compiler@^2.6.14: + version "2.6.14" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" + integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + +vue@^2.5.17: + version "2.6.12" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123" + integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== + +vue@^2.6.14: + version "2.6.14" + resolved "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" + integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== + +vuex@^3.1.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" + integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +wangeditor@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz#fbd3c1d4976923c9edebb85b29d30b35512ad039" + integrity sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk= + +warning@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-bundle-analyzer@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" + integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.19" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-chain@^6.4.0: + version "6.5.1" + resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.11.0: + version "3.11.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" + integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-sources@*: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-theme-color-replacer@^1.3.12: + version "1.3.22" + resolved "https://registry.yarnpkg.com/webpack-theme-color-replacer/-/webpack-theme-color-replacer-1.3.22.tgz#d77febb02b433859226dd4b9d754111cd320e559" + integrity sha512-FQM97Uf2+tvae0G8QHw6EyBOm/Zlg2KUs2uxzFPhty/XOrWzZjcCmwxMwkLMGkuOlcS8w8HIEYKgJpZajLMwdw== + dependencies: + webpack-sources "*" + +webpack@^4.0.0: + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@>=0.10.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9, which@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.0.0, ws@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + +ws@^7.0.0: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@10.x: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +yargs@^13.3.0, yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +zrender@4.3.2: + version "4.3.2" + resolved "https://registry.nlark.com/zrender/download/zrender-4.3.2.tgz#ec7432f9415c82c73584b6b7b8c47e1b016209c6" + integrity sha1-7HQy+UFcgsc1hLa3uMR+GwFiCcY=